agent-orcha 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +216 -1323
- package/dist/lib/agents/agent-executor.d.ts +15 -4
- package/dist/lib/agents/agent-executor.d.ts.map +1 -1
- package/dist/lib/agents/agent-executor.js +337 -87
- package/dist/lib/agents/agent-executor.js.map +1 -1
- package/dist/lib/agents/agent-loader.d.ts +4 -1
- package/dist/lib/agents/agent-loader.d.ts.map +1 -1
- package/dist/lib/agents/agent-loader.js +20 -4
- package/dist/lib/agents/agent-loader.js.map +1 -1
- package/dist/lib/agents/index.d.ts +5 -5
- package/dist/lib/agents/index.js +4 -4
- package/dist/lib/agents/react-loop.d.ts +30 -0
- package/dist/lib/agents/react-loop.d.ts.map +1 -0
- package/dist/lib/agents/react-loop.js +193 -0
- package/dist/lib/agents/react-loop.js.map +1 -0
- package/dist/lib/agents/structured-output-wrapper.d.ts +3 -3
- package/dist/lib/agents/structured-output-wrapper.d.ts.map +1 -1
- package/dist/lib/agents/structured-output-wrapper.js +2 -2
- package/dist/lib/agents/structured-output-wrapper.js.map +1 -1
- package/dist/lib/agents/types.d.ts +306 -19
- package/dist/lib/agents/types.d.ts.map +1 -1
- package/dist/lib/agents/types.js +34 -4
- package/dist/lib/agents/types.js.map +1 -1
- package/dist/lib/functions/function-loader.d.ts +3 -1
- package/dist/lib/functions/function-loader.d.ts.map +1 -1
- package/dist/lib/functions/function-loader.js +23 -5
- package/dist/lib/functions/function-loader.js.map +1 -1
- package/dist/lib/functions/index.d.ts +2 -2
- package/dist/lib/functions/index.js +1 -1
- package/dist/lib/functions/simple-function-wrapper.d.ts +2 -11
- package/dist/lib/functions/simple-function-wrapper.d.ts.map +1 -1
- package/dist/lib/functions/simple-function-wrapper.js +3 -3
- package/dist/lib/functions/simple-function-wrapper.js.map +1 -1
- package/dist/lib/index.d.ts +29 -17
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +21 -9
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/integrations/collabnook.d.ts +56 -0
- package/dist/lib/integrations/collabnook.d.ts.map +1 -0
- package/dist/lib/integrations/collabnook.js +307 -0
- package/dist/lib/integrations/collabnook.js.map +1 -0
- package/dist/lib/integrations/email.d.ts +38 -0
- package/dist/lib/integrations/email.d.ts.map +1 -0
- package/dist/lib/integrations/email.js +249 -0
- package/dist/lib/integrations/email.js.map +1 -0
- package/dist/lib/integrations/integration-manager.d.ts +19 -0
- package/dist/lib/integrations/integration-manager.d.ts.map +1 -0
- package/dist/lib/integrations/integration-manager.js +159 -0
- package/dist/lib/integrations/integration-manager.js.map +1 -0
- package/dist/lib/integrations/types.d.ts +232 -0
- package/dist/lib/integrations/types.d.ts.map +1 -0
- package/dist/lib/integrations/types.js +37 -0
- package/dist/lib/integrations/types.js.map +1 -0
- package/dist/lib/knowledge/direct-mapper.d.ts +21 -0
- package/dist/lib/knowledge/direct-mapper.d.ts.map +1 -0
- package/dist/lib/knowledge/direct-mapper.js +134 -0
- package/dist/lib/knowledge/direct-mapper.js.map +1 -0
- package/dist/lib/knowledge/index.d.ts +9 -8
- package/dist/lib/knowledge/index.d.ts.map +1 -1
- package/dist/lib/knowledge/index.js +9 -7
- package/dist/lib/knowledge/index.js.map +1 -1
- package/dist/lib/knowledge/knowledge-store-metadata.d.ts +40 -0
- package/dist/lib/knowledge/knowledge-store-metadata.d.ts.map +1 -0
- package/dist/lib/knowledge/knowledge-store-metadata.js +93 -0
- package/dist/lib/knowledge/knowledge-store-metadata.js.map +1 -0
- package/dist/lib/knowledge/knowledge-store.d.ts +49 -0
- package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -0
- package/dist/lib/knowledge/knowledge-store.js +670 -0
- package/dist/lib/knowledge/knowledge-store.js.map +1 -0
- package/dist/lib/knowledge/loaders/database-loader.d.ts +5 -5
- package/dist/lib/knowledge/loaders/database-loader.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/database-loader.js +21 -10
- package/dist/lib/knowledge/loaders/database-loader.js.map +1 -1
- package/dist/lib/knowledge/loaders/file-loaders.d.ts +45 -0
- package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -0
- package/dist/lib/knowledge/loaders/file-loaders.js +160 -0
- package/dist/lib/knowledge/loaders/file-loaders.js.map +1 -0
- package/dist/lib/knowledge/loaders/index.d.ts +3 -3
- package/dist/lib/knowledge/loaders/index.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/index.js +3 -3
- package/dist/lib/knowledge/loaders/index.js.map +1 -1
- package/dist/lib/knowledge/loaders/web-loader.d.ts +14 -5
- package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/web-loader.js +64 -29
- package/dist/lib/knowledge/loaders/web-loader.js.map +1 -1
- package/dist/lib/knowledge/sqlite-store.d.ts +107 -0
- package/dist/lib/knowledge/sqlite-store.d.ts.map +1 -0
- package/dist/lib/knowledge/sqlite-store.js +327 -0
- package/dist/lib/knowledge/sqlite-store.js.map +1 -0
- package/dist/lib/knowledge/types.d.ts +124 -1448
- package/dist/lib/knowledge/types.d.ts.map +1 -1
- package/dist/lib/knowledge/types.js +54 -60
- package/dist/lib/knowledge/types.js.map +1 -1
- package/dist/lib/knowledge/utils/connection-pool.d.ts +3 -2
- package/dist/lib/knowledge/utils/connection-pool.d.ts.map +1 -1
- package/dist/lib/knowledge/utils/connection-pool.js +20 -10
- package/dist/lib/knowledge/utils/connection-pool.js.map +1 -1
- package/dist/lib/knowledge/utils/index.d.ts +2 -2
- package/dist/lib/knowledge/utils/index.js +2 -2
- package/dist/lib/llm/index.d.ts +5 -5
- package/dist/lib/llm/index.d.ts.map +1 -1
- package/dist/lib/llm/index.js +3 -3
- package/dist/lib/llm/index.js.map +1 -1
- package/dist/lib/llm/llm-call-logger.d.ts +39 -0
- package/dist/lib/llm/llm-call-logger.d.ts.map +1 -0
- package/dist/lib/llm/llm-call-logger.js +110 -0
- package/dist/lib/llm/llm-call-logger.js.map +1 -0
- package/dist/lib/llm/llm-config.d.ts +30 -16
- package/dist/lib/llm/llm-config.d.ts.map +1 -1
- package/dist/lib/llm/llm-config.js +22 -4
- package/dist/lib/llm/llm-config.js.map +1 -1
- package/dist/lib/llm/llm-factory.d.ts +3 -16
- package/dist/lib/llm/llm-factory.d.ts.map +1 -1
- package/dist/lib/llm/llm-factory.js +33 -48
- package/dist/lib/llm/llm-factory.js.map +1 -1
- package/dist/lib/llm/provider-detector.d.ts +1 -1
- package/dist/lib/llm/providers/anthropic-chat-model.d.ts +31 -0
- package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/anthropic-chat-model.js +262 -0
- package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -0
- package/dist/lib/llm/providers/gemini-chat-model.d.ts +30 -0
- package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/gemini-chat-model.js +300 -0
- package/dist/lib/llm/providers/gemini-chat-model.js.map +1 -0
- package/dist/lib/llm/providers/gemini-embeddings.d.ts +14 -0
- package/dist/lib/llm/providers/gemini-embeddings.d.ts.map +1 -0
- package/dist/lib/llm/providers/gemini-embeddings.js +20 -0
- package/dist/lib/llm/providers/gemini-embeddings.js.map +1 -0
- package/dist/lib/llm/providers/openai-chat-model.d.ts +39 -0
- package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/openai-chat-model.js +397 -0
- package/dist/lib/llm/providers/openai-chat-model.js.map +1 -0
- package/dist/lib/llm/providers/openai-embeddings.d.ts +17 -0
- package/dist/lib/llm/providers/openai-embeddings.d.ts.map +1 -0
- package/dist/lib/llm/providers/openai-embeddings.js +35 -0
- package/dist/lib/llm/providers/openai-embeddings.js.map +1 -0
- package/dist/lib/llm/types.d.ts +2 -2
- package/dist/lib/llm/types.js +1 -1
- package/dist/lib/logger.d.ts +7 -0
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +42 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/mcp/index.d.ts +3 -3
- package/dist/lib/mcp/index.js +2 -2
- package/dist/lib/mcp/mcp-client.d.ts +3 -2
- package/dist/lib/mcp/mcp-client.d.ts.map +1 -1
- package/dist/lib/mcp/mcp-client.js +10 -5
- package/dist/lib/mcp/mcp-client.js.map +1 -1
- package/dist/lib/mcp/types.d.ts +26 -25
- package/dist/lib/mcp/types.d.ts.map +1 -1
- package/dist/lib/mcp/types.js +12 -4
- package/dist/lib/mcp/types.js.map +1 -1
- package/dist/lib/memory/conversation-store.d.ts +2 -2
- package/dist/lib/memory/conversation-store.d.ts.map +1 -1
- package/dist/lib/memory/conversation-store.js +1 -1
- package/dist/lib/memory/index.d.ts +3 -2
- package/dist/lib/memory/index.d.ts.map +1 -1
- package/dist/lib/memory/index.js +3 -2
- package/dist/lib/memory/index.js.map +1 -1
- package/dist/lib/memory/memory-manager.d.ts +10 -0
- package/dist/lib/memory/memory-manager.d.ts.map +1 -0
- package/dist/lib/memory/memory-manager.js +43 -0
- package/dist/lib/memory/memory-manager.js.map +1 -0
- package/dist/lib/memory/types.d.ts +1 -1
- package/dist/lib/memory/types.d.ts.map +1 -1
- package/dist/lib/orchestrator.d.ts +72 -18
- package/dist/lib/orchestrator.d.ts.map +1 -1
- package/dist/lib/orchestrator.js +341 -56
- package/dist/lib/orchestrator.js.map +1 -1
- package/dist/lib/sandbox/cdp-client.d.ts +14 -0
- package/dist/lib/sandbox/cdp-client.d.ts.map +1 -0
- package/dist/lib/sandbox/cdp-client.js +113 -0
- package/dist/lib/sandbox/cdp-client.js.map +1 -0
- package/dist/lib/sandbox/html-to-markdown.d.ts +10 -0
- package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -0
- package/dist/lib/sandbox/html-to-markdown.js +121 -0
- package/dist/lib/sandbox/html-to-markdown.js.map +1 -0
- package/dist/lib/sandbox/index.d.ts +12 -0
- package/dist/lib/sandbox/index.d.ts.map +1 -0
- package/dist/lib/sandbox/index.js +10 -0
- package/dist/lib/sandbox/index.js.map +1 -0
- package/dist/lib/sandbox/page-readiness.d.ts +37 -0
- package/dist/lib/sandbox/page-readiness.d.ts.map +1 -0
- package/dist/lib/sandbox/page-readiness.js +235 -0
- package/dist/lib/sandbox/page-readiness.js.map +1 -0
- package/dist/lib/sandbox/sandbox-browser.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-browser.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-browser.js +303 -0
- package/dist/lib/sandbox/sandbox-browser.js.map +1 -0
- package/dist/lib/sandbox/sandbox-exec.d.ts +5 -0
- package/dist/lib/sandbox/sandbox-exec.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-exec.js +35 -0
- package/dist/lib/sandbox/sandbox-exec.js.map +1 -0
- package/dist/lib/sandbox/sandbox-file.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-file.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-file.js +168 -0
- package/dist/lib/sandbox/sandbox-file.js.map +1 -0
- package/dist/lib/sandbox/sandbox-shell.d.ts +4 -0
- package/dist/lib/sandbox/sandbox-shell.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-shell.js +93 -0
- package/dist/lib/sandbox/sandbox-shell.js.map +1 -0
- package/dist/lib/sandbox/sandbox-web.d.ts +5 -0
- package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-web.js +226 -0
- package/dist/lib/sandbox/sandbox-web.js.map +1 -0
- package/dist/lib/sandbox/types.d.ts +30 -0
- package/dist/lib/sandbox/types.d.ts.map +1 -0
- package/dist/lib/sandbox/types.js +8 -0
- package/dist/lib/sandbox/types.js.map +1 -0
- package/dist/lib/sandbox/vision-browser.d.ts +4 -0
- package/dist/lib/sandbox/vision-browser.d.ts.map +1 -0
- package/dist/lib/sandbox/vision-browser.js +289 -0
- package/dist/lib/sandbox/vision-browser.js.map +1 -0
- package/dist/lib/sandbox/vm-executor.d.ts +12 -0
- package/dist/lib/sandbox/vm-executor.d.ts.map +1 -0
- package/dist/lib/sandbox/vm-executor.js +101 -0
- package/dist/lib/sandbox/vm-executor.js.map +1 -0
- package/dist/lib/skills/index.d.ts +4 -0
- package/dist/lib/skills/index.d.ts.map +1 -0
- package/dist/lib/skills/index.js +3 -0
- package/dist/lib/skills/index.js.map +1 -0
- package/dist/lib/skills/skill-loader.d.ts +21 -0
- package/dist/lib/skills/skill-loader.d.ts.map +1 -0
- package/dist/lib/skills/skill-loader.js +116 -0
- package/dist/lib/skills/skill-loader.js.map +1 -0
- package/dist/lib/skills/types.d.ts +17 -0
- package/dist/lib/skills/types.d.ts.map +1 -0
- package/dist/lib/skills/types.js +6 -0
- package/dist/lib/skills/types.js.map +1 -0
- package/dist/lib/tasks/index.d.ts +4 -0
- package/dist/lib/tasks/index.d.ts.map +1 -0
- package/dist/lib/tasks/index.js +4 -0
- package/dist/lib/tasks/index.js.map +1 -0
- package/dist/lib/tasks/task-manager.d.ts +27 -0
- package/dist/lib/tasks/task-manager.d.ts.map +1 -0
- package/dist/lib/tasks/task-manager.js +200 -0
- package/dist/lib/tasks/task-manager.js.map +1 -0
- package/dist/lib/tasks/task-store.d.ts +20 -0
- package/dist/lib/tasks/task-store.d.ts.map +1 -0
- package/dist/lib/tasks/task-store.js +102 -0
- package/dist/lib/tasks/task-store.js.map +1 -0
- package/dist/lib/tasks/types.d.ts +56 -0
- package/dist/lib/tasks/types.d.ts.map +1 -0
- package/dist/lib/tasks/types.js +2 -0
- package/dist/lib/tasks/types.js.map +1 -0
- package/dist/lib/templates/resource-templates.d.ts +6 -0
- package/dist/lib/templates/resource-templates.d.ts.map +1 -0
- package/dist/lib/templates/resource-templates.js +146 -0
- package/dist/lib/templates/resource-templates.js.map +1 -0
- package/dist/lib/tools/agent-tool-wrapper.d.ts +5 -5
- package/dist/lib/tools/agent-tool-wrapper.js +3 -3
- package/dist/lib/tools/agent-tool-wrapper.js.map +1 -1
- package/dist/lib/tools/built-in/ask-user.tool.d.ts +1 -1
- package/dist/lib/tools/built-in/ask-user.tool.d.ts.map +1 -1
- package/dist/lib/tools/built-in/ask-user.tool.js +2 -2
- package/dist/lib/tools/built-in/ask-user.tool.js.map +1 -1
- package/dist/lib/tools/built-in/index.d.ts +9 -2
- package/dist/lib/tools/built-in/index.d.ts.map +1 -1
- package/dist/lib/tools/built-in/index.js +9 -2
- package/dist/lib/tools/built-in/index.js.map +1 -1
- package/dist/lib/tools/built-in/integration-tools.d.ts +4 -0
- package/dist/lib/tools/built-in/integration-tools.d.ts.map +1 -0
- package/dist/lib/tools/built-in/integration-tools.js +47 -0
- package/dist/lib/tools/built-in/integration-tools.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts +9 -0
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js +108 -0
- package/dist/lib/tools/built-in/knowledge-entity-lookup.tool.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-graph-schema.tool.d.ts +9 -0
- package/dist/lib/tools/built-in/knowledge-graph-schema.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js +96 -0
- package/dist/lib/tools/built-in/knowledge-graph-schema.tool.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-search.tool.d.ts +2 -2
- package/dist/lib/tools/built-in/knowledge-search.tool.d.ts.map +1 -1
- package/dist/lib/tools/built-in/knowledge-search.tool.js +1 -1
- package/dist/lib/tools/built-in/knowledge-search.tool.js.map +1 -1
- package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts +7 -0
- package/dist/lib/tools/built-in/knowledge-sql.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/knowledge-sql.tool.js +128 -0
- package/dist/lib/tools/built-in/knowledge-sql.tool.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-tools-factory.d.ts +17 -0
- package/dist/lib/tools/built-in/knowledge-tools-factory.d.ts.map +1 -0
- package/dist/lib/tools/built-in/knowledge-tools-factory.js +54 -0
- package/dist/lib/tools/built-in/knowledge-tools-factory.js.map +1 -0
- package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts +9 -0
- package/dist/lib/tools/built-in/knowledge-traverse.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/knowledge-traverse.tool.js +91 -0
- package/dist/lib/tools/built-in/knowledge-traverse.tool.js.map +1 -0
- package/dist/lib/tools/built-in/memory-save.tool.d.ts +4 -0
- package/dist/lib/tools/built-in/memory-save.tool.d.ts.map +1 -0
- package/dist/lib/tools/built-in/memory-save.tool.js +21 -0
- package/dist/lib/tools/built-in/memory-save.tool.js.map +1 -0
- package/dist/lib/tools/built-in/query-validators.d.ts +18 -0
- package/dist/lib/tools/built-in/query-validators.d.ts.map +1 -0
- package/dist/lib/tools/built-in/query-validators.js +91 -0
- package/dist/lib/tools/built-in/query-validators.js.map +1 -0
- package/dist/lib/tools/index.d.ts +4 -4
- package/dist/lib/tools/index.js +4 -4
- package/dist/lib/tools/tool-discovery.d.ts +11 -33
- package/dist/lib/tools/tool-discovery.d.ts.map +1 -1
- package/dist/lib/tools/tool-discovery.js +16 -43
- package/dist/lib/tools/tool-discovery.js.map +1 -1
- package/dist/lib/tools/tool-registry.d.ts +10 -18
- package/dist/lib/tools/tool-registry.d.ts.map +1 -1
- package/dist/lib/tools/tool-registry.js +37 -23
- package/dist/lib/tools/tool-registry.js.map +1 -1
- package/dist/lib/tools/workspace/workspace-tools.d.ts +61 -0
- package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -0
- package/dist/lib/tools/workspace/workspace-tools.js +179 -0
- package/dist/lib/tools/workspace/workspace-tools.js.map +1 -0
- package/dist/lib/triggers/cron-trigger.d.ts +12 -0
- package/dist/lib/triggers/cron-trigger.d.ts.map +1 -0
- package/dist/lib/triggers/cron-trigger.js +45 -0
- package/dist/lib/triggers/cron-trigger.js.map +1 -0
- package/dist/lib/triggers/index.d.ts +6 -0
- package/dist/lib/triggers/index.d.ts.map +1 -0
- package/dist/lib/triggers/index.js +5 -0
- package/dist/lib/triggers/index.js.map +1 -0
- package/dist/lib/triggers/trigger-manager.d.ts +12 -0
- package/dist/lib/triggers/trigger-manager.d.ts.map +1 -0
- package/dist/lib/triggers/trigger-manager.js +77 -0
- package/dist/lib/triggers/trigger-manager.js.map +1 -0
- package/dist/lib/triggers/types.d.ts +57 -0
- package/dist/lib/triggers/types.d.ts.map +1 -0
- package/dist/lib/triggers/types.js +16 -0
- package/dist/lib/triggers/types.js.map +1 -0
- package/dist/lib/triggers/webhook-trigger.d.ts +12 -0
- package/dist/lib/triggers/webhook-trigger.d.ts.map +1 -0
- package/dist/lib/triggers/webhook-trigger.js +34 -0
- package/dist/lib/triggers/webhook-trigger.js.map +1 -0
- package/dist/lib/types/llm-types.d.ts +72 -0
- package/dist/lib/types/llm-types.d.ts.map +1 -0
- package/dist/lib/types/llm-types.js +72 -0
- package/dist/lib/types/llm-types.js.map +1 -0
- package/dist/lib/types/text-splitters.d.ts +27 -0
- package/dist/lib/types/text-splitters.d.ts.map +1 -0
- package/dist/lib/types/text-splitters.js +114 -0
- package/dist/lib/types/text-splitters.js.map +1 -0
- package/dist/lib/types/tool-factory.d.ts +9 -0
- package/dist/lib/types/tool-factory.d.ts.map +1 -0
- package/dist/lib/types/tool-factory.js +12 -0
- package/dist/lib/types/tool-factory.js.map +1 -0
- package/dist/lib/utils/env-substitution.d.ts +6 -0
- package/dist/lib/utils/env-substitution.d.ts.map +1 -0
- package/dist/lib/utils/env-substitution.js +15 -0
- package/dist/lib/utils/env-substitution.js.map +1 -0
- package/dist/lib/utils/file-utils.d.ts +11 -0
- package/dist/lib/utils/file-utils.d.ts.map +1 -0
- package/dist/lib/utils/file-utils.js +86 -0
- package/dist/lib/utils/file-utils.js.map +1 -0
- package/dist/lib/workflows/index.d.ts +6 -6
- package/dist/lib/workflows/index.d.ts.map +1 -1
- package/dist/lib/workflows/index.js +5 -5
- package/dist/lib/workflows/index.js.map +1 -1
- package/dist/lib/workflows/interrupt-manager.d.ts +1 -1
- package/dist/lib/workflows/interrupt-manager.js +1 -1
- package/dist/lib/workflows/react-workflow-executor.d.ts +26 -0
- package/dist/lib/workflows/react-workflow-executor.d.ts.map +1 -0
- package/dist/lib/workflows/react-workflow-executor.js +333 -0
- package/dist/lib/workflows/react-workflow-executor.js.map +1 -0
- package/dist/lib/workflows/types.d.ts +106 -107
- package/dist/lib/workflows/types.d.ts.map +1 -1
- package/dist/lib/workflows/types.js +5 -5
- package/dist/lib/workflows/types.js.map +1 -1
- package/dist/lib/workflows/workflow-executor.d.ts +3 -3
- package/dist/lib/workflows/workflow-executor.js +2 -2
- package/dist/lib/workflows/workflow-executor.js.map +1 -1
- package/dist/lib/workflows/workflow-loader.d.ts +4 -1
- package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
- package/dist/lib/workflows/workflow-loader.js +20 -4
- package/dist/lib/workflows/workflow-loader.js.map +1 -1
- package/dist/public/chat.html +114 -0
- package/dist/public/index.html +189 -0
- package/dist/public/src/components/AgentComposer.js +807 -0
- package/dist/public/src/components/AgentsView.js +1021 -344
- package/dist/public/src/components/AppRoot.js +150 -5
- package/dist/public/src/components/GraphView.js +420 -0
- package/dist/public/src/components/IdeView.js +625 -14
- package/dist/public/src/components/KnowledgeView.js +443 -66
- package/dist/public/src/components/MonitorView.js +526 -0
- package/dist/public/src/components/NavBar.js +3 -0
- package/dist/public/src/components/SkillsView.js +137 -0
- package/dist/public/src/components/StandaloneChat.js +889 -0
- package/dist/public/src/components/WorkflowsView.js +454 -129
- package/dist/public/src/services/ApiService.js +170 -25
- package/dist/public/src/services/SessionStore.js +83 -0
- package/dist/public/src/store.js +3 -4
- package/dist/public/src/utils/markdown.js +14 -0
- package/dist/src/cli/commands/init.js +2 -2
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/start.d.ts +0 -1
- package/dist/src/cli/commands/start.d.ts.map +1 -1
- package/dist/src/cli/commands/start.js +23 -14
- package/dist/src/cli/commands/start.js.map +1 -1
- package/dist/src/cli/index.js +8 -5
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +23 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/middleware/auth.d.ts +3 -0
- package/dist/src/middleware/auth.d.ts.map +1 -0
- package/dist/src/middleware/auth.js +129 -0
- package/dist/src/middleware/auth.js.map +1 -0
- package/dist/src/middleware/rate-limit.d.ts +8 -0
- package/dist/src/middleware/rate-limit.d.ts.map +1 -0
- package/dist/src/middleware/rate-limit.js +21 -0
- package/dist/src/middleware/rate-limit.js.map +1 -0
- package/dist/src/routes/agents.route.d.ts.map +1 -1
- package/dist/src/routes/agents.route.js +167 -12
- package/dist/src/routes/agents.route.js.map +1 -1
- package/dist/src/routes/chat.route.d.ts +3 -0
- package/dist/src/routes/chat.route.d.ts.map +1 -0
- package/dist/src/routes/chat.route.js +155 -0
- package/dist/src/routes/chat.route.js.map +1 -0
- package/dist/src/routes/files.route.d.ts.map +1 -1
- package/dist/src/routes/files.route.js +163 -87
- package/dist/src/routes/files.route.js.map +1 -1
- package/dist/src/routes/functions.route.js +1 -1
- package/dist/src/routes/graph.route.d.ts +3 -0
- package/dist/src/routes/graph.route.d.ts.map +1 -0
- package/dist/src/routes/graph.route.js +173 -0
- package/dist/src/routes/graph.route.js.map +1 -0
- package/dist/src/routes/knowledge.route.d.ts.map +1 -1
- package/dist/src/routes/knowledge.route.js +172 -69
- package/dist/src/routes/knowledge.route.js.map +1 -1
- package/dist/src/routes/llm.route.d.ts.map +1 -1
- package/dist/src/routes/llm.route.js +85 -9
- package/dist/src/routes/llm.route.js.map +1 -1
- package/dist/src/routes/mcp.route.js +1 -1
- package/dist/src/routes/skills.route.d.ts +3 -0
- package/dist/src/routes/skills.route.d.ts.map +1 -0
- package/dist/src/routes/skills.route.js +23 -0
- package/dist/src/routes/skills.route.js.map +1 -0
- package/dist/src/routes/tasks.route.d.ts +3 -0
- package/dist/src/routes/tasks.route.d.ts.map +1 -0
- package/dist/src/routes/tasks.route.js +149 -0
- package/dist/src/routes/tasks.route.js.map +1 -0
- package/dist/src/routes/vnc.route.d.ts +3 -0
- package/dist/src/routes/vnc.route.d.ts.map +1 -0
- package/dist/src/routes/vnc.route.js +49 -0
- package/dist/src/routes/vnc.route.js.map +1 -0
- package/dist/src/routes/workflows.route.d.ts.map +1 -1
- package/dist/src/routes/workflows.route.js +9 -1
- package/dist/src/routes/workflows.route.js.map +1 -1
- package/dist/src/server.d.ts +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +26 -9
- package/dist/src/server.js.map +1 -1
- package/dist/templates/.env.example +4 -19
- package/dist/templates/Demo.md +152 -0
- package/dist/templates/README.md +28 -11
- package/dist/templates/agents/architect.agent.yaml +57 -0
- package/dist/templates/agents/chatbot.agent.yaml +55 -0
- package/dist/templates/agents/corporate.agent.yaml +65 -0
- package/dist/templates/agents/investment-analyst.agent.yaml +80 -0
- package/dist/templates/agents/music-librarian.agent.yaml +70 -0
- package/dist/templates/agents/network-security.agent.yaml +82 -0
- package/dist/templates/agents/transport-security.agent.yaml +70 -0
- package/dist/templates/agents/web-engineer.agent.yaml +99 -0
- package/dist/templates/agents/web-pilot.agent.yaml +58 -0
- package/dist/templates/knowledge/music-store/LICENSE.md +11 -0
- package/dist/templates/knowledge/music-store/musicstore.sqlite +0 -0
- package/dist/templates/knowledge/music-store/tables.png +0 -0
- package/dist/templates/knowledge/music-store.knowledge.yaml +138 -0
- package/dist/templates/knowledge/org-chart/personnel.csv +21 -0
- package/dist/templates/knowledge/org-chart.knowledge.yaml +53 -0
- package/dist/templates/knowledge/pet-store/pet-store.db +0 -0
- package/dist/templates/knowledge/pet-store.knowledge.yaml +81 -0
- package/dist/templates/knowledge/security-incidents/incidents.json +55935 -0
- package/dist/templates/knowledge/security-incidents.knowledge.yaml +46 -0
- package/dist/templates/knowledge/transcripts.knowledge.yaml +29 -0
- package/dist/templates/knowledge/transport-ot/systems.csv +117 -0
- package/dist/templates/knowledge/transport-ot.knowledge.yaml +55 -0
- package/dist/templates/knowledge/web-docs.knowledge.yaml +20 -0
- package/dist/templates/llm.json +7 -30
- package/dist/templates/mcp.json +10 -4
- package/dist/templates/skills/orcha-builder/SKILL.md +219 -0
- package/dist/templates/skills/pii-guard/SKILL.md +22 -0
- package/dist/templates/skills/sandbox/SKILL.md +40 -0
- package/dist/templates/skills/web-pilot/SKILL.md +51 -0
- package/dist/templates/workflows/example.workflow.yaml +25 -30
- package/dist/templates/workflows/react-example.workflow.yaml +53 -0
- package/package.json +22 -20
- package/dist/lib/knowledge/graph-rag/community-detector.d.ts +0 -16
- package/dist/lib/knowledge/graph-rag/community-detector.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/community-detector.js +0 -81
- package/dist/lib/knowledge/graph-rag/community-detector.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/community-summarizer.d.ts +0 -17
- package/dist/lib/knowledge/graph-rag/community-summarizer.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/community-summarizer.js +0 -87
- package/dist/lib/knowledge/graph-rag/community-summarizer.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/entity-extractor.d.ts +0 -36
- package/dist/lib/knowledge/graph-rag/entity-extractor.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/entity-extractor.js +0 -192
- package/dist/lib/knowledge/graph-rag/entity-extractor.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/extraction-cache.d.ts +0 -30
- package/dist/lib/knowledge/graph-rag/extraction-cache.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/extraction-cache.js +0 -88
- package/dist/lib/knowledge/graph-rag/extraction-cache.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/global-search.d.ts +0 -19
- package/dist/lib/knowledge/graph-rag/global-search.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/global-search.js +0 -96
- package/dist/lib/knowledge/graph-rag/global-search.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/graph-rag-factory.d.ts +0 -24
- package/dist/lib/knowledge/graph-rag/graph-rag-factory.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/graph-rag-factory.js +0 -239
- package/dist/lib/knowledge/graph-rag/graph-rag-factory.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/index.d.ts +0 -14
- package/dist/lib/knowledge/graph-rag/index.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/index.js +0 -12
- package/dist/lib/knowledge/graph-rag/index.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/local-search.d.ts +0 -20
- package/dist/lib/knowledge/graph-rag/local-search.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/local-search.js +0 -110
- package/dist/lib/knowledge/graph-rag/local-search.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/memory-graph-store.d.ts +0 -31
- package/dist/lib/knowledge/graph-rag/memory-graph-store.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/memory-graph-store.js +0 -165
- package/dist/lib/knowledge/graph-rag/memory-graph-store.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/neo4j-graph-store.d.ts +0 -38
- package/dist/lib/knowledge/graph-rag/neo4j-graph-store.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/neo4j-graph-store.js +0 -190
- package/dist/lib/knowledge/graph-rag/neo4j-graph-store.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/search-mode-detector.d.ts +0 -11
- package/dist/lib/knowledge/graph-rag/search-mode-detector.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/search-mode-detector.js +0 -50
- package/dist/lib/knowledge/graph-rag/search-mode-detector.js.map +0 -1
- package/dist/lib/knowledge/graph-rag/types.d.ts +0 -368
- package/dist/lib/knowledge/graph-rag/types.d.ts.map +0 -1
- package/dist/lib/knowledge/graph-rag/types.js +0 -48
- package/dist/lib/knowledge/graph-rag/types.js.map +0 -1
- package/dist/lib/knowledge/knowledge-store-factory.d.ts +0 -16
- package/dist/lib/knowledge/knowledge-store-factory.d.ts.map +0 -1
- package/dist/lib/knowledge/knowledge-store-factory.js +0 -376
- package/dist/lib/knowledge/knowledge-store-factory.js.map +0 -1
- package/dist/lib/knowledge/knowledge-store-manager.d.ts +0 -18
- package/dist/lib/knowledge/knowledge-store-manager.d.ts.map +0 -1
- package/dist/lib/knowledge/knowledge-store-manager.js +0 -98
- package/dist/lib/knowledge/knowledge-store-manager.js.map +0 -1
- package/dist/lib/knowledge/loaders/s3-loader.d.ts +0 -17
- package/dist/lib/knowledge/loaders/s3-loader.d.ts.map +0 -1
- package/dist/lib/knowledge/loaders/s3-loader.js +0 -185
- package/dist/lib/knowledge/loaders/s3-loader.js.map +0 -1
- package/dist/lib/workflows/langgraph-executor.d.ts +0 -51
- package/dist/lib/workflows/langgraph-executor.d.ts.map +0 -1
- package/dist/lib/workflows/langgraph-executor.js +0 -297
- package/dist/lib/workflows/langgraph-executor.js.map +0 -1
- package/dist/templates/agents/call-center-analyst-simple.agent.yaml +0 -36
- package/dist/templates/agents/math.agent.yaml +0 -28
- package/dist/templates/agents/sentiment-structured.agent.yaml +0 -42
- package/dist/templates/knowledge/example.knowledge.yaml +0 -28
- package/dist/templates/llm.md +0 -1195
- package/dist/templates/workflows/langgraph-example.workflow.yaml +0 -84
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { S3Client, ListObjectsV2Command, GetObjectCommand } from '@aws-sdk/client-s3';
|
|
2
|
-
import { TextLoader } from '@langchain/classic/document_loaders/fs/text';
|
|
3
|
-
import { PDFLoader } from '@langchain/community/document_loaders/fs/pdf';
|
|
4
|
-
import { CSVLoader } from '@langchain/community/document_loaders/fs/csv';
|
|
5
|
-
import { JSONLoader } from '@langchain/classic/document_loaders/fs/json';
|
|
6
|
-
import * as fs from 'fs';
|
|
7
|
-
import * as os from 'os';
|
|
8
|
-
import * as path from 'path';
|
|
9
|
-
import { minimatch } from 'minimatch';
|
|
10
|
-
import { detectFileType, isSupportedFileType } from '../utils/file-type-detector.js';
|
|
11
|
-
import { createLogger } from '../../logger.js';
|
|
12
|
-
const logger = createLogger('S3Loader');
|
|
13
|
-
/**
|
|
14
|
-
* S3 document loader supporting AWS S3 and S3-compatible services (MinIO, Wasabi, etc.).
|
|
15
|
-
* Downloads files to temporary storage and uses appropriate loaders based on file type.
|
|
16
|
-
*/
|
|
17
|
-
export class S3Loader {
|
|
18
|
-
config;
|
|
19
|
-
s3Client;
|
|
20
|
-
constructor(config) {
|
|
21
|
-
this.config = config;
|
|
22
|
-
// Configure S3 client
|
|
23
|
-
const clientConfig = {
|
|
24
|
-
region: config.region,
|
|
25
|
-
forcePathStyle: config.forcePathStyle,
|
|
26
|
-
};
|
|
27
|
-
// Use custom endpoint if provided (for MinIO, Wasabi, etc.)
|
|
28
|
-
if (config.endpoint) {
|
|
29
|
-
clientConfig.endpoint = config.endpoint;
|
|
30
|
-
logger.info(`Using custom S3 endpoint: ${config.endpoint}`);
|
|
31
|
-
}
|
|
32
|
-
// Use credentials if provided, otherwise fall back to environment variables
|
|
33
|
-
if (config.accessKeyId && config.secretAccessKey) {
|
|
34
|
-
clientConfig.credentials = {
|
|
35
|
-
accessKeyId: config.accessKeyId,
|
|
36
|
-
secretAccessKey: config.secretAccessKey,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
this.s3Client = new S3Client(clientConfig);
|
|
40
|
-
}
|
|
41
|
-
async load() {
|
|
42
|
-
const { bucket, prefix, pattern } = this.config;
|
|
43
|
-
logger.info(`Loading documents from S3 bucket: ${bucket}`);
|
|
44
|
-
if (prefix) {
|
|
45
|
-
logger.info(`Using prefix: ${prefix}`);
|
|
46
|
-
}
|
|
47
|
-
if (pattern) {
|
|
48
|
-
logger.info(`Filtering with pattern: ${pattern}`);
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
// List objects
|
|
52
|
-
const keys = await this.listObjects();
|
|
53
|
-
logger.info(`Found ${keys.length} object(s) in bucket`);
|
|
54
|
-
// Filter by pattern if specified
|
|
55
|
-
const filteredKeys = pattern
|
|
56
|
-
? keys.filter((key) => minimatch(key, pattern))
|
|
57
|
-
: keys;
|
|
58
|
-
logger.info(`Processing ${filteredKeys.length} file(s) after pattern filtering`);
|
|
59
|
-
// Filter out unsupported file types
|
|
60
|
-
const supportedKeys = filteredKeys.filter((key) => {
|
|
61
|
-
const supported = isSupportedFileType(key);
|
|
62
|
-
if (!supported) {
|
|
63
|
-
logger.warn(`Skipping unsupported file type: ${key}`);
|
|
64
|
-
}
|
|
65
|
-
return supported;
|
|
66
|
-
});
|
|
67
|
-
if (supportedKeys.length === 0) {
|
|
68
|
-
logger.warn(`No supported files found in S3 bucket`);
|
|
69
|
-
return [];
|
|
70
|
-
}
|
|
71
|
-
logger.info(`Loading ${supportedKeys.length} supported file(s)`);
|
|
72
|
-
// Load documents from each file
|
|
73
|
-
const allDocs = [];
|
|
74
|
-
for (const key of supportedKeys) {
|
|
75
|
-
try {
|
|
76
|
-
const docs = await this.loadFile(key);
|
|
77
|
-
allDocs.push(...docs);
|
|
78
|
-
logger.info(`Loaded ${docs.length} document(s) from ${key}`);
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
82
|
-
logger.error(`Failed to load ${key}: ${errorMessage}`);
|
|
83
|
-
// Continue with other files
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
logger.info(`Loaded total of ${allDocs.length} document(s) from S3`);
|
|
87
|
-
return allDocs;
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
91
|
-
logger.error(`S3 loading failed: ${errorMessage}`);
|
|
92
|
-
throw new Error(`Failed to load documents from S3: ${errorMessage}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async listObjects() {
|
|
96
|
-
const keys = [];
|
|
97
|
-
let continuationToken;
|
|
98
|
-
do {
|
|
99
|
-
const command = new ListObjectsV2Command({
|
|
100
|
-
Bucket: this.config.bucket,
|
|
101
|
-
Prefix: this.config.prefix,
|
|
102
|
-
ContinuationToken: continuationToken,
|
|
103
|
-
});
|
|
104
|
-
const response = await this.s3Client.send(command);
|
|
105
|
-
if (response.Contents) {
|
|
106
|
-
for (const obj of response.Contents) {
|
|
107
|
-
if (obj.Key) {
|
|
108
|
-
// Skip directories (keys ending with /)
|
|
109
|
-
if (!obj.Key.endsWith('/')) {
|
|
110
|
-
keys.push(obj.Key);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
continuationToken = response.NextContinuationToken;
|
|
116
|
-
} while (continuationToken);
|
|
117
|
-
return keys;
|
|
118
|
-
}
|
|
119
|
-
async loadFile(key) {
|
|
120
|
-
// Download file to temporary location
|
|
121
|
-
const tmpFile = await this.downloadToTemp(key);
|
|
122
|
-
try {
|
|
123
|
-
// Detect file type and create appropriate loader
|
|
124
|
-
const fileType = detectFileType(key);
|
|
125
|
-
const loader = this.createLoader(fileType, tmpFile);
|
|
126
|
-
// Load documents
|
|
127
|
-
const docs = await loader.load();
|
|
128
|
-
// Add S3 metadata to all documents
|
|
129
|
-
docs.forEach((doc) => {
|
|
130
|
-
doc.metadata.s3_bucket = this.config.bucket;
|
|
131
|
-
doc.metadata.s3_key = key;
|
|
132
|
-
doc.metadata.source = `s3://${this.config.bucket}/${key}`;
|
|
133
|
-
});
|
|
134
|
-
return docs;
|
|
135
|
-
}
|
|
136
|
-
finally {
|
|
137
|
-
// Clean up temporary file
|
|
138
|
-
try {
|
|
139
|
-
fs.unlinkSync(tmpFile);
|
|
140
|
-
}
|
|
141
|
-
catch (error) {
|
|
142
|
-
logger.warn(`Failed to delete temporary file ${tmpFile}: ${error}`);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
async downloadToTemp(key) {
|
|
147
|
-
const command = new GetObjectCommand({
|
|
148
|
-
Bucket: this.config.bucket,
|
|
149
|
-
Key: key,
|
|
150
|
-
});
|
|
151
|
-
const response = await this.s3Client.send(command);
|
|
152
|
-
if (!response.Body) {
|
|
153
|
-
throw new Error(`No body in S3 response for key: ${key}`);
|
|
154
|
-
}
|
|
155
|
-
// Create temporary file
|
|
156
|
-
const ext = path.extname(key);
|
|
157
|
-
const tmpFile = path.join(os.tmpdir(), `s3-loader-${Date.now()}-${Math.random().toString(36).substring(7)}${ext}`);
|
|
158
|
-
// Stream to file
|
|
159
|
-
const stream = response.Body;
|
|
160
|
-
const writeStream = fs.createWriteStream(tmpFile);
|
|
161
|
-
await new Promise((resolve, reject) => {
|
|
162
|
-
stream.pipe(writeStream);
|
|
163
|
-
stream.on('error', reject);
|
|
164
|
-
writeStream.on('error', reject);
|
|
165
|
-
writeStream.on('finish', () => resolve());
|
|
166
|
-
});
|
|
167
|
-
logger.info(`Downloaded ${key} to ${tmpFile}`);
|
|
168
|
-
return tmpFile;
|
|
169
|
-
}
|
|
170
|
-
createLoader(type, filePath) {
|
|
171
|
-
switch (type) {
|
|
172
|
-
case 'pdf':
|
|
173
|
-
return new PDFLoader(filePath);
|
|
174
|
-
case 'csv':
|
|
175
|
-
return new CSVLoader(filePath);
|
|
176
|
-
case 'json':
|
|
177
|
-
return new JSONLoader(filePath);
|
|
178
|
-
case 'text':
|
|
179
|
-
case 'markdown':
|
|
180
|
-
default:
|
|
181
|
-
return new TextLoader(filePath);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
//# sourceMappingURL=s3-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"s3-loader.js","sourceRoot":"","sources":["../../../../lib/knowledge/loaders/s3-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import type { LangGraphWorkflowDefinition, WorkflowResult, WorkflowStatus } from './types.js';
|
|
2
|
-
import type { InterruptManager } from './interrupt-manager.js';
|
|
3
|
-
import { ToolDiscovery } from '../tools/tool-discovery.js';
|
|
4
|
-
/**
|
|
5
|
-
* Executes LangGraph workflows using ReAct pattern (Reasoning + Acting).
|
|
6
|
-
* Supports autonomous tool/agent discovery and human-in-the-loop via ask_user tool.
|
|
7
|
-
*/
|
|
8
|
-
export declare class LangGraphExecutor {
|
|
9
|
-
private toolDiscovery;
|
|
10
|
-
private interruptManager;
|
|
11
|
-
private checkpointer;
|
|
12
|
-
constructor(toolDiscovery: ToolDiscovery, interruptManager: InterruptManager);
|
|
13
|
-
/**
|
|
14
|
-
* Executes a LangGraph workflow.
|
|
15
|
-
* @param definition - The LangGraph workflow definition
|
|
16
|
-
* @param input - Input values for the workflow
|
|
17
|
-
* @param threadId - Optional thread ID for resuming interrupted workflows
|
|
18
|
-
* @param onStatus - Optional callback for status updates
|
|
19
|
-
* @returns Workflow result
|
|
20
|
-
*/
|
|
21
|
-
execute(definition: LangGraphWorkflowDefinition, input: Record<string, unknown>, threadId?: string, onStatus?: (status: WorkflowStatus) => void): Promise<WorkflowResult>;
|
|
22
|
-
/**
|
|
23
|
-
* Resumes a workflow that was interrupted by ask_user.
|
|
24
|
-
*/
|
|
25
|
-
resumeWithAnswer(definition: LangGraphWorkflowDefinition, threadId: string, answer: string, onStatus?: (status: WorkflowStatus) => void): Promise<WorkflowResult>;
|
|
26
|
-
/**
|
|
27
|
-
* Handles workflow interrupts (ask_user).
|
|
28
|
-
*/
|
|
29
|
-
private handleInterrupt;
|
|
30
|
-
/**
|
|
31
|
-
* Builds a ReAct graph with the given LLM and tools.
|
|
32
|
-
*/
|
|
33
|
-
private buildReActGraph;
|
|
34
|
-
/**
|
|
35
|
-
* Decides whether to continue to tools or end.
|
|
36
|
-
*/
|
|
37
|
-
private shouldContinue;
|
|
38
|
-
/**
|
|
39
|
-
* Interpolates template variables in the goal.
|
|
40
|
-
*/
|
|
41
|
-
private interpolateGoal;
|
|
42
|
-
/**
|
|
43
|
-
* Extracts output from graph state.
|
|
44
|
-
*/
|
|
45
|
-
private extractOutput;
|
|
46
|
-
/**
|
|
47
|
-
* Generates a unique thread ID.
|
|
48
|
-
*/
|
|
49
|
-
private generateThreadId;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=langgraph-executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph-executor.d.ts","sourceRoot":"","sources":["../../../lib/workflows/langgraph-executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACd,cAAc,EAEf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;;GAGG;AACH,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,gBAAgB;IAJ1B,OAAO,CAAC,YAAY,CAAqB;gBAG/B,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB;IAG5C;;;;;;;OAOG;IACG,OAAO,CACX,UAAU,EAAE,2BAA2B,EACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAC1C,OAAO,CAAC,cAAc,CAAC;IA8F1B;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,2BAA2B,EACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GAC1C,OAAO,CAAC,cAAc,CAAC;IAsF1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmDvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA8CvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAiCtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAOvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwBrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAGzB"}
|
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import { StateGraph, MessagesAnnotation, MemorySaver } from '@langchain/langgraph';
|
|
2
|
-
import { ToolNode } from '@langchain/langgraph/prebuilt';
|
|
3
|
-
import { NodeInterrupt } from '@langchain/langgraph';
|
|
4
|
-
import { LLMFactory } from '../llm/llm-factory.js';
|
|
5
|
-
import { logger } from '../logger.js';
|
|
6
|
-
/**
|
|
7
|
-
* Executes LangGraph workflows using ReAct pattern (Reasoning + Acting).
|
|
8
|
-
* Supports autonomous tool/agent discovery and human-in-the-loop via ask_user tool.
|
|
9
|
-
*/
|
|
10
|
-
export class LangGraphExecutor {
|
|
11
|
-
toolDiscovery;
|
|
12
|
-
interruptManager;
|
|
13
|
-
checkpointer = new MemorySaver();
|
|
14
|
-
constructor(toolDiscovery, interruptManager) {
|
|
15
|
-
this.toolDiscovery = toolDiscovery;
|
|
16
|
-
this.interruptManager = interruptManager;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Executes a LangGraph workflow.
|
|
20
|
-
* @param definition - The LangGraph workflow definition
|
|
21
|
-
* @param input - Input values for the workflow
|
|
22
|
-
* @param threadId - Optional thread ID for resuming interrupted workflows
|
|
23
|
-
* @param onStatus - Optional callback for status updates
|
|
24
|
-
* @returns Workflow result
|
|
25
|
-
*/
|
|
26
|
-
async execute(definition, input, threadId, onStatus) {
|
|
27
|
-
const startTime = Date.now();
|
|
28
|
-
const actualThreadId = threadId || this.generateThreadId();
|
|
29
|
-
onStatus?.({
|
|
30
|
-
type: 'workflow_start',
|
|
31
|
-
message: `Starting LangGraph workflow: ${definition.name}`,
|
|
32
|
-
elapsed: 0,
|
|
33
|
-
});
|
|
34
|
-
try {
|
|
35
|
-
// 1. Discover tools
|
|
36
|
-
logger.info(`[LangGraph] Discovering tools for workflow "${definition.name}"...`);
|
|
37
|
-
const tools = await this.toolDiscovery.discoverAll(definition.graph.tools);
|
|
38
|
-
logger.info(`[LangGraph] Discovered ${tools.length} tools`);
|
|
39
|
-
// 2. Discover agents
|
|
40
|
-
logger.info(`[LangGraph] Discovering agents for workflow "${definition.name}"...`);
|
|
41
|
-
const agentTools = await this.toolDiscovery.discoverAgents(definition.graph.agents);
|
|
42
|
-
logger.info(`[LangGraph] Discovered ${agentTools.length} agent tools`);
|
|
43
|
-
// 3. Combine all tools
|
|
44
|
-
const allTools = [...tools, ...agentTools];
|
|
45
|
-
logger.info(`[LangGraph] Total tools available: ${allTools.length}`);
|
|
46
|
-
// 4. Get LLM
|
|
47
|
-
const llm = LLMFactory.create(definition.graph.model);
|
|
48
|
-
// 5. Build and compile graph
|
|
49
|
-
const app = this.buildReActGraph(llm, allTools, definition);
|
|
50
|
-
// 6. Execute
|
|
51
|
-
const goal = this.interpolateGoal(definition.prompt.goal, input);
|
|
52
|
-
const config = {
|
|
53
|
-
recursionLimit: definition.graph.maxIterations,
|
|
54
|
-
configurable: { thread_id: actualThreadId },
|
|
55
|
-
};
|
|
56
|
-
logger.info(`[LangGraph] Executing workflow with goal: ${goal}`);
|
|
57
|
-
const result = await app.invoke({ messages: [{ role: 'user', content: goal }] }, config);
|
|
58
|
-
// 7. Extract output
|
|
59
|
-
const output = this.extractOutput(definition.output, result);
|
|
60
|
-
const duration = Date.now() - startTime;
|
|
61
|
-
onStatus?.({
|
|
62
|
-
type: 'workflow_complete',
|
|
63
|
-
message: 'LangGraph workflow completed',
|
|
64
|
-
elapsed: duration,
|
|
65
|
-
});
|
|
66
|
-
logger.info(`[LangGraph] Workflow completed in ${duration}ms`);
|
|
67
|
-
return {
|
|
68
|
-
output,
|
|
69
|
-
metadata: {
|
|
70
|
-
duration,
|
|
71
|
-
stepsExecuted: result.messages?.length || 0,
|
|
72
|
-
success: true,
|
|
73
|
-
},
|
|
74
|
-
stepResults: {}, // No explicit steps in LangGraph
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
// Check if it's an interrupt
|
|
79
|
-
if (error instanceof NodeInterrupt) {
|
|
80
|
-
return this.handleInterrupt(error, definition, actualThreadId, startTime, onStatus);
|
|
81
|
-
}
|
|
82
|
-
const duration = Date.now() - startTime;
|
|
83
|
-
onStatus?.({
|
|
84
|
-
type: 'workflow_error',
|
|
85
|
-
message: error instanceof Error ? error.message : String(error),
|
|
86
|
-
elapsed: duration,
|
|
87
|
-
error: String(error),
|
|
88
|
-
});
|
|
89
|
-
logger.error(`[LangGraph] Workflow error:`, error);
|
|
90
|
-
throw error;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Resumes a workflow that was interrupted by ask_user.
|
|
95
|
-
*/
|
|
96
|
-
async resumeWithAnswer(definition, threadId, answer, onStatus) {
|
|
97
|
-
const startTime = Date.now();
|
|
98
|
-
logger.info(`[LangGraph] Resuming workflow "${definition.name}" with thread ${threadId}`);
|
|
99
|
-
// Resolve the interrupt
|
|
100
|
-
const resolved = this.interruptManager.resolveInterrupt(threadId, answer);
|
|
101
|
-
if (!resolved) {
|
|
102
|
-
throw new Error(`No active interrupt found for thread ${threadId}`);
|
|
103
|
-
}
|
|
104
|
-
onStatus?.({
|
|
105
|
-
type: 'workflow_start',
|
|
106
|
-
message: `Resuming LangGraph workflow: ${definition.name}`,
|
|
107
|
-
elapsed: 0,
|
|
108
|
-
});
|
|
109
|
-
try {
|
|
110
|
-
// 1. Discover tools (same as before)
|
|
111
|
-
const tools = await this.toolDiscovery.discoverAll(definition.graph.tools);
|
|
112
|
-
const agentTools = await this.toolDiscovery.discoverAgents(definition.graph.agents);
|
|
113
|
-
const allTools = [...tools, ...agentTools];
|
|
114
|
-
// 2. Get LLM
|
|
115
|
-
const llm = LLMFactory.create(definition.graph.model);
|
|
116
|
-
// 3. Build and compile graph
|
|
117
|
-
const app = this.buildReActGraph(llm, allTools, definition);
|
|
118
|
-
// 4. Resume with answer
|
|
119
|
-
const config = {
|
|
120
|
-
recursionLimit: definition.graph.maxIterations,
|
|
121
|
-
configurable: { thread_id: threadId },
|
|
122
|
-
};
|
|
123
|
-
// The answer is passed as a command to resume
|
|
124
|
-
const result = await app.invoke(null, config);
|
|
125
|
-
// 5. Extract output
|
|
126
|
-
const output = this.extractOutput(definition.output, result);
|
|
127
|
-
const duration = Date.now() - startTime;
|
|
128
|
-
onStatus?.({
|
|
129
|
-
type: 'workflow_complete',
|
|
130
|
-
message: 'LangGraph workflow resumed and completed',
|
|
131
|
-
elapsed: duration,
|
|
132
|
-
});
|
|
133
|
-
// Clean up interrupt
|
|
134
|
-
this.interruptManager.removeInterrupt(threadId);
|
|
135
|
-
return {
|
|
136
|
-
output,
|
|
137
|
-
metadata: {
|
|
138
|
-
duration,
|
|
139
|
-
stepsExecuted: result.messages?.length || 0,
|
|
140
|
-
success: true,
|
|
141
|
-
},
|
|
142
|
-
stepResults: {},
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
// Check if it's another interrupt
|
|
147
|
-
if (error instanceof NodeInterrupt) {
|
|
148
|
-
return this.handleInterrupt(error, definition, threadId, startTime, onStatus);
|
|
149
|
-
}
|
|
150
|
-
const duration = Date.now() - startTime;
|
|
151
|
-
onStatus?.({
|
|
152
|
-
type: 'workflow_error',
|
|
153
|
-
message: error instanceof Error ? error.message : String(error),
|
|
154
|
-
elapsed: duration,
|
|
155
|
-
error: String(error),
|
|
156
|
-
});
|
|
157
|
-
throw error;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Handles workflow interrupts (ask_user).
|
|
162
|
-
*/
|
|
163
|
-
handleInterrupt(error, definition, threadId, startTime, onStatus) {
|
|
164
|
-
// NodeInterrupt contains the interrupt data passed from the tool
|
|
165
|
-
// Access it via the error's properties
|
|
166
|
-
const interruptData = error.args?.[0] || {};
|
|
167
|
-
const question = interruptData.question || error.message || 'Agent requires input';
|
|
168
|
-
logger.info(`[LangGraph] Workflow interrupted with question: ${question}`);
|
|
169
|
-
// Store interrupt state
|
|
170
|
-
this.interruptManager.addInterrupt({
|
|
171
|
-
threadId,
|
|
172
|
-
workflowName: definition.name,
|
|
173
|
-
question,
|
|
174
|
-
timestamp: Date.now(),
|
|
175
|
-
resolved: false,
|
|
176
|
-
});
|
|
177
|
-
const interrupt = {
|
|
178
|
-
threadId,
|
|
179
|
-
question,
|
|
180
|
-
timestamp: Date.now(),
|
|
181
|
-
};
|
|
182
|
-
const duration = Date.now() - startTime;
|
|
183
|
-
onStatus?.({
|
|
184
|
-
type: 'workflow_interrupt',
|
|
185
|
-
message: `Workflow paused: ${question}`,
|
|
186
|
-
elapsed: duration,
|
|
187
|
-
interrupt,
|
|
188
|
-
});
|
|
189
|
-
// Return partial result with interrupt info
|
|
190
|
-
return {
|
|
191
|
-
output: { interrupted: true, threadId, question },
|
|
192
|
-
metadata: {
|
|
193
|
-
duration,
|
|
194
|
-
stepsExecuted: 0,
|
|
195
|
-
success: false,
|
|
196
|
-
},
|
|
197
|
-
stepResults: {},
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Builds a ReAct graph with the given LLM and tools.
|
|
202
|
-
*/
|
|
203
|
-
buildReActGraph(llm, tools, definition) {
|
|
204
|
-
const executionMode = definition.graph.executionMode || 'react';
|
|
205
|
-
let toolExecutionCount = 0;
|
|
206
|
-
const graph = new StateGraph(MessagesAnnotation)
|
|
207
|
-
.addNode('agent', async (state) => {
|
|
208
|
-
// In single-turn mode, after tools have executed once, don't bind tools
|
|
209
|
-
// This forces the agent to generate a final response without more tool calls
|
|
210
|
-
const shouldBindTools = executionMode === 'react' || toolExecutionCount === 0;
|
|
211
|
-
const modelToUse = shouldBindTools ? llm.bindTools(tools) : llm;
|
|
212
|
-
// Add instruction to wrap up if in single-turn mode after tools executed
|
|
213
|
-
const systemPrompt = executionMode === 'single-turn' && toolExecutionCount > 0
|
|
214
|
-
? `${definition.prompt.system}\n\nIMPORTANT: You have received tool results. Provide your final answer now without calling any more tools.`
|
|
215
|
-
: definition.prompt.system;
|
|
216
|
-
const response = await modelToUse.invoke([
|
|
217
|
-
{ role: 'system', content: systemPrompt },
|
|
218
|
-
...state.messages,
|
|
219
|
-
]);
|
|
220
|
-
return { messages: [response] };
|
|
221
|
-
})
|
|
222
|
-
.addNode('tools', async (state) => {
|
|
223
|
-
toolExecutionCount++;
|
|
224
|
-
const toolNode = new ToolNode(tools);
|
|
225
|
-
return toolNode.invoke(state);
|
|
226
|
-
})
|
|
227
|
-
.addEdge('__start__', 'agent')
|
|
228
|
-
.addConditionalEdges('agent', (state) => this.shouldContinue(state, executionMode, toolExecutionCount))
|
|
229
|
-
.addEdge('tools', 'agent');
|
|
230
|
-
// Compile with checkpointer (enables pause/resume)
|
|
231
|
-
return graph.compile({
|
|
232
|
-
checkpointer: this.checkpointer,
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Decides whether to continue to tools or end.
|
|
237
|
-
*/
|
|
238
|
-
shouldContinue(state, executionMode, toolExecutionCount) {
|
|
239
|
-
if (!state.messages || state.messages.length === 0) {
|
|
240
|
-
return '__end__';
|
|
241
|
-
}
|
|
242
|
-
const lastMessage = state.messages[state.messages.length - 1];
|
|
243
|
-
// Check if there are tool calls
|
|
244
|
-
const hasToolCalls = lastMessage &&
|
|
245
|
-
'tool_calls' in lastMessage &&
|
|
246
|
-
Array.isArray(lastMessage.tool_calls) &&
|
|
247
|
-
lastMessage.tool_calls.length > 0;
|
|
248
|
-
if (!hasToolCalls) {
|
|
249
|
-
return '__end__';
|
|
250
|
-
}
|
|
251
|
-
// In single-turn mode, only allow one round of tool execution
|
|
252
|
-
if (executionMode === 'single-turn' && toolExecutionCount > 0) {
|
|
253
|
-
logger.info('[LangGraph] Single-turn mode: tools already executed, ending workflow');
|
|
254
|
-
return '__end__';
|
|
255
|
-
}
|
|
256
|
-
return 'tools';
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Interpolates template variables in the goal.
|
|
260
|
-
*/
|
|
261
|
-
interpolateGoal(template, input) {
|
|
262
|
-
return template.replace(/\{\{input\.([^}]+)\}\}/g, (_, key) => {
|
|
263
|
-
const value = input[key];
|
|
264
|
-
return value !== undefined ? String(value) : '';
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
/**
|
|
268
|
-
* Extracts output from graph state.
|
|
269
|
-
*/
|
|
270
|
-
extractOutput(outputMapping, state) {
|
|
271
|
-
const output = {};
|
|
272
|
-
for (const [key, template] of Object.entries(outputMapping)) {
|
|
273
|
-
// Simple extraction: just get the last message content
|
|
274
|
-
if (template.includes('{{state.messages[-1].content}}')) {
|
|
275
|
-
const lastMessage = state.messages?.[state.messages.length - 1];
|
|
276
|
-
if (lastMessage && 'content' in lastMessage) {
|
|
277
|
-
output[key] = lastMessage.content;
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
output[key] = '';
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
else {
|
|
284
|
-
// For other templates, just use as-is for now
|
|
285
|
-
output[key] = template;
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
return output;
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Generates a unique thread ID.
|
|
292
|
-
*/
|
|
293
|
-
generateThreadId() {
|
|
294
|
-
return `thread_${Date.now()}_${Math.random().toString(36).substring(7)}`;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
//# sourceMappingURL=langgraph-executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"langgraph-executor.js","sourceRoot":"","sources":["../../../lib/workflows/langgraph-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
name: call-center-analyst
|
|
2
|
-
description: An agent that analyzes call center transcripts using GraphRAG for entity-level and thematic insights
|
|
3
|
-
version: "1.0.0"
|
|
4
|
-
|
|
5
|
-
llm:
|
|
6
|
-
name: default
|
|
7
|
-
temperature: 0.3
|
|
8
|
-
|
|
9
|
-
prompt:
|
|
10
|
-
system: |
|
|
11
|
-
You are a call center analytics expert with access to a knowledge base
|
|
12
|
-
built from call center transcripts.
|
|
13
|
-
|
|
14
|
-
Your knowledge base contains entities (agents, customers, vehicles, outcomes)
|
|
15
|
-
|
|
16
|
-
When answering:
|
|
17
|
-
1. Search the knowledge base with the user's query
|
|
18
|
-
2. Analyze the context
|
|
19
|
-
3. Provide clear, structured answers grounded in the data
|
|
20
|
-
4. Reference specific entities, relationships, or patterns found in the results
|
|
21
|
-
5. If data is insufficient, state what was found and what is missing
|
|
22
|
-
inputVariables:
|
|
23
|
-
- query
|
|
24
|
-
|
|
25
|
-
tools:
|
|
26
|
-
- knowledge:example
|
|
27
|
-
|
|
28
|
-
output:
|
|
29
|
-
format: text
|
|
30
|
-
|
|
31
|
-
metadata:
|
|
32
|
-
category: rag-example
|
|
33
|
-
tags:
|
|
34
|
-
- call-center
|
|
35
|
-
- analytics
|
|
36
|
-
- example
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
name: math
|
|
2
|
-
description: An agent that can calculate Fibonacci numbers using the fibonacci function
|
|
3
|
-
version: "1.0.0"
|
|
4
|
-
|
|
5
|
-
llm:
|
|
6
|
-
name: default
|
|
7
|
-
temperature: 0.3
|
|
8
|
-
|
|
9
|
-
prompt:
|
|
10
|
-
system: |
|
|
11
|
-
You are a mathematical assistant.
|
|
12
|
-
|
|
13
|
-
When users ask about math calculations use your tool to calculate
|
|
14
|
-
If the user's query is not about math numbers, politely inform them that you specialize in math calculations.
|
|
15
|
-
inputVariables:
|
|
16
|
-
- query
|
|
17
|
-
|
|
18
|
-
tools:
|
|
19
|
-
- function:calculator
|
|
20
|
-
|
|
21
|
-
output:
|
|
22
|
-
format: text
|
|
23
|
-
|
|
24
|
-
metadata:
|
|
25
|
-
category: mathematics
|
|
26
|
-
tags:
|
|
27
|
-
- math
|
|
28
|
-
- example
|