UNPKG

rivet-intermediate-output

Version:

A Rivet plugin for capturing and displaying intermediate outputs for debugging and analysis

79 lines 2.82 kB
export function intermediateOutputNode(rivet) { const IntermediateOutputNodeImpl = { create() { return { id: rivet.newId(), type: "intermediateOutput", title: "Intermediate Output", data: { inputText: "", useInput: true, description: "Captures intermediate output for debugging or analysis" }, visualData: { x: 0, y: 0, width: 240 } }; }, getInputDefinitions(data) { const inputs = []; inputs.push({ id: "input", title: "Input", dataType: "string", required: false }); return inputs; }, getOutputDefinitions(data) { const outputs = []; outputs.push({ id: "output", title: "Output", dataType: "string" }); return outputs; }, getUIData() { return { contextMenuTitle: "Intermediate Output", group: "Debug", infoBoxBody: "Captures and displays intermediate output for debugging or analysis purposes.", infoBoxTitle: "Intermediate Output Node" }; }, getEditors() { return [ { type: "string", dataKey: "description", label: "Description (document what this output captures)" } ]; }, getBody(data) { const description = data.description ? `Description: ${data.description}` : ''; const value = data.inputText ? `Value: ${data.inputText}` : ''; return [description, value].filter(Boolean).join('\n'); }, async process(data, inputData, _context) { const inputPort = "input"; const outputPort = "output"; const input = inputData[inputPort]?.value ?? data.inputText; // Log the intermediate output if we're in a Node.js environment if (typeof process !== 'undefined' && process.versions && process.versions.node) { console.log(`[Intermediate Output] ${data.description || ''}: ${input}`); } const outputs = {}; outputs[outputPort] = { type: "string", value: input }; return outputs; } }; return rivet.pluginNodeDefinition(IntermediateOutputNodeImpl, "Intermediate Output Node"); } //# sourceMappingURL=IntermediateOutputNode.js.map