UNPKG

rivet-intermediate-output

Version:

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

57 lines 1.95 kB
import { loadProjectFromString, coreRunGraph, NodeRegistration } from '@ironclad/rivet-core'; import { intermediateOutputNode } from '../src/nodes/IntermediateOutputNode'; import { readFile } from 'fs/promises'; // Mock Rivet for the plugin const mockRivet = { pluginNodeDefinition: (impl, name) => ({ impl, name, create: () => ({ id: Math.random().toString(), type: 'intermediateOutput', title: 'Intermediate Output', data: { inputText: '', useInput: true, description: 'Captures intermediate output for debugging or analysis' }, visualData: { x: 0, y: 0, width: 240 } }) }), newId: () => Math.random().toString() }; async function main() { try { // Read the Rivet project file const projectContent = await readFile('./MasterAgent.rivet', 'utf-8'); const project = loadProjectFromString(projectContent); // Create node registry with our plugin const registry = new NodeRegistration(); registry.registerPluginNode(intermediateOutputNode(mockRivet), { id: 'intermediate-output', name: 'Intermediate Output Plugin' }); // Run the graph const result = await coreRunGraph(project, { graph: 'jZDbKoqXeqOgJo1EhumeF', inputs: { input: 'What is the weather in Tokyo?', }, registry, onPartialOutput: (params) => { console.log('Partial output from node:', params.node.title); console.log('Output:', params.outputs); } }); console.log('Final result:', result); } catch (error) { console.error('Error running graph:', error); } } main(); //# sourceMappingURL=test-plugin.js.map