agentic-flow 1.10.0 ā 1.10.2
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/CHANGELOG.md +25 -1338
- package/dist/.tsbuildinfo +1 -0
- package/dist/agentdb/index.d.ts +26 -0
- package/dist/agentdb/index.d.ts.map +1 -0
- package/dist/agentdb/index.js +1 -0
- package/dist/agentdb/index.js.map +1 -0
- package/dist/agentdb/validate-frontier.cjs +416 -0
- package/dist/agentdb/validate-frontier.cjs.map +1 -0
- package/dist/agentdb/validate-frontier.d.cts +2 -0
- package/dist/agentdb/validate-frontier.d.cts.map +1 -0
- package/dist/agents/claudeAgent.d.ts +6 -0
- package/dist/agents/claudeAgent.d.ts.map +1 -0
- package/dist/agents/claudeAgent.js +22 -3
- package/dist/agents/claudeAgent.js.map +1 -0
- package/dist/agents/claudeAgentDirect.d.ts +6 -0
- package/dist/agents/claudeAgentDirect.d.ts.map +1 -0
- package/dist/agents/claudeAgentDirect.js +1 -0
- package/dist/agents/claudeAgentDirect.js.map +1 -0
- package/dist/agents/claudeFlowAgent.d.ts +32 -0
- package/dist/agents/claudeFlowAgent.d.ts.map +1 -0
- package/dist/agents/claudeFlowAgent.js +1 -0
- package/dist/agents/claudeFlowAgent.js.map +1 -0
- package/dist/agents/codeReviewAgent.d.ts +4 -0
- package/dist/agents/codeReviewAgent.d.ts.map +1 -0
- package/dist/agents/codeReviewAgent.js +1 -0
- package/dist/agents/codeReviewAgent.js.map +1 -0
- package/dist/agents/dataAgent.d.ts +4 -0
- package/dist/agents/dataAgent.d.ts.map +1 -0
- package/dist/agents/dataAgent.js +1 -0
- package/dist/agents/dataAgent.js.map +1 -0
- package/dist/agents/directApiAgent.d.ts +10 -0
- package/dist/agents/directApiAgent.d.ts.map +1 -0
- package/dist/agents/directApiAgent.js +1 -0
- package/dist/agents/directApiAgent.js.map +1 -0
- package/dist/agents/webResearchAgent.d.ts +4 -0
- package/dist/agents/webResearchAgent.d.ts.map +1 -0
- package/dist/agents/webResearchAgent.js +1 -0
- package/dist/agents/webResearchAgent.js.map +1 -0
- package/dist/cli/agent-manager.d.ts +57 -0
- package/dist/cli/agent-manager.d.ts.map +1 -0
- package/dist/cli/agent-manager.js +1 -0
- package/dist/cli/agent-manager.js.map +1 -0
- package/dist/cli/claude-code-wrapper.d.ts +21 -0
- package/dist/cli/claude-code-wrapper.d.ts.map +1 -0
- package/dist/cli/claude-code-wrapper.js +1 -0
- package/dist/cli/claude-code-wrapper.js.map +1 -0
- package/dist/cli/config-wizard.d.ts +21 -0
- package/dist/cli/config-wizard.d.ts.map +1 -0
- package/dist/cli/config-wizard.js +1 -0
- package/dist/cli/config-wizard.js.map +1 -0
- package/dist/cli/federation-cli.d.ts +1 -0
- package/dist/cli/federation-cli.d.ts.map +1 -0
- package/dist/cli/federation-cli.js +1 -0
- package/dist/cli/federation-cli.js.map +1 -0
- package/dist/cli/mcp-manager.d.ts +12 -0
- package/dist/cli/mcp-manager.d.ts.map +1 -0
- package/dist/cli/mcp-manager.js +1 -0
- package/dist/cli/mcp-manager.js.map +1 -0
- package/dist/cli/mcp.d.ts +11 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +1 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli-proxy.d.ts +7 -0
- package/dist/cli-proxy.d.ts.map +1 -0
- package/dist/cli-proxy.js +1 -0
- package/dist/cli-proxy.js.map +1 -0
- package/dist/cli-standalone-proxy.d.ts +17 -0
- package/dist/cli-standalone-proxy.d.ts.map +1 -0
- package/dist/cli-standalone-proxy.js +1 -0
- package/dist/cli-standalone-proxy.js.map +1 -0
- package/dist/config/claudeFlow.d.ts +33 -0
- package/dist/config/claudeFlow.d.ts.map +1 -0
- package/dist/config/claudeFlow.js +1 -0
- package/dist/config/claudeFlow.js.map +1 -0
- package/dist/config/quic.d.ts +58 -0
- package/dist/config/quic.d.ts.map +1 -0
- package/dist/config/quic.js +1 -0
- package/dist/config/quic.js.map +1 -0
- package/dist/config/tools.d.ts +17 -0
- package/dist/config/tools.d.ts.map +1 -0
- package/dist/config/tools.js +1 -0
- package/dist/config/tools.js.map +1 -0
- package/dist/core/long-running-agent.d.ts +92 -0
- package/dist/core/long-running-agent.d.ts.map +1 -0
- package/dist/core/long-running-agent.js +1 -0
- package/dist/core/long-running-agent.js.map +1 -0
- package/dist/core/provider-manager.d.ts +145 -0
- package/dist/core/provider-manager.d.ts.map +1 -0
- package/dist/core/provider-manager.js +1 -0
- package/dist/core/provider-manager.js.map +1 -0
- package/dist/examples/multi-agent-orchestration.d.ts +3 -0
- package/dist/examples/multi-agent-orchestration.d.ts.map +1 -0
- package/dist/examples/multi-agent-orchestration.js +1 -0
- package/dist/examples/multi-agent-orchestration.js.map +1 -0
- package/dist/examples/use-goal-planner.d.ts +3 -0
- package/dist/examples/use-goal-planner.d.ts.map +1 -0
- package/dist/examples/use-goal-planner.js +1 -0
- package/dist/examples/use-goal-planner.js.map +1 -0
- package/dist/examples/use-provider-fallback.d.ts +13 -0
- package/dist/examples/use-provider-fallback.d.ts.map +1 -0
- package/dist/examples/use-provider-fallback.js +1 -0
- package/dist/examples/use-provider-fallback.js.map +1 -0
- package/dist/federation/EphemeralAgent.d.ts +84 -0
- package/dist/federation/EphemeralAgent.d.ts.map +1 -0
- package/dist/federation/EphemeralAgent.js +1 -0
- package/dist/federation/EphemeralAgent.js.map +1 -0
- package/dist/federation/FederationHub.d.ts +89 -0
- package/dist/federation/FederationHub.d.ts.map +1 -0
- package/dist/federation/FederationHub.js +1 -0
- package/dist/federation/FederationHub.js.map +1 -0
- package/dist/federation/FederationHubClient.d.ts +70 -0
- package/dist/federation/FederationHubClient.d.ts.map +1 -0
- package/dist/federation/FederationHubClient.js +1 -0
- package/dist/federation/FederationHubClient.js.map +1 -0
- package/dist/federation/FederationHubServer.d.ts +100 -0
- package/dist/federation/FederationHubServer.d.ts.map +1 -0
- package/dist/federation/FederationHubServer.js +1 -0
- package/dist/federation/FederationHubServer.js.map +1 -0
- package/dist/federation/SecurityManager.d.ts +80 -0
- package/dist/federation/SecurityManager.d.ts.map +1 -0
- package/dist/federation/SecurityManager.js +1 -0
- package/dist/federation/SecurityManager.js.map +1 -0
- package/dist/federation/debug/agent-debug-stream.d.ts +171 -0
- package/dist/federation/debug/agent-debug-stream.d.ts.map +1 -0
- package/dist/federation/debug/agent-debug-stream.js +1 -0
- package/dist/federation/debug/agent-debug-stream.js.map +1 -0
- package/dist/federation/debug/debug-stream.d.ts +157 -0
- package/dist/federation/debug/debug-stream.d.ts.map +1 -0
- package/dist/federation/debug/debug-stream.js +1 -0
- package/dist/federation/debug/debug-stream.js.map +1 -0
- package/dist/federation/index.d.ts +13 -0
- package/dist/federation/index.d.ts.map +1 -0
- package/dist/federation/index.js +1 -0
- package/dist/federation/index.js.map +1 -0
- package/dist/federation/integrations/realtime-federation.d.ts +144 -0
- package/dist/federation/integrations/realtime-federation.d.ts.map +1 -0
- package/dist/federation/integrations/realtime-federation.js +1 -0
- package/dist/federation/integrations/realtime-federation.js.map +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.d.ts +91 -0
- package/dist/federation/integrations/supabase-adapter-debug.d.ts.map +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.js +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -0
- package/dist/federation/integrations/supabase-adapter.d.ts +89 -0
- package/dist/federation/integrations/supabase-adapter.d.ts.map +1 -0
- package/dist/federation/integrations/supabase-adapter.js +1 -0
- package/dist/federation/integrations/supabase-adapter.js.map +1 -0
- package/dist/health.d.ts +28 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +1 -0
- package/dist/health.js.map +1 -0
- package/dist/hooks/parallel-validation.d.ts +51 -0
- package/dist/hooks/parallel-validation.d.ts.map +1 -0
- package/dist/hooks/parallel-validation.js +1 -0
- package/dist/hooks/parallel-validation.js.map +1 -0
- package/dist/hooks/swarm-learning-optimizer.d.ts +89 -0
- package/dist/hooks/swarm-learning-optimizer.d.ts.map +1 -0
- package/dist/hooks/swarm-learning-optimizer.js +1 -0
- package/dist/hooks/swarm-learning-optimizer.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/claudeFlowSdkServer.d.ts +6 -0
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -0
- package/dist/mcp/claudeFlowSdkServer.js +1 -0
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.js +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.js +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.js.map +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/stdio-full.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.js +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/execute.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/list.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -0
- package/dist/mcp/fastmcp/types/index.d.ts +33 -0
- package/dist/mcp/fastmcp/types/index.d.ts.map +1 -0
- package/dist/mcp/fastmcp/types/index.js +1 -0
- package/dist/mcp/fastmcp/types/index.js.map +1 -0
- package/dist/mcp/standalone-stdio.d.ts +3 -0
- package/dist/mcp/standalone-stdio.d.ts.map +1 -0
- package/dist/mcp/standalone-stdio.js +1 -0
- package/dist/mcp/standalone-stdio.js.map +1 -0
- package/dist/memory/SharedMemoryPool.d.ts +116 -0
- package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
- package/dist/memory/SharedMemoryPool.js +1 -0
- package/dist/memory/SharedMemoryPool.js.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/proxy/adaptive-proxy.d.ts +51 -0
- package/dist/proxy/adaptive-proxy.d.ts.map +1 -0
- package/dist/proxy/adaptive-proxy.js +1 -0
- package/dist/proxy/adaptive-proxy.js.map +1 -0
- package/dist/proxy/anthropic-to-gemini.d.ts +20 -0
- package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-gemini.js +1 -0
- package/dist/proxy/anthropic-to-gemini.js.map +1 -0
- package/dist/proxy/anthropic-to-onnx.d.ts +17 -0
- package/dist/proxy/anthropic-to-onnx.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-onnx.js +1 -0
- package/dist/proxy/anthropic-to-onnx.js.map +1 -0
- package/dist/proxy/anthropic-to-openrouter.d.ts +28 -0
- package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-openrouter.js +1 -0
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -0
- package/dist/proxy/anthropic-to-requesty.d.ts +33 -0
- package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-requesty.js +1 -0
- package/dist/proxy/anthropic-to-requesty.js.map +1 -0
- package/dist/proxy/http2-proxy-optimized.d.ts +63 -0
- package/dist/proxy/http2-proxy-optimized.d.ts.map +1 -0
- package/dist/proxy/http2-proxy-optimized.js +1 -0
- package/dist/proxy/http2-proxy-optimized.js.map +1 -0
- package/dist/proxy/http2-proxy.d.ts +43 -0
- package/dist/proxy/http2-proxy.d.ts.map +1 -0
- package/dist/proxy/http2-proxy.js +1 -0
- package/dist/proxy/http2-proxy.js.map +1 -0
- package/dist/proxy/http3-proxy.d.ts +18 -0
- package/dist/proxy/http3-proxy.d.ts.map +1 -0
- package/dist/proxy/http3-proxy.js +1 -0
- package/dist/proxy/http3-proxy.js.map +1 -0
- package/dist/proxy/provider-instructions.d.ts +37 -0
- package/dist/proxy/provider-instructions.d.ts.map +1 -0
- package/dist/proxy/provider-instructions.js +1 -0
- package/dist/proxy/provider-instructions.js.map +1 -0
- package/dist/proxy/quic-proxy.d.ts +58 -0
- package/dist/proxy/quic-proxy.d.ts.map +1 -0
- package/dist/proxy/quic-proxy.js +1 -0
- package/dist/proxy/quic-proxy.js.map +1 -0
- package/dist/proxy/tool-emulation.d.ts +121 -0
- package/dist/proxy/tool-emulation.d.ts.map +1 -0
- package/dist/proxy/tool-emulation.js +1 -0
- package/dist/proxy/tool-emulation.js.map +1 -0
- package/dist/proxy/websocket-proxy.d.ts +39 -0
- package/dist/proxy/websocket-proxy.d.ts.map +1 -0
- package/dist/proxy/websocket-proxy.js +1 -0
- package/dist/proxy/websocket-proxy.js.map +1 -0
- package/dist/reasoningbank/AdvancedMemory.d.ts +120 -0
- package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -0
- package/dist/reasoningbank/AdvancedMemory.js +1 -0
- package/dist/reasoningbank/AdvancedMemory.js.map +1 -0
- package/dist/reasoningbank/HybridBackend.d.ts +99 -0
- package/dist/reasoningbank/HybridBackend.d.ts.map +1 -0
- package/dist/reasoningbank/HybridBackend.js +1 -0
- package/dist/reasoningbank/HybridBackend.js.map +1 -0
- package/dist/reasoningbank/backend-selector.d.ts +79 -0
- package/dist/reasoningbank/backend-selector.d.ts.map +1 -0
- package/dist/reasoningbank/backend-selector.js +1 -0
- package/dist/reasoningbank/backend-selector.js.map +1 -0
- package/dist/reasoningbank/benchmark.d.ts +14 -0
- package/dist/reasoningbank/benchmark.d.ts.map +1 -0
- package/dist/reasoningbank/benchmark.js +1 -0
- package/dist/reasoningbank/benchmark.js.map +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.d.ts +57 -0
- package/dist/reasoningbank/config/reasoningbank-types.d.ts.map +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.js +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.js.map +1 -0
- package/dist/reasoningbank/core/consolidate.d.ts +21 -0
- package/dist/reasoningbank/core/consolidate.d.ts.map +1 -0
- package/dist/reasoningbank/core/consolidate.js +1 -0
- package/dist/reasoningbank/core/consolidate.js.map +1 -0
- package/dist/reasoningbank/core/distill.d.ts +22 -0
- package/dist/reasoningbank/core/distill.d.ts.map +1 -0
- package/dist/reasoningbank/core/distill.js +1 -0
- package/dist/reasoningbank/core/distill.js.map +1 -0
- package/dist/reasoningbank/core/judge.d.ts +17 -0
- package/dist/reasoningbank/core/judge.d.ts.map +1 -0
- package/dist/reasoningbank/core/judge.js +1 -0
- package/dist/reasoningbank/core/judge.js.map +1 -0
- package/dist/reasoningbank/core/matts.d.ts +46 -0
- package/dist/reasoningbank/core/matts.d.ts.map +1 -0
- package/dist/reasoningbank/core/matts.js +1 -0
- package/dist/reasoningbank/core/matts.js.map +1 -0
- package/dist/reasoningbank/core/retrieve.d.ts +35 -0
- package/dist/reasoningbank/core/retrieve.d.ts.map +1 -0
- package/dist/reasoningbank/core/retrieve.js +1 -0
- package/dist/reasoningbank/core/retrieve.js.map +1 -0
- package/dist/reasoningbank/db/queries.d.ts +88 -0
- package/dist/reasoningbank/db/queries.d.ts.map +1 -0
- package/dist/reasoningbank/db/queries.js +1 -0
- package/dist/reasoningbank/db/queries.js.map +1 -0
- package/dist/reasoningbank/db/schema.d.ts +81 -0
- package/dist/reasoningbank/db/schema.d.ts.map +1 -0
- package/dist/reasoningbank/db/schema.js +1 -0
- package/dist/reasoningbank/db/schema.js.map +1 -0
- package/dist/reasoningbank/demo-comparison.d.ts +10 -0
- package/dist/reasoningbank/demo-comparison.d.ts.map +1 -0
- package/dist/reasoningbank/demo-comparison.js +1 -0
- package/dist/reasoningbank/demo-comparison.js.map +1 -0
- package/dist/reasoningbank/hooks/post-task.d.ts +9 -0
- package/dist/reasoningbank/hooks/post-task.d.ts.map +1 -0
- package/dist/reasoningbank/hooks/post-task.js +1 -0
- package/dist/reasoningbank/hooks/post-task.js.map +1 -0
- package/dist/reasoningbank/hooks/pre-task.d.ts +9 -0
- package/dist/reasoningbank/hooks/pre-task.d.ts.map +1 -0
- package/dist/reasoningbank/hooks/pre-task.js +1 -0
- package/dist/reasoningbank/hooks/pre-task.js.map +1 -0
- package/dist/reasoningbank/index-new.d.ts +49 -0
- package/dist/reasoningbank/index-new.d.ts.map +1 -0
- package/dist/reasoningbank/index-new.js +1 -0
- package/dist/reasoningbank/index-new.js.map +1 -0
- package/dist/reasoningbank/index.d.ts +50 -0
- package/dist/reasoningbank/index.d.ts.map +1 -0
- package/dist/reasoningbank/index.js +1 -0
- package/dist/reasoningbank/index.js.map +1 -0
- package/dist/reasoningbank/test-integration.d.ts +7 -0
- package/dist/reasoningbank/test-integration.d.ts.map +1 -0
- package/dist/reasoningbank/test-integration.js +1 -0
- package/dist/reasoningbank/test-integration.js.map +1 -0
- package/dist/reasoningbank/test-retrieval.d.ts +6 -0
- package/dist/reasoningbank/test-retrieval.d.ts.map +1 -0
- package/dist/reasoningbank/test-retrieval.js +1 -0
- package/dist/reasoningbank/test-retrieval.js.map +1 -0
- package/dist/reasoningbank/test-validation.d.ts +7 -0
- package/dist/reasoningbank/test-validation.d.ts.map +1 -0
- package/dist/reasoningbank/test-validation.js +1 -0
- package/dist/reasoningbank/test-validation.js.map +1 -0
- package/dist/reasoningbank/types/index.d.ts +123 -0
- package/dist/reasoningbank/types/index.d.ts.map +1 -0
- package/dist/reasoningbank/types/index.js +1 -0
- package/dist/reasoningbank/types/index.js.map +1 -0
- package/dist/reasoningbank/utils/config.d.ts +61 -0
- package/dist/reasoningbank/utils/config.d.ts.map +1 -0
- package/dist/reasoningbank/utils/config.js +1 -0
- package/dist/reasoningbank/utils/config.js.map +1 -0
- package/dist/reasoningbank/utils/embeddings.d.ts +21 -0
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -0
- package/dist/reasoningbank/utils/embeddings.js +1 -0
- package/dist/reasoningbank/utils/embeddings.js.map +1 -0
- package/dist/reasoningbank/utils/mmr.d.ts +23 -0
- package/dist/reasoningbank/utils/mmr.d.ts.map +1 -0
- package/dist/reasoningbank/utils/mmr.js +1 -0
- package/dist/reasoningbank/utils/mmr.js.map +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.d.ts +46 -0
- package/dist/reasoningbank/utils/pii-scrubber.d.ts.map +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.js +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.js.map +1 -0
- package/dist/reasoningbank/wasm-adapter.d.ts +104 -0
- package/dist/reasoningbank/wasm-adapter.d.ts.map +1 -0
- package/dist/reasoningbank/wasm-adapter.js +1 -0
- package/dist/reasoningbank/wasm-adapter.js.map +1 -0
- package/dist/router/model-mapping.d.ts +31 -0
- package/dist/router/model-mapping.d.ts.map +1 -0
- package/dist/router/model-mapping.js +1 -0
- package/dist/router/model-mapping.js.map +1 -0
- package/dist/router/providers/anthropic.d.ts +17 -0
- package/dist/router/providers/anthropic.d.ts.map +1 -0
- package/dist/router/providers/anthropic.js +1 -0
- package/dist/router/providers/anthropic.js.map +1 -0
- package/dist/router/providers/gemini.d.ts +17 -0
- package/dist/router/providers/gemini.d.ts.map +1 -0
- package/dist/router/providers/gemini.js +1 -0
- package/dist/router/providers/gemini.js.map +1 -0
- package/dist/router/providers/onnx-local-optimized.d.ts +71 -0
- package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -0
- package/dist/router/providers/onnx-local-optimized.js +1 -0
- package/dist/router/providers/onnx-local-optimized.js.map +1 -0
- package/dist/router/providers/onnx-local.d.ts +75 -0
- package/dist/router/providers/onnx-local.d.ts.map +1 -0
- package/dist/router/providers/onnx-local.js +1 -0
- package/dist/router/providers/onnx-local.js.map +1 -0
- package/dist/router/providers/onnx-phi4.d.ts +64 -0
- package/dist/router/providers/onnx-phi4.d.ts.map +1 -0
- package/dist/router/providers/onnx-phi4.js +1 -0
- package/dist/router/providers/onnx-phi4.js.map +1 -0
- package/dist/router/providers/onnx.d.ts +65 -0
- package/dist/router/providers/onnx.d.ts.map +1 -0
- package/dist/router/providers/onnx.js +1 -0
- package/dist/router/providers/onnx.js.map +1 -0
- package/dist/router/providers/openrouter.d.ts +21 -0
- package/dist/router/providers/openrouter.d.ts.map +1 -0
- package/dist/router/providers/openrouter.js +1 -0
- package/dist/router/providers/openrouter.js.map +1 -0
- package/dist/router/router.d.ts +26 -0
- package/dist/router/router.d.ts.map +1 -0
- package/dist/router/router.js +1 -0
- package/dist/router/router.js.map +1 -0
- package/dist/router/test-integration.d.ts +13 -0
- package/dist/router/test-integration.d.ts.map +1 -0
- package/dist/router/test-integration.js +1 -0
- package/dist/router/test-integration.js.map +1 -0
- package/dist/router/test-onnx-benchmark.d.ts +7 -0
- package/dist/router/test-onnx-benchmark.d.ts.map +1 -0
- package/dist/router/test-onnx-benchmark.js +1 -0
- package/dist/router/test-onnx-benchmark.js.map +1 -0
- package/dist/router/test-onnx-integration.d.ts +8 -0
- package/dist/router/test-onnx-integration.d.ts.map +1 -0
- package/dist/router/test-onnx-integration.js +1 -0
- package/dist/router/test-onnx-integration.js.map +1 -0
- package/dist/router/test-onnx-local.d.ts +6 -0
- package/dist/router/test-onnx-local.d.ts.map +1 -0
- package/dist/router/test-onnx-local.js +1 -0
- package/dist/router/test-onnx-local.js.map +1 -0
- package/dist/router/test-onnx.d.ts +7 -0
- package/dist/router/test-onnx.d.ts.map +1 -0
- package/dist/router/test-onnx.js +1 -0
- package/dist/router/test-onnx.js.map +1 -0
- package/dist/router/test-openrouter.d.ts +3 -0
- package/dist/router/test-openrouter.d.ts.map +1 -0
- package/dist/router/test-openrouter.js +1 -0
- package/dist/router/test-openrouter.js.map +1 -0
- package/dist/router/test-phi4.d.ts +6 -0
- package/dist/router/test-phi4.d.ts.map +1 -0
- package/dist/router/test-phi4.js +1 -0
- package/dist/router/test-phi4.js.map +1 -0
- package/dist/router/types.d.ts +209 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +1 -0
- package/dist/router/types.js.map +1 -0
- package/dist/swarm/index.d.ts +51 -0
- package/dist/swarm/index.d.ts.map +1 -0
- package/dist/swarm/index.js +1 -0
- package/dist/swarm/index.js.map +1 -0
- package/dist/swarm/quic-coordinator.d.ts +149 -0
- package/dist/swarm/quic-coordinator.d.ts.map +1 -0
- package/dist/swarm/quic-coordinator.js +1 -0
- package/dist/swarm/quic-coordinator.js.map +1 -0
- package/dist/swarm/transport-router.d.ts +124 -0
- package/dist/swarm/transport-router.d.ts.map +1 -0
- package/dist/swarm/transport-router.js +1 -0
- package/dist/swarm/transport-router.js.map +1 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/quic-handshake.d.ts +66 -0
- package/dist/transport/quic-handshake.d.ts.map +1 -0
- package/dist/transport/quic-handshake.js +1 -0
- package/dist/transport/quic-handshake.js.map +1 -0
- package/dist/transport/quic.d.ts +184 -0
- package/dist/transport/quic.d.ts.map +1 -0
- package/dist/transport/quic.js +1 -0
- package/dist/transport/quic.js.map +1 -0
- package/dist/utils/adaptive-pool-sizing.js +414 -0
- package/dist/utils/agentBoosterPreprocessor.d.ts +72 -0
- package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -0
- package/dist/utils/agentBoosterPreprocessor.js +1 -0
- package/dist/utils/agentBoosterPreprocessor.js.map +1 -0
- package/dist/utils/agentLoader.d.ts +22 -0
- package/dist/utils/agentLoader.d.ts.map +1 -0
- package/dist/utils/agentLoader.js +1 -0
- package/dist/utils/agentLoader.js.map +1 -0
- package/dist/utils/agentdb-runtime-patch.d.ts +28 -0
- package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -0
- package/dist/utils/agentdb-runtime-patch.js +1 -0
- package/dist/utils/agentdb-runtime-patch.js.map +1 -0
- package/dist/utils/auth.d.ts +13 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +1 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/circular-rate-limiter.js +391 -0
- package/dist/utils/cli.d.ts +31 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +1 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/compression-middleware.d.ts +55 -0
- package/dist/utils/compression-middleware.d.ts.map +1 -0
- package/dist/utils/compression-middleware.js +1 -0
- package/dist/utils/compression-middleware.js.map +1 -0
- package/dist/utils/connection-pool.d.ts +30 -0
- package/dist/utils/connection-pool.d.ts.map +1 -0
- package/dist/utils/connection-pool.js +1 -0
- package/dist/utils/connection-pool.js.map +1 -0
- package/dist/utils/dynamic-compression.js +298 -0
- package/dist/utils/http2-multiplexing.js +319 -0
- package/dist/utils/lazy-auth.js +311 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/math.d.ts +12 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +1 -0
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/mcpCommands.d.ts +2 -0
- package/dist/utils/mcpCommands.d.ts.map +1 -0
- package/dist/utils/mcpCommands.js +1 -0
- package/dist/utils/mcpCommands.js.map +1 -0
- package/dist/utils/model-downloader.d.ts +63 -0
- package/dist/utils/model-downloader.d.ts.map +1 -0
- package/dist/utils/model-downloader.js +1 -0
- package/dist/utils/model-downloader.js.map +1 -0
- package/dist/utils/modelCapabilities.d.ts +30 -0
- package/dist/utils/modelCapabilities.d.ts.map +1 -0
- package/dist/utils/modelCapabilities.js +1 -0
- package/dist/utils/modelCapabilities.js.map +1 -0
- package/dist/utils/modelOptimizer.d.ts +207 -0
- package/dist/utils/modelOptimizer.d.ts.map +1 -0
- package/dist/utils/modelOptimizer.js +1 -0
- package/dist/utils/modelOptimizer.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +17 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +1 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/reasoningbankCommands.d.ts +6 -0
- package/dist/utils/reasoningbankCommands.d.ts.map +1 -0
- package/dist/utils/reasoningbankCommands.js +1 -0
- package/dist/utils/reasoningbankCommands.js.map +1 -0
- package/dist/utils/response-cache.d.ts +94 -0
- package/dist/utils/response-cache.d.ts.map +1 -0
- package/dist/utils/response-cache.js +1 -0
- package/dist/utils/response-cache.js.map +1 -0
- package/dist/utils/retry.d.ts +9 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +1 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/server-push.js +251 -0
- package/dist/utils/streaming-optimizer.d.ts +37 -0
- package/dist/utils/streaming-optimizer.d.ts.map +1 -0
- package/dist/utils/streaming-optimizer.js +1 -0
- package/dist/utils/streaming-optimizer.js.map +1 -0
- package/dist/utils/zero-copy-buffer.js +286 -0
- package/docs/DOCKER-VERIFICATION.md +207 -0
- package/docs/ISSUE-55-VALIDATION.md +25 -6
- package/docs/NPX_AGENTDB_SETUP.md +175 -0
- package/docs/PUBLISH_GUIDE.md +438 -0
- package/docs/RELEASE-v1.10.0-COMPLETE.md +382 -0
- package/docs/archive/.agentdb-instructions.md +66 -0
- package/docs/archive/AGENT-BOOSTER-STATUS.md +292 -0
- package/docs/archive/CHANGELOG-v1.3.0.md +120 -0
- package/docs/archive/COMPLETION_REPORT_v1.7.1.md +335 -0
- package/docs/archive/IMPLEMENTATION_SUMMARY_v1.7.1.md +241 -0
- package/docs/archive/SUPABASE-INTEGRATION-COMPLETE.md +357 -0
- package/docs/archive/TESTING_QUICK_START.md +223 -0
- package/docs/archive/TOOL-EMULATION-INTEGRATION-ISSUE.md +669 -0
- package/docs/archive/VALIDATION_v1.7.1.md +234 -0
- package/docs/releases/PUBLISH_CHECKLIST_v1.10.0.md +396 -0
- package/docs/releases/PUBLISH_SUMMARY_v1.7.1.md +198 -0
- package/docs/releases/RELEASE_NOTES_v1.10.0.md +464 -0
- package/docs/releases/RELEASE_NOTES_v1.7.0.md +297 -0
- package/docs/releases/RELEASE_v1.7.1.md +327 -0
- package/package.json +1 -1
- package/validation/docker-npm-validation.sh +170 -0
- package/validation/simple-npm-validation.sh +131 -0
- package/validation/test-gemini-models.ts +200 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface ClaudeFlowConfig {
|
|
2
|
+
enableMemory: boolean;
|
|
3
|
+
enableCoordination: boolean;
|
|
4
|
+
enableSwarm: boolean;
|
|
5
|
+
memoryNamespace?: string;
|
|
6
|
+
coordinationTopology?: 'hierarchical' | 'mesh' | 'ring' | 'star';
|
|
7
|
+
}
|
|
8
|
+
export declare const defaultClaudeFlowConfig: ClaudeFlowConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Initialize claude-flow MCP tools for agent use
|
|
11
|
+
*/
|
|
12
|
+
export declare function getClaudeFlowTools(config?: ClaudeFlowConfig): string[];
|
|
13
|
+
/**
|
|
14
|
+
* Check if claude-flow MCP is available
|
|
15
|
+
*/
|
|
16
|
+
export declare function isClaudeFlowAvailable(): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Initialize memory namespace for agent session
|
|
19
|
+
*/
|
|
20
|
+
export declare function getMemoryConfig(agentName?: string): {
|
|
21
|
+
namespace: string;
|
|
22
|
+
ttl: number;
|
|
23
|
+
action: "store";
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Initialize swarm coordination for multi-agent tasks
|
|
27
|
+
*/
|
|
28
|
+
export declare function getSwarmConfig(topology?: ClaudeFlowConfig['coordinationTopology']): {
|
|
29
|
+
topology: "mesh" | "hierarchical" | "ring" | "star";
|
|
30
|
+
maxAgents: number;
|
|
31
|
+
strategy: "balanced";
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=claudeFlow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeFlow.d.ts","sourceRoot":"","sources":["../../src/config/claudeFlow.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAClE;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAMrC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,gBAA0C,YAmCpF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAW9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM;;;;EAUjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,gBAAgB,CAAC,sBAAsB,CAAU;;;;EAMzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeFlow.js","sourceRoot":"","sources":["../../src/config/claudeFlow.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,MAAM,CAAC,MAAM,uBAAuB,GAAqB;IACvD,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE,IAAI;IACxB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,MAAM;CAC7B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAA2B,uBAAuB;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CACR,gCAAgC,EAChC,iCAAiC,EACjC,kCAAkC,EAClC,oCAAoC,CACrC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,8BAA8B,EAC9B,+BAA+B,EAC/B,oCAAoC,EACpC,gCAAgC,EAChC,qCAAqC,CACtC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,iCAAiC,CAClC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,QAAQ,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,SAAkB;IAChD,MAAM,SAAS,GAAG,SAAS;QACzB,CAAC,CAAC,iBAAiB,SAAS,EAAE;QAC9B,CAAC,CAAC,uBAAuB,CAAC;IAE5B,OAAO;QACL,SAAS;QACT,GAAG,EAAE,IAAI,EAAE,qBAAqB;QAChC,MAAM,EAAE,OAAgB;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,WAAqD,MAAM;IACxF,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,UAAmB;KAC9B,CAAC;AACJ,CAAC","sourcesContent":["// Claude Flow integration configuration\nimport { logger } from '../utils/logger.js';\n\nexport interface ClaudeFlowConfig {\n enableMemory: boolean;\n enableCoordination: boolean;\n enableSwarm: boolean;\n memoryNamespace?: string;\n coordinationTopology?: 'hierarchical' | 'mesh' | 'ring' | 'star';\n}\n\nexport const defaultClaudeFlowConfig: ClaudeFlowConfig = {\n enableMemory: true,\n enableCoordination: true,\n enableSwarm: true,\n memoryNamespace: 'claude-agents',\n coordinationTopology: 'mesh'\n};\n\n/**\n * Initialize claude-flow MCP tools for agent use\n */\nexport function getClaudeFlowTools(config: ClaudeFlowConfig = defaultClaudeFlowConfig) {\n const tools: string[] = [];\n\n if (config.enableMemory) {\n tools.push(\n 'mcp__claude-flow__memory_usage',\n 'mcp__claude-flow__memory_search',\n 'mcp__claude-flow__memory_persist',\n 'mcp__claude-flow__memory_namespace'\n );\n logger.info('Claude Flow memory tools enabled', { namespace: config.memoryNamespace });\n }\n\n if (config.enableCoordination) {\n tools.push(\n 'mcp__claude-flow__swarm_init',\n 'mcp__claude-flow__agent_spawn',\n 'mcp__claude-flow__task_orchestrate',\n 'mcp__claude-flow__swarm_status',\n 'mcp__claude-flow__coordination_sync'\n );\n logger.info('Claude Flow coordination tools enabled', { topology: config.coordinationTopology });\n }\n\n if (config.enableSwarm) {\n tools.push(\n 'mcp__claude-flow__swarm_scale',\n 'mcp__claude-flow__load_balance',\n 'mcp__claude-flow__agent_metrics',\n 'mcp__claude-flow__swarm_monitor'\n );\n logger.info('Claude Flow swarm tools enabled');\n }\n\n return tools;\n}\n\n/**\n * Check if claude-flow MCP is available\n */\nexport async function isClaudeFlowAvailable(): Promise<boolean> {\n try {\n // Check if claude-flow is installed\n const { execSync } = await import('child_process');\n execSync('npx claude-flow@alpha --version', { stdio: 'ignore' });\n logger.info('Claude Flow detected and available');\n return true;\n } catch (error) {\n logger.warn('Claude Flow not available', { error });\n return false;\n }\n}\n\n/**\n * Initialize memory namespace for agent session\n */\nexport function getMemoryConfig(agentName?: string) {\n const namespace = agentName\n ? `claude-agents:${agentName}`\n : 'claude-agents:default';\n\n return {\n namespace,\n ttl: 3600, // 1 hour default TTL\n action: 'store' as const\n };\n}\n\n/**\n * Initialize swarm coordination for multi-agent tasks\n */\nexport function getSwarmConfig(topology: ClaudeFlowConfig['coordinationTopology'] = 'mesh') {\n return {\n topology,\n maxAgents: 8,\n strategy: 'balanced' as const\n };\n}\n"]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { QuicConfig } from '../transport/quic.js';
|
|
2
|
+
export interface QuicConfigSchema extends QuicConfig {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
autoDetect: boolean;
|
|
5
|
+
fallbackToHttp2: boolean;
|
|
6
|
+
healthCheck: {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
interval: number;
|
|
9
|
+
timeout: number;
|
|
10
|
+
};
|
|
11
|
+
monitoring: {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
logInterval: number;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Default QUIC configuration
|
|
18
|
+
*/
|
|
19
|
+
export declare const DEFAULT_QUIC_CONFIG: QuicConfigSchema;
|
|
20
|
+
/**
|
|
21
|
+
* Load QUIC configuration from environment and config file
|
|
22
|
+
*/
|
|
23
|
+
export declare function loadQuicConfig(overrides?: Partial<QuicConfigSchema>): QuicConfigSchema;
|
|
24
|
+
/**
|
|
25
|
+
* Validate QUIC configuration
|
|
26
|
+
*/
|
|
27
|
+
export declare function validateQuicConfig(config: QuicConfigSchema): void;
|
|
28
|
+
/**
|
|
29
|
+
* Get QUIC configuration for router integration
|
|
30
|
+
*/
|
|
31
|
+
export declare function getQuicRouterConfig(config: QuicConfigSchema): {
|
|
32
|
+
transport: {
|
|
33
|
+
quic: {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
port: number;
|
|
36
|
+
host: string;
|
|
37
|
+
maxConnections: number;
|
|
38
|
+
certPath: string;
|
|
39
|
+
keyPath: string;
|
|
40
|
+
};
|
|
41
|
+
fallback: {
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
protocol: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Check if QUIC is available and properly configured
|
|
49
|
+
*/
|
|
50
|
+
export declare function checkQuicAvailability(): Promise<{
|
|
51
|
+
available: boolean;
|
|
52
|
+
reason?: string;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Simplified config getter (alias for loadQuicConfig)
|
|
56
|
+
*/
|
|
57
|
+
export declare function getQuicConfig(overrides?: Partial<QuicConfigSchema>): QuicConfigSchema;
|
|
58
|
+
//# sourceMappingURL=quic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quic.d.ts","sourceRoot":"","sources":["../../src/config/quic.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBA0CjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CA2D1F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA2DjE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;;;;;;;;EAiB3D;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAiCD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAAG,gBAAgB,CAEzF"}
|
package/dist/config/quic.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quic.js","sourceRoot":"","sources":["../../src/config/quic.ts"],"names":[],"mappings":"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","sourcesContent":["// QUIC Configuration Schema\n// Validates and manages QUIC transport configuration\n\nimport { QuicConfig } from '../transport/quic.js';\nimport { logger } from '../utils/logger.js';\n\nexport interface QuicConfigSchema extends QuicConfig {\n enabled: boolean;\n autoDetect: boolean;\n fallbackToHttp2: boolean;\n healthCheck: {\n enabled: boolean;\n interval: number;\n timeout: number;\n };\n monitoring: {\n enabled: boolean;\n logInterval: number;\n };\n}\n\n/**\n * Default QUIC configuration\n */\nexport const DEFAULT_QUIC_CONFIG: QuicConfigSchema = {\n enabled: false,\n autoDetect: true,\n fallbackToHttp2: true,\n\n // Connection settings\n host: '0.0.0.0',\n port: 4433,\n serverHost: 'localhost',\n serverPort: 4433,\n verifyPeer: true,\n\n // TLS certificates\n certPath: './certs/cert.pem',\n keyPath: './certs/key.pem',\n\n // Connection pool\n maxConnections: 100,\n connectionTimeout: 30000,\n idleTimeout: 60000,\n\n // Stream multiplexing\n maxConcurrentStreams: 100,\n streamTimeout: 30000,\n\n // Performance tuning\n initialCongestionWindow: 10,\n maxDatagramSize: 1200,\n enableEarlyData: true,\n\n // Health check\n healthCheck: {\n enabled: true,\n interval: 30000, // 30 seconds\n timeout: 5000 // 5 seconds\n },\n\n // Monitoring\n monitoring: {\n enabled: true,\n logInterval: 60000 // 1 minute\n }\n};\n\n/**\n * Load QUIC configuration from environment and config file\n */\nexport function loadQuicConfig(overrides: Partial<QuicConfigSchema> = {}): QuicConfigSchema {\n const config: QuicConfigSchema = {\n ...DEFAULT_QUIC_CONFIG,\n ...overrides\n };\n\n // Environment variable overrides\n if (process.env.AGENTIC_FLOW_ENABLE_QUIC !== undefined) {\n config.enabled = process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true';\n }\n\n if (process.env.QUIC_PORT) {\n config.port = parseInt(process.env.QUIC_PORT);\n }\n\n if (process.env.QUIC_HOST) {\n config.host = process.env.QUIC_HOST;\n }\n\n if (process.env.QUIC_SERVER_HOST) {\n config.serverHost = process.env.QUIC_SERVER_HOST;\n }\n\n if (process.env.QUIC_SERVER_PORT) {\n config.serverPort = parseInt(process.env.QUIC_SERVER_PORT);\n }\n\n if (process.env.QUIC_CERT_PATH) {\n config.certPath = process.env.QUIC_CERT_PATH;\n }\n\n if (process.env.QUIC_KEY_PATH) {\n config.keyPath = process.env.QUIC_KEY_PATH;\n }\n\n if (process.env.QUIC_MAX_CONNECTIONS) {\n config.maxConnections = parseInt(process.env.QUIC_MAX_CONNECTIONS);\n }\n\n if (process.env.QUIC_MAX_STREAMS) {\n config.maxConcurrentStreams = parseInt(process.env.QUIC_MAX_STREAMS);\n }\n\n if (process.env.QUIC_VERIFY_PEER !== undefined) {\n config.verifyPeer = process.env.QUIC_VERIFY_PEER === 'true';\n }\n\n // Validate configuration\n validateQuicConfig(config);\n\n logger.info('QUIC configuration loaded', {\n enabled: config.enabled,\n host: config.host,\n port: config.port,\n maxConnections: config.maxConnections,\n healthCheckEnabled: config.healthCheck.enabled\n });\n\n return config;\n}\n\n/**\n * Validate QUIC configuration\n */\nexport function validateQuicConfig(config: QuicConfigSchema): void {\n const errors: string[] = [];\n\n // Port validation\n if (config.port! < 1 || config.port! > 65535) {\n errors.push(`Invalid port: ${config.port}. Must be between 1 and 65535.`);\n }\n\n if (config.serverPort! < 1 || config.serverPort! > 65535) {\n errors.push(`Invalid server port: ${config.serverPort}. Must be between 1 and 65535.`);\n }\n\n // Connection limits\n if (config.maxConnections! < 1) {\n errors.push(`Invalid maxConnections: ${config.maxConnections}. Must be at least 1.`);\n }\n\n if (config.maxConcurrentStreams! < 1) {\n errors.push(`Invalid maxConcurrentStreams: ${config.maxConcurrentStreams}. Must be at least 1.`);\n }\n\n // Timeouts\n if (config.connectionTimeout! < 1000) {\n errors.push(`Invalid connectionTimeout: ${config.connectionTimeout}. Must be at least 1000ms.`);\n }\n\n if (config.idleTimeout! < 1000) {\n errors.push(`Invalid idleTimeout: ${config.idleTimeout}. Must be at least 1000ms.`);\n }\n\n if (config.streamTimeout! < 1000) {\n errors.push(`Invalid streamTimeout: ${config.streamTimeout}. Must be at least 1000ms.`);\n }\n\n // Performance tuning\n if (config.initialCongestionWindow! < 1) {\n errors.push(`Invalid initialCongestionWindow: ${config.initialCongestionWindow}. Must be at least 1.`);\n }\n\n if (config.maxDatagramSize! < 1200 || config.maxDatagramSize! > 65527) {\n errors.push(`Invalid maxDatagramSize: ${config.maxDatagramSize}. Must be between 1200 and 65527.`);\n }\n\n // TLS certificates (warn only)\n if (config.enabled && config.verifyPeer) {\n const fs = require('fs');\n if (!fs.existsSync(config.certPath)) {\n logger.warn(`Certificate not found: ${config.certPath}`);\n }\n if (!fs.existsSync(config.keyPath)) {\n logger.warn(`Private key not found: ${config.keyPath}`);\n }\n }\n\n if (errors.length > 0) {\n const errorMessage = `QUIC configuration validation failed:\\n${errors.join('\\n')}`;\n logger.error(errorMessage);\n throw new Error(errorMessage);\n }\n}\n\n/**\n * Get QUIC configuration for router integration\n */\nexport function getQuicRouterConfig(config: QuicConfigSchema) {\n return {\n transport: {\n quic: {\n enabled: config.enabled,\n port: config.port,\n host: config.host,\n maxConnections: config.maxConnections,\n certPath: config.certPath,\n keyPath: config.keyPath\n },\n fallback: {\n enabled: config.fallbackToHttp2,\n protocol: 'http2'\n }\n }\n };\n}\n\n/**\n * Check if QUIC is available and properly configured\n */\nexport async function checkQuicAvailability(): Promise<{\n available: boolean;\n reason?: string;\n}> {\n try {\n // Check if WASM module is available\n // This will be implemented when WASM module is integrated\n const wasmAvailable = true; // Placeholder\n\n if (!wasmAvailable) {\n return {\n available: false,\n reason: 'QUIC WASM module not available'\n };\n }\n\n // Check if certificates exist (for server mode)\n const config = loadQuicConfig();\n if (config.enabled && config.verifyPeer) {\n const fs = require('fs');\n if (!fs.existsSync(config.certPath) || !fs.existsSync(config.keyPath)) {\n return {\n available: false,\n reason: 'TLS certificates not found'\n };\n }\n }\n\n return { available: true };\n } catch (error) {\n logger.error('Error checking QUIC availability', { error });\n return {\n available: false,\n reason: (error as Error).message\n };\n }\n}\n\n/**\n * Simplified config getter (alias for loadQuicConfig)\n */\nexport function getQuicConfig(overrides: Partial<QuicConfigSchema> = {}): QuicConfigSchema {\n return loadQuicConfig(overrides);\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const enabledTools: readonly ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebFetch", "WebSearch"];
|
|
2
|
+
export declare const toolConfig: {
|
|
3
|
+
enableAllTools: boolean;
|
|
4
|
+
mcpServers: {
|
|
5
|
+
'claude-flow': {
|
|
6
|
+
command: string;
|
|
7
|
+
args: string[];
|
|
8
|
+
env: {
|
|
9
|
+
CLAUDE_FLOW_MEMORY_ENABLED: string;
|
|
10
|
+
CLAUDE_FLOW_COORDINATION_ENABLED: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
permissionMode: "default";
|
|
15
|
+
additionalTools: string[];
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,qFASf,CAAC;AAKX,eAAO,MAAM,UAAU;;;;;;;;;;;;;;CAqBtB,CAAC"}
|
package/dist/config/tools.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/config/tools.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,UAAU;IACV,WAAW;CACH,CAAC;AAEX,oCAAoC;AACpC,MAAM,eAAe,GAAG,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gDAAgD;IAChD,cAAc,EAAE,IAAI;IAEpB,4BAA4B;IAC5B,UAAU,EAAE;QACV,aAAa,EAAE;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,OAAO,CAAC;YAC3C,GAAG,EAAE;gBACH,0BAA0B,EAAE,MAAM;gBAClC,gCAAgC,EAAE,MAAM;aACzC;SACF;KACF;IAED,kBAAkB;IAClB,cAAc,EAAE,SAAkB;IAElC,4CAA4C;IAC5C,eAAe,EAAE,eAAe;CACjC,CAAC","sourcesContent":["// Tool configuration for Claude Agent SDK\nimport { getClaudeFlowTools, defaultClaudeFlowConfig } from './claudeFlow.js';\n\nexport const enabledTools = [\n 'Read',\n 'Write',\n 'Edit',\n 'Bash',\n 'Glob',\n 'Grep',\n 'WebFetch',\n 'WebSearch'\n] as const;\n\n// Get claude-flow tools dynamically\nconst claudeFlowTools = getClaudeFlowTools(defaultClaudeFlowConfig);\n\nexport const toolConfig = {\n // Enable all standard tools for full capability\n enableAllTools: true,\n\n // MCP servers configuration\n mcpServers: {\n 'claude-flow': {\n command: 'npx',\n args: ['claude-flow@alpha', 'mcp', 'start'],\n env: {\n CLAUDE_FLOW_MEMORY_ENABLED: 'true',\n CLAUDE_FLOW_COORDINATION_ENABLED: 'true'\n }\n }\n },\n\n // Permission mode\n permissionMode: 'default' as const,\n\n // Additional enabled tools from claude-flow\n additionalTools: claudeFlowTools\n};\n"]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Long-Running Agent with Provider Fallback
|
|
3
|
+
*
|
|
4
|
+
* Demonstrates how to use ProviderManager for resilient, cost-optimized agents
|
|
5
|
+
* that can run for hours or days with automatic provider switching.
|
|
6
|
+
*/
|
|
7
|
+
import { ProviderConfig, FallbackStrategy } from './provider-manager.js';
|
|
8
|
+
export interface LongRunningAgentConfig {
|
|
9
|
+
agentName: string;
|
|
10
|
+
providers: ProviderConfig[];
|
|
11
|
+
fallbackStrategy?: FallbackStrategy;
|
|
12
|
+
checkpointInterval?: number;
|
|
13
|
+
maxRuntime?: number;
|
|
14
|
+
costBudget?: number;
|
|
15
|
+
performanceTarget?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface AgentCheckpoint {
|
|
18
|
+
timestamp: Date;
|
|
19
|
+
taskProgress: number;
|
|
20
|
+
currentProvider: string;
|
|
21
|
+
totalCost: number;
|
|
22
|
+
totalTokens: number;
|
|
23
|
+
completedTasks: number;
|
|
24
|
+
failedTasks: number;
|
|
25
|
+
state: Record<string, any>;
|
|
26
|
+
}
|
|
27
|
+
export declare class LongRunningAgent {
|
|
28
|
+
private providerManager;
|
|
29
|
+
private config;
|
|
30
|
+
private startTime;
|
|
31
|
+
private checkpoints;
|
|
32
|
+
private currentState;
|
|
33
|
+
private isRunning;
|
|
34
|
+
private checkpointInterval?;
|
|
35
|
+
constructor(config: LongRunningAgentConfig);
|
|
36
|
+
/**
|
|
37
|
+
* Start the agent with automatic checkpointing
|
|
38
|
+
*/
|
|
39
|
+
start(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Execute a task with automatic provider fallback
|
|
42
|
+
*/
|
|
43
|
+
executeTask<T>(task: {
|
|
44
|
+
name: string;
|
|
45
|
+
complexity: 'simple' | 'medium' | 'complex';
|
|
46
|
+
estimatedTokens?: number;
|
|
47
|
+
execute: (provider: string) => Promise<T>;
|
|
48
|
+
}): Promise<T>;
|
|
49
|
+
/**
|
|
50
|
+
* Save checkpoint of current state
|
|
51
|
+
*/
|
|
52
|
+
private saveCheckpoint;
|
|
53
|
+
/**
|
|
54
|
+
* Calculate task progress (override in subclass)
|
|
55
|
+
*/
|
|
56
|
+
protected calculateProgress(): number;
|
|
57
|
+
/**
|
|
58
|
+
* Get current status
|
|
59
|
+
*/
|
|
60
|
+
getStatus(): {
|
|
61
|
+
isRunning: boolean;
|
|
62
|
+
runtime: number;
|
|
63
|
+
completedTasks: number;
|
|
64
|
+
failedTasks: number;
|
|
65
|
+
totalCost: number;
|
|
66
|
+
totalTokens: number;
|
|
67
|
+
providers: any[];
|
|
68
|
+
lastCheckpoint?: AgentCheckpoint;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Get detailed metrics
|
|
72
|
+
*/
|
|
73
|
+
getMetrics(): {
|
|
74
|
+
providers: import("./provider-manager.js").ProviderMetrics[];
|
|
75
|
+
health: import("./provider-manager.js").ProviderHealth[];
|
|
76
|
+
costs: {
|
|
77
|
+
total: number;
|
|
78
|
+
byProvider: Record<import("./provider-manager.js").ProviderType, number>;
|
|
79
|
+
totalTokens: number;
|
|
80
|
+
};
|
|
81
|
+
checkpoints: AgentCheckpoint[];
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Restore from checkpoint
|
|
85
|
+
*/
|
|
86
|
+
restoreFromCheckpoint(checkpoint: AgentCheckpoint): void;
|
|
87
|
+
/**
|
|
88
|
+
* Stop the agent
|
|
89
|
+
*/
|
|
90
|
+
stop(): Promise<void>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=long-running-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long-running-agent.d.ts","sourceRoot":"","sources":["../../src/core/long-running-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAmB,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG1F,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAiB;gBAEhC,MAAM,EAAE,sBAAsB;IAgB1C;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBnC;;OAEG;IACU,WAAW,CAAC,CAAC,EACxB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;KAC3C,GACA,OAAO,CAAC,CAAC,CAAC;IA8Db;;OAEG;IACH,OAAO,CAAC,cAAc;IAoDtB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,MAAM;IASrC;;OAEG;IACI,SAAS,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,GAAG,EAAE,CAAC;QACjB,cAAc,CAAC,EAAE,eAAe,CAAC;KAClC;IAuBD;;OAEG;IACI,UAAU;;;;;;;;;;IASjB;;OAEG;IACI,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAQ/D;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBnC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"long-running-agent.js","sourceRoot":"","sources":["../../src/core/long-running-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAoC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAuB5C,MAAM,OAAO,gBAAgB;IACnB,eAAe,CAAkB;IACjC,MAAM,CAAyB;IAC/B,SAAS,CAAO;IAChB,WAAW,GAAsB,EAAE,CAAC;IACpC,YAAY,GAAwB,EAAE,CAAC;IACvC,SAAS,GAAY,KAAK,CAAC;IAC3B,kBAAkB,CAAkB;IAE5C,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,8BAA8B;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CACxC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,gBAAgB,CACxB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAE5B,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CACtB,IAKC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;YAChE,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACtD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CACnF,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CACrB,CAAC;YAEF,eAAe;YACf,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE/E,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAEhB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAEzE,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAEhD,MAAM,UAAU,GAAoB;YAClC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACtC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,MAAM;YACzD,SAAS,EAAE,WAAW,CAAC,KAAK;YAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC;YACrD,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC;YAC/C,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE;SAChC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,UAAU,EAAE;gBACV,GAAG,UAAU;gBACb,KAAK,EAAE,SAAS,CAAC,uBAAuB;aACzC;SACF,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;YAC1E,IAAI,cAAc,IAAI,EAAE,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACjC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;oBAChC,WAAW,EAAE,WAAW,CAAC,KAAK;oBAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;oBAC9B,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACpF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,SAAS,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtC,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;oBACxC,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;iBAC3C,CAAC,CAAC;aACJ,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACO,iBAAiB;QACzB,6CAA6C;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;QAEjC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,SAAS;QAUd,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAEtD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;YACP,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC;YACrD,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC;YAC/C,SAAS,EAAE,WAAW,CAAC,KAAK;YAC5B,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,CAAC,CAAC,QAAQ;gBAChB,OAAO,EAAE,CAAC,CAAC,SAAS;gBACpB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;gBACxC,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;gBACnD,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;aAC/C,CAAC,CAAC;YACH,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,UAAU;QACf,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YAC5C,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;YACxC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE;YAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,qBAAqB,CAAC,UAA2B;QACtD,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACtC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,UAAU,EAAE,UAAU,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,4BAA4B;QAC5B,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,2BAA2B;QAC3B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAE/B,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC9C,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,cAAc;YAChD,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;SAC3C,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/**\n * Long-Running Agent with Provider Fallback\n *\n * Demonstrates how to use ProviderManager for resilient, cost-optimized agents\n * that can run for hours or days with automatic provider switching.\n */\n\nimport { ProviderManager, ProviderConfig, FallbackStrategy } from './provider-manager.js';\nimport { logger } from '../utils/logger.js';\n\nexport interface LongRunningAgentConfig {\n agentName: string;\n providers: ProviderConfig[];\n fallbackStrategy?: FallbackStrategy;\n checkpointInterval?: number; // Save state every N milliseconds\n maxRuntime?: number; // Max runtime in milliseconds\n costBudget?: number; // Max USD to spend\n performanceTarget?: number; // Target latency in milliseconds\n}\n\nexport interface AgentCheckpoint {\n timestamp: Date;\n taskProgress: number; // 0-1\n currentProvider: string;\n totalCost: number;\n totalTokens: number;\n completedTasks: number;\n failedTasks: number;\n state: Record<string, any>;\n}\n\nexport class LongRunningAgent {\n private providerManager: ProviderManager;\n private config: LongRunningAgentConfig;\n private startTime: Date;\n private checkpoints: AgentCheckpoint[] = [];\n private currentState: Record<string, any> = {};\n private isRunning: boolean = false;\n private checkpointInterval?: NodeJS.Timeout;\n\n constructor(config: LongRunningAgentConfig) {\n this.config = config;\n this.startTime = new Date();\n\n // Initialize provider manager\n this.providerManager = new ProviderManager(\n config.providers,\n config.fallbackStrategy\n );\n\n logger.info('Long-running agent initialized', {\n agentName: config.agentName,\n providers: config.providers.map(p => p.name)\n });\n }\n\n /**\n * Start the agent with automatic checkpointing\n */\n public async start(): Promise<void> {\n this.isRunning = true;\n this.startTime = new Date();\n\n // Start checkpoint interval\n if (this.config.checkpointInterval) {\n this.checkpointInterval = setInterval(() => {\n this.saveCheckpoint();\n }, this.config.checkpointInterval);\n }\n\n logger.info('Long-running agent started', {\n agentName: this.config.agentName,\n startTime: this.startTime\n });\n }\n\n /**\n * Execute a task with automatic provider fallback\n */\n public async executeTask<T>(\n task: {\n name: string;\n complexity: 'simple' | 'medium' | 'complex';\n estimatedTokens?: number;\n execute: (provider: string) => Promise<T>;\n }\n ): Promise<T> {\n if (!this.isRunning) {\n throw new Error('Agent not running. Call start() first.');\n }\n\n // Check budget constraint\n if (this.config.costBudget) {\n const currentCost = this.providerManager.getCostSummary().total;\n if (currentCost >= this.config.costBudget) {\n throw new Error(`Cost budget exceeded: $${currentCost.toFixed(2)} >= $${this.config.costBudget}`);\n }\n }\n\n // Check runtime constraint\n if (this.config.maxRuntime) {\n const runtime = Date.now() - this.startTime.getTime();\n if (runtime >= this.config.maxRuntime) {\n throw new Error(`Max runtime exceeded: ${runtime}ms >= ${this.config.maxRuntime}ms`);\n }\n }\n\n logger.info('Executing task', {\n agentName: this.config.agentName,\n taskName: task.name,\n complexity: task.complexity\n });\n\n try {\n // Execute with automatic fallback\n const { result, provider, attempts } = await this.providerManager.executeWithFallback(\n task.execute,\n task.complexity,\n task.estimatedTokens\n );\n\n // Update state\n this.currentState.lastTask = task.name;\n this.currentState.lastProvider = provider;\n this.currentState.completedTasks = (this.currentState.completedTasks || 0) + 1;\n\n logger.info('Task completed', {\n agentName: this.config.agentName,\n taskName: task.name,\n provider,\n attempts\n });\n\n return result;\n\n } catch (error) {\n this.currentState.failedTasks = (this.currentState.failedTasks || 0) + 1;\n\n logger.error('Task failed', {\n agentName: this.config.agentName,\n taskName: task.name,\n error: (error as Error).message\n });\n\n throw error;\n }\n }\n\n /**\n * Save checkpoint of current state\n */\n private saveCheckpoint(): void {\n const costSummary = this.providerManager.getCostSummary();\n const health = this.providerManager.getHealth();\n\n const checkpoint: AgentCheckpoint = {\n timestamp: new Date(),\n taskProgress: this.calculateProgress(),\n currentProvider: this.currentState.lastProvider || 'none',\n totalCost: costSummary.total,\n totalTokens: costSummary.totalTokens,\n completedTasks: this.currentState.completedTasks || 0,\n failedTasks: this.currentState.failedTasks || 0,\n state: { ...this.currentState }\n };\n\n this.checkpoints.push(checkpoint);\n\n logger.info('Checkpoint saved', {\n agentName: this.config.agentName,\n checkpoint: {\n ...checkpoint,\n state: undefined // Don't log full state\n }\n });\n\n // Alert if cost approaching budget\n if (this.config.costBudget) {\n const costPercentage = (costSummary.total / this.config.costBudget) * 100;\n if (costPercentage >= 80) {\n logger.warn('Cost budget warning', {\n agentName: this.config.agentName,\n currentCost: costSummary.total,\n budget: this.config.costBudget,\n percentage: costPercentage.toFixed(1) + '%'\n });\n }\n }\n\n // Alert if providers unhealthy\n const unhealthyProviders = health.filter(h => !h.isHealthy || h.circuitBreakerOpen);\n if (unhealthyProviders.length > 0) {\n logger.warn('Unhealthy providers detected', {\n agentName: this.config.agentName,\n unhealthy: unhealthyProviders.map(h => ({\n provider: h.provider,\n circuitBreakerOpen: h.circuitBreakerOpen,\n consecutiveFailures: h.consecutiveFailures\n }))\n });\n }\n }\n\n /**\n * Calculate task progress (override in subclass)\n */\n protected calculateProgress(): number {\n // Default: based on completed vs total tasks\n const completed = this.currentState.completedTasks || 0;\n const failed = this.currentState.failedTasks || 0;\n const total = completed + failed;\n\n return total > 0 ? completed / total : 0;\n }\n\n /**\n * Get current status\n */\n public getStatus(): {\n isRunning: boolean;\n runtime: number;\n completedTasks: number;\n failedTasks: number;\n totalCost: number;\n totalTokens: number;\n providers: any[];\n lastCheckpoint?: AgentCheckpoint;\n } {\n const costSummary = this.providerManager.getCostSummary();\n const health = this.providerManager.getHealth();\n const runtime = Date.now() - this.startTime.getTime();\n\n return {\n isRunning: this.isRunning,\n runtime,\n completedTasks: this.currentState.completedTasks || 0,\n failedTasks: this.currentState.failedTasks || 0,\n totalCost: costSummary.total,\n totalTokens: costSummary.totalTokens,\n providers: health.map(h => ({\n name: h.provider,\n healthy: h.isHealthy,\n circuitBreakerOpen: h.circuitBreakerOpen,\n successRate: (h.successRate * 100).toFixed(1) + '%',\n avgLatency: h.averageLatency.toFixed(0) + 'ms'\n })),\n lastCheckpoint: this.checkpoints[this.checkpoints.length - 1]\n };\n }\n\n /**\n * Get detailed metrics\n */\n public getMetrics() {\n return {\n providers: this.providerManager.getMetrics(),\n health: this.providerManager.getHealth(),\n costs: this.providerManager.getCostSummary(),\n checkpoints: this.checkpoints\n };\n }\n\n /**\n * Restore from checkpoint\n */\n public restoreFromCheckpoint(checkpoint: AgentCheckpoint): void {\n this.currentState = { ...checkpoint.state };\n logger.info('Restored from checkpoint', {\n agentName: this.config.agentName,\n checkpoint: checkpoint.timestamp\n });\n }\n\n /**\n * Stop the agent\n */\n public async stop(): Promise<void> {\n this.isRunning = false;\n\n // Clear checkpoint interval\n if (this.checkpointInterval) {\n clearInterval(this.checkpointInterval);\n }\n\n // Save final checkpoint\n this.saveCheckpoint();\n\n // Cleanup provider manager\n this.providerManager.destroy();\n\n logger.info('Long-running agent stopped', {\n agentName: this.config.agentName,\n runtime: Date.now() - this.startTime.getTime(),\n completedTasks: this.currentState.completedTasks,\n failedTasks: this.currentState.failedTasks\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider Manager - Intelligent LLM Provider Fallback & Dynamic Switching
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Automatic failover between providers
|
|
6
|
+
* - Health monitoring and circuit breaking
|
|
7
|
+
* - Cost-based optimization
|
|
8
|
+
* - Performance tracking
|
|
9
|
+
* - Rate limit handling
|
|
10
|
+
* - Provider quality scoring
|
|
11
|
+
*/
|
|
12
|
+
export type ProviderType = 'anthropic' | 'gemini' | 'openrouter' | 'onnx';
|
|
13
|
+
export interface ProviderConfig {
|
|
14
|
+
name: ProviderType;
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
baseUrl?: string;
|
|
17
|
+
priority: number;
|
|
18
|
+
maxRetries: number;
|
|
19
|
+
timeout: number;
|
|
20
|
+
costPerToken: number;
|
|
21
|
+
enabled: boolean;
|
|
22
|
+
healthCheckInterval?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface ProviderHealth {
|
|
25
|
+
provider: ProviderType;
|
|
26
|
+
isHealthy: boolean;
|
|
27
|
+
lastChecked: Date;
|
|
28
|
+
consecutiveFailures: number;
|
|
29
|
+
averageLatency: number;
|
|
30
|
+
successRate: number;
|
|
31
|
+
errorRate: number;
|
|
32
|
+
circuitBreakerOpen: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ProviderMetrics {
|
|
35
|
+
provider: ProviderType;
|
|
36
|
+
totalRequests: number;
|
|
37
|
+
successfulRequests: number;
|
|
38
|
+
failedRequests: number;
|
|
39
|
+
totalTokens: number;
|
|
40
|
+
totalCost: number;
|
|
41
|
+
averageLatency: number;
|
|
42
|
+
lastUsed: Date;
|
|
43
|
+
}
|
|
44
|
+
export interface FallbackStrategy {
|
|
45
|
+
type: 'priority' | 'cost-optimized' | 'performance-optimized' | 'round-robin';
|
|
46
|
+
maxFailures: number;
|
|
47
|
+
recoveryTime: number;
|
|
48
|
+
retryBackoff: 'linear' | 'exponential';
|
|
49
|
+
costThreshold?: number;
|
|
50
|
+
latencyThreshold?: number;
|
|
51
|
+
}
|
|
52
|
+
export declare class ProviderManager {
|
|
53
|
+
private providers;
|
|
54
|
+
private health;
|
|
55
|
+
private metrics;
|
|
56
|
+
private strategy;
|
|
57
|
+
private currentProvider;
|
|
58
|
+
private healthCheckIntervals;
|
|
59
|
+
constructor(providers: ProviderConfig[], strategy?: FallbackStrategy);
|
|
60
|
+
/**
|
|
61
|
+
* Initialize provider configurations
|
|
62
|
+
*/
|
|
63
|
+
private initializeProviders;
|
|
64
|
+
/**
|
|
65
|
+
* Start health check monitoring for all providers
|
|
66
|
+
*/
|
|
67
|
+
private startHealthChecks;
|
|
68
|
+
/**
|
|
69
|
+
* Perform health check on a provider
|
|
70
|
+
*/
|
|
71
|
+
private performHealthCheck;
|
|
72
|
+
/**
|
|
73
|
+
* Select the best provider based on strategy
|
|
74
|
+
*/
|
|
75
|
+
selectProvider(taskComplexity?: 'simple' | 'medium' | 'complex', estimatedTokens?: number): Promise<ProviderType>;
|
|
76
|
+
/**
|
|
77
|
+
* Get list of healthy, available providers
|
|
78
|
+
*/
|
|
79
|
+
private getAvailableProviders;
|
|
80
|
+
/**
|
|
81
|
+
* Select provider by priority
|
|
82
|
+
*/
|
|
83
|
+
private selectByPriority;
|
|
84
|
+
/**
|
|
85
|
+
* Select provider by cost optimization
|
|
86
|
+
*/
|
|
87
|
+
private selectByCost;
|
|
88
|
+
/**
|
|
89
|
+
* Select provider by performance (latency + success rate)
|
|
90
|
+
*/
|
|
91
|
+
private selectByPerformance;
|
|
92
|
+
/**
|
|
93
|
+
* Select provider using round-robin
|
|
94
|
+
*/
|
|
95
|
+
private selectRoundRobin;
|
|
96
|
+
/**
|
|
97
|
+
* Execute request with automatic fallback
|
|
98
|
+
*/
|
|
99
|
+
executeWithFallback<T>(requestFn: (provider: ProviderType) => Promise<T>, taskComplexity?: 'simple' | 'medium' | 'complex', estimatedTokens?: number): Promise<{
|
|
100
|
+
result: T;
|
|
101
|
+
provider: ProviderType;
|
|
102
|
+
attempts: number;
|
|
103
|
+
}>;
|
|
104
|
+
/**
|
|
105
|
+
* Execute request with retry logic
|
|
106
|
+
*/
|
|
107
|
+
private executeWithRetry;
|
|
108
|
+
/**
|
|
109
|
+
* Calculate backoff delay
|
|
110
|
+
*/
|
|
111
|
+
private calculateBackoffDelay;
|
|
112
|
+
/**
|
|
113
|
+
* Check if error is retryable
|
|
114
|
+
*/
|
|
115
|
+
private isRetryableError;
|
|
116
|
+
/**
|
|
117
|
+
* Record successful request
|
|
118
|
+
*/
|
|
119
|
+
private recordSuccess;
|
|
120
|
+
/**
|
|
121
|
+
* Record failed request
|
|
122
|
+
*/
|
|
123
|
+
private recordFailure;
|
|
124
|
+
/**
|
|
125
|
+
* Get current metrics for all providers
|
|
126
|
+
*/
|
|
127
|
+
getMetrics(): ProviderMetrics[];
|
|
128
|
+
/**
|
|
129
|
+
* Get health status for all providers
|
|
130
|
+
*/
|
|
131
|
+
getHealth(): ProviderHealth[];
|
|
132
|
+
/**
|
|
133
|
+
* Get cost summary
|
|
134
|
+
*/
|
|
135
|
+
getCostSummary(): {
|
|
136
|
+
total: number;
|
|
137
|
+
byProvider: Record<ProviderType, number>;
|
|
138
|
+
totalTokens: number;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Cleanup and stop health checks
|
|
142
|
+
*/
|
|
143
|
+
destroy(): void;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=provider-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-manager.d.ts","sourceRoot":"","sources":["../../src/core/provider-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-manager.js","sourceRoot":"","sources":["../../src/core/provider-manager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provider Manager - Intelligent LLM Provider Fallback & Dynamic Switching\n *\n * Features:\n * - Automatic failover between providers\n * - Health monitoring and circuit breaking\n * - Cost-based optimization\n * - Performance tracking\n * - Rate limit handling\n * - Provider quality scoring\n */\n\nimport { logger } from '../utils/logger.js';\n\nexport type ProviderType = 'anthropic' | 'gemini' | 'openrouter' | 'onnx';\n\nexport interface ProviderConfig {\n name: ProviderType;\n apiKey?: string;\n baseUrl?: string;\n priority: number; // 1 = highest priority\n maxRetries: number;\n timeout: number; // milliseconds\n costPerToken: number; // USD per 1M tokens\n enabled: boolean;\n healthCheckInterval?: number; // milliseconds\n}\n\nexport interface ProviderHealth {\n provider: ProviderType;\n isHealthy: boolean;\n lastChecked: Date;\n consecutiveFailures: number;\n averageLatency: number; // milliseconds\n successRate: number; // 0-1\n errorRate: number; // 0-1\n circuitBreakerOpen: boolean;\n}\n\nexport interface ProviderMetrics {\n provider: ProviderType;\n totalRequests: number;\n successfulRequests: number;\n failedRequests: number;\n totalTokens: number;\n totalCost: number;\n averageLatency: number;\n lastUsed: Date;\n}\n\nexport interface FallbackStrategy {\n type: 'priority' | 'cost-optimized' | 'performance-optimized' | 'round-robin';\n maxFailures: number; // Circuit breaker threshold\n recoveryTime: number; // milliseconds before retry\n retryBackoff: 'linear' | 'exponential';\n costThreshold?: number; // Max USD per request\n latencyThreshold?: number; // Max milliseconds\n}\n\nexport class ProviderManager {\n private providers: Map<ProviderType, ProviderConfig> = new Map();\n private health: Map<ProviderType, ProviderHealth> = new Map();\n private metrics: Map<ProviderType, ProviderMetrics> = new Map();\n private strategy: FallbackStrategy;\n private currentProvider: ProviderType | null = null;\n private healthCheckIntervals: Map<ProviderType, NodeJS.Timeout> = new Map();\n\n constructor(\n providers: ProviderConfig[],\n strategy: FallbackStrategy = {\n type: 'priority',\n maxFailures: 3,\n recoveryTime: 60000, // 1 minute\n retryBackoff: 'exponential'\n }\n ) {\n this.strategy = strategy;\n this.initializeProviders(providers);\n this.startHealthChecks();\n }\n\n /**\n * Initialize provider configurations\n */\n private initializeProviders(providers: ProviderConfig[]): void {\n for (const provider of providers) {\n this.providers.set(provider.name, provider);\n\n // Initialize health tracking\n this.health.set(provider.name, {\n provider: provider.name,\n isHealthy: true,\n lastChecked: new Date(),\n consecutiveFailures: 0,\n averageLatency: 0,\n successRate: 1.0,\n errorRate: 0.0,\n circuitBreakerOpen: false\n });\n\n // Initialize metrics\n this.metrics.set(provider.name, {\n provider: provider.name,\n totalRequests: 0,\n successfulRequests: 0,\n failedRequests: 0,\n totalTokens: 0,\n totalCost: 0,\n averageLatency: 0,\n lastUsed: new Date()\n });\n }\n\n logger.info('Provider Manager initialized', {\n providers: Array.from(this.providers.keys()),\n strategy: this.strategy.type\n });\n }\n\n /**\n * Start health check monitoring for all providers\n */\n private startHealthChecks(): void {\n for (const [name, config] of this.providers.entries()) {\n if (config.healthCheckInterval) {\n const interval = setInterval(() => {\n this.performHealthCheck(name);\n }, config.healthCheckInterval);\n\n this.healthCheckIntervals.set(name, interval);\n }\n }\n }\n\n /**\n * Perform health check on a provider\n */\n private async performHealthCheck(provider: ProviderType): Promise<void> {\n const health = this.health.get(provider);\n if (!health) return;\n\n try {\n const startTime = Date.now();\n // TODO: Implement actual health check API call\n // For now, just check if circuit breaker should recover\n const latency = Date.now() - startTime;\n\n health.lastChecked = new Date();\n health.averageLatency = (health.averageLatency + latency) / 2;\n\n // Recovery logic: reset circuit breaker after recovery time\n if (health.circuitBreakerOpen) {\n const timeSinceLastCheck = Date.now() - health.lastChecked.getTime();\n if (timeSinceLastCheck >= this.strategy.recoveryTime) {\n logger.info('Circuit breaker recovering', { provider });\n health.circuitBreakerOpen = false;\n health.consecutiveFailures = 0;\n }\n }\n\n logger.debug('Health check completed', { provider, health });\n } catch (error) {\n logger.error('Health check failed', { provider, error: (error as Error).message });\n this.recordFailure(provider, error as Error);\n }\n }\n\n /**\n * Select the best provider based on strategy\n */\n public async selectProvider(\n taskComplexity?: 'simple' | 'medium' | 'complex',\n estimatedTokens?: number\n ): Promise<ProviderType> {\n const availableProviders = this.getAvailableProviders();\n\n if (availableProviders.length === 0) {\n throw new Error('No healthy providers available');\n }\n\n let selectedProvider: ProviderType;\n\n switch (this.strategy.type) {\n case 'priority':\n selectedProvider = this.selectByPriority(availableProviders);\n break;\n\n case 'cost-optimized':\n selectedProvider = this.selectByCost(availableProviders, estimatedTokens);\n break;\n\n case 'performance-optimized':\n selectedProvider = this.selectByPerformance(availableProviders);\n break;\n\n case 'round-robin':\n selectedProvider = this.selectRoundRobin(availableProviders);\n break;\n\n default:\n selectedProvider = availableProviders[0];\n }\n\n // Apply task complexity heuristics\n if (taskComplexity === 'complex' && this.providers.has('anthropic')) {\n const anthropicHealth = this.health.get('anthropic');\n if (anthropicHealth?.isHealthy && !anthropicHealth.circuitBreakerOpen) {\n selectedProvider = 'anthropic'; // Prefer Claude for complex tasks\n }\n } else if (taskComplexity === 'simple' && this.providers.has('gemini')) {\n const geminiHealth = this.health.get('gemini');\n if (geminiHealth?.isHealthy && !geminiHealth.circuitBreakerOpen) {\n selectedProvider = 'gemini'; // Prefer Gemini for simple tasks (faster, cheaper)\n }\n }\n\n this.currentProvider = selectedProvider;\n logger.info('Provider selected', {\n provider: selectedProvider,\n strategy: this.strategy.type,\n taskComplexity,\n estimatedTokens\n });\n\n return selectedProvider;\n }\n\n /**\n * Get list of healthy, available providers\n */\n private getAvailableProviders(): ProviderType[] {\n const available: ProviderType[] = [];\n\n for (const [name, config] of this.providers.entries()) {\n const health = this.health.get(name);\n\n if (\n config.enabled &&\n health?.isHealthy &&\n !health.circuitBreakerOpen\n ) {\n available.push(name);\n }\n }\n\n // Sort by priority\n available.sort((a, b) => {\n const priorityA = this.providers.get(a)?.priority ?? 999;\n const priorityB = this.providers.get(b)?.priority ?? 999;\n return priorityA - priorityB;\n });\n\n return available;\n }\n\n /**\n * Select provider by priority\n */\n private selectByPriority(providers: ProviderType[]): ProviderType {\n return providers[0]; // Already sorted by priority\n }\n\n /**\n * Select provider by cost optimization\n */\n private selectByCost(providers: ProviderType[], estimatedTokens?: number): ProviderType {\n if (!estimatedTokens) {\n return this.selectByPriority(providers);\n }\n\n let bestProvider = providers[0];\n let lowestCost = Infinity;\n\n for (const provider of providers) {\n const config = this.providers.get(provider);\n if (!config) continue;\n\n const estimatedCost = (estimatedTokens / 1_000_000) * config.costPerToken;\n\n if (estimatedCost < lowestCost) {\n lowestCost = estimatedCost;\n bestProvider = provider;\n }\n }\n\n return bestProvider;\n }\n\n /**\n * Select provider by performance (latency + success rate)\n */\n private selectByPerformance(providers: ProviderType[]): ProviderType {\n let bestProvider = providers[0];\n let bestScore = -Infinity;\n\n for (const provider of providers) {\n const health = this.health.get(provider);\n if (!health) continue;\n\n // Score = success rate (weighted 70%) - normalized latency (weighted 30%)\n const normalizedLatency = health.averageLatency / 1000; // Convert to seconds\n const score = (health.successRate * 0.7) - (normalizedLatency * 0.3);\n\n if (score > bestScore) {\n bestScore = score;\n bestProvider = provider;\n }\n }\n\n return bestProvider;\n }\n\n /**\n * Select provider using round-robin\n */\n private selectRoundRobin(providers: ProviderType[]): ProviderType {\n if (!this.currentProvider || !providers.includes(this.currentProvider)) {\n return providers[0];\n }\n\n const currentIndex = providers.indexOf(this.currentProvider);\n const nextIndex = (currentIndex + 1) % providers.length;\n return providers[nextIndex];\n }\n\n /**\n * Execute request with automatic fallback\n */\n public async executeWithFallback<T>(\n requestFn: (provider: ProviderType) => Promise<T>,\n taskComplexity?: 'simple' | 'medium' | 'complex',\n estimatedTokens?: number\n ): Promise<{ result: T; provider: ProviderType; attempts: number }> {\n const startTime = Date.now();\n let attempts = 0;\n let lastError: Error | null = null;\n\n // Try each available provider\n const availableProviders = this.getAvailableProviders();\n const provider = await this.selectProvider(taskComplexity, estimatedTokens);\n\n // Start with selected provider, then try fallbacks\n const providersToTry = [\n provider,\n ...availableProviders.filter(p => p !== provider)\n ];\n\n for (const currentProvider of providersToTry) {\n attempts++;\n const config = this.providers.get(currentProvider);\n if (!config) continue;\n\n try {\n logger.info('Attempting request', { provider: currentProvider, attempt: attempts });\n\n const requestStartTime = Date.now();\n const result = await this.executeWithRetry(\n requestFn,\n currentProvider,\n config.maxRetries\n );\n const latency = Date.now() - requestStartTime;\n\n // Record success\n this.recordSuccess(currentProvider, latency, estimatedTokens || 0);\n\n logger.info('Request successful', {\n provider: currentProvider,\n attempts,\n latency,\n totalTime: Date.now() - startTime\n });\n\n return { result, provider: currentProvider, attempts };\n\n } catch (error) {\n lastError = error as Error;\n logger.warn('Provider request failed', {\n provider: currentProvider,\n attempt: attempts,\n error: lastError.message\n });\n\n // Record failure\n this.recordFailure(currentProvider, lastError);\n\n // Continue to next provider\n continue;\n }\n }\n\n // All providers failed\n throw new Error(\n `All providers failed after ${attempts} attempts. Last error: ${lastError?.message}`\n );\n }\n\n /**\n * Execute request with retry logic\n */\n private async executeWithRetry<T>(\n requestFn: (provider: ProviderType) => Promise<T>,\n provider: ProviderType,\n maxRetries: number\n ): Promise<T> {\n let lastError: Error | null = null;\n\n for (let retry = 0; retry <= maxRetries; retry++) {\n try {\n // Apply backoff delay\n if (retry > 0) {\n const delay = this.calculateBackoffDelay(retry);\n logger.debug('Retry backoff', { provider, retry, delay });\n await new Promise(resolve => setTimeout(resolve, delay));\n }\n\n return await requestFn(provider);\n\n } catch (error) {\n lastError = error as Error;\n\n // Check if error is retryable\n if (!this.isRetryableError(error as Error)) {\n throw error;\n }\n\n logger.debug('Retryable error, continuing', {\n provider,\n retry,\n error: lastError.message\n });\n }\n }\n\n throw lastError || new Error('Max retries exceeded');\n }\n\n /**\n * Calculate backoff delay\n */\n private calculateBackoffDelay(retry: number): number {\n if (this.strategy.retryBackoff === 'exponential') {\n // Exponential backoff: 1s, 2s, 4s, 8s, 16s...\n return Math.min(1000 * Math.pow(2, retry), 30000); // Max 30s\n } else {\n // Linear backoff: 1s, 2s, 3s, 4s...\n return Math.min(1000 * retry, 10000); // Max 10s\n }\n }\n\n /**\n * Check if error is retryable\n */\n private isRetryableError(error: Error): boolean {\n const retryablePatterns = [\n /rate limit/i,\n /timeout/i,\n /connection/i,\n /network/i,\n /503/,\n /502/,\n /429/\n ];\n\n return retryablePatterns.some(pattern => pattern.test(error.message));\n }\n\n /**\n * Record successful request\n */\n private recordSuccess(provider: ProviderType, latency: number, tokens: number): void {\n const metrics = this.metrics.get(provider);\n const health = this.health.get(provider);\n const config = this.providers.get(provider);\n\n if (metrics) {\n metrics.totalRequests++;\n metrics.successfulRequests++;\n metrics.totalTokens += tokens;\n metrics.totalCost += (tokens / 1_000_000) * (config?.costPerToken || 0);\n metrics.averageLatency = (metrics.averageLatency + latency) / 2;\n metrics.lastUsed = new Date();\n }\n\n if (health) {\n health.consecutiveFailures = 0;\n health.isHealthy = true;\n health.circuitBreakerOpen = false;\n health.successRate = metrics ? metrics.successfulRequests / metrics.totalRequests : 1.0;\n health.errorRate = 1.0 - health.successRate;\n health.averageLatency = latency;\n }\n }\n\n /**\n * Record failed request\n */\n private recordFailure(provider: ProviderType, error: Error): void {\n const metrics = this.metrics.get(provider);\n const health = this.health.get(provider);\n\n if (metrics) {\n metrics.totalRequests++;\n metrics.failedRequests++;\n }\n\n if (health) {\n health.consecutiveFailures++;\n health.successRate = metrics ? metrics.successfulRequests / metrics.totalRequests : 0.0;\n health.errorRate = 1.0 - health.successRate;\n\n // Open circuit breaker if threshold exceeded\n if (health.consecutiveFailures >= this.strategy.maxFailures) {\n logger.warn('Circuit breaker opened', {\n provider,\n consecutiveFailures: health.consecutiveFailures,\n threshold: this.strategy.maxFailures\n });\n\n health.circuitBreakerOpen = true;\n health.isHealthy = false;\n }\n }\n\n logger.error('Provider failure recorded', {\n provider,\n error: error.message,\n consecutiveFailures: health?.consecutiveFailures,\n circuitBreakerOpen: health?.circuitBreakerOpen\n });\n }\n\n /**\n * Get current metrics for all providers\n */\n public getMetrics(): ProviderMetrics[] {\n return Array.from(this.metrics.values());\n }\n\n /**\n * Get health status for all providers\n */\n public getHealth(): ProviderHealth[] {\n return Array.from(this.health.values());\n }\n\n /**\n * Get cost summary\n */\n public getCostSummary(): {\n total: number;\n byProvider: Record<ProviderType, number>;\n totalTokens: number;\n } {\n let total = 0;\n let totalTokens = 0;\n const byProvider: Record<string, number> = {};\n\n for (const [name, metrics] of this.metrics.entries()) {\n total += metrics.totalCost;\n totalTokens += metrics.totalTokens;\n byProvider[name] = metrics.totalCost;\n }\n\n return { total, byProvider: byProvider as Record<ProviderType, number>, totalTokens };\n }\n\n /**\n * Cleanup and stop health checks\n */\n public destroy(): void {\n for (const interval of this.healthCheckIntervals.values()) {\n clearInterval(interval);\n }\n this.healthCheckIntervals.clear();\n logger.info('Provider Manager destroyed');\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent-orchestration.d.ts","sourceRoot":"","sources":["../../src/examples/multi-agent-orchestration.ts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi-agent-orchestration.js","sourceRoot":"","sources":["../../src/examples/multi-agent-orchestration.ts"],"names":[],"mappings":";AACA,0DAA0D;AAC1D,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,2BAA2B,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9E,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAE1D,4BAA4B;IAC5B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,gCAAgC,CAAC,CAAC;IAExE,+BAA+B;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,MAAM,GAAG,EAAE,SAAS,CAAC,CAAC;IAE1D,2CAA2C;IAC3C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,uCAAuC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,MAAM,WAAW,CAClC,WAAW,EACX,mHAAmH,CACpH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,MAAM,WAAW,CACtC,YAAY,EACZ,gHAAgH,CACjH,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;AAClE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC","sourcesContent":["#!/usr/bin/env tsx\n// Example: Multi-agent orchestration using .claude/agents\nimport \"dotenv/config\";\nimport { loadAgents } from \"../utils/agentLoader.js\";\nimport { claudeAgent } from \"../agents/claudeAgent.js\";\nimport { logger } from \"../utils/logger.js\";\n\nasync function main() {\n logger.setContext({ service: 'multi-agent-orchestration', version: '1.0.0' });\n logger.info('Starting multi-agent orchestration example');\n\n // Load all available agents\n const agents = loadAgents();\n\n console.log(`\\nš¦ Loaded ${agents.size} agents from .claude/agents/\\n`);\n\n // List some interesting agents\n const agentNames = Array.from(agents.keys());\n console.log('Available agents:');\n agentNames.slice(0, 10).forEach(name => {\n const agent = agents.get(name)!;\n console.log(` ⢠${name}: ${agent.description.substring(0, 80)}...`);\n });\n console.log(` ... and ${agentNames.length - 10} more\\n`);\n\n // Example: Use multiple agents in sequence\n console.log('š Running multi-agent workflow...\\n');\n\n // 1. Use goal-planner to create a plan\n const goalPlanner = agents.get('goal-planner');\n if (goalPlanner) {\n console.log('Step 1: Using goal-planner to create improvement plan');\n const planResult = await claudeAgent(\n goalPlanner,\n 'Create a 3-step plan to improve our Claude Agent SDK implementation with error handling, logging, and monitoring.'\n );\n console.log('\\nā
Plan created\\n');\n console.log(planResult.output.substring(0, 300) + '...\\n');\n }\n\n // 2. Use code-analyzer for implementation review\n const codeAnalyzer = agents.get('code-analyzer');\n if (codeAnalyzer) {\n console.log('Step 2: Using code-analyzer to review current implementation');\n const analysisResult = await claudeAgent(\n codeAnalyzer,\n 'Analyze the code quality of a Claude Agent SDK implementation focusing on error handling patterns and logging.'\n );\n console.log('\\nā
Analysis complete\\n');\n console.log(analysisResult.output.substring(0, 300) + '...\\n');\n }\n\n logger.info('Multi-agent orchestration completed successfully');\n}\n\nmain().catch(err => {\n logger.error('Multi-agent orchestration failed', { error: err });\n console.error('ā Error:', err.message);\n process.exit(1);\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-goal-planner.d.ts","sourceRoot":"","sources":["../../src/examples/use-goal-planner.ts"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-goal-planner.js","sourceRoot":"","sources":["../../src/examples/use-goal-planner.ts"],"names":[],"mappings":";AACA,wDAAwD;AACxD,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,KAAK,UAAU,IAAI;IACjB,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAE7C,yCAAyC;IACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QACvC,WAAW,EAAE,WAAW,CAAC,WAAW;KACrC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,MAAM,IAAI,GAAG;;;;;;;;;;;;;GAaZ,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;YAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;AAChD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC","sourcesContent":["#!/usr/bin/env tsx\n// Example: Using goal-planner agent from .claude/agents\nimport \"dotenv/config\";\nimport { getAgent } from \"../utils/agentLoader.js\";\nimport { claudeAgent } from \"../agents/claudeAgent.js\";\nimport { logger } from \"../utils/logger.js\";\n\nasync function main() {\n logger.setContext({ service: 'goal-planner-example', version: '1.0.0' });\n logger.info('Starting goal-planner example');\n\n // Load the goal-planner agent definition\n const goalPlanner = getAgent('goal-planner');\n\n if (!goalPlanner) {\n logger.error('goal-planner agent not found');\n console.error('ā goal-planner agent not found in .claude/agents/');\n process.exit(1);\n }\n\n logger.info('Loaded goal-planner agent', {\n description: goalPlanner.description\n });\n\n // Use the goal-planner for a complex task\n const task = `\nResearch the Claude Agent SDK and create a comprehensive improvement plan for our Docker implementation.\n\nCurrent state:\n- Basic parallel agent execution\n- Limited error handling\n- No observability\n\nGoals:\n1. Identify SDK capabilities we're not using\n2. Propose specific improvements\n3. Create actionable implementation plan\n4. Estimate effort and ROI\n `.trim();\n\n console.log('\\nšÆ Task:', task.substring(0, 100) + '...\\n');\n console.log('ā³ Running goal-planner agent...\\n');\n\n const result = await claudeAgent(goalPlanner, task, (chunk) => {\n if (process.env.ENABLE_STREAMING === 'true') {\n process.stdout.write(chunk);\n }\n });\n\n console.log('\\nā
Goal-planner completed!\\n');\n console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\\n');\n console.log(result.output);\n console.log('\\nāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\\n');\n\n logger.info('Example completed successfully');\n}\n\nmain().catch(err => {\n logger.error('Example failed', { error: err });\n console.error('ā Error:', err.message);\n process.exit(1);\n});\n"]}
|