import { defineNode } from '@jam-nodes/core';
export const myNode = defineNode({
type: 'my_custom_node',
name: 'My Custom Node',
description: 'Does something useful.',
category: 'integration',
inputSchema,
outputSchema,
estimatedDuration: 5,
capabilities: {
supportsRerun: true,
supportsCancel: false,
},
executor: async (input, context) => {
try {
const response = await fetch(input.url, {
signal: AbortSignal.timeout(input.timeout),
headers: input.headers,
});
const data = input.format === 'json'
? await response.json()
: await response.text();
return {
success: true,
data: {
data,
status: response.status,
durationMs: Date.now() - context.startTime,
},
};
} catch (error) {
return {
success: false,
error: error instanceof Error ? error.message : 'Unknown error',
};
}
},
});