agent-orcha 0.0.4 → 0.0.5
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 +197 -221
- package/dist/lib/agents/agent-executor.d.ts +13 -4
- package/dist/lib/agents/agent-executor.d.ts.map +1 -1
- package/dist/lib/agents/agent-executor.js +307 -73
- package/dist/lib/agents/agent-executor.js.map +1 -1
- package/dist/lib/agents/agent-loader.d.ts +1 -1
- package/dist/lib/agents/agent-loader.d.ts.map +1 -1
- package/dist/lib/agents/agent-loader.js +10 -3
- 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 +155 -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 +132 -8
- package/dist/lib/agents/types.d.ts.map +1 -1
- package/dist/lib/agents/types.js +16 -2
- package/dist/lib/agents/types.js.map +1 -1
- package/dist/lib/functions/function-loader.d.ts +1 -1
- package/dist/lib/functions/function-loader.js +13 -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/integration-manager.d.ts +14 -0
- package/dist/lib/integrations/integration-manager.d.ts.map +1 -0
- package/dist/lib/integrations/integration-manager.js +109 -0
- package/dist/lib/integrations/integration-manager.js.map +1 -0
- package/dist/lib/integrations/types.d.ts +49 -0
- package/dist/lib/integrations/types.d.ts.map +1 -0
- package/dist/lib/integrations/types.js +14 -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 +43 -0
- package/dist/lib/knowledge/knowledge-store.d.ts.map +1 -0
- package/dist/lib/knowledge/knowledge-store.js +603 -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 +39 -0
- package/dist/lib/knowledge/loaders/file-loaders.d.ts.map +1 -0
- package/dist/lib/knowledge/loaders/file-loaders.js +131 -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 +2 -2
- package/dist/lib/knowledge/loaders/web-loader.d.ts.map +1 -1
- package/dist/lib/knowledge/loaders/web-loader.js +22 -21
- 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 +72 -1432
- package/dist/lib/knowledge/types.d.ts.map +1 -1
- package/dist/lib/knowledge/types.js +36 -57
- 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 +37 -0
- package/dist/lib/llm/llm-call-logger.d.ts.map +1 -0
- package/dist/lib/llm/llm-call-logger.js +105 -0
- package/dist/lib/llm/llm-call-logger.js.map +1 -0
- package/dist/lib/llm/llm-config.d.ts +22 -16
- package/dist/lib/llm/llm-config.d.ts.map +1 -1
- package/dist/lib/llm/llm-config.js +19 -3
- 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 +30 -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 +27 -0
- package/dist/lib/llm/providers/anthropic-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/anthropic-chat-model.js +186 -0
- package/dist/lib/llm/providers/anthropic-chat-model.js.map +1 -0
- package/dist/lib/llm/providers/gemini-chat-model.d.ts +29 -0
- package/dist/lib/llm/providers/gemini-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/gemini-chat-model.js +241 -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 +30 -0
- package/dist/lib/llm/providers/openai-chat-model.d.ts.map +1 -0
- package/dist/lib/llm/providers/openai-chat-model.js +196 -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 +43 -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 +5 -2
- package/dist/lib/mcp/mcp-client.js.map +1 -1
- package/dist/lib/mcp/types.d.ts +33 -23
- package/dist/lib/mcp/types.d.ts.map +1 -1
- package/dist/lib/mcp/types.js +11 -2
- 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 +9 -0
- package/dist/lib/memory/memory-manager.d.ts.map +1 -0
- package/dist/lib/memory/memory-manager.js +34 -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 +78 -18
- package/dist/lib/orchestrator.d.ts.map +1 -1
- package/dist/lib/orchestrator.js +247 -55
- package/dist/lib/orchestrator.js.map +1 -1
- package/dist/lib/sandbox/html-to-markdown.d.ts +2 -0
- package/dist/lib/sandbox/html-to-markdown.d.ts.map +1 -0
- package/dist/lib/sandbox/html-to-markdown.js +64 -0
- package/dist/lib/sandbox/html-to-markdown.js.map +1 -0
- package/dist/lib/sandbox/index.d.ts +7 -0
- package/dist/lib/sandbox/index.d.ts.map +1 -0
- package/dist/lib/sandbox/index.js +6 -0
- package/dist/lib/sandbox/index.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-web.d.ts +5 -0
- package/dist/lib/sandbox/sandbox-web.d.ts.map +1 -0
- package/dist/lib/sandbox/sandbox-web.js +211 -0
- package/dist/lib/sandbox/sandbox-web.js.map +1 -0
- package/dist/lib/sandbox/types.d.ts +21 -0
- package/dist/lib/sandbox/types.d.ts.map +1 -0
- package/dist/lib/sandbox/types.js +7 -0
- package/dist/lib/sandbox/types.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 +19 -0
- package/dist/lib/skills/skill-loader.d.ts.map +1 -0
- package/dist/lib/skills/skill-loader.js +105 -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 +25 -0
- package/dist/lib/tasks/task-manager.d.ts.map +1 -0
- package/dist/lib/tasks/task-manager.js +189 -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 +38 -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/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 +102 -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 +127 -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 +87 -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 +60 -0
- package/dist/lib/tools/workspace/workspace-tools.d.ts.map +1 -0
- package/dist/lib/tools/workspace/workspace-tools.js +140 -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 +11 -0
- package/dist/lib/triggers/trigger-manager.d.ts.map +1 -0
- package/dist/lib/triggers/trigger-manager.js +51 -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 +54 -0
- package/dist/lib/types/llm-types.d.ts.map +1 -0
- package/dist/lib/types/llm-types.js +22 -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/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 +96 -97
- 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 +1 -1
- package/dist/lib/workflows/workflow-loader.d.ts.map +1 -1
- package/dist/lib/workflows/workflow-loader.js +10 -3
- package/dist/lib/workflows/workflow-loader.js.map +1 -1
- package/dist/public/index.html +32 -0
- package/dist/public/src/components/AgentsView.js +298 -44
- package/dist/public/src/components/AppRoot.js +124 -4
- package/dist/public/src/components/GraphView.js +336 -0
- package/dist/public/src/components/IdeView.js +462 -7
- package/dist/public/src/components/KnowledgeView.js +443 -66
- package/dist/public/src/components/MonitorView.js +388 -0
- package/dist/public/src/components/NavBar.js +3 -0
- package/dist/public/src/components/SkillsView.js +137 -0
- package/dist/public/src/components/WorkflowsView.js +287 -114
- package/dist/public/src/services/ApiService.js +165 -25
- package/dist/public/src/store.js +3 -2
- package/dist/public/src/utils/markdown.js +1 -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 +3 -3
- 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 +107 -0
- package/dist/src/middleware/auth.js.map +1 -0
- package/dist/src/routes/agents.route.d.ts.map +1 -1
- package/dist/src/routes/agents.route.js +31 -2
- package/dist/src/routes/agents.route.js.map +1 -1
- package/dist/src/routes/files.route.d.ts.map +1 -1
- package/dist/src/routes/files.route.js +128 -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 +48 -7
- 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 +135 -0
- package/dist/src/routes/tasks.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 +21 -8
- package/dist/src/server.js.map +1 -1
- package/dist/templates/.env.example +4 -19
- package/dist/templates/README.md +18 -10
- package/dist/templates/agents/architect.agent.yaml +49 -0
- package/dist/templates/agents/chatbot.agent.yaml +58 -0
- package/dist/templates/agents/knowledge-broker.agent.yaml +39 -0
- package/dist/templates/agents/sandbox.agent.yaml +56 -0
- package/dist/templates/knowledge/example.knowledge.yaml +0 -3
- package/dist/templates/knowledge/org-chart/personnel.csv +21 -0
- package/dist/templates/knowledge/org-chart.knowledge.yaml +49 -0
- package/dist/templates/knowledge/pet-store/pet-store.db +0 -0
- package/dist/templates/knowledge/pet-store.knowledge.yaml +78 -0
- package/dist/templates/knowledge/web-docs.knowledge.yaml +20 -0
- package/dist/templates/llm.json +2 -2
- package/dist/templates/mcp.json +3 -0
- package/dist/templates/skills/orcha-builder/SKILL.md +339 -0
- package/dist/templates/skills/sandbox/SKILL.md +63 -0
- package/dist/templates/workflows/example.workflow.yaml +25 -30
- package/dist/templates/workflows/react-example.workflow.yaml +53 -0
- package/package.json +17 -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/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
|