agentic-flow 3.0.0-alpha.1 → 3.0.0
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/.claude/agents/base-template-generator.md +229 -3
- package/.claude/agents/core/coder.md +212 -7
- package/.claude/agents/core/planner.md +228 -7
- package/.claude/agents/core/researcher.md +205 -10
- package/.claude/agents/core/reviewer.md +216 -5
- package/.claude/agents/core/tester.md +213 -3
- package/.claude/agents/data/data-ml-model.md +444 -0
- package/.claude/agents/development/dev-backend-api.md +345 -0
- package/.claude/agents/documentation/docs-api-openapi.md +354 -0
- package/.claude/agents/github/code-review-swarm.md +307 -468
- package/.claude/agents/github/issue-tracker.md +270 -13
- package/.claude/agents/github/pr-manager.md +259 -12
- package/.claude/agents/github/release-manager.md +253 -15
- package/.claude/agents/github/workflow-automation.md +277 -9
- package/.claude/agents/sona/sona-learning-optimizer.md +496 -0
- package/.claude/agents/sparc/architecture.md +231 -4
- package/.claude/agents/sparc/pseudocode.md +206 -4
- package/.claude/agents/sparc/refinement.md +283 -6
- package/.claude/agents/sparc/specification.md +205 -3
- package/.claude/agents/swarm/adaptive-coordinator.md +731 -0
- package/.claude/agents/swarm/hierarchical-coordinator.md +455 -1
- package/.claude/agents/swarm/mesh-coordinator.md +571 -0
- package/.claude/agents/templates/sparc-coordinator.md +336 -5
- package/.claude/helpers/github-safe.js +11 -10
- package/.claude/skills/agentic-flow-quickstart/skill.md +69 -0
- package/.claude/skills/hooks-automation/skill.md +155 -0
- package/.claude/skills/memory-patterns/skill.md +110 -0
- package/.claude/skills/sparc-methodology/skill.md +137 -0
- package/.claude/skills/swarm-coordination/skill.md +94 -0
- package/.claude/skills/worker-benchmarks/skill.md +135 -0
- package/.claude/skills/worker-integration/skill.md +154 -0
- package/.claude/statusline.mjs +109 -0
- package/.claude/statusline.sh +74 -0
- package/CHANGELOG.md +151 -0
- package/README.md +1876 -1076
- package/dist/.tsbuildinfo +1 -1
- package/dist/agent-booster/index.d.ts +14 -0
- package/dist/agent-booster/index.d.ts.map +1 -0
- package/dist/agent-booster/index.js +25 -0
- package/dist/agent-booster/index.js.map +1 -0
- package/dist/agentdb/index.d.ts +9 -1
- package/dist/agentdb/index.d.ts.map +1 -1
- package/dist/agentdb/index.js +13 -9
- package/dist/agentdb/index.js.map +1 -1
- package/dist/agentdb/prerequisites.d.ts +25 -0
- package/dist/agentdb/prerequisites.d.ts.map +1 -0
- package/dist/agentdb/prerequisites.js +180 -0
- package/dist/agentdb/prerequisites.js.map +1 -0
- package/dist/agents/claudeAgent.d.ts.map +1 -1
- package/dist/agents/claudeAgent.js +9 -21
- package/dist/agents/claudeAgent.js.map +1 -1
- package/dist/agents/claudeAgentDirect.js +4 -4
- package/dist/agents/claudeAgentDirect.js.map +1 -1
- package/dist/agents/directApiAgent.d.ts.map +1 -1
- package/dist/agents/directApiAgent.js +37 -19
- package/dist/agents/directApiAgent.js.map +1 -1
- package/dist/agents/permission-mode.d.ts +16 -0
- package/dist/agents/permission-mode.d.ts.map +1 -0
- package/dist/agents/permission-mode.js +42 -0
- package/dist/agents/permission-mode.js.map +1 -0
- package/dist/billing/cli.js +0 -0
- package/dist/cli/agent-manager.d.ts.map +1 -1
- package/dist/cli/agent-manager.js +8 -2
- package/dist/cli/agent-manager.js.map +1 -1
- package/dist/cli/agentdb-proxy.d.ts +3 -0
- package/dist/cli/agentdb-proxy.d.ts.map +1 -0
- package/dist/cli/agentdb-proxy.js +8 -0
- package/dist/cli/agentdb-proxy.js.map +1 -0
- package/dist/cli/claude-code-wrapper.js +14 -4
- package/dist/cli/claude-code-wrapper.js.map +1 -1
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +4 -1
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts +92 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +135 -113
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/sona.js +1 -1
- package/dist/cli/commands/sona.js.map +1 -1
- package/dist/cli/config-wizard.d.ts.map +1 -1
- package/dist/cli/config-wizard.js +47 -25
- package/dist/cli/config-wizard.js.map +1 -1
- package/dist/cli/mcp-manager.js +13 -6
- package/dist/cli/mcp-manager.js.map +1 -1
- package/dist/cli-proxy.d.ts +1 -1
- package/dist/cli-proxy.d.ts.map +1 -1
- package/dist/cli-proxy.js +192 -96
- package/dist/cli-proxy.js.map +1 -1
- package/dist/cli-standalone-proxy.d.ts +3 -3
- package/dist/cli-standalone-proxy.d.ts.map +1 -1
- package/dist/cli-standalone-proxy.js +20 -17
- package/dist/cli-standalone-proxy.js.map +1 -1
- package/dist/config/quic.js +1 -1
- package/dist/config/quic.js.map +1 -1
- package/dist/coordination/attention-coordinator.d.ts +165 -35
- package/dist/coordination/attention-coordinator.d.ts.map +1 -1
- package/dist/coordination/attention-coordinator.js +337 -70
- package/dist/coordination/attention-coordinator.js.map +1 -1
- package/dist/coordination/autopilot-learning.d.ts +6 -1
- package/dist/coordination/autopilot-learning.d.ts.map +1 -1
- package/dist/coordination/autopilot-learning.js +10 -3
- package/dist/coordination/autopilot-learning.js.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.js +17 -7
- package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
- package/dist/core/embedding-service.js +1 -1
- package/dist/core/embedding-service.js.map +1 -1
- package/dist/core/gnn-wrapper.d.ts.map +1 -1
- package/dist/core/gnn-wrapper.js +14 -0
- package/dist/core/gnn-wrapper.js.map +1 -1
- package/dist/embeddings/optimized-embedder.js +1 -1
- package/dist/embeddings/optimized-embedder.js.map +1 -1
- package/dist/federation/EphemeralAgent.js +2 -2
- package/dist/federation/EphemeralAgent.js.map +1 -1
- package/dist/federation/FederationHubServer.d.ts +5 -0
- package/dist/federation/FederationHubServer.d.ts.map +1 -1
- package/dist/federation/FederationHubServer.js +26 -8
- package/dist/federation/FederationHubServer.js.map +1 -1
- package/dist/federation/SecurityManager.d.ts +12 -3
- package/dist/federation/SecurityManager.d.ts.map +1 -1
- package/dist/federation/SecurityManager.js +59 -21
- package/dist/federation/SecurityManager.js.map +1 -1
- package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
- package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
- package/dist/harness/flywheel-governance.d.ts +85 -0
- package/dist/harness/flywheel-governance.d.ts.map +1 -0
- package/dist/harness/flywheel-governance.js +123 -0
- package/dist/harness/flywheel-governance.js.map +1 -0
- package/dist/harness/metaharness.d.ts +6 -0
- package/dist/harness/metaharness.d.ts.map +1 -0
- package/dist/harness/metaharness.js +6 -0
- package/dist/harness/metaharness.js.map +1 -0
- package/dist/harness/provenance.d.ts +72 -0
- package/dist/harness/provenance.d.ts.map +1 -0
- package/dist/harness/provenance.js +92 -0
- package/dist/harness/provenance.js.map +1 -0
- package/dist/hooks/swarm-learning-optimizer.js +5 -5
- package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -51
- package/dist/index.js.map +1 -1
- package/dist/intelligence/EmbeddingService.js +3 -3
- package/dist/intelligence/EmbeddingService.js.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.js +4 -1
- package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.d.ts +18 -2
- package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.js +105 -53
- package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.js +310 -79
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
- package/dist/mcp/fastmcp/auth/http-auth.d.ts +23 -0
- package/dist/mcp/fastmcp/auth/http-auth.d.ts.map +1 -0
- package/dist/mcp/fastmcp/auth/http-auth.js +80 -0
- package/dist/mcp/fastmcp/auth/http-auth.js.map +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +27 -22
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -1
- package/dist/mcp/fastmcp/servers/http-sse.d.ts +8 -1
- package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -1
- package/dist/mcp/fastmcp/servers/http-sse.js +93 -43
- package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -1
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js +40 -35
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -1
- package/dist/mcp/fastmcp/servers/poc-stdio.js +10 -11
- package/dist/mcp/fastmcp/servers/poc-stdio.js.map +1 -1
- package/dist/mcp/fastmcp/servers/stdio-full.js +47 -456
- package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/add-agent.js +3 -2
- package/dist/mcp/fastmcp/tools/agent/add-agent.js.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/execute.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/execute.js +8 -5
- package/dist/mcp/fastmcp/tools/agent/execute.js.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/list.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/list.js +4 -2
- package/dist/mcp/fastmcp/tools/agent/list.js.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/parallel.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/agent/parallel.js +4 -2
- package/dist/mcp/fastmcp/tools/agent/parallel.js.map +1 -1
- package/dist/mcp/fastmcp/tools/hooks/pretrain.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/hooks/pretrain.js +11 -3
- package/dist/mcp/fastmcp/tools/hooks/pretrain.js.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/init.js +36 -7
- package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +9 -5
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +41 -23
- package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
- package/dist/mcp/mcp-policy.d.ts +15 -0
- package/dist/mcp/mcp-policy.d.ts.map +1 -0
- package/dist/mcp/mcp-policy.js +35 -0
- package/dist/mcp/mcp-policy.js.map +1 -0
- package/dist/mcp/standalone-stdio.js +107 -157
- package/dist/mcp/standalone-stdio.js.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts +14 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.js +83 -56
- package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
- package/dist/mcp/tools/harness-tools.d.ts +29 -0
- package/dist/mcp/tools/harness-tools.d.ts.map +1 -0
- package/dist/mcp/tools/harness-tools.js +102 -0
- package/dist/mcp/tools/harness-tools.js.map +1 -0
- package/dist/mcp/tools/sona-tools.d.ts +1 -1
- package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
- package/dist/mcp/tools/sona-tools.js +1 -1
- package/dist/mcp/tools/sona-tools.js.map +1 -1
- package/dist/memory/SharedMemoryPool.d.ts +71 -97
- package/dist/memory/SharedMemoryPool.d.ts.map +1 -1
- package/dist/memory/SharedMemoryPool.js +213 -193
- package/dist/memory/SharedMemoryPool.js.map +1 -1
- package/dist/optimizations/agent-booster-migration.d.ts +2 -0
- package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
- package/dist/optimizations/agent-booster-migration.js +68 -27
- package/dist/optimizations/agent-booster-migration.js.map +1 -1
- package/dist/optimizations/configuration-tuning.d.ts +1 -1
- package/dist/orchestration/orchestration-runtime.d.ts.map +1 -1
- package/dist/orchestration/orchestration-runtime.js +4 -10
- package/dist/orchestration/orchestration-runtime.js.map +1 -1
- package/dist/proxy/adaptive-proxy.d.ts.map +1 -1
- package/dist/proxy/adaptive-proxy.js +1 -0
- package/dist/proxy/adaptive-proxy.js.map +1 -1
- package/dist/proxy/anthropic-to-gemini.d.ts +14 -1
- package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-gemini.js +34 -10
- package/dist/proxy/anthropic-to-gemini.js.map +1 -1
- package/dist/proxy/anthropic-to-onnx.d.ts +2 -1
- package/dist/proxy/anthropic-to-onnx.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-onnx.js +5 -2
- package/dist/proxy/anthropic-to-onnx.js.map +1 -1
- package/dist/proxy/anthropic-to-openrouter.d.ts +14 -1
- package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-openrouter.js +56 -15
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
- package/dist/proxy/anthropic-to-requesty.d.ts +14 -1
- package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -1
- package/dist/proxy/anthropic-to-requesty.js +34 -10
- package/dist/proxy/anthropic-to-requesty.js.map +1 -1
- package/dist/proxy/proxy-auth.d.ts +24 -0
- package/dist/proxy/proxy-auth.d.ts.map +1 -0
- package/dist/proxy/proxy-auth.js +74 -0
- package/dist/proxy/proxy-auth.js.map +1 -0
- package/dist/proxy/quic-proxy.d.ts +0 -1
- package/dist/proxy/quic-proxy.d.ts.map +1 -1
- package/dist/proxy/quic-proxy.js +3 -2
- package/dist/proxy/quic-proxy.js.map +1 -1
- package/dist/reasoningbank/AdvancedMemory.js +1 -1
- package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
- package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
- package/dist/reasoningbank/HybridBackend.js +2 -5
- package/dist/reasoningbank/HybridBackend.js.map +1 -1
- package/dist/reasoningbank/backend-selector.d.ts +12 -3
- package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
- package/dist/reasoningbank/backend-selector.js +47 -9
- package/dist/reasoningbank/backend-selector.js.map +1 -1
- package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
- package/dist/reasoningbank/core/consolidate.js +116 -48
- package/dist/reasoningbank/core/consolidate.js.map +1 -1
- package/dist/reasoningbank/core/distill.js +4 -4
- package/dist/reasoningbank/core/distill.js.map +1 -1
- package/dist/reasoningbank/core/judge.js +2 -2
- package/dist/reasoningbank/core/judge.js.map +1 -1
- package/dist/reasoningbank/core/matts.js +8 -8
- package/dist/reasoningbank/core/matts.js.map +1 -1
- package/dist/reasoningbank/core/retrieve.js +4 -4
- package/dist/reasoningbank/core/retrieve.js.map +1 -1
- package/dist/reasoningbank/db/queries.d.ts +10 -2
- package/dist/reasoningbank/db/queries.d.ts.map +1 -1
- package/dist/reasoningbank/db/queries.js +43 -7
- package/dist/reasoningbank/db/queries.js.map +1 -1
- package/dist/reasoningbank/index-new.d.ts +1 -6
- package/dist/reasoningbank/index-new.d.ts.map +1 -1
- package/dist/reasoningbank/index-new.js +1 -6
- package/dist/reasoningbank/index-new.js.map +1 -1
- package/dist/reasoningbank/index.d.ts +3 -7
- package/dist/reasoningbank/index.d.ts.map +1 -1
- package/dist/reasoningbank/index.js +18 -20
- package/dist/reasoningbank/index.js.map +1 -1
- package/dist/reasoningbank/utils/embeddings.d.ts +12 -1
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
- package/dist/reasoningbank/utils/embeddings.js +125 -59
- package/dist/reasoningbank/utils/embeddings.js.map +1 -1
- package/dist/repair/cli.d.ts +24 -0
- package/dist/repair/cli.d.ts.map +1 -0
- package/dist/repair/cli.js +69 -0
- package/dist/repair/cli.js.map +1 -0
- package/dist/repair/darwin-repair.d.ts +92 -0
- package/dist/repair/darwin-repair.d.ts.map +1 -0
- package/dist/repair/darwin-repair.js +81 -0
- package/dist/repair/darwin-repair.js.map +1 -0
- package/dist/router/config-loader.d.ts +12 -0
- package/dist/router/config-loader.d.ts.map +1 -0
- package/dist/router/config-loader.js +53 -0
- package/dist/router/config-loader.js.map +1 -0
- package/dist/router/cost-optimal-router.d.ts +89 -0
- package/dist/router/cost-optimal-router.d.ts.map +1 -0
- package/dist/router/cost-optimal-router.js +94 -0
- package/dist/router/cost-optimal-router.js.map +1 -0
- package/dist/router/index.d.ts +2 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +1 -0
- package/dist/router/index.js.map +1 -1
- package/dist/router/providers/gemini.d.ts.map +1 -1
- package/dist/router/providers/gemini.js +4 -5
- package/dist/router/providers/gemini.js.map +1 -1
- package/dist/{agentic-flow/src/router/providers/openrouter.d.ts → router/providers/ollama.d.ts} +3 -4
- package/dist/router/providers/ollama.d.ts.map +1 -0
- package/dist/router/providers/ollama.js +242 -0
- package/dist/router/providers/ollama.js.map +1 -0
- package/dist/router/providers/onnx-local-optimized.d.ts +11 -0
- package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
- package/dist/router/providers/onnx-local-optimized.js +13 -1
- package/dist/router/providers/onnx-local-optimized.js.map +1 -1
- package/dist/router/providers/onnx-local.d.ts +10 -0
- package/dist/router/providers/onnx-local.d.ts.map +1 -1
- package/dist/router/providers/onnx-local.js +39 -7
- package/dist/router/providers/onnx-local.js.map +1 -1
- package/dist/router/providers/onnx-phi4.d.ts.map +1 -1
- package/dist/router/providers/onnx-phi4.js +2 -1
- package/dist/router/providers/onnx-phi4.js.map +1 -1
- package/dist/router/providers/onnx.js +2 -2
- package/dist/router/providers/onnx.js.map +1 -1
- package/dist/router/router.d.ts +46 -2
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +198 -71
- package/dist/router/router.js.map +1 -1
- package/dist/router/test-onnx-benchmark.js +2 -1
- package/dist/router/test-onnx-benchmark.js.map +1 -1
- package/dist/router/test-onnx-local.js +2 -1
- package/dist/router/test-onnx-local.js.map +1 -1
- package/dist/router/types.d.ts +1 -1
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.js.map +1 -1
- package/dist/sdk/index.d.ts +12 -8
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +23 -20
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/plugins.d.ts +6 -6
- package/dist/sdk/plugins.d.ts.map +1 -1
- package/dist/sdk/plugins.js +37 -0
- package/dist/sdk/plugins.js.map +1 -1
- package/dist/services/agentdb-service.d.ts +27 -259
- package/dist/services/agentdb-service.d.ts.map +1 -1
- package/dist/services/agentdb-service.js +124 -1217
- package/dist/services/agentdb-service.js.map +1 -1
- package/dist/services/embedding-service.js +1 -1
- package/dist/services/embedding-service.js.map +1 -1
- package/dist/services/sona-agent-training.js +3 -3
- package/dist/services/sona-agent-training.js.map +1 -1
- package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
- package/dist/services/sona-agentdb-integration.js +2 -1
- package/dist/services/sona-agentdb-integration.js.map +1 -1
- package/dist/services/sona-loader.d.ts +14 -0
- package/dist/services/sona-loader.d.ts.map +1 -0
- package/dist/services/sona-loader.js +35 -0
- package/dist/services/sona-loader.js.map +1 -0
- package/dist/services/sona-rvf-service.d.ts.map +1 -1
- package/dist/services/sona-rvf-service.js +13 -2
- package/dist/services/sona-rvf-service.js.map +1 -1
- package/dist/services/sona-service.d.ts +7 -10
- package/dist/services/sona-service.d.ts.map +1 -1
- package/dist/services/sona-service.js +40 -13
- package/dist/services/sona-service.js.map +1 -1
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +1 -0
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/quic-loader.d.ts +266 -0
- package/dist/transport/quic-loader.d.ts.map +1 -0
- package/dist/transport/quic-loader.js +548 -0
- package/dist/transport/quic-loader.js.map +1 -0
- package/dist/transport/quic.js +2 -2
- package/dist/transport/quic.js.map +1 -1
- package/dist/utils/agentBoosterPreprocessor.d.ts +0 -4
- package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -1
- package/dist/utils/agentBoosterPreprocessor.js +10 -34
- package/dist/utils/agentBoosterPreprocessor.js.map +1 -1
- package/dist/utils/cli.d.ts +1 -1
- package/dist/utils/cli.d.ts.map +1 -1
- package/dist/utils/cli.js +23 -0
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/env-loader.d.ts +23 -0
- package/dist/utils/env-loader.d.ts.map +1 -0
- package/dist/utils/env-loader.js +73 -0
- package/dist/utils/env-loader.js.map +1 -0
- package/dist/utils/load-env.d.ts +2 -0
- package/dist/utils/load-env.d.ts.map +1 -0
- package/dist/utils/load-env.js +5 -0
- package/dist/utils/load-env.js.map +1 -0
- package/dist/utils/model-cache.js +1 -1
- package/dist/utils/model-cache.js.map +1 -1
- package/dist/utils/model-downloader.d.ts +14 -0
- package/dist/utils/model-downloader.d.ts.map +1 -1
- package/dist/utils/model-downloader.js +19 -3
- package/dist/utils/model-downloader.js.map +1 -1
- package/dist/utils/path-safety.d.ts +16 -0
- package/dist/utils/path-safety.d.ts.map +1 -0
- package/dist/utils/path-safety.js +78 -0
- package/dist/utils/path-safety.js.map +1 -0
- package/docs/IMPROVEMENT_ROADMAP.md +184 -0
- package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
- package/package.json +76 -32
- package/scripts/postinstall.js +45 -4
- package/validation/quick-wins/test-logging.ts +7 -0
- package/validation/quick-wins/test-retry.ts +7 -0
- package/validation/sdk-integration-test.ts +208 -0
- package/wasm/reasoningbank/reasoningbank_wasm.d.ts +34 -31
- package/wasm/reasoningbank/reasoningbank_wasm.js +5 -1
- package/wasm/reasoningbank/reasoningbank_wasm_bg.js +416 -465
- package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
- package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm.d.ts +13 -12
- package/.claude/agents/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/agents/.claude-flow/metrics/performance.json +0 -87
- package/.claude/agents/.claude-flow/metrics/task-metrics.json +0 -10
- package/.claude/agents/data/ml/data-ml-model.md +0 -193
- package/.claude/agents/development/backend/dev-backend-api.md +0 -142
- package/.claude/agents/documentation/api-docs/docs-api-openapi.md +0 -174
- package/.claude/agents/test-neural.md +0 -14
- package/.claude/mcp.json +0 -13
- package/.claude/settings-backup.json +0 -130
- package/.claude/settings-optimized.json +0 -116
- package/.claude/settings-simple.json +0 -78
- package/.claude/settings.json +0 -114
- package/.claude/settings.local.json +0 -14
- package/.claude/skills/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/skills/.claude-flow/metrics/performance.json +0 -87
- package/.claude/skills/.claude-flow/metrics/task-metrics.json +0 -10
- package/.claude/skills/skill-builder/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/skills/skill-builder/.claude-flow/metrics/performance.json +0 -87
- package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +0 -10
- package/dist/agentdb/benchmarks/comprehensive-benchmark.js +0 -664
- package/dist/agentdb/benchmarks/frontier-benchmark.js +0 -419
- package/dist/agentdb/benchmarks/reflexion-benchmark.js +0 -370
- package/dist/agentdb/cli/agentdb-cli.js +0 -717
- package/dist/agentdb/controllers/CausalMemoryGraph.js +0 -322
- package/dist/agentdb/controllers/CausalRecall.js +0 -281
- package/dist/agentdb/controllers/EmbeddingService.d.ts +0 -37
- package/dist/agentdb/controllers/EmbeddingService.d.ts.map +0 -1
- package/dist/agentdb/controllers/EmbeddingService.js +0 -119
- package/dist/agentdb/controllers/EmbeddingService.js.map +0 -1
- package/dist/agentdb/controllers/ExplainableRecall.js +0 -387
- package/dist/agentdb/controllers/NightlyLearner.js +0 -382
- package/dist/agentdb/controllers/ReflexionMemory.js +0 -239
- package/dist/agentdb/controllers/SkillLibrary.js +0 -276
- package/dist/agentdb/controllers/frontier-index.js +0 -9
- package/dist/agentdb/controllers/index.js +0 -8
- package/dist/agentdb/optimizations/BatchOperations.js +0 -198
- package/dist/agentdb/optimizations/QueryOptimizer.js +0 -225
- package/dist/agentdb/optimizations/index.js +0 -7
- package/dist/agentdb/tests/frontier-features.test.js +0 -665
- package/dist/agentic-flow/src/agentdb/index.d.ts +0 -20
- package/dist/agentic-flow/src/agentdb/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/agentdb/index.js +0 -34
- package/dist/agentic-flow/src/agentdb/index.js.map +0 -1
- package/dist/agentic-flow/src/agentdb/validate-frontier.cjs +0 -416
- package/dist/agentic-flow/src/agentdb/validate-frontier.cjs.map +0 -1
- package/dist/agentic-flow/src/agentdb/validate-frontier.d.cts +0 -2
- package/dist/agentic-flow/src/agentdb/validate-frontier.d.cts.map +0 -1
- package/dist/agentic-flow/src/agents/claudeAgent.d.ts +0 -6
- package/dist/agentic-flow/src/agents/claudeAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/claudeAgent.js +0 -339
- package/dist/agentic-flow/src/agents/claudeAgent.js.map +0 -1
- package/dist/agentic-flow/src/agents/claudeAgentDirect.d.ts +0 -6
- package/dist/agentic-flow/src/agents/claudeAgentDirect.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/claudeAgentDirect.js +0 -171
- package/dist/agentic-flow/src/agents/claudeAgentDirect.js.map +0 -1
- package/dist/agentic-flow/src/agents/claudeFlowAgent.d.ts +0 -32
- package/dist/agentic-flow/src/agents/claudeFlowAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/claudeFlowAgent.js +0 -116
- package/dist/agentic-flow/src/agents/claudeFlowAgent.js.map +0 -1
- package/dist/agentic-flow/src/agents/codeReviewAgent.d.ts +0 -4
- package/dist/agentic-flow/src/agents/codeReviewAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/codeReviewAgent.js +0 -35
- package/dist/agentic-flow/src/agents/codeReviewAgent.js.map +0 -1
- package/dist/agentic-flow/src/agents/dataAgent.d.ts +0 -4
- package/dist/agentic-flow/src/agents/dataAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/dataAgent.js +0 -35
- package/dist/agentic-flow/src/agents/dataAgent.js.map +0 -1
- package/dist/agentic-flow/src/agents/directApiAgent.d.ts +0 -10
- package/dist/agentic-flow/src/agents/directApiAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/directApiAgent.js +0 -383
- package/dist/agentic-flow/src/agents/directApiAgent.js.map +0 -1
- package/dist/agentic-flow/src/agents/webResearchAgent.d.ts +0 -4
- package/dist/agentic-flow/src/agents/webResearchAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/agents/webResearchAgent.js +0 -36
- package/dist/agentic-flow/src/agents/webResearchAgent.js.map +0 -1
- package/dist/agentic-flow/src/billing/cli.d.ts +0 -29
- package/dist/agentic-flow/src/billing/cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/cli.js +0 -350
- package/dist/agentic-flow/src/billing/cli.js.map +0 -1
- package/dist/agentic-flow/src/billing/coupons/manager.d.ts +0 -43
- package/dist/agentic-flow/src/billing/coupons/manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/coupons/manager.js +0 -171
- package/dist/agentic-flow/src/billing/coupons/manager.js.map +0 -1
- package/dist/agentic-flow/src/billing/index.d.ts +0 -100
- package/dist/agentic-flow/src/billing/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/index.js +0 -205
- package/dist/agentic-flow/src/billing/index.js.map +0 -1
- package/dist/agentic-flow/src/billing/mcp/tools.d.ts +0 -39
- package/dist/agentic-flow/src/billing/mcp/tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/mcp/tools.js +0 -239
- package/dist/agentic-flow/src/billing/mcp/tools.js.map +0 -1
- package/dist/agentic-flow/src/billing/metering/engine.d.ts +0 -58
- package/dist/agentic-flow/src/billing/metering/engine.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/metering/engine.js +0 -260
- package/dist/agentic-flow/src/billing/metering/engine.js.map +0 -1
- package/dist/agentic-flow/src/billing/payments/processor.d.ts +0 -68
- package/dist/agentic-flow/src/billing/payments/processor.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/payments/processor.js +0 -158
- package/dist/agentic-flow/src/billing/payments/processor.js.map +0 -1
- package/dist/agentic-flow/src/billing/pricing/tiers.d.ts +0 -20
- package/dist/agentic-flow/src/billing/pricing/tiers.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/pricing/tiers.js +0 -252
- package/dist/agentic-flow/src/billing/pricing/tiers.js.map +0 -1
- package/dist/agentic-flow/src/billing/storage/adapters.d.ts +0 -90
- package/dist/agentic-flow/src/billing/storage/adapters.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/storage/adapters.js +0 -351
- package/dist/agentic-flow/src/billing/storage/adapters.js.map +0 -1
- package/dist/agentic-flow/src/billing/subscriptions/manager.d.ts +0 -57
- package/dist/agentic-flow/src/billing/subscriptions/manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/subscriptions/manager.js +0 -273
- package/dist/agentic-flow/src/billing/subscriptions/manager.js.map +0 -1
- package/dist/agentic-flow/src/billing/types.d.ts +0 -255
- package/dist/agentic-flow/src/billing/types.d.ts.map +0 -1
- package/dist/agentic-flow/src/billing/types.js +0 -78
- package/dist/agentic-flow/src/billing/types.js.map +0 -1
- package/dist/agentic-flow/src/cli/agent-manager.d.ts +0 -57
- package/dist/agentic-flow/src/cli/agent-manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/agent-manager.js +0 -452
- package/dist/agentic-flow/src/cli/agent-manager.js.map +0 -1
- package/dist/agentic-flow/src/cli/autopilot-cli.d.ts +0 -8
- package/dist/agentic-flow/src/cli/autopilot-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/autopilot-cli.js +0 -458
- package/dist/agentic-flow/src/cli/autopilot-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/claude-code-wrapper.d.ts +0 -21
- package/dist/agentic-flow/src/cli/claude-code-wrapper.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/claude-code-wrapper.js +0 -351
- package/dist/agentic-flow/src/cli/claude-code-wrapper.js.map +0 -1
- package/dist/agentic-flow/src/cli/config-wizard.d.ts +0 -21
- package/dist/agentic-flow/src/cli/config-wizard.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/config-wizard.js +0 -369
- package/dist/agentic-flow/src/cli/config-wizard.js.map +0 -1
- package/dist/agentic-flow/src/cli/daemon-cli.d.ts +0 -3
- package/dist/agentic-flow/src/cli/daemon-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/daemon-cli.js +0 -225
- package/dist/agentic-flow/src/cli/daemon-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/doctor-cli.d.ts +0 -6
- package/dist/agentic-flow/src/cli/doctor-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/doctor-cli.js +0 -192
- package/dist/agentic-flow/src/cli/doctor-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/federation-cli.d.ts +0 -54
- package/dist/agentic-flow/src/cli/federation-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/federation-cli.js +0 -432
- package/dist/agentic-flow/src/cli/federation-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/hivemind-cli.d.ts +0 -3
- package/dist/agentic-flow/src/cli/hivemind-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/hivemind-cli.js +0 -218
- package/dist/agentic-flow/src/cli/hivemind-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/hooks-cli.d.ts +0 -3
- package/dist/agentic-flow/src/cli/hooks-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/hooks-cli.js +0 -259
- package/dist/agentic-flow/src/cli/hooks-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/mcp-manager.d.ts +0 -12
- package/dist/agentic-flow/src/cli/mcp-manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/mcp-manager.js +0 -475
- package/dist/agentic-flow/src/cli/mcp-manager.js.map +0 -1
- package/dist/agentic-flow/src/cli/mcp.d.ts +0 -11
- package/dist/agentic-flow/src/cli/mcp.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/mcp.js +0 -136
- package/dist/agentic-flow/src/cli/mcp.js.map +0 -1
- package/dist/agentic-flow/src/cli/memory-cli.d.ts +0 -2
- package/dist/agentic-flow/src/cli/memory-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/memory-cli.js +0 -318
- package/dist/agentic-flow/src/cli/memory-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/session-cli.d.ts +0 -3
- package/dist/agentic-flow/src/cli/session-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/session-cli.js +0 -259
- package/dist/agentic-flow/src/cli/session-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/swarm-cli.d.ts +0 -6
- package/dist/agentic-flow/src/cli/swarm-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/swarm-cli.js +0 -256
- package/dist/agentic-flow/src/cli/swarm-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli/task-cli.d.ts +0 -6
- package/dist/agentic-flow/src/cli/task-cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli/task-cli.js +0 -257
- package/dist/agentic-flow/src/cli/task-cli.js.map +0 -1
- package/dist/agentic-flow/src/cli-proxy.d.ts +0 -7
- package/dist/agentic-flow/src/cli-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli-proxy.js +0 -1220
- package/dist/agentic-flow/src/cli-proxy.js.map +0 -1
- package/dist/agentic-flow/src/cli-standalone-proxy.d.ts +0 -17
- package/dist/agentic-flow/src/cli-standalone-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/cli-standalone-proxy.js +0 -198
- package/dist/agentic-flow/src/cli-standalone-proxy.js.map +0 -1
- package/dist/agentic-flow/src/config/claudeFlow.d.ts +0 -33
- package/dist/agentic-flow/src/config/claudeFlow.d.ts.map +0 -1
- package/dist/agentic-flow/src/config/claudeFlow.js +0 -68
- package/dist/agentic-flow/src/config/claudeFlow.js.map +0 -1
- package/dist/agentic-flow/src/config/quic.d.ts +0 -58
- package/dist/agentic-flow/src/config/quic.d.ts.map +0 -1
- package/dist/agentic-flow/src/config/quic.js +0 -207
- package/dist/agentic-flow/src/config/quic.js.map +0 -1
- package/dist/agentic-flow/src/config/tools.d.ts +0 -17
- package/dist/agentic-flow/src/config/tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/config/tools.js +0 -34
- package/dist/agentic-flow/src/config/tools.js.map +0 -1
- package/dist/agentic-flow/src/coordination/attention-coordinator.d.ts +0 -52
- package/dist/agentic-flow/src/coordination/attention-coordinator.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/attention-coordinator.js +0 -94
- package/dist/agentic-flow/src/coordination/attention-coordinator.js.map +0 -1
- package/dist/agentic-flow/src/coordination/autopilot-learning.d.ts +0 -124
- package/dist/agentic-flow/src/coordination/autopilot-learning.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/autopilot-learning.js +0 -306
- package/dist/agentic-flow/src/coordination/autopilot-learning.js.map +0 -1
- package/dist/agentic-flow/src/coordination/drift-detector.d.ts +0 -86
- package/dist/agentic-flow/src/coordination/drift-detector.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/drift-detector.js +0 -218
- package/dist/agentic-flow/src/coordination/drift-detector.js.map +0 -1
- package/dist/agentic-flow/src/coordination/graph-state-manager.d.ts +0 -69
- package/dist/agentic-flow/src/coordination/graph-state-manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/graph-state-manager.js +0 -118
- package/dist/agentic-flow/src/coordination/graph-state-manager.js.map +0 -1
- package/dist/agentic-flow/src/coordination/self-improvement-pipeline.d.ts +0 -70
- package/dist/agentic-flow/src/coordination/self-improvement-pipeline.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/self-improvement-pipeline.js +0 -144
- package/dist/agentic-flow/src/coordination/self-improvement-pipeline.js.map +0 -1
- package/dist/agentic-flow/src/coordination/swarm-completion.d.ts +0 -126
- package/dist/agentic-flow/src/coordination/swarm-completion.d.ts.map +0 -1
- package/dist/agentic-flow/src/coordination/swarm-completion.js +0 -368
- package/dist/agentic-flow/src/coordination/swarm-completion.js.map +0 -1
- package/dist/agentic-flow/src/core/long-running-agent.d.ts +0 -92
- package/dist/agentic-flow/src/core/long-running-agent.d.ts.map +0 -1
- package/dist/agentic-flow/src/core/long-running-agent.js +0 -220
- package/dist/agentic-flow/src/core/long-running-agent.js.map +0 -1
- package/dist/agentic-flow/src/core/provider-manager.d.ts +0 -145
- package/dist/agentic-flow/src/core/provider-manager.d.ts.map +0 -1
- package/dist/agentic-flow/src/core/provider-manager.js +0 -435
- package/dist/agentic-flow/src/core/provider-manager.js.map +0 -1
- package/dist/agentic-flow/src/dashboard/demo.d.ts +0 -8
- package/dist/agentic-flow/src/dashboard/demo.d.ts.map +0 -1
- package/dist/agentic-flow/src/dashboard/demo.js +0 -222
- package/dist/agentic-flow/src/dashboard/demo.js.map +0 -1
- package/dist/agentic-flow/src/dashboard/explainability-dashboard.d.ts +0 -45
- package/dist/agentic-flow/src/dashboard/explainability-dashboard.d.ts.map +0 -1
- package/dist/agentic-flow/src/dashboard/explainability-dashboard.js +0 -330
- package/dist/agentic-flow/src/dashboard/explainability-dashboard.js.map +0 -1
- package/dist/agentic-flow/src/db/sql-adapter.d.ts +0 -25
- package/dist/agentic-flow/src/db/sql-adapter.d.ts.map +0 -1
- package/dist/agentic-flow/src/db/sql-adapter.js +0 -90
- package/dist/agentic-flow/src/db/sql-adapter.js.map +0 -1
- package/dist/agentic-flow/src/examples/multi-agent-orchestration.d.ts +0 -3
- package/dist/agentic-flow/src/examples/multi-agent-orchestration.d.ts.map +0 -1
- package/dist/agentic-flow/src/examples/multi-agent-orchestration.js +0 -46
- package/dist/agentic-flow/src/examples/multi-agent-orchestration.js.map +0 -1
- package/dist/agentic-flow/src/examples/use-goal-planner.d.ts +0 -3
- package/dist/agentic-flow/src/examples/use-goal-planner.d.ts.map +0 -1
- package/dist/agentic-flow/src/examples/use-goal-planner.js +0 -53
- package/dist/agentic-flow/src/examples/use-goal-planner.js.map +0 -1
- package/dist/agentic-flow/src/examples/use-provider-fallback.d.ts +0 -13
- package/dist/agentic-flow/src/examples/use-provider-fallback.d.ts.map +0 -1
- package/dist/agentic-flow/src/examples/use-provider-fallback.js +0 -177
- package/dist/agentic-flow/src/examples/use-provider-fallback.js.map +0 -1
- package/dist/agentic-flow/src/federation/EphemeralAgent.d.ts +0 -84
- package/dist/agentic-flow/src/federation/EphemeralAgent.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/EphemeralAgent.js +0 -259
- package/dist/agentic-flow/src/federation/EphemeralAgent.js.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHub.d.ts +0 -89
- package/dist/agentic-flow/src/federation/FederationHub.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHub.js +0 -284
- package/dist/agentic-flow/src/federation/FederationHub.js.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHubClient.d.ts +0 -70
- package/dist/agentic-flow/src/federation/FederationHubClient.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHubClient.js +0 -213
- package/dist/agentic-flow/src/federation/FederationHubClient.js.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHubServer.d.ts +0 -100
- package/dist/agentic-flow/src/federation/FederationHubServer.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/FederationHubServer.js +0 -437
- package/dist/agentic-flow/src/federation/FederationHubServer.js.map +0 -1
- package/dist/agentic-flow/src/federation/SecurityManager.d.ts +0 -80
- package/dist/agentic-flow/src/federation/SecurityManager.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/SecurityManager.js +0 -192
- package/dist/agentic-flow/src/federation/SecurityManager.js.map +0 -1
- package/dist/agentic-flow/src/federation/debug/agent-debug-stream.d.ts +0 -171
- package/dist/agentic-flow/src/federation/debug/agent-debug-stream.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/debug/agent-debug-stream.js +0 -475
- package/dist/agentic-flow/src/federation/debug/agent-debug-stream.js.map +0 -1
- package/dist/agentic-flow/src/federation/debug/debug-stream.d.ts +0 -157
- package/dist/agentic-flow/src/federation/debug/debug-stream.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/debug/debug-stream.js +0 -420
- package/dist/agentic-flow/src/federation/debug/debug-stream.js.map +0 -1
- package/dist/agentic-flow/src/federation/index.d.ts +0 -13
- package/dist/agentic-flow/src/federation/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/index.js +0 -13
- package/dist/agentic-flow/src/federation/index.js.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/realtime-federation.d.ts +0 -144
- package/dist/agentic-flow/src/federation/integrations/realtime-federation.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/realtime-federation.js +0 -405
- package/dist/agentic-flow/src/federation/integrations/realtime-federation.js.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter-debug.d.ts +0 -91
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter-debug.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter-debug.js +0 -401
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter-debug.js.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter.d.ts +0 -89
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter.d.ts.map +0 -1
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter.js +0 -259
- package/dist/agentic-flow/src/federation/integrations/supabase-adapter.js.map +0 -1
- package/dist/agentic-flow/src/health.d.ts +0 -28
- package/dist/agentic-flow/src/health.d.ts.map +0 -1
- package/dist/agentic-flow/src/health.js +0 -112
- package/dist/agentic-flow/src/health.js.map +0 -1
- package/dist/agentic-flow/src/hooks/parallel-validation.d.ts +0 -51
- package/dist/agentic-flow/src/hooks/parallel-validation.d.ts.map +0 -1
- package/dist/agentic-flow/src/hooks/parallel-validation.js +0 -167
- package/dist/agentic-flow/src/hooks/parallel-validation.js.map +0 -1
- package/dist/agentic-flow/src/hooks/swarm-learning-optimizer.d.ts +0 -89
- package/dist/agentic-flow/src/hooks/swarm-learning-optimizer.d.ts.map +0 -1
- package/dist/agentic-flow/src/hooks/swarm-learning-optimizer.js +0 -351
- package/dist/agentic-flow/src/hooks/swarm-learning-optimizer.js.map +0 -1
- package/dist/agentic-flow/src/index.d.ts +0 -4
- package/dist/agentic-flow/src/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/index.js +0 -210
- package/dist/agentic-flow/src/index.js.map +0 -1
- package/dist/agentic-flow/src/mcp/claudeFlowSdkServer.d.ts +0 -6
- package/dist/agentic-flow/src/mcp/claudeFlowSdkServer.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/claudeFlowSdkServer.js +0 -203
- package/dist/agentic-flow/src/mcp/claudeFlowSdkServer.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/claude-flow-sdk.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/servers/claude-flow-sdk.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/claude-flow-sdk.js +0 -199
- package/dist/agentic-flow/src/mcp/fastmcp/servers/claude-flow-sdk.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-sse.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-sse.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-sse.js +0 -374
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-sse.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-streaming-updated.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-streaming-updated.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-streaming-updated.js +0 -422
- package/dist/agentic-flow/src/mcp/fastmcp/servers/http-streaming-updated.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/poc-stdio.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/servers/poc-stdio.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/poc-stdio.js +0 -83
- package/dist/agentic-flow/src/mcp/fastmcp/servers/poc-stdio.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/stdio-full.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/servers/stdio-full.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/servers/stdio-full.js +0 -836
- package/dist/agentic-flow/src/mcp/fastmcp/servers/stdio-full.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-agent.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-agent.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-agent.js +0 -108
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-agent.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-command.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-command.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-command.js +0 -118
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/add-command.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/execute.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/execute.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/execute.js +0 -57
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/execute.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/list.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/list.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/list.js +0 -83
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/list.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/parallel.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/parallel.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/parallel.js +0 -64
- package/dist/agentic-flow/src/mcp/fastmcp/tools/agent/parallel.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/attention-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/attention-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/attention-tools.js +0 -313
- package/dist/agentic-flow/src/mcp/fastmcp/tools/attention-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/autopilot-tools.d.ts +0 -9
- package/dist/agentic-flow/src/mcp/fastmcp/tools/autopilot-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/autopilot-tools.js +0 -463
- package/dist/agentic-flow/src/mcp/fastmcp/tools/autopilot-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/consensus-tools.d.ts +0 -11
- package/dist/agentic-flow/src/mcp/fastmcp/tools/consensus-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/consensus-tools.js +0 -333
- package/dist/agentic-flow/src/mcp/fastmcp/tools/consensus-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/cost-optimizer-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/cost-optimizer-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/cost-optimizer-tools.js +0 -192
- package/dist/agentic-flow/src/mcp/fastmcp/tools/cost-optimizer-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/daa-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/daa-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/daa-tools.js +0 -468
- package/dist/agentic-flow/src/mcp/fastmcp/tools/daa-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/explainability-tools.d.ts +0 -555
- package/dist/agentic-flow/src/mcp/fastmcp/tools/explainability-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/explainability-tools.js +0 -404
- package/dist/agentic-flow/src/mcp/fastmcp/tools/explainability-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/github-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/github-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/github-tools.js +0 -153
- package/dist/agentic-flow/src/mcp/fastmcp/tools/github-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/gnn-tools.d.ts +0 -996
- package/dist/agentic-flow/src/mcp/fastmcp/tools/gnn-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/gnn-tools.js +0 -293
- package/dist/agentic-flow/src/mcp/fastmcp/tools/gnn-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/hidden-controllers.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/hidden-controllers.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/hidden-controllers.js +0 -533
- package/dist/agentic-flow/src/mcp/fastmcp/tools/hidden-controllers.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/infrastructure-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/infrastructure-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/infrastructure-tools.js +0 -263
- package/dist/agentic-flow/src/mcp/fastmcp/tools/infrastructure-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/memory-tools.d.ts +0 -38
- package/dist/agentic-flow/src/mcp/fastmcp/tools/memory-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/memory-tools.js +0 -302
- package/dist/agentic-flow/src/mcp/fastmcp/tools/memory-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/neural-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/neural-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/neural-tools.js +0 -162
- package/dist/agentic-flow/src/mcp/fastmcp/tools/neural-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/performance-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/performance-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/performance-tools.js +0 -569
- package/dist/agentic-flow/src/mcp/fastmcp/tools/performance-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quantization-tools.d.ts +0 -7
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quantization-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quantization-tools.js +0 -325
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quantization-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quic-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quic-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quic-tools.js +0 -424
- package/dist/agentic-flow/src/mcp/fastmcp/tools/quic-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/ruvector-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/ruvector-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/ruvector-tools.js +0 -145
- package/dist/agentic-flow/src/mcp/fastmcp/tools/ruvector-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/rvf-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/rvf-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/rvf-tools.js +0 -447
- package/dist/agentic-flow/src/mcp/fastmcp/tools/rvf-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/session-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/session-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/session-tools.js +0 -170
- package/dist/agentic-flow/src/mcp/fastmcp/tools/session-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-rvf-tools.d.ts +0 -2
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-rvf-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-rvf-tools.js +0 -216
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-rvf-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-tools.d.ts +0 -111
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-tools.js +0 -585
- package/dist/agentic-flow/src/mcp/fastmcp/tools/sona-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/streaming-tools.d.ts +0 -19
- package/dist/agentic-flow/src/mcp/fastmcp/tools/streaming-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/streaming-tools.js +0 -470
- package/dist/agentic-flow/src/mcp/fastmcp/tools/streaming-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/init.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/init.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/init.js +0 -42
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/init.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/orchestrate.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/orchestrate.js +0 -48
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/orchestrate.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/spawn.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/spawn.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/spawn.js +0 -62
- package/dist/agentic-flow/src/mcp/fastmcp/tools/swarm/spawn.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/workflow-tools.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/tools/workflow-tools.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/tools/workflow-tools.js +0 -452
- package/dist/agentic-flow/src/mcp/fastmcp/tools/workflow-tools.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/types/index.d.ts +0 -33
- package/dist/agentic-flow/src/mcp/fastmcp/types/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp/types/index.js +0 -3
- package/dist/agentic-flow/src/mcp/fastmcp/types/index.js.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp-fixes.d.ts +0 -13
- package/dist/agentic-flow/src/mcp/fastmcp-fixes.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/fastmcp-fixes.js +0 -14
- package/dist/agentic-flow/src/mcp/fastmcp-fixes.js.map +0 -1
- package/dist/agentic-flow/src/mcp/middleware/apply-rate-limit.js +0 -88
- package/dist/agentic-flow/src/mcp/middleware/apply-rate-limit.js.map +0 -1
- package/dist/agentic-flow/src/mcp/middleware/rate-limiter.d.ts +0 -97
- package/dist/agentic-flow/src/mcp/middleware/rate-limiter.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/middleware/rate-limiter.js +0 -166
- package/dist/agentic-flow/src/mcp/middleware/rate-limiter.js.map +0 -1
- package/dist/agentic-flow/src/mcp/standalone-stdio-fixed.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/standalone-stdio-fixed.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/standalone-stdio-fixed.js +0 -27
- package/dist/agentic-flow/src/mcp/standalone-stdio-fixed.js.map +0 -1
- package/dist/agentic-flow/src/mcp/standalone-stdio.d.ts +0 -3
- package/dist/agentic-flow/src/mcp/standalone-stdio.d.ts.map +0 -1
- package/dist/agentic-flow/src/mcp/standalone-stdio.js +0 -838
- package/dist/agentic-flow/src/mcp/standalone-stdio.js.map +0 -1
- package/dist/agentic-flow/src/memory/SharedMemoryPool.d.ts +0 -129
- package/dist/agentic-flow/src/memory/SharedMemoryPool.d.ts.map +0 -1
- package/dist/agentic-flow/src/memory/SharedMemoryPool.js +0 -243
- package/dist/agentic-flow/src/memory/SharedMemoryPool.js.map +0 -1
- package/dist/agentic-flow/src/memory/index.d.ts +0 -8
- package/dist/agentic-flow/src/memory/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/memory/index.js +0 -7
- package/dist/agentic-flow/src/memory/index.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/index.d.ts +0 -11
- package/dist/agentic-flow/src/orchestration/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/index.js +0 -10
- package/dist/agentic-flow/src/orchestration/index.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/memory-plane-types.d.ts +0 -23
- package/dist/agentic-flow/src/orchestration/memory-plane-types.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/memory-plane-types.js +0 -5
- package/dist/agentic-flow/src/orchestration/memory-plane-types.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/memory-plane.d.ts +0 -41
- package/dist/agentic-flow/src/orchestration/memory-plane.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/memory-plane.js +0 -84
- package/dist/agentic-flow/src/orchestration/memory-plane.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-client.d.ts +0 -104
- package/dist/agentic-flow/src/orchestration/orchestration-client.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-client.js +0 -94
- package/dist/agentic-flow/src/orchestration/orchestration-client.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-runtime.d.ts +0 -26
- package/dist/agentic-flow/src/orchestration/orchestration-runtime.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-runtime.js +0 -78
- package/dist/agentic-flow/src/orchestration/orchestration-runtime.js.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-types.d.ts +0 -124
- package/dist/agentic-flow/src/orchestration/orchestration-types.d.ts.map +0 -1
- package/dist/agentic-flow/src/orchestration/orchestration-types.js +0 -7
- package/dist/agentic-flow/src/orchestration/orchestration-types.js.map +0 -1
- package/dist/agentic-flow/src/proxy/adaptive-proxy.d.ts +0 -51
- package/dist/agentic-flow/src/proxy/adaptive-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/adaptive-proxy.js +0 -225
- package/dist/agentic-flow/src/proxy/adaptive-proxy.js.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-gemini.d.ts +0 -20
- package/dist/agentic-flow/src/proxy/anthropic-to-gemini.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-gemini.js +0 -446
- package/dist/agentic-flow/src/proxy/anthropic-to-gemini.js.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-onnx.d.ts +0 -17
- package/dist/agentic-flow/src/proxy/anthropic-to-onnx.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-onnx.js +0 -214
- package/dist/agentic-flow/src/proxy/anthropic-to-onnx.js.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-openrouter.d.ts +0 -28
- package/dist/agentic-flow/src/proxy/anthropic-to-openrouter.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-openrouter.js +0 -623
- package/dist/agentic-flow/src/proxy/anthropic-to-openrouter.js.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-requesty.d.ts +0 -33
- package/dist/agentic-flow/src/proxy/anthropic-to-requesty.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/anthropic-to-requesty.js +0 -712
- package/dist/agentic-flow/src/proxy/anthropic-to-requesty.js.map +0 -1
- package/dist/agentic-flow/src/proxy/http2-proxy-optimized.d.ts +0 -63
- package/dist/agentic-flow/src/proxy/http2-proxy-optimized.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/http2-proxy-optimized.js +0 -192
- package/dist/agentic-flow/src/proxy/http2-proxy-optimized.js.map +0 -1
- package/dist/agentic-flow/src/proxy/http2-proxy.d.ts +0 -43
- package/dist/agentic-flow/src/proxy/http2-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/http2-proxy.js +0 -382
- package/dist/agentic-flow/src/proxy/http2-proxy.js.map +0 -1
- package/dist/agentic-flow/src/proxy/http3-proxy.d.ts +0 -18
- package/dist/agentic-flow/src/proxy/http3-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/http3-proxy.js +0 -52
- package/dist/agentic-flow/src/proxy/http3-proxy.js.map +0 -1
- package/dist/agentic-flow/src/proxy/provider-instructions.d.ts +0 -37
- package/dist/agentic-flow/src/proxy/provider-instructions.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/provider-instructions.js +0 -347
- package/dist/agentic-flow/src/proxy/provider-instructions.js.map +0 -1
- package/dist/agentic-flow/src/proxy/quic-proxy.d.ts +0 -58
- package/dist/agentic-flow/src/proxy/quic-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/quic-proxy.js +0 -236
- package/dist/agentic-flow/src/proxy/quic-proxy.js.map +0 -1
- package/dist/agentic-flow/src/proxy/tool-emulation.d.ts +0 -121
- package/dist/agentic-flow/src/proxy/tool-emulation.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/tool-emulation.js +0 -366
- package/dist/agentic-flow/src/proxy/tool-emulation.js.map +0 -1
- package/dist/agentic-flow/src/proxy/websocket-proxy.d.ts +0 -39
- package/dist/agentic-flow/src/proxy/websocket-proxy.d.ts.map +0 -1
- package/dist/agentic-flow/src/proxy/websocket-proxy.js +0 -407
- package/dist/agentic-flow/src/proxy/websocket-proxy.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.d.ts +0 -120
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.js +0 -240
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.d.ts +0 -99
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.js +0 -306
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/backend-selector.d.ts +0 -80
- package/dist/agentic-flow/src/reasoningbank/backend-selector.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/backend-selector.js +0 -148
- package/dist/agentic-flow/src/reasoningbank/backend-selector.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/benchmark.d.ts +0 -14
- package/dist/agentic-flow/src/reasoningbank/benchmark.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/benchmark.js +0 -334
- package/dist/agentic-flow/src/reasoningbank/benchmark.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/config/reasoningbank-types.d.ts +0 -57
- package/dist/agentic-flow/src/reasoningbank/config/reasoningbank-types.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/config/reasoningbank-types.js +0 -5
- package/dist/agentic-flow/src/reasoningbank/config/reasoningbank-types.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/consolidate.d.ts +0 -21
- package/dist/agentic-flow/src/reasoningbank/core/consolidate.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/consolidate.js +0 -140
- package/dist/agentic-flow/src/reasoningbank/core/consolidate.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/distill.d.ts +0 -22
- package/dist/agentic-flow/src/reasoningbank/core/distill.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/distill.js +0 -169
- package/dist/agentic-flow/src/reasoningbank/core/distill.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/judge.d.ts +0 -17
- package/dist/agentic-flow/src/reasoningbank/core/judge.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/judge.js +0 -138
- package/dist/agentic-flow/src/reasoningbank/core/judge.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/matts.d.ts +0 -46
- package/dist/agentic-flow/src/reasoningbank/core/matts.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/matts.js +0 -237
- package/dist/agentic-flow/src/reasoningbank/core/matts.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/retrieve.d.ts +0 -35
- package/dist/agentic-flow/src/reasoningbank/core/retrieve.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/core/retrieve.js +0 -87
- package/dist/agentic-flow/src/reasoningbank/core/retrieve.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/db/queries.d.ts +0 -88
- package/dist/agentic-flow/src/reasoningbank/db/queries.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/db/queries.js +0 -340
- package/dist/agentic-flow/src/reasoningbank/db/queries.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/db/schema.d.ts +0 -81
- package/dist/agentic-flow/src/reasoningbank/db/schema.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/db/schema.js +0 -5
- package/dist/agentic-flow/src/reasoningbank/db/schema.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/demo-comparison.d.ts +0 -10
- package/dist/agentic-flow/src/reasoningbank/demo-comparison.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/demo-comparison.js +0 -502
- package/dist/agentic-flow/src/reasoningbank/demo-comparison.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/hooks/post-task.d.ts +0 -9
- package/dist/agentic-flow/src/reasoningbank/hooks/post-task.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/hooks/post-task.js +0 -110
- package/dist/agentic-flow/src/reasoningbank/hooks/post-task.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/hooks/pre-task.d.ts +0 -9
- package/dist/agentic-flow/src/reasoningbank/hooks/pre-task.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/hooks/pre-task.js +0 -69
- package/dist/agentic-flow/src/reasoningbank/hooks/pre-task.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/index-new.d.ts +0 -49
- package/dist/agentic-flow/src/reasoningbank/index-new.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/index-new.js +0 -88
- package/dist/agentic-flow/src/reasoningbank/index-new.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/index.d.ts +0 -51
- package/dist/agentic-flow/src/reasoningbank/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/index.js +0 -91
- package/dist/agentic-flow/src/reasoningbank/index.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-integration.d.ts +0 -7
- package/dist/agentic-flow/src/reasoningbank/test-integration.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-integration.js +0 -91
- package/dist/agentic-flow/src/reasoningbank/test-integration.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-retrieval.d.ts +0 -6
- package/dist/agentic-flow/src/reasoningbank/test-retrieval.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-retrieval.js +0 -177
- package/dist/agentic-flow/src/reasoningbank/test-retrieval.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-validation.d.ts +0 -7
- package/dist/agentic-flow/src/reasoningbank/test-validation.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/test-validation.js +0 -173
- package/dist/agentic-flow/src/reasoningbank/test-validation.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/types/index.d.ts +0 -123
- package/dist/agentic-flow/src/reasoningbank/types/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/types/index.js +0 -6
- package/dist/agentic-flow/src/reasoningbank/types/index.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/config.d.ts +0 -61
- package/dist/agentic-flow/src/reasoningbank/utils/config.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/config.js +0 -170
- package/dist/agentic-flow/src/reasoningbank/utils/config.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/embeddings.d.ts +0 -21
- package/dist/agentic-flow/src/reasoningbank/utils/embeddings.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/embeddings.js +0 -156
- package/dist/agentic-flow/src/reasoningbank/utils/embeddings.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/mmr.d.ts +0 -23
- package/dist/agentic-flow/src/reasoningbank/utils/mmr.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/mmr.js +0 -65
- package/dist/agentic-flow/src/reasoningbank/utils/mmr.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/pii-scrubber.d.ts +0 -46
- package/dist/agentic-flow/src/reasoningbank/utils/pii-scrubber.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/utils/pii-scrubber.js +0 -99
- package/dist/agentic-flow/src/reasoningbank/utils/pii-scrubber.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/wasm-adapter.d.ts +0 -104
- package/dist/agentic-flow/src/reasoningbank/wasm-adapter.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/wasm-adapter.js +0 -125
- package/dist/agentic-flow/src/reasoningbank/wasm-adapter.js.map +0 -1
- package/dist/agentic-flow/src/router/model-mapping.d.ts +0 -31
- package/dist/agentic-flow/src/router/model-mapping.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/model-mapping.js +0 -132
- package/dist/agentic-flow/src/router/model-mapping.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/anthropic.d.ts +0 -17
- package/dist/agentic-flow/src/router/providers/anthropic.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/anthropic.js +0 -98
- package/dist/agentic-flow/src/router/providers/anthropic.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/gemini.d.ts +0 -17
- package/dist/agentic-flow/src/router/providers/gemini.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/gemini.js +0 -104
- package/dist/agentic-flow/src/router/providers/gemini.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-local-optimized.d.ts +0 -71
- package/dist/agentic-flow/src/router/providers/onnx-local-optimized.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-local-optimized.js +0 -168
- package/dist/agentic-flow/src/router/providers/onnx-local-optimized.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-local.d.ts +0 -75
- package/dist/agentic-flow/src/router/providers/onnx-local.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-local.js +0 -295
- package/dist/agentic-flow/src/router/providers/onnx-local.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-phi4.d.ts +0 -64
- package/dist/agentic-flow/src/router/providers/onnx-phi4.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx-phi4.js +0 -191
- package/dist/agentic-flow/src/router/providers/onnx-phi4.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx.d.ts +0 -65
- package/dist/agentic-flow/src/router/providers/onnx.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/onnx.js +0 -265
- package/dist/agentic-flow/src/router/providers/onnx.js.map +0 -1
- package/dist/agentic-flow/src/router/providers/openrouter.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/providers/openrouter.js +0 -246
- package/dist/agentic-flow/src/router/providers/openrouter.js.map +0 -1
- package/dist/agentic-flow/src/router/router.d.ts +0 -26
- package/dist/agentic-flow/src/router/router.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/router.js +0 -350
- package/dist/agentic-flow/src/router/router.js.map +0 -1
- package/dist/agentic-flow/src/router/test-integration.d.ts +0 -13
- package/dist/agentic-flow/src/router/test-integration.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-integration.js +0 -141
- package/dist/agentic-flow/src/router/test-integration.js.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-benchmark.d.ts +0 -7
- package/dist/agentic-flow/src/router/test-onnx-benchmark.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-benchmark.js +0 -146
- package/dist/agentic-flow/src/router/test-onnx-benchmark.js.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-integration.d.ts +0 -8
- package/dist/agentic-flow/src/router/test-onnx-integration.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-integration.js +0 -129
- package/dist/agentic-flow/src/router/test-onnx-integration.js.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-local.d.ts +0 -6
- package/dist/agentic-flow/src/router/test-onnx-local.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx-local.js +0 -38
- package/dist/agentic-flow/src/router/test-onnx-local.js.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx.d.ts +0 -7
- package/dist/agentic-flow/src/router/test-onnx.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-onnx.js +0 -149
- package/dist/agentic-flow/src/router/test-onnx.js.map +0 -1
- package/dist/agentic-flow/src/router/test-openrouter.d.ts +0 -3
- package/dist/agentic-flow/src/router/test-openrouter.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-openrouter.js +0 -122
- package/dist/agentic-flow/src/router/test-openrouter.js.map +0 -1
- package/dist/agentic-flow/src/router/test-phi4.d.ts +0 -6
- package/dist/agentic-flow/src/router/test-phi4.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/test-phi4.js +0 -138
- package/dist/agentic-flow/src/router/test-phi4.js.map +0 -1
- package/dist/agentic-flow/src/router/types.d.ts +0 -209
- package/dist/agentic-flow/src/router/types.d.ts.map +0 -1
- package/dist/agentic-flow/src/router/types.js +0 -3
- package/dist/agentic-flow/src/router/types.js.map +0 -1
- package/dist/agentic-flow/src/sdk/index.d.ts +0 -14
- package/dist/agentic-flow/src/sdk/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/sdk/index.js +0 -27
- package/dist/agentic-flow/src/sdk/index.js.map +0 -1
- package/dist/agentic-flow/src/security/index.d.ts +0 -13
- package/dist/agentic-flow/src/security/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/security/index.js +0 -14
- package/dist/agentic-flow/src/security/index.js.map +0 -1
- package/dist/agentic-flow/src/security/input-validation.d.ts +0 -60
- package/dist/agentic-flow/src/security/input-validation.d.ts.map +0 -1
- package/dist/agentic-flow/src/security/input-validation.js +0 -192
- package/dist/agentic-flow/src/security/input-validation.js.map +0 -1
- package/dist/agentic-flow/src/security/path-validator.d.ts +0 -47
- package/dist/agentic-flow/src/security/path-validator.d.ts.map +0 -1
- package/dist/agentic-flow/src/security/path-validator.js +0 -144
- package/dist/agentic-flow/src/security/path-validator.js.map +0 -1
- package/dist/agentic-flow/src/security/rate-limiter.d.ts +0 -68
- package/dist/agentic-flow/src/security/rate-limiter.d.ts.map +0 -1
- package/dist/agentic-flow/src/security/rate-limiter.js +0 -133
- package/dist/agentic-flow/src/security/rate-limiter.js.map +0 -1
- package/dist/agentic-flow/src/security/secret-redaction.d.ts +0 -39
- package/dist/agentic-flow/src/security/secret-redaction.d.ts.map +0 -1
- package/dist/agentic-flow/src/security/secret-redaction.js +0 -128
- package/dist/agentic-flow/src/security/secret-redaction.js.map +0 -1
- package/dist/agentic-flow/src/services/agentdb-phase4-methods.d.ts +0 -70
- package/dist/agentic-flow/src/services/agentdb-phase4-methods.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/agentdb-phase4-methods.js +0 -129
- package/dist/agentic-flow/src/services/agentdb-phase4-methods.js.map +0 -1
- package/dist/agentic-flow/src/services/agentdb-service.d.ts +0 -347
- package/dist/agentic-flow/src/services/agentdb-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/agentdb-service.js +0 -1419
- package/dist/agentic-flow/src/services/agentdb-service.js.map +0 -1
- package/dist/agentic-flow/src/services/consensus-service.d.ts +0 -125
- package/dist/agentic-flow/src/services/consensus-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/consensus-service.js +0 -399
- package/dist/agentic-flow/src/services/consensus-service.js.map +0 -1
- package/dist/agentic-flow/src/services/cost-optimizer-service.d.ts +0 -95
- package/dist/agentic-flow/src/services/cost-optimizer-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/cost-optimizer-service.js +0 -244
- package/dist/agentic-flow/src/services/cost-optimizer-service.js.map +0 -1
- package/dist/agentic-flow/src/services/direct-call-bridge.d.ts +0 -72
- package/dist/agentic-flow/src/services/direct-call-bridge.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/direct-call-bridge.js +0 -180
- package/dist/agentic-flow/src/services/direct-call-bridge.js.map +0 -1
- package/dist/agentic-flow/src/services/explainability-service.d.ts +0 -182
- package/dist/agentic-flow/src/services/explainability-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/explainability-service.js +0 -417
- package/dist/agentic-flow/src/services/explainability-service.js.map +0 -1
- package/dist/agentic-flow/src/services/github-service.d.ts +0 -106
- package/dist/agentic-flow/src/services/github-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/github-service.js +0 -295
- package/dist/agentic-flow/src/services/github-service.js.map +0 -1
- package/dist/agentic-flow/src/services/gnn-router-service.d.ts +0 -151
- package/dist/agentic-flow/src/services/gnn-router-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/gnn-router-service.js +0 -373
- package/dist/agentic-flow/src/services/gnn-router-service.js.map +0 -1
- package/dist/agentic-flow/src/services/hook-service.d.ts +0 -86
- package/dist/agentic-flow/src/services/hook-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/hook-service.js +0 -234
- package/dist/agentic-flow/src/services/hook-service.js.map +0 -1
- package/dist/agentic-flow/src/services/quantization-service.d.ts +0 -167
- package/dist/agentic-flow/src/services/quantization-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/quantization-service.js +0 -498
- package/dist/agentic-flow/src/services/quantization-service.js.map +0 -1
- package/dist/agentic-flow/src/services/rl-training-service.d.ts +0 -233
- package/dist/agentic-flow/src/services/rl-training-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/rl-training-service.js +0 -401
- package/dist/agentic-flow/src/services/rl-training-service.js.map +0 -1
- package/dist/agentic-flow/src/services/ruvector-service.d.ts +0 -95
- package/dist/agentic-flow/src/services/ruvector-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/ruvector-service.js +0 -210
- package/dist/agentic-flow/src/services/ruvector-service.js.map +0 -1
- package/dist/agentic-flow/src/services/session-service.d.ts +0 -24
- package/dist/agentic-flow/src/services/session-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/session-service.js +0 -92
- package/dist/agentic-flow/src/services/session-service.js.map +0 -1
- package/dist/agentic-flow/src/services/sona-rvf-service.d.ts +0 -80
- package/dist/agentic-flow/src/services/sona-rvf-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/sona-rvf-service.js +0 -169
- package/dist/agentic-flow/src/services/sona-rvf-service.js.map +0 -1
- package/dist/agentic-flow/src/services/streaming-service.d.ts +0 -113
- package/dist/agentic-flow/src/services/streaming-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/streaming-service.js +0 -495
- package/dist/agentic-flow/src/services/streaming-service.js.map +0 -1
- package/dist/agentic-flow/src/services/swarm-service.d.ts +0 -106
- package/dist/agentic-flow/src/services/swarm-service.d.ts.map +0 -1
- package/dist/agentic-flow/src/services/swarm-service.js +0 -321
- package/dist/agentic-flow/src/services/swarm-service.js.map +0 -1
- package/dist/agentic-flow/src/swarm/index.d.ts +0 -51
- package/dist/agentic-flow/src/swarm/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/swarm/index.js +0 -134
- package/dist/agentic-flow/src/swarm/index.js.map +0 -1
- package/dist/agentic-flow/src/swarm/quic-coordinator.d.ts +0 -149
- package/dist/agentic-flow/src/swarm/quic-coordinator.d.ts.map +0 -1
- package/dist/agentic-flow/src/swarm/quic-coordinator.js +0 -461
- package/dist/agentic-flow/src/swarm/quic-coordinator.js.map +0 -1
- package/dist/agentic-flow/src/swarm/transport-router.d.ts +0 -124
- package/dist/agentic-flow/src/swarm/transport-router.d.ts.map +0 -1
- package/dist/agentic-flow/src/swarm/transport-router.js +0 -375
- package/dist/agentic-flow/src/swarm/transport-router.js.map +0 -1
- package/dist/agentic-flow/src/transport/index.d.ts +0 -2
- package/dist/agentic-flow/src/transport/index.d.ts.map +0 -1
- package/dist/agentic-flow/src/transport/index.js +0 -3
- package/dist/agentic-flow/src/transport/index.js.map +0 -1
- package/dist/agentic-flow/src/transport/quic-handshake.d.ts +0 -66
- package/dist/agentic-flow/src/transport/quic-handshake.d.ts.map +0 -1
- package/dist/agentic-flow/src/transport/quic-handshake.js +0 -199
- package/dist/agentic-flow/src/transport/quic-handshake.js.map +0 -1
- package/dist/agentic-flow/src/transport/quic.d.ts +0 -184
- package/dist/agentic-flow/src/transport/quic.d.ts.map +0 -1
- package/dist/agentic-flow/src/transport/quic.js +0 -454
- package/dist/agentic-flow/src/transport/quic.js.map +0 -1
- package/dist/agentic-flow/src/utils/agentBoosterPreprocessor.d.ts +0 -76
- package/dist/agentic-flow/src/utils/agentBoosterPreprocessor.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/agentBoosterPreprocessor.js +0 -289
- package/dist/agentic-flow/src/utils/agentBoosterPreprocessor.js.map +0 -1
- package/dist/agentic-flow/src/utils/agentLoader.d.ts +0 -22
- package/dist/agentic-flow/src/utils/agentLoader.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/agentLoader.js +0 -162
- package/dist/agentic-flow/src/utils/agentLoader.js.map +0 -1
- package/dist/agentic-flow/src/utils/agentdb-runtime-patch.d.ts +0 -28
- package/dist/agentic-flow/src/utils/agentdb-runtime-patch.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/agentdb-runtime-patch.js +0 -174
- package/dist/agentic-flow/src/utils/agentdb-runtime-patch.js.map +0 -1
- package/dist/agentic-flow/src/utils/auth.d.ts +0 -13
- package/dist/agentic-flow/src/utils/auth.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/auth.js +0 -53
- package/dist/agentic-flow/src/utils/auth.js.map +0 -1
- package/dist/agentic-flow/src/utils/cli.d.ts +0 -31
- package/dist/agentic-flow/src/utils/cli.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/cli.js +0 -344
- package/dist/agentic-flow/src/utils/cli.js.map +0 -1
- package/dist/agentic-flow/src/utils/compression-middleware.d.ts +0 -55
- package/dist/agentic-flow/src/utils/compression-middleware.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/compression-middleware.js +0 -150
- package/dist/agentic-flow/src/utils/compression-middleware.js.map +0 -1
- package/dist/agentic-flow/src/utils/connection-pool.d.ts +0 -30
- package/dist/agentic-flow/src/utils/connection-pool.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/connection-pool.js +0 -185
- package/dist/agentic-flow/src/utils/connection-pool.js.map +0 -1
- package/dist/agentic-flow/src/utils/logger.d.ts +0 -19
- package/dist/agentic-flow/src/utils/logger.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/logger.js +0 -58
- package/dist/agentic-flow/src/utils/logger.js.map +0 -1
- package/dist/agentic-flow/src/utils/math.d.ts +0 -12
- package/dist/agentic-flow/src/utils/math.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/math.js +0 -14
- package/dist/agentic-flow/src/utils/math.js.map +0 -1
- package/dist/agentic-flow/src/utils/mcpCommands.d.ts +0 -2
- package/dist/agentic-flow/src/utils/mcpCommands.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/mcpCommands.js +0 -215
- package/dist/agentic-flow/src/utils/mcpCommands.js.map +0 -1
- package/dist/agentic-flow/src/utils/model-downloader.d.ts +0 -63
- package/dist/agentic-flow/src/utils/model-downloader.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/model-downloader.js +0 -183
- package/dist/agentic-flow/src/utils/model-downloader.js.map +0 -1
- package/dist/agentic-flow/src/utils/modelCapabilities.d.ts +0 -30
- package/dist/agentic-flow/src/utils/modelCapabilities.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/modelCapabilities.js +0 -277
- package/dist/agentic-flow/src/utils/modelCapabilities.js.map +0 -1
- package/dist/agentic-flow/src/utils/modelOptimizer.d.ts +0 -207
- package/dist/agentic-flow/src/utils/modelOptimizer.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/modelOptimizer.js +0 -415
- package/dist/agentic-flow/src/utils/modelOptimizer.js.map +0 -1
- package/dist/agentic-flow/src/utils/rate-limiter.d.ts +0 -17
- package/dist/agentic-flow/src/utils/rate-limiter.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/rate-limiter.js +0 -49
- package/dist/agentic-flow/src/utils/rate-limiter.js.map +0 -1
- package/dist/agentic-flow/src/utils/reasoningbankCommands.d.ts +0 -6
- package/dist/agentic-flow/src/utils/reasoningbankCommands.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/reasoningbankCommands.js +0 -205
- package/dist/agentic-flow/src/utils/reasoningbankCommands.js.map +0 -1
- package/dist/agentic-flow/src/utils/response-cache.d.ts +0 -94
- package/dist/agentic-flow/src/utils/response-cache.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/response-cache.js +0 -212
- package/dist/agentic-flow/src/utils/response-cache.js.map +0 -1
- package/dist/agentic-flow/src/utils/retry.d.ts +0 -9
- package/dist/agentic-flow/src/utils/retry.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/retry.js +0 -55
- package/dist/agentic-flow/src/utils/retry.js.map +0 -1
- package/dist/agentic-flow/src/utils/streaming-optimizer.d.ts +0 -37
- package/dist/agentic-flow/src/utils/streaming-optimizer.d.ts.map +0 -1
- package/dist/agentic-flow/src/utils/streaming-optimizer.js +0 -142
- package/dist/agentic-flow/src/utils/streaming-optimizer.js.map +0 -1
- package/dist/cli/autopilot-cli.d.ts +0 -8
- package/dist/cli/autopilot-cli.d.ts.map +0 -1
- package/dist/cli/autopilot-cli.js +0 -458
- package/dist/cli/autopilot-cli.js.map +0 -1
- package/dist/cli/daemon-cli.d.ts +0 -3
- package/dist/cli/daemon-cli.d.ts.map +0 -1
- package/dist/cli/daemon-cli.js +0 -225
- package/dist/cli/daemon-cli.js.map +0 -1
- package/dist/cli/doctor-cli.d.ts +0 -6
- package/dist/cli/doctor-cli.d.ts.map +0 -1
- package/dist/cli/doctor-cli.js +0 -192
- package/dist/cli/doctor-cli.js.map +0 -1
- package/dist/cli/hivemind-cli.d.ts +0 -3
- package/dist/cli/hivemind-cli.d.ts.map +0 -1
- package/dist/cli/hivemind-cli.js +0 -218
- package/dist/cli/hivemind-cli.js.map +0 -1
- package/dist/cli/hooks-cli.d.ts +0 -3
- package/dist/cli/hooks-cli.d.ts.map +0 -1
- package/dist/cli/hooks-cli.js +0 -259
- package/dist/cli/hooks-cli.js.map +0 -1
- package/dist/cli/memory-cli.d.ts +0 -2
- package/dist/cli/memory-cli.d.ts.map +0 -1
- package/dist/cli/memory-cli.js +0 -318
- package/dist/cli/memory-cli.js.map +0 -1
- package/dist/cli/session-cli.d.ts +0 -3
- package/dist/cli/session-cli.d.ts.map +0 -1
- package/dist/cli/session-cli.js +0 -259
- package/dist/cli/session-cli.js.map +0 -1
- package/dist/cli/skills-manager.js +0 -1297
- package/dist/cli/swarm-cli.d.ts +0 -6
- package/dist/cli/swarm-cli.d.ts.map +0 -1
- package/dist/cli/swarm-cli.js +0 -256
- package/dist/cli/swarm-cli.js.map +0 -1
- package/dist/cli/task-cli.d.ts +0 -6
- package/dist/cli/task-cli.d.ts.map +0 -1
- package/dist/cli/task-cli.js +0 -257
- package/dist/cli/task-cli.js.map +0 -1
- package/dist/cli/update-message.js +0 -175
- package/dist/coordination/drift-detector.d.ts +0 -86
- package/dist/coordination/drift-detector.d.ts.map +0 -1
- package/dist/coordination/drift-detector.js +0 -218
- package/dist/coordination/drift-detector.js.map +0 -1
- package/dist/coordination/graph-state-manager.d.ts +0 -69
- package/dist/coordination/graph-state-manager.d.ts.map +0 -1
- package/dist/coordination/graph-state-manager.js +0 -118
- package/dist/coordination/graph-state-manager.js.map +0 -1
- package/dist/coordination/self-improvement-pipeline.d.ts +0 -70
- package/dist/coordination/self-improvement-pipeline.d.ts.map +0 -1
- package/dist/coordination/self-improvement-pipeline.js +0 -144
- package/dist/coordination/self-improvement-pipeline.js.map +0 -1
- package/dist/coordination/swarm-completion.d.ts +0 -126
- package/dist/coordination/swarm-completion.d.ts.map +0 -1
- package/dist/coordination/swarm-completion.js +0 -368
- package/dist/coordination/swarm-completion.js.map +0 -1
- package/dist/dashboard/demo.d.ts +0 -8
- package/dist/dashboard/demo.d.ts.map +0 -1
- package/dist/dashboard/demo.js +0 -222
- package/dist/dashboard/demo.js.map +0 -1
- package/dist/dashboard/explainability-dashboard.d.ts +0 -45
- package/dist/dashboard/explainability-dashboard.d.ts.map +0 -1
- package/dist/dashboard/explainability-dashboard.js +0 -330
- package/dist/dashboard/explainability-dashboard.js.map +0 -1
- package/dist/db/sql-adapter.d.ts +0 -25
- package/dist/db/sql-adapter.d.ts.map +0 -1
- package/dist/db/sql-adapter.js +0 -90
- package/dist/db/sql-adapter.js.map +0 -1
- package/dist/mcp/fastmcp/tools/attention-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/attention-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/attention-tools.js +0 -313
- package/dist/mcp/fastmcp/tools/attention-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/autopilot-tools.d.ts +0 -9
- package/dist/mcp/fastmcp/tools/autopilot-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/autopilot-tools.js +0 -463
- package/dist/mcp/fastmcp/tools/autopilot-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/consensus-tools.d.ts +0 -11
- package/dist/mcp/fastmcp/tools/consensus-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/consensus-tools.js +0 -422
- package/dist/mcp/fastmcp/tools/consensus-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/cost-optimizer-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/cost-optimizer-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/cost-optimizer-tools.js +0 -192
- package/dist/mcp/fastmcp/tools/cost-optimizer-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/daa-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/daa-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/daa-tools.js +0 -468
- package/dist/mcp/fastmcp/tools/daa-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/explainability-tools.d.ts +0 -582
- package/dist/mcp/fastmcp/tools/explainability-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/explainability-tools.js +0 -429
- package/dist/mcp/fastmcp/tools/explainability-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/github-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/github-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/github-tools.js +0 -153
- package/dist/mcp/fastmcp/tools/github-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/gnn-tools.d.ts +0 -996
- package/dist/mcp/fastmcp/tools/gnn-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/gnn-tools.js +0 -293
- package/dist/mcp/fastmcp/tools/gnn-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/hidden-controllers.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/hidden-controllers.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/hidden-controllers.js +0 -533
- package/dist/mcp/fastmcp/tools/hidden-controllers.js.map +0 -1
- package/dist/mcp/fastmcp/tools/infrastructure-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/infrastructure-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/infrastructure-tools.js +0 -263
- package/dist/mcp/fastmcp/tools/infrastructure-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/memory-tools.d.ts +0 -38
- package/dist/mcp/fastmcp/tools/memory-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/memory-tools.js +0 -353
- package/dist/mcp/fastmcp/tools/memory-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/neural-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/neural-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/neural-tools.js +0 -162
- package/dist/mcp/fastmcp/tools/neural-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/performance-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/performance-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/performance-tools.js +0 -569
- package/dist/mcp/fastmcp/tools/performance-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/quantization-tools.d.ts +0 -7
- package/dist/mcp/fastmcp/tools/quantization-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/quantization-tools.js +0 -325
- package/dist/mcp/fastmcp/tools/quantization-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/quic-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/quic-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/quic-tools.js +0 -424
- package/dist/mcp/fastmcp/tools/quic-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/ruvector-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/ruvector-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/ruvector-tools.js +0 -145
- package/dist/mcp/fastmcp/tools/ruvector-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/rvf-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/rvf-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/rvf-tools.js +0 -447
- package/dist/mcp/fastmcp/tools/rvf-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/session-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/session-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/session-tools.js +0 -170
- package/dist/mcp/fastmcp/tools/session-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/sona-rvf-tools.d.ts +0 -2
- package/dist/mcp/fastmcp/tools/sona-rvf-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/sona-rvf-tools.js +0 -216
- package/dist/mcp/fastmcp/tools/sona-rvf-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/sona-tools.d.ts +0 -111
- package/dist/mcp/fastmcp/tools/sona-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/sona-tools.js +0 -615
- package/dist/mcp/fastmcp/tools/sona-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/streaming-tools.d.ts +0 -19
- package/dist/mcp/fastmcp/tools/streaming-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/streaming-tools.js +0 -470
- package/dist/mcp/fastmcp/tools/streaming-tools.js.map +0 -1
- package/dist/mcp/fastmcp/tools/workflow-tools.d.ts +0 -3
- package/dist/mcp/fastmcp/tools/workflow-tools.d.ts.map +0 -1
- package/dist/mcp/fastmcp/tools/workflow-tools.js +0 -452
- package/dist/mcp/fastmcp/tools/workflow-tools.js.map +0 -1
- package/dist/mcp/middleware/apply-rate-limit.js +0 -88
- package/dist/mcp/middleware/apply-rate-limit.js.map +0 -1
- package/dist/mcp/middleware/rate-limiter.d.ts +0 -97
- package/dist/mcp/middleware/rate-limiter.d.ts.map +0 -1
- package/dist/mcp/middleware/rate-limiter.js +0 -166
- package/dist/mcp/middleware/rate-limiter.js.map +0 -1
- package/dist/mcp/standalone-stdio-fixed.d.ts +0 -3
- package/dist/mcp/standalone-stdio-fixed.d.ts.map +0 -1
- package/dist/mcp/standalone-stdio-fixed.js +0 -27
- package/dist/mcp/standalone-stdio-fixed.js.map +0 -1
- package/dist/memory/index.d.ts +0 -8
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js +0 -7
- package/dist/memory/index.js.map +0 -1
- package/dist/packages/agentdb/src/backends/GraphBackend.d.ts +0 -196
- package/dist/packages/agentdb/src/backends/GraphBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/GraphBackend.js +0 -33
- package/dist/packages/agentdb/src/backends/GraphBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/LearningBackend.d.ts +0 -148
- package/dist/packages/agentdb/src/backends/LearningBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/LearningBackend.js +0 -27
- package/dist/packages/agentdb/src/backends/LearningBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/VectorBackend.d.ts +0 -121
- package/dist/packages/agentdb/src/backends/VectorBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/VectorBackend.js +0 -14
- package/dist/packages/agentdb/src/backends/VectorBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/factory.d.ts +0 -74
- package/dist/packages/agentdb/src/backends/factory.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/factory.js +0 -273
- package/dist/packages/agentdb/src/backends/factory.js.map +0 -1
- package/dist/packages/agentdb/src/backends/graph/GraphDatabaseAdapter.d.ts +0 -151
- package/dist/packages/agentdb/src/backends/graph/GraphDatabaseAdapter.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/graph/GraphDatabaseAdapter.js +0 -224
- package/dist/packages/agentdb/src/backends/graph/GraphDatabaseAdapter.js.map +0 -1
- package/dist/packages/agentdb/src/backends/hnswlib/HNSWLibBackend.d.ts +0 -92
- package/dist/packages/agentdb/src/backends/hnswlib/HNSWLibBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/hnswlib/HNSWLibBackend.js +0 -322
- package/dist/packages/agentdb/src/backends/hnswlib/HNSWLibBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
- package/dist/packages/agentdb/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/GuardedVectorBackend.js +0 -182
- package/dist/packages/agentdb/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorBackend.d.ts +0 -108
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorBackend.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorBackend.js +0 -441
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorBackend.js.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorLearning.d.ts +0 -108
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorLearning.d.ts.map +0 -1
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorLearning.js +0 -194
- package/dist/packages/agentdb/src/backends/ruvector/RuVectorLearning.js.map +0 -1
- package/dist/packages/agentdb/src/consensus/RaftConsensus.d.ts +0 -220
- package/dist/packages/agentdb/src/consensus/RaftConsensus.d.ts.map +0 -1
- package/dist/packages/agentdb/src/consensus/RaftConsensus.js +0 -762
- package/dist/packages/agentdb/src/consensus/RaftConsensus.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/AttentionService.d.ts +0 -280
- package/dist/packages/agentdb/src/controllers/AttentionService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/AttentionService.js +0 -849
- package/dist/packages/agentdb/src/controllers/AttentionService.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/CausalMemoryGraph.d.ts +0 -179
- package/dist/packages/agentdb/src/controllers/CausalMemoryGraph.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/CausalMemoryGraph.js +0 -527
- package/dist/packages/agentdb/src/controllers/CausalMemoryGraph.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/CausalRecall.d.ts +0 -135
- package/dist/packages/agentdb/src/controllers/CausalRecall.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/CausalRecall.js +0 -339
- package/dist/packages/agentdb/src/controllers/CausalRecall.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/ContextSynthesizer.d.ts +0 -65
- package/dist/packages/agentdb/src/controllers/ContextSynthesizer.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/ContextSynthesizer.js +0 -208
- package/dist/packages/agentdb/src/controllers/ContextSynthesizer.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/EmbeddingService.d.ts +0 -37
- package/dist/packages/agentdb/src/controllers/EmbeddingService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/EmbeddingService.js +0 -136
- package/dist/packages/agentdb/src/controllers/EmbeddingService.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/EnhancedEmbeddingService.d.ts +0 -46
- package/dist/packages/agentdb/src/controllers/EnhancedEmbeddingService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/EnhancedEmbeddingService.js +0 -105
- package/dist/packages/agentdb/src/controllers/EnhancedEmbeddingService.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/ExplainableRecall.d.ts +0 -193
- package/dist/packages/agentdb/src/controllers/ExplainableRecall.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/ExplainableRecall.js +0 -518
- package/dist/packages/agentdb/src/controllers/ExplainableRecall.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/HNSWIndex.d.ts +0 -128
- package/dist/packages/agentdb/src/controllers/HNSWIndex.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/HNSWIndex.js +0 -361
- package/dist/packages/agentdb/src/controllers/HNSWIndex.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/HierarchicalMemory.d.ts +0 -197
- package/dist/packages/agentdb/src/controllers/HierarchicalMemory.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/HierarchicalMemory.js +0 -519
- package/dist/packages/agentdb/src/controllers/HierarchicalMemory.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/LearningSystem.d.ts +0 -211
- package/dist/packages/agentdb/src/controllers/LearningSystem.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/LearningSystem.js +0 -1046
- package/dist/packages/agentdb/src/controllers/LearningSystem.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/MMRDiversityRanker.d.ts +0 -50
- package/dist/packages/agentdb/src/controllers/MMRDiversityRanker.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/MMRDiversityRanker.js +0 -130
- package/dist/packages/agentdb/src/controllers/MMRDiversityRanker.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/MemoryConsolidation.d.ts +0 -142
- package/dist/packages/agentdb/src/controllers/MemoryConsolidation.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/MemoryConsolidation.js +0 -479
- package/dist/packages/agentdb/src/controllers/MemoryConsolidation.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/MetadataFilter.d.ts +0 -70
- package/dist/packages/agentdb/src/controllers/MetadataFilter.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/MetadataFilter.js +0 -243
- package/dist/packages/agentdb/src/controllers/MetadataFilter.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/NightlyLearner.d.ts +0 -147
- package/dist/packages/agentdb/src/controllers/NightlyLearner.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/NightlyLearner.js +0 -520
- package/dist/packages/agentdb/src/controllers/NightlyLearner.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICClient.d.ts +0 -109
- package/dist/packages/agentdb/src/controllers/QUICClient.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICClient.js +0 -299
- package/dist/packages/agentdb/src/controllers/QUICClient.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICConnection.d.ts +0 -122
- package/dist/packages/agentdb/src/controllers/QUICConnection.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICConnection.js +0 -329
- package/dist/packages/agentdb/src/controllers/QUICConnection.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICConnectionPool.d.ts +0 -83
- package/dist/packages/agentdb/src/controllers/QUICConnectionPool.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICConnectionPool.js +0 -256
- package/dist/packages/agentdb/src/controllers/QUICConnectionPool.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICServer.d.ts +0 -121
- package/dist/packages/agentdb/src/controllers/QUICServer.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICServer.js +0 -383
- package/dist/packages/agentdb/src/controllers/QUICServer.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICStreamManager.d.ts +0 -114
- package/dist/packages/agentdb/src/controllers/QUICStreamManager.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/QUICStreamManager.js +0 -267
- package/dist/packages/agentdb/src/controllers/QUICStreamManager.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/ReasoningBank.d.ts +0 -192
- package/dist/packages/agentdb/src/controllers/ReasoningBank.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/ReasoningBank.js +0 -489
- package/dist/packages/agentdb/src/controllers/ReasoningBank.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/ReflexionMemory.d.ts +0 -124
- package/dist/packages/agentdb/src/controllers/ReflexionMemory.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/ReflexionMemory.js +0 -653
- package/dist/packages/agentdb/src/controllers/ReflexionMemory.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/SkillLibrary.d.ts +0 -146
- package/dist/packages/agentdb/src/controllers/SkillLibrary.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/SkillLibrary.js +0 -602
- package/dist/packages/agentdb/src/controllers/SkillLibrary.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/SyncCoordinator.d.ts +0 -120
- package/dist/packages/agentdb/src/controllers/SyncCoordinator.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/SyncCoordinator.js +0 -441
- package/dist/packages/agentdb/src/controllers/SyncCoordinator.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/WASMVectorSearch.d.ts +0 -120
- package/dist/packages/agentdb/src/controllers/WASMVectorSearch.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/WASMVectorSearch.js +0 -283
- package/dist/packages/agentdb/src/controllers/WASMVectorSearch.js.map +0 -1
- package/dist/packages/agentdb/src/controllers/index.d.ts +0 -59
- package/dist/packages/agentdb/src/controllers/index.d.ts.map +0 -1
- package/dist/packages/agentdb/src/controllers/index.js +0 -37
- package/dist/packages/agentdb/src/controllers/index.js.map +0 -1
- package/dist/packages/agentdb/src/core/AgentDB.d.ts +0 -39
- package/dist/packages/agentdb/src/core/AgentDB.d.ts.map +0 -1
- package/dist/packages/agentdb/src/core/AgentDB.js +0 -193
- package/dist/packages/agentdb/src/core/AgentDB.js.map +0 -1
- package/dist/packages/agentdb/src/db-fallback.d.ts +0 -26
- package/dist/packages/agentdb/src/db-fallback.d.ts.map +0 -1
- package/dist/packages/agentdb/src/db-fallback.js +0 -264
- package/dist/packages/agentdb/src/db-fallback.js.map +0 -1
- package/dist/packages/agentdb/src/index.d.ts +0 -45
- package/dist/packages/agentdb/src/index.d.ts.map +0 -1
- package/dist/packages/agentdb/src/index.js +0 -50
- package/dist/packages/agentdb/src/index.js.map +0 -1
- package/dist/packages/agentdb/src/optimizations/BatchOperations.d.ts +0 -109
- package/dist/packages/agentdb/src/optimizations/BatchOperations.d.ts.map +0 -1
- package/dist/packages/agentdb/src/optimizations/BatchOperations.js +0 -407
- package/dist/packages/agentdb/src/optimizations/BatchOperations.js.map +0 -1
- package/dist/packages/agentdb/src/optimizations/QueryOptimizer.d.ts +0 -83
- package/dist/packages/agentdb/src/optimizations/QueryOptimizer.d.ts.map +0 -1
- package/dist/packages/agentdb/src/optimizations/QueryOptimizer.js +0 -228
- package/dist/packages/agentdb/src/optimizations/QueryOptimizer.js.map +0 -1
- package/dist/packages/agentdb/src/optimizations/RVFOptimizer.d.ts +0 -226
- package/dist/packages/agentdb/src/optimizations/RVFOptimizer.d.ts.map +0 -1
- package/dist/packages/agentdb/src/optimizations/RVFOptimizer.js +0 -541
- package/dist/packages/agentdb/src/optimizations/RVFOptimizer.js.map +0 -1
- package/dist/packages/agentdb/src/security/AttestationLog.d.ts +0 -70
- package/dist/packages/agentdb/src/security/AttestationLog.d.ts.map +0 -1
- package/dist/packages/agentdb/src/security/AttestationLog.js +0 -174
- package/dist/packages/agentdb/src/security/AttestationLog.js.map +0 -1
- package/dist/packages/agentdb/src/security/MutationGuard.d.ts +0 -83
- package/dist/packages/agentdb/src/security/MutationGuard.d.ts.map +0 -1
- package/dist/packages/agentdb/src/security/MutationGuard.js +0 -364
- package/dist/packages/agentdb/src/security/MutationGuard.js.map +0 -1
- package/dist/packages/agentdb/src/security/input-validation.d.ts +0 -109
- package/dist/packages/agentdb/src/security/input-validation.d.ts.map +0 -1
- package/dist/packages/agentdb/src/security/input-validation.js +0 -398
- package/dist/packages/agentdb/src/security/input-validation.js.map +0 -1
- package/dist/packages/agentdb/src/security/validation.d.ts +0 -95
- package/dist/packages/agentdb/src/security/validation.d.ts.map +0 -1
- package/dist/packages/agentdb/src/security/validation.js +0 -315
- package/dist/packages/agentdb/src/security/validation.js.map +0 -1
- package/dist/packages/agentdb/src/services/GNNService.d.ts +0 -173
- package/dist/packages/agentdb/src/services/GNNService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/services/GNNService.js +0 -639
- package/dist/packages/agentdb/src/services/GNNService.js.map +0 -1
- package/dist/packages/agentdb/src/services/GraphTransformerService.d.ts +0 -80
- package/dist/packages/agentdb/src/services/GraphTransformerService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/services/GraphTransformerService.js +0 -369
- package/dist/packages/agentdb/src/services/GraphTransformerService.js.map +0 -1
- package/dist/packages/agentdb/src/services/LLMRouter.d.ts +0 -84
- package/dist/packages/agentdb/src/services/LLMRouter.d.ts.map +0 -1
- package/dist/packages/agentdb/src/services/LLMRouter.js +0 -306
- package/dist/packages/agentdb/src/services/LLMRouter.js.map +0 -1
- package/dist/packages/agentdb/src/services/SemanticRouter.d.ts +0 -83
- package/dist/packages/agentdb/src/services/SemanticRouter.d.ts.map +0 -1
- package/dist/packages/agentdb/src/services/SemanticRouter.js +0 -160
- package/dist/packages/agentdb/src/services/SemanticRouter.js.map +0 -1
- package/dist/packages/agentdb/src/services/SonaTrajectoryService.d.ts +0 -224
- package/dist/packages/agentdb/src/services/SonaTrajectoryService.d.ts.map +0 -1
- package/dist/packages/agentdb/src/services/SonaTrajectoryService.js +0 -539
- package/dist/packages/agentdb/src/services/SonaTrajectoryService.js.map +0 -1
- package/dist/packages/agentdb/src/utils/LegacyAttentionAdapter.d.ts +0 -93
- package/dist/packages/agentdb/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
- package/dist/packages/agentdb/src/utils/LegacyAttentionAdapter.js +0 -241
- package/dist/packages/agentdb/src/utils/LegacyAttentionAdapter.js.map +0 -1
- package/dist/packages/agentdb/src/utils/NodeIdMapper.d.ts +0 -38
- package/dist/packages/agentdb/src/utils/NodeIdMapper.d.ts.map +0 -1
- package/dist/packages/agentdb/src/utils/NodeIdMapper.js +0 -57
- package/dist/packages/agentdb/src/utils/NodeIdMapper.js.map +0 -1
- package/dist/packages/agentdb/src/utils/vector-math.d.ts +0 -29
- package/dist/packages/agentdb/src/utils/vector-math.d.ts.map +0 -1
- package/dist/packages/agentdb/src/utils/vector-math.js +0 -66
- package/dist/packages/agentdb/src/utils/vector-math.js.map +0 -1
- package/dist/proxy/http3-proxy-old.js +0 -331
- package/dist/proxy/proxy/anthropic-to-gemini.js +0 -439
- package/dist/proxy/utils/logger.js +0 -59
- package/dist/reasoningbank/agentdb-adapter.js +0 -125
- package/dist/reasoningbank/core/database.js +0 -250
- package/dist/reasoningbank/core/memory-engine.js +0 -335
- package/dist/security/index.d.ts +0 -13
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js +0 -14
- package/dist/security/index.js.map +0 -1
- package/dist/security/input-validation.d.ts +0 -60
- package/dist/security/input-validation.d.ts.map +0 -1
- package/dist/security/input-validation.js +0 -192
- package/dist/security/input-validation.js.map +0 -1
- package/dist/security/path-validator.d.ts +0 -47
- package/dist/security/path-validator.d.ts.map +0 -1
- package/dist/security/path-validator.js +0 -144
- package/dist/security/path-validator.js.map +0 -1
- package/dist/security/rate-limiter.d.ts +0 -68
- package/dist/security/rate-limiter.d.ts.map +0 -1
- package/dist/security/rate-limiter.js +0 -133
- package/dist/security/rate-limiter.js.map +0 -1
- package/dist/security/secret-redaction.d.ts +0 -39
- package/dist/security/secret-redaction.d.ts.map +0 -1
- package/dist/security/secret-redaction.js +0 -128
- package/dist/security/secret-redaction.js.map +0 -1
- package/dist/services/agentdb-phase4-methods.d.ts +0 -70
- package/dist/services/agentdb-phase4-methods.d.ts.map +0 -1
- package/dist/services/agentdb-phase4-methods.js +0 -129
- package/dist/services/agentdb-phase4-methods.js.map +0 -1
- package/dist/services/consensus-service.d.ts +0 -114
- package/dist/services/consensus-service.d.ts.map +0 -1
- package/dist/services/consensus-service.js +0 -373
- package/dist/services/consensus-service.js.map +0 -1
- package/dist/services/cost-optimizer-service.d.ts +0 -95
- package/dist/services/cost-optimizer-service.d.ts.map +0 -1
- package/dist/services/cost-optimizer-service.js +0 -244
- package/dist/services/cost-optimizer-service.js.map +0 -1
- package/dist/services/direct-call-bridge.d.ts +0 -72
- package/dist/services/direct-call-bridge.d.ts.map +0 -1
- package/dist/services/direct-call-bridge.js +0 -180
- package/dist/services/direct-call-bridge.js.map +0 -1
- package/dist/services/explainability-service.d.ts +0 -182
- package/dist/services/explainability-service.d.ts.map +0 -1
- package/dist/services/explainability-service.js +0 -417
- package/dist/services/explainability-service.js.map +0 -1
- package/dist/services/github-service.d.ts +0 -106
- package/dist/services/github-service.d.ts.map +0 -1
- package/dist/services/github-service.js +0 -295
- package/dist/services/github-service.js.map +0 -1
- package/dist/services/gnn-router-service.d.ts +0 -151
- package/dist/services/gnn-router-service.d.ts.map +0 -1
- package/dist/services/gnn-router-service.js +0 -338
- package/dist/services/gnn-router-service.js.map +0 -1
- package/dist/services/hook-service.d.ts +0 -86
- package/dist/services/hook-service.d.ts.map +0 -1
- package/dist/services/hook-service.js +0 -234
- package/dist/services/hook-service.js.map +0 -1
- package/dist/services/quantization-service.d.ts +0 -167
- package/dist/services/quantization-service.d.ts.map +0 -1
- package/dist/services/quantization-service.js +0 -498
- package/dist/services/quantization-service.js.map +0 -1
- package/dist/services/rl-training-service.d.ts +0 -161
- package/dist/services/rl-training-service.d.ts.map +0 -1
- package/dist/services/rl-training-service.js +0 -325
- package/dist/services/rl-training-service.js.map +0 -1
- package/dist/services/ruvector-service.d.ts +0 -95
- package/dist/services/ruvector-service.d.ts.map +0 -1
- package/dist/services/ruvector-service.js +0 -210
- package/dist/services/ruvector-service.js.map +0 -1
- package/dist/services/session-service.d.ts +0 -24
- package/dist/services/session-service.d.ts.map +0 -1
- package/dist/services/session-service.js +0 -92
- package/dist/services/session-service.js.map +0 -1
- package/dist/services/streaming-service.d.ts +0 -113
- package/dist/services/streaming-service.d.ts.map +0 -1
- package/dist/services/streaming-service.js +0 -495
- package/dist/services/streaming-service.js.map +0 -1
- package/dist/services/swarm-service.d.ts +0 -106
- package/dist/services/swarm-service.d.ts.map +0 -1
- package/dist/services/swarm-service.js +0 -321
- package/dist/services/swarm-service.js.map +0 -1
- package/dist/swarm/ipfs-swarm.d.ts +0 -265
- package/dist/swarm/ipfs-swarm.d.ts.map +0 -1
- package/dist/swarm/ipfs-swarm.js +0 -508
- package/dist/swarm/ipfs-swarm.js.map +0 -1
- package/dist/swarm/p2p-free-swarm.d.ts +0 -344
- package/dist/swarm/p2p-free-swarm.d.ts.map +0 -1
- package/dist/swarm/p2p-free-swarm.js +0 -603
- package/dist/swarm/p2p-free-swarm.js.map +0 -1
- package/dist/swarm/real-p2p-swarm.d.ts +0 -183
- package/dist/swarm/real-p2p-swarm.d.ts.map +0 -1
- package/dist/swarm/real-p2p-swarm.js +0 -469
- package/dist/swarm/real-p2p-swarm.js.map +0 -1
- package/dist/utils/adaptive-pool-sizing.js +0 -414
- package/dist/utils/agentdbCommands.js +0 -175
- package/dist/utils/circular-rate-limiter.js +0 -391
- package/dist/utils/dynamic-compression.js +0 -298
- package/dist/utils/http2-multiplexing.js +0 -319
- package/dist/utils/lazy-auth.js +0 -311
- package/dist/utils/server-push.js +0 -251
- package/dist/utils/zero-copy-buffer.js +0 -286
- package/docs/.claude-flow/metrics/agent-metrics.json +0 -1
- package/docs/.claude-flow/metrics/performance.json +0 -87
- package/docs/.claude-flow/metrics/task-metrics.json +0 -10
- /package/.claude/agents/analysis/{code-review/analyze-code-quality.md → analyze-code-quality.md} +0 -0
- /package/.claude/agents/architecture/{system-design/arch-system-design.md → arch-system-design.md} +0 -0
- /package/.claude/agents/devops/{ci-cd/ops-cicd-github.md → ops-cicd-github.md} +0 -0
- /package/.claude/agents/specialized/{mobile/spec-mobile-react-native.md → spec-mobile-react-native.md} +0 -0
- /package/.claude/agents/testing/{validation/production-validator.md → production-validator.md} +0 -0
- /package/.claude/agents/testing/{unit/tdd-london-swarm.md → tdd-london-swarm.md} +0 -0
|
@@ -5,14 +5,18 @@ import { logger } from '../utils/logger.js';
|
|
|
5
5
|
import { getMaxTokensForModel } from './provider-instructions.js';
|
|
6
6
|
import { detectModelCapabilities } from '../utils/modelCapabilities.js';
|
|
7
7
|
import { ToolEmulator, executeEmulation } from './tool-emulation.js';
|
|
8
|
+
import { createProxyAuthMiddleware, resolveProxyHost, resolveProxyToken } from './proxy-auth.js';
|
|
8
9
|
export class AnthropicToOpenRouterProxy {
|
|
9
10
|
app;
|
|
10
11
|
openrouterApiKey;
|
|
11
12
|
openrouterBaseUrl;
|
|
12
13
|
defaultModel;
|
|
13
14
|
capabilities;
|
|
15
|
+
authToken;
|
|
16
|
+
server;
|
|
14
17
|
constructor(config) {
|
|
15
18
|
this.app = express();
|
|
19
|
+
this.authToken = config.authToken || resolveProxyToken();
|
|
16
20
|
this.openrouterApiKey = config.openrouterApiKey;
|
|
17
21
|
this.openrouterBaseUrl = config.openrouterBaseUrl || 'https://openrouter.ai/api/v1';
|
|
18
22
|
this.defaultModel = config.defaultModel || 'meta-llama/llama-3.1-8b-instruct';
|
|
@@ -28,7 +32,13 @@ export class AnthropicToOpenRouterProxy {
|
|
|
28
32
|
this.setupMiddleware();
|
|
29
33
|
this.setupRoutes();
|
|
30
34
|
}
|
|
35
|
+
/** The token clients must present as x-api-key or Authorization: Bearer. */
|
|
36
|
+
getAuthToken() {
|
|
37
|
+
return this.authToken;
|
|
38
|
+
}
|
|
31
39
|
setupMiddleware() {
|
|
40
|
+
// Reject unauthenticated callers before parsing their (up to 50mb) body
|
|
41
|
+
this.app.use(createProxyAuthMiddleware(this.authToken));
|
|
32
42
|
// Parse JSON bodies
|
|
33
43
|
this.app.use(express.json({ limit: '50mb' }));
|
|
34
44
|
// Logging middleware
|
|
@@ -57,7 +67,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
57
67
|
: Array.isArray(anthropicReq.system)
|
|
58
68
|
? JSON.stringify(anthropicReq.system).substring(0, 200)
|
|
59
69
|
: undefined;
|
|
60
|
-
logger.
|
|
70
|
+
logger.debug('=== INCOMING ANTHROPIC REQUEST ===', {
|
|
61
71
|
model: anthropicReq.model,
|
|
62
72
|
systemPrompt: systemPreview,
|
|
63
73
|
systemType: typeof anthropicReq.system,
|
|
@@ -71,7 +81,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
71
81
|
// Log first user message for debugging
|
|
72
82
|
if (anthropicReq.messages && anthropicReq.messages.length > 0) {
|
|
73
83
|
const firstMsg = anthropicReq.messages[0];
|
|
74
|
-
logger.
|
|
84
|
+
logger.debug('First user message:', {
|
|
75
85
|
role: firstMsg.role,
|
|
76
86
|
contentPreview: typeof firstMsg.content === 'string'
|
|
77
87
|
? firstMsg.content.substring(0, 200)
|
|
@@ -126,7 +136,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
126
136
|
// Convert Anthropic format to OpenAI format
|
|
127
137
|
const openaiReq = this.convertAnthropicToOpenAI(anthropicReq);
|
|
128
138
|
// VERBOSE LOGGING: Log converted OpenAI request
|
|
129
|
-
logger.
|
|
139
|
+
logger.debug('=== CONVERTED OPENAI REQUEST ===', {
|
|
130
140
|
anthropicModel: anthropicReq.model,
|
|
131
141
|
openaiModel: openaiReq.model,
|
|
132
142
|
messageCount: openaiReq.messages.length,
|
|
@@ -134,8 +144,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
134
144
|
toolCount: openaiReq.tools?.length || 0,
|
|
135
145
|
toolNames: openaiReq.tools?.map(t => t.function.name) || [],
|
|
136
146
|
maxTokens: openaiReq.max_tokens,
|
|
137
|
-
apiKeyPresent: !!this.openrouterApiKey
|
|
138
|
-
apiKeyPrefix: this.openrouterApiKey?.substring(0, 10)
|
|
147
|
+
apiKeyPresent: !!this.openrouterApiKey
|
|
139
148
|
});
|
|
140
149
|
// Forward to OpenRouter
|
|
141
150
|
const response = await fetch(`${this.openrouterBaseUrl}/chat/completions`, {
|
|
@@ -176,14 +185,30 @@ export class AnthropicToOpenRouterProxy {
|
|
|
176
185
|
if (!reader) {
|
|
177
186
|
throw new Error('No response body');
|
|
178
187
|
}
|
|
188
|
+
// {stream:true} keeps a multi-byte character split across reads intact,
|
|
189
|
+
// and `pending` carries a partial SSE line over to the next read so a
|
|
190
|
+
// data: line split mid-JSON is parsed once, whole.
|
|
179
191
|
const decoder = new TextDecoder();
|
|
192
|
+
let pending = '';
|
|
180
193
|
while (true) {
|
|
181
194
|
const { done, value } = await reader.read();
|
|
182
195
|
if (done)
|
|
183
196
|
break;
|
|
184
|
-
|
|
185
|
-
const
|
|
186
|
-
|
|
197
|
+
pending += decoder.decode(value, { stream: true });
|
|
198
|
+
const lastNewline = pending.lastIndexOf('\n');
|
|
199
|
+
if (lastNewline === -1)
|
|
200
|
+
continue;
|
|
201
|
+
const complete = pending.slice(0, lastNewline + 1);
|
|
202
|
+
pending = pending.slice(lastNewline + 1);
|
|
203
|
+
const anthropicChunk = this.convertOpenAIStreamToAnthropic(complete);
|
|
204
|
+
if (anthropicChunk)
|
|
205
|
+
res.write(anthropicChunk);
|
|
206
|
+
}
|
|
207
|
+
pending += decoder.decode();
|
|
208
|
+
if (pending.trim()) {
|
|
209
|
+
const anthropicChunk = this.convertOpenAIStreamToAnthropic(pending);
|
|
210
|
+
if (anthropicChunk)
|
|
211
|
+
res.write(anthropicChunk);
|
|
187
212
|
}
|
|
188
213
|
res.end();
|
|
189
214
|
return null; // Already sent response
|
|
@@ -193,7 +218,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
193
218
|
// Non-streaming response
|
|
194
219
|
const openaiRes = await response.json();
|
|
195
220
|
// VERBOSE LOGGING: Log raw OpenAI response
|
|
196
|
-
logger.
|
|
221
|
+
logger.debug('=== RAW OPENAI RESPONSE ===', {
|
|
197
222
|
id: openaiRes.id,
|
|
198
223
|
model: openaiRes.model,
|
|
199
224
|
choices: openaiRes.choices?.length,
|
|
@@ -317,7 +342,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
317
342
|
else {
|
|
318
343
|
originalSystem = '';
|
|
319
344
|
}
|
|
320
|
-
logger.
|
|
345
|
+
logger.debug('Appending original system prompt:', {
|
|
321
346
|
systemType: typeof anthropicReq.system,
|
|
322
347
|
isArray: Array.isArray(anthropicReq.system),
|
|
323
348
|
originalSystemLength: originalSystem.length,
|
|
@@ -331,7 +356,7 @@ export class AnthropicToOpenRouterProxy {
|
|
|
331
356
|
role: 'system',
|
|
332
357
|
content: systemContent
|
|
333
358
|
});
|
|
334
|
-
logger.
|
|
359
|
+
logger.debug('System message created:', {
|
|
335
360
|
systemContentLength: systemContent.length,
|
|
336
361
|
systemContentPreview: systemContent.substring(0, 300)
|
|
337
362
|
});
|
|
@@ -541,9 +566,10 @@ export class AnthropicToOpenRouterProxy {
|
|
|
541
566
|
logger.info('Conversion complete, returning Anthropic response');
|
|
542
567
|
return result;
|
|
543
568
|
}
|
|
569
|
+
// Takes only complete lines; the streaming loop buffers any partial tail.
|
|
544
570
|
convertOpenAIStreamToAnthropic(chunk) {
|
|
545
571
|
// Convert OpenAI SSE format to Anthropic SSE format
|
|
546
|
-
const lines = chunk.split('\n').filter(line => line.trim());
|
|
572
|
+
const lines = chunk.split('\n').map(line => line.replace(/\r$/, '')).filter(line => line.trim());
|
|
547
573
|
const anthropicChunks = [];
|
|
548
574
|
for (const line of lines) {
|
|
549
575
|
if (line.startsWith('data: ')) {
|
|
@@ -583,14 +609,19 @@ export class AnthropicToOpenRouterProxy {
|
|
|
583
609
|
};
|
|
584
610
|
return mapping[reason || 'stop'] || 'end_turn';
|
|
585
611
|
}
|
|
586
|
-
|
|
587
|
-
|
|
612
|
+
/**
|
|
613
|
+
* Start listening. Binds 127.0.0.1 unless `host` or AGENTIC_FLOW_PROXY_HOST
|
|
614
|
+
* says otherwise. Returns the underlying server.
|
|
615
|
+
*/
|
|
616
|
+
start(port, host = resolveProxyHost()) {
|
|
617
|
+
this.server = this.app.listen(port, host, () => {
|
|
588
618
|
logger.info('Anthropic to OpenRouter proxy started', {
|
|
589
619
|
port,
|
|
620
|
+
host,
|
|
590
621
|
openrouterBaseUrl: this.openrouterBaseUrl,
|
|
591
622
|
defaultModel: this.defaultModel
|
|
592
623
|
});
|
|
593
|
-
console.log(`\n✅ Anthropic Proxy running at http
|
|
624
|
+
console.log(`\n✅ Anthropic Proxy running at http://${host}:${port}`);
|
|
594
625
|
console.log(` OpenRouter Base URL: ${this.openrouterBaseUrl}`);
|
|
595
626
|
console.log(` Default Model: ${this.defaultModel}`);
|
|
596
627
|
if (this.capabilities?.requiresEmulation) {
|
|
@@ -599,6 +630,15 @@ export class AnthropicToOpenRouterProxy {
|
|
|
599
630
|
}
|
|
600
631
|
console.log('');
|
|
601
632
|
});
|
|
633
|
+
return this.server;
|
|
634
|
+
}
|
|
635
|
+
/** Stop listening. Safe to call when the proxy was never started. */
|
|
636
|
+
stop() {
|
|
637
|
+
const server = this.server;
|
|
638
|
+
this.server = undefined;
|
|
639
|
+
if (!server)
|
|
640
|
+
return Promise.resolve();
|
|
641
|
+
return new Promise((resolve, reject) => server.close(err => (err ? reject(err) : resolve())));
|
|
602
642
|
}
|
|
603
643
|
}
|
|
604
644
|
// CLI entry point
|
|
@@ -615,5 +655,6 @@ if (import.meta.url === `file://${process.argv[1]}`) {
|
|
|
615
655
|
defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL
|
|
616
656
|
});
|
|
617
657
|
proxy.start(port);
|
|
658
|
+
console.log(` Proxy token (send as x-api-key / ANTHROPIC_API_KEY): ${proxy.getAuthToken()}`);
|
|
618
659
|
}
|
|
619
660
|
//# sourceMappingURL=anthropic-to-openrouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-to-openrouter.js","sourceRoot":"","sources":["../../src/proxy/anthropic-to-openrouter.ts"],"names":[],"mappings":"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","sourcesContent":["// Anthropic to OpenRouter Proxy Server\n// Converts Anthropic API format to OpenRouter format\nimport express, { Request, Response, NextFunction } from 'express';\nimport { createProxyMiddleware, Options } from 'http-proxy-middleware';\nimport { logger } from '../utils/logger.js';\nimport { getInstructionsForModel, formatInstructions, taskRequiresFileOps, getMaxTokensForModel } from './provider-instructions.js';\nimport { ModelCapabilities, detectModelCapabilities } from '../utils/modelCapabilities.js';\nimport { ToolEmulator, executeEmulation, ToolCall } from './tool-emulation.js';\n\ninterface AnthropicMessage {\n role: 'user' | 'assistant';\n content: string | Array<{ type: string; text?: string; [key: string]: any }>;\n}\n\ninterface AnthropicTool {\n name: string;\n description?: string;\n input_schema?: {\n type: string;\n properties?: Record<string, any>;\n required?: string[];\n };\n}\n\ninterface AnthropicRequest {\n model?: string;\n messages: AnthropicMessage[];\n max_tokens?: number;\n temperature?: number;\n system?: string | Array<{ type: string; text?: string; [key: string]: any }>; // Can be string OR array of blocks\n stream?: boolean;\n tools?: AnthropicTool[];\n [key: string]: any;\n}\n\ninterface OpenAIMessage {\n role: 'system' | 'user' | 'assistant';\n content: string;\n}\n\ninterface OpenAITool {\n type: 'function';\n function: {\n name: string;\n description?: string;\n parameters?: any;\n };\n}\n\ninterface OpenAIRequest {\n model: string;\n messages: OpenAIMessage[];\n max_tokens?: number;\n temperature?: number;\n stream?: boolean;\n tools?: OpenAITool[];\n [key: string]: any;\n}\n\nexport class AnthropicToOpenRouterProxy {\n private app: express.Application;\n private openrouterApiKey: string;\n private openrouterBaseUrl: string;\n private defaultModel: string;\n private capabilities?: ModelCapabilities;\n\n constructor(config: {\n openrouterApiKey: string;\n openrouterBaseUrl?: string;\n defaultModel?: string;\n capabilities?: ModelCapabilities;\n }) {\n this.app = express();\n this.openrouterApiKey = config.openrouterApiKey;\n this.openrouterBaseUrl = config.openrouterBaseUrl || 'https://openrouter.ai/api/v1';\n this.defaultModel = config.defaultModel || 'meta-llama/llama-3.1-8b-instruct';\n this.capabilities = config.capabilities;\n\n // Debug logging\n if (this.capabilities) {\n logger.info('Proxy initialized with capabilities', {\n model: this.defaultModel,\n requiresEmulation: this.capabilities.requiresEmulation,\n strategy: this.capabilities.emulationStrategy\n });\n }\n\n this.setupMiddleware();\n this.setupRoutes();\n }\n\n private setupMiddleware(): void {\n // Parse JSON bodies\n this.app.use(express.json({ limit: '50mb' }));\n\n // Logging middleware\n this.app.use((req: Request, res: Response, next: NextFunction) => {\n logger.debug('Proxy request', {\n method: req.method,\n path: req.path,\n headers: Object.keys(req.headers)\n });\n next();\n });\n }\n\n private setupRoutes(): void {\n // Health check\n this.app.get('/health', (req: Request, res: Response) => {\n res.json({ status: 'ok', service: 'anthropic-to-openrouter-proxy' });\n });\n\n // Anthropic Messages API → OpenRouter Chat Completions\n this.app.post('/v1/messages', async (req: Request, res: Response) => {\n try {\n const anthropicReq: AnthropicRequest = req.body;\n\n // VERBOSE LOGGING: Log incoming Anthropic request\n // Handle system prompt which can be string OR array of content blocks\n const systemPreview = typeof anthropicReq.system === 'string'\n ? anthropicReq.system.substring(0, 200)\n : Array.isArray(anthropicReq.system)\n ? JSON.stringify(anthropicReq.system).substring(0, 200)\n : undefined;\n\n logger.info('=== INCOMING ANTHROPIC REQUEST ===', {\n model: anthropicReq.model,\n systemPrompt: systemPreview,\n systemType: typeof anthropicReq.system,\n messageCount: anthropicReq.messages?.length,\n toolCount: anthropicReq.tools?.length || 0,\n toolNames: anthropicReq.tools?.map(t => t.name) || [],\n maxTokens: anthropicReq.max_tokens,\n temperature: anthropicReq.temperature,\n stream: anthropicReq.stream\n });\n\n // Log first user message for debugging\n if (anthropicReq.messages && anthropicReq.messages.length > 0) {\n const firstMsg = anthropicReq.messages[0];\n logger.info('First user message:', {\n role: firstMsg.role,\n contentPreview: typeof firstMsg.content === 'string'\n ? firstMsg.content.substring(0, 200)\n : JSON.stringify(firstMsg.content).substring(0, 200)\n });\n }\n\n // Route to appropriate handler based on capabilities\n const result = await this.handleRequest(anthropicReq, res);\n if (result) {\n res.json(result);\n }\n } catch (error: any) {\n logger.error('Proxy error', { error: error.message, stack: error.stack });\n res.status(500).json({\n error: {\n type: 'proxy_error',\n message: error.message\n }\n });\n }\n });\n\n // Fallback for other Anthropic API endpoints\n this.app.use((req: Request, res: Response) => {\n logger.warn('Unsupported endpoint', { path: req.path, method: req.method });\n res.status(404).json({\n error: {\n type: 'not_found',\n message: `Endpoint ${req.path} not supported by proxy`\n }\n });\n });\n }\n\n private async handleRequest(anthropicReq: AnthropicRequest, res: Response): Promise<any> {\n let model = anthropicReq.model || this.defaultModel;\n\n // If SDK is requesting a Claude model but we're using OpenRouter with a different default,\n // override to use the CLI-specified model\n if (model.startsWith('claude-') && this.defaultModel && !this.defaultModel.startsWith('claude-')) {\n logger.info(`Overriding SDK Claude model ${model} with CLI-specified ${this.defaultModel}`);\n model = this.defaultModel;\n anthropicReq.model = model;\n }\n\n const capabilities = this.capabilities || detectModelCapabilities(model);\n\n // Check if emulation is required\n if (capabilities.requiresEmulation && anthropicReq.tools && anthropicReq.tools.length > 0) {\n logger.info(`Using tool emulation for model: ${model}`);\n return this.handleEmulatedRequest(anthropicReq, capabilities);\n }\n\n return this.handleNativeRequest(anthropicReq, res);\n }\n\n private async handleNativeRequest(anthropicReq: AnthropicRequest, res: Response): Promise<any> {\n // Convert Anthropic format to OpenAI format\n const openaiReq = this.convertAnthropicToOpenAI(anthropicReq);\n\n // VERBOSE LOGGING: Log converted OpenAI request\n logger.info('=== CONVERTED OPENAI REQUEST ===', {\n anthropicModel: anthropicReq.model,\n openaiModel: openaiReq.model,\n messageCount: openaiReq.messages.length,\n systemPrompt: openaiReq.messages[0]?.content?.substring(0, 300),\n toolCount: openaiReq.tools?.length || 0,\n toolNames: openaiReq.tools?.map(t => t.function.name) || [],\n maxTokens: openaiReq.max_tokens,\n apiKeyPresent: !!this.openrouterApiKey,\n apiKeyPrefix: this.openrouterApiKey?.substring(0, 10)\n });\n\n // Forward to OpenRouter\n const response = await fetch(`${this.openrouterBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.openrouterApiKey}`,\n 'Content-Type': 'application/json',\n 'HTTP-Referer': 'https://github.com/ruvnet/agentic-flow',\n 'X-Title': 'Agentic Flow'\n },\n body: JSON.stringify(openaiReq)\n });\n\n if (!response.ok) {\n const error = await response.text();\n logger.error('OpenRouter API error', { status: response.status, error });\n res.status(response.status).json({\n error: {\n type: 'api_error',\n message: error\n }\n });\n return null;\n }\n\n // VERBOSE LOGGING: Log OpenRouter response status\n logger.info('=== OPENROUTER RESPONSE RECEIVED ===', {\n status: response.status,\n statusText: response.statusText,\n headers: Object.fromEntries(response.headers.entries())\n });\n\n // Handle streaming vs non-streaming\n if (anthropicReq.stream) {\n logger.info('Handling streaming response...');\n // Stream response\n res.setHeader('Content-Type', 'text/event-stream');\n res.setHeader('Cache-Control', 'no-cache');\n res.setHeader('Connection', 'keep-alive');\n\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error('No response body');\n }\n\n const decoder = new TextDecoder();\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n const chunk = decoder.decode(value);\n const anthropicChunk = this.convertOpenAIStreamToAnthropic(chunk);\n res.write(anthropicChunk);\n }\n\n res.end();\n return null; // Already sent response\n } else {\n logger.info('Handling non-streaming response...');\n // Non-streaming response\n const openaiRes = await response.json();\n\n // VERBOSE LOGGING: Log raw OpenAI response\n logger.info('=== RAW OPENAI RESPONSE ===', {\n id: openaiRes.id,\n model: openaiRes.model,\n choices: openaiRes.choices?.length,\n finishReason: openaiRes.choices?.[0]?.finish_reason,\n hasToolCalls: !!(openaiRes.choices?.[0]?.message?.tool_calls),\n toolCallCount: openaiRes.choices?.[0]?.message?.tool_calls?.length || 0,\n toolCallNames: openaiRes.choices?.[0]?.message?.tool_calls?.map((tc: any) => tc.function.name) || [],\n contentPreview: openaiRes.choices?.[0]?.message?.content?.substring(0, 300),\n usage: openaiRes.usage\n });\n\n const anthropicRes = this.convertOpenAIToAnthropic(openaiRes);\n\n // VERBOSE LOGGING: Log converted Anthropic response\n logger.info('=== CONVERTED ANTHROPIC RESPONSE ===', {\n id: anthropicRes.id,\n model: anthropicRes.model,\n role: anthropicRes.role,\n stopReason: anthropicRes.stop_reason,\n contentBlocks: anthropicRes.content?.length,\n contentTypes: anthropicRes.content?.map((c: any) => c.type),\n toolUseCount: anthropicRes.content?.filter((c: any) => c.type === 'tool_use').length,\n textPreview: anthropicRes.content?.find((c: any) => c.type === 'text')?.text?.substring(0, 200),\n usage: anthropicRes.usage\n });\n\n return anthropicRes;\n }\n }\n\n private async handleEmulatedRequest(\n anthropicReq: AnthropicRequest,\n capabilities: ModelCapabilities\n ): Promise<any> {\n const emulator = new ToolEmulator(\n anthropicReq.tools || [],\n capabilities.emulationStrategy as 'react' | 'prompt'\n );\n\n const lastMessage = anthropicReq.messages[anthropicReq.messages.length - 1];\n const userMessage = typeof lastMessage.content === 'string'\n ? lastMessage.content\n : (lastMessage.content.find(c => c.type === 'text')?.text || '');\n\n const result = await executeEmulation(\n emulator,\n userMessage,\n async (prompt) => {\n // Call model with emulation prompt\n const openaiReq = {\n model: anthropicReq.model || this.defaultModel,\n messages: [{ role: 'user', content: prompt }],\n temperature: anthropicReq.temperature,\n max_tokens: anthropicReq.max_tokens\n };\n const response = await this.callOpenRouter(openaiReq);\n return response.choices[0].message.content;\n },\n async (toolCall: ToolCall) => {\n logger.warn(`Tool execution not yet implemented: ${toolCall.name}`);\n return { error: 'Tool execution not implemented in Phase 2' };\n },\n { maxIterations: 5, verbose: process.env.VERBOSE === 'true' }\n );\n\n return {\n id: `emulated_${Date.now()}`,\n type: 'message',\n role: 'assistant',\n content: [{ type: 'text', text: result.finalAnswer || 'No response' }],\n model: anthropicReq.model || this.defaultModel,\n stop_reason: 'end_turn',\n usage: { input_tokens: 0, output_tokens: 0 }\n };\n }\n\n private async callOpenRouter(openaiReq: any): Promise<any> {\n const response = await fetch(`${this.openrouterBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.openrouterApiKey}`,\n 'Content-Type': 'application/json',\n 'HTTP-Referer': 'https://github.com/ruvnet/agentic-flow',\n 'X-Title': 'Agentic Flow'\n },\n body: JSON.stringify(openaiReq)\n });\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`OpenRouter API error: ${error}`);\n }\n\n return response.json();\n }\n\n\n private convertAnthropicToOpenAI(anthropicReq: AnthropicRequest): OpenAIRequest {\n logger.info('=== STARTING ANTHROPIC TO OPENAI CONVERSION ===');\n const messages: OpenAIMessage[] = [];\n\n // Get model-specific tool instructions\n const modelId = anthropicReq.model || this.defaultModel;\n const provider = this.extractProvider(modelId);\n\n logger.info('Model detection:', {\n requestedModel: anthropicReq.model,\n defaultModel: this.defaultModel,\n finalModelId: modelId,\n extractedProvider: provider\n });\n\n // CRITICAL: OpenRouter models use native OpenAI tool calling\n // - If MCP tools are provided, OpenRouter handles them via function calling\n // - Do NOT inject XML instructions - they cause malformed output\n // - Let OpenRouter models use tools via OpenAI's tool_calls format\n\n let systemContent = '';\n\n // Check if we have MCP tools (function calling)\n const hasMcpTools = anthropicReq.tools && anthropicReq.tools.length > 0;\n\n logger.info('Tool detection:', {\n hasMcpTools,\n toolCount: anthropicReq.tools?.length || 0,\n toolNames: anthropicReq.tools?.map(t => t.name) || []\n });\n\n if (hasMcpTools) {\n // MCP tools present - OpenRouter will handle via function calling\n systemContent = 'You are a helpful AI assistant. When you need to perform actions, use the available tools by calling functions. Always explain what you\\'re doing.';\n logger.info('Using MCP tools system prompt (with function calling support)');\n } else {\n // No tools - simple response mode\n systemContent = 'You are a helpful AI assistant. Provide clear, well-formatted code and explanations.';\n logger.info('Using simple system prompt (no tools)');\n }\n\n if (anthropicReq.system) {\n // System can be string OR array of content blocks\n let originalSystem: string;\n if (typeof anthropicReq.system === 'string') {\n originalSystem = anthropicReq.system;\n } else if (Array.isArray(anthropicReq.system)) {\n // Extract text from content blocks\n originalSystem = anthropicReq.system\n .filter(block => block.type === 'text' && block.text)\n .map(block => block.text)\n .join('\\n');\n } else {\n originalSystem = '';\n }\n\n logger.info('Appending original system prompt:', {\n systemType: typeof anthropicReq.system,\n isArray: Array.isArray(anthropicReq.system),\n originalSystemLength: originalSystem.length,\n originalSystemPreview: originalSystem.substring(0, 200)\n });\n\n if (originalSystem) {\n systemContent += '\\n\\n' + originalSystem;\n }\n }\n\n messages.push({\n role: 'system',\n content: systemContent\n });\n\n logger.info('System message created:', {\n systemContentLength: systemContent.length,\n systemContentPreview: systemContent.substring(0, 300)\n });\n\n // Override model - if request has a Claude model, use defaultModel instead\n const requestedModel = anthropicReq.model || '';\n const shouldOverrideModel = requestedModel.startsWith('claude-') || !requestedModel;\n const finalModel = shouldOverrideModel ? this.defaultModel : requestedModel;\n\n // Convert Anthropic messages to OpenAI format\n for (const msg of anthropicReq.messages) {\n let content: string;\n\n if (typeof msg.content === 'string') {\n content = msg.content;\n } else if (Array.isArray(msg.content)) {\n // Extract text from content blocks\n content = msg.content\n .filter(block => block.type === 'text')\n .map(block => block.text)\n .join('\\n');\n } else {\n content = '';\n }\n\n messages.push({\n role: msg.role as 'user' | 'assistant',\n content\n });\n }\n\n // Get appropriate max_tokens for this model\n const maxTokens = getMaxTokensForModel(finalModel, anthropicReq.max_tokens);\n\n const openaiReq: OpenAIRequest = {\n model: finalModel,\n messages,\n max_tokens: maxTokens,\n temperature: anthropicReq.temperature,\n stream: anthropicReq.stream\n };\n\n // Convert MCP/Anthropic tools to OpenAI tools format\n if (anthropicReq.tools && anthropicReq.tools.length > 0) {\n logger.info('Converting MCP tools to OpenAI format...');\n openaiReq.tools = anthropicReq.tools.map(tool => {\n const openaiTool = {\n type: 'function' as const,\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.input_schema || {\n type: 'object',\n properties: {},\n required: []\n }\n }\n };\n logger.info(`Converted tool: ${tool.name}`, {\n hasDescription: !!tool.description,\n hasInputSchema: !!tool.input_schema\n });\n return openaiTool;\n });\n\n logger.info('Forwarding MCP tools to OpenRouter', {\n toolCount: openaiReq.tools.length,\n toolNames: openaiReq.tools.map(t => t.function.name)\n });\n } else {\n logger.info('No MCP tools to convert');\n }\n\n logger.info('=== CONVERSION COMPLETE ===', {\n messageCount: openaiReq.messages.length,\n hasMcpTools: !!openaiReq.tools,\n toolCount: openaiReq.tools?.length || 0,\n maxTokens: openaiReq.max_tokens,\n model: openaiReq.model\n });\n\n return openaiReq;\n }\n\n private parseStructuredCommands(text: string): {\n cleanText: string;\n toolUses: any[]\n } {\n const toolUses: any[] = [];\n let cleanText = text;\n\n // Parse file_write commands\n const fileWriteRegex = /<file_write path=\"([^\"]+)\">([\\s\\S]*?)<\\/file_write>/g;\n let match;\n while ((match = fileWriteRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Write',\n input: {\n file_path: match[1],\n content: match[2].trim()\n }\n });\n cleanText = cleanText.replace(match[0], `[File written: ${match[1]}]`);\n }\n\n // Parse file_read commands\n const fileReadRegex = /<file_read path=\"([^\"]+)\"\\/>/g;\n while ((match = fileReadRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Read',\n input: {\n file_path: match[1]\n }\n });\n cleanText = cleanText.replace(match[0], `[Reading file: ${match[1]}]`);\n }\n\n // Parse bash commands\n const bashRegex = /<bash_command>([\\s\\S]*?)<\\/bash_command>/g;\n while ((match = bashRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Bash',\n input: {\n command: match[1].trim()\n }\n });\n cleanText = cleanText.replace(match[0], `[Executing: ${match[1].trim()}]`);\n }\n\n return { cleanText: cleanText.trim(), toolUses };\n }\n\n private convertOpenAIToAnthropic(openaiRes: any): any {\n const choice = openaiRes.choices?.[0];\n if (!choice) {\n throw new Error('No choices in OpenAI response');\n }\n\n const message = choice.message || {};\n const rawText = message.content || choice.text || '';\n const toolCalls = message.tool_calls || [];\n\n logger.info('=== CONVERTING OPENAI TO ANTHROPIC ===', {\n hasMessage: !!message,\n hasContent: !!rawText,\n contentLength: rawText?.length,\n hasToolCalls: toolCalls.length > 0,\n toolCallCount: toolCalls.length,\n finishReason: choice.finish_reason\n });\n\n // CRITICAL: Use ONLY native OpenAI tool_calls format\n // Do NOT parse XML from text - models output malformed XML\n // OpenRouter handles tools via OpenAI function calling standard\n\n const contentBlocks: any[] = [];\n\n // Add tool uses from OpenAI tool_calls (MCP tools via function calling)\n if (toolCalls.length > 0) {\n logger.info('Processing tool calls from OpenAI response...');\n for (const toolCall of toolCalls) {\n try {\n logger.info('Tool call details:', {\n id: toolCall.id,\n name: toolCall.function.name,\n argumentsRaw: toolCall.function.arguments\n });\n\n contentBlocks.push({\n type: 'tool_use',\n id: toolCall.id,\n name: toolCall.function.name,\n input: JSON.parse(toolCall.function.arguments || '{}')\n });\n } catch (error) {\n logger.error('Failed to parse tool call arguments', {\n toolCall,\n error: (error as Error).message\n });\n }\n }\n\n logger.info('Converted OpenRouter tool calls to Anthropic format', {\n toolCallCount: toolCalls.length,\n toolNames: toolCalls.map((tc: any) => tc.function.name)\n });\n }\n\n // Add text response if present\n if (rawText && rawText.trim()) {\n logger.info('Adding text content block', {\n textLength: rawText.length,\n textPreview: rawText.substring(0, 200)\n });\n contentBlocks.push({\n type: 'text',\n text: rawText\n });\n }\n\n // If no content blocks, add empty text\n if (contentBlocks.length === 0) {\n logger.warn('No content blocks found, adding empty text block');\n contentBlocks.push({\n type: 'text',\n text: rawText || ''\n });\n }\n\n logger.info('Final content blocks:', {\n blockCount: contentBlocks.length,\n blockTypes: contentBlocks.map(b => b.type)\n });\n\n const result = {\n id: openaiRes.id || `msg_${Date.now()}`,\n type: 'message',\n role: 'assistant',\n model: openaiRes.model,\n content: contentBlocks,\n stop_reason: this.mapFinishReason(choice.finish_reason),\n usage: {\n input_tokens: openaiRes.usage?.prompt_tokens || 0,\n output_tokens: openaiRes.usage?.completion_tokens || 0\n }\n };\n\n logger.info('Conversion complete, returning Anthropic response');\n return result;\n }\n\n private convertOpenAIStreamToAnthropic(chunk: string): string {\n // Convert OpenAI SSE format to Anthropic SSE format\n const lines = chunk.split('\\n').filter(line => line.trim());\n const anthropicChunks: string[] = [];\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') {\n anthropicChunks.push('event: message_stop\\ndata: {}\\n\\n');\n continue;\n }\n\n try {\n const parsed = JSON.parse(data);\n const delta = parsed.choices?.[0]?.delta;\n\n if (delta?.content) {\n anthropicChunks.push(\n `event: content_block_delta\\ndata: ${JSON.stringify({\n type: 'content_block_delta',\n delta: { type: 'text_delta', text: delta.content }\n })}\\n\\n`\n );\n }\n } catch (e) {\n // Ignore parse errors\n }\n }\n }\n\n return anthropicChunks.join('');\n }\n\n private extractProvider(modelId: string): string {\n // Extract provider from model ID (e.g., \"openai/gpt-4\" -> \"openai\")\n const parts = modelId.split('/');\n return parts.length > 1 ? parts[0] : '';\n }\n\n private mapFinishReason(reason?: string): string {\n const mapping: Record<string, string> = {\n 'stop': 'end_turn',\n 'length': 'max_tokens',\n 'content_filter': 'stop_sequence',\n 'function_call': 'tool_use'\n };\n return mapping[reason || 'stop'] || 'end_turn';\n }\n\n public start(port: number): void {\n this.app.listen(port, () => {\n logger.info('Anthropic to OpenRouter proxy started', {\n port,\n openrouterBaseUrl: this.openrouterBaseUrl,\n defaultModel: this.defaultModel\n });\n console.log(`\\n✅ Anthropic Proxy running at http://localhost:${port}`);\n console.log(` OpenRouter Base URL: ${this.openrouterBaseUrl}`);\n console.log(` Default Model: ${this.defaultModel}`);\n\n if (this.capabilities?.requiresEmulation) {\n console.log(`\\n ⚙️ Tool Emulation: ${this.capabilities.emulationStrategy.toUpperCase()} pattern`);\n console.log(` 📊 Expected reliability: ${this.capabilities.emulationStrategy === 'react' ? '70-85%' : '50-70%'}`);\n }\n console.log('');\n });\n }\n}\n\n// CLI entry point\nif (import.meta.url === `file://${process.argv[1]}`) {\n const port = parseInt(process.env.PORT || '3000');\n const openrouterApiKey = process.env.OPENROUTER_API_KEY;\n\n if (!openrouterApiKey) {\n console.error('❌ Error: OPENROUTER_API_KEY environment variable required');\n process.exit(1);\n }\n\n const proxy = new AnthropicToOpenRouterProxy({\n openrouterApiKey,\n openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,\n defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL\n });\n\n proxy.start(port);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"anthropic-to-openrouter.js","sourceRoot":"","sources":["../../src/proxy/anthropic-to-openrouter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,qDAAqD;AACrD,OAAO,OAA4C,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAoE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpI,OAAO,EAAqB,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAY,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAoDjG,MAAM,OAAO,0BAA0B;IAC7B,GAAG,CAAsB;IACzB,gBAAgB,CAAS;IACzB,iBAAiB,CAAS;IAC1B,YAAY,CAAS;IACrB,YAAY,CAAqB;IACjC,SAAS,CAAS;IAClB,MAAM,CAAU;IAExB,YAAY,MAOX;QACC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,iBAAiB,EAAE,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,8BAA8B,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,kCAAkC,CAAC;QAC9E,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAExC,gBAAgB;QAChB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB;gBACtD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,iBAAiB;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,4EAA4E;IACrE,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,eAAe;QACrB,wEAAwE;QACxE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAExD,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAE9C,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YAC/D,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;aAClC,CAAC,CAAC;YACH,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,eAAe;QACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YACtD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;YAClE,IAAI,CAAC;gBACH,MAAM,YAAY,GAAqB,GAAG,CAAC,IAAI,CAAC;gBAEhD,kDAAkD;gBAClD,sEAAsE;gBACtE,MAAM,aAAa,GAAG,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ;oBAC3D,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;oBACvC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;wBACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;wBACvD,CAAC,CAAC,SAAS,CAAC;gBAEd,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;oBACjD,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,YAAY,EAAE,aAAa;oBAC3B,UAAU,EAAE,OAAO,YAAY,CAAC,MAAM;oBACtC,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM;oBAC3C,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;oBAC1C,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrD,SAAS,EAAE,YAAY,CAAC,UAAU;oBAClC,WAAW,EAAE,YAAY,CAAC,WAAW;oBACrC,MAAM,EAAE,YAAY,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBAEH,uCAAuC;gBACvC,IAAI,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC1C,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;wBAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;wBACnB,cAAc,EAAE,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;4BAClD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;4BACpC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAED,qDAAqD;gBACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACX,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE;wBACL,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;YAC3C,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,YAAY,GAAG,CAAC,IAAI,yBAAyB;iBACvD;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,YAA8B,EAAE,GAAa;QACvE,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QAEpD,2FAA2F;QAC3F,0CAA0C;QAC1C,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjG,MAAM,CAAC,IAAI,CAAC,+BAA+B,KAAK,uBAAuB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAC5F,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;YAC1B,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAEzE,iCAAiC;QACjC,IAAI,YAAY,CAAC,iBAAiB,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1F,MAAM,CAAC,IAAI,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,YAA8B,EAAE,GAAa;QAC7E,4CAA4C;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE9D,gDAAgD;QAChD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;YAC/C,cAAc,EAAE,YAAY,CAAC,KAAK;YAClC,WAAW,EAAE,SAAS,CAAC,KAAK;YAC5B,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;YACvC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/D,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YACvC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YAC3D,SAAS,EAAE,SAAS,CAAC,UAAU;YAC/B,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB;SACvC,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,mBAAmB,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,gBAAgB,EAAE;gBAClD,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,wCAAwC;gBACxD,SAAS,EAAE,cAAc;aAC1B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACzE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;gBAC/B,KAAK,EAAE;oBACL,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,KAAK;iBACf;aACF,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kDAAkD;QAClD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;YAClD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAE,QAAQ,CAAC,OAAe,CAAC,OAAO,EAAE,CAAC;SACjE,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC9C,kBAAkB;YAClB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YAED,wEAAwE;YACxE,sEAAsE;YACtE,mDAAmD;YACnD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAEhB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC9C,IAAI,WAAW,KAAK,CAAC,CAAC;oBAAE,SAAS;gBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;gBACnD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC;gBACrE,IAAI,cAAc;oBAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnB,MAAM,cAAc,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;gBACpE,IAAI,cAAc;oBAAE,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAChD,CAAC;YAED,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,CAAC,wBAAwB;QACvC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAClD,yBAAyB;YACzB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAExC,2CAA2C;YAC3C,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC1C,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM;gBAClC,YAAY,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa;gBACnD,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC;gBAC7D,aAAa,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;gBACvE,aAAa,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;gBACpG,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC3E,KAAK,EAAE,SAAS,CAAC,KAAK;aACvB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAE9D,oDAAoD;YACpD,MAAM,CAAC,IAAI,CAAC,sCAAsC,EAAE;gBAClD,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,KAAK,EAAE,YAAY,CAAC,KAAK;gBACzB,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,UAAU,EAAE,YAAY,CAAC,WAAW;gBACpC,aAAa,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM;gBAC3C,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,YAAY,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;gBACpF,WAAW,EAAE,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC/F,KAAK,EAAE,YAAY,CAAC,KAAK;aAC1B,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,YAA8B,EAC9B,YAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,YAAY,CAC/B,YAAY,CAAC,KAAK,IAAI,EAAE,EACxB,YAAY,CAAC,iBAAuC,CACrD,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ;YACzD,CAAC,CAAC,WAAW,CAAC,OAAO;YACrB,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,QAAQ,EACR,WAAW,EACX,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,mCAAmC;YACnC,MAAM,SAAS,GAAG;gBAChB,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;gBAC9C,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC7C,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,UAAU,EAAE,YAAY,CAAC,UAAU;aACpC,CAAC;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,CAAC,EACD,KAAK,EAAE,QAAkB,EAAE,EAAE;YAC3B,MAAM,CAAC,IAAI,CAAC,uCAAuC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,KAAK,EAAE,2CAA2C,EAAE,CAAC;QAChE,CAAC,EACD,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAC9D,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;YAC5B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,IAAI,aAAa,EAAE,CAAC;YACtE,KAAK,EAAE,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;YAC9C,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;SAC7C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,SAAc;QACzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,mBAAmB,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,gBAAgB,EAAE;gBAClD,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,wCAAwC;gBACxD,SAAS,EAAE,cAAc;aAC1B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAGO,wBAAwB,CAAC,YAA8B;QAC7D,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,uCAAuC;QACvC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,cAAc,EAAE,YAAY,CAAC,KAAK;YAClC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,OAAO;YACrB,iBAAiB,EAAE,QAAQ;SAC5B,CAAC,CAAC;QAEH,6DAA6D;QAC7D,4EAA4E;QAC5E,iEAAiE;QACjE,mEAAmE;QAEnE,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,gDAAgD;QAChD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAExE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,WAAW;YACX,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YAC1C,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;SACtD,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE,CAAC;YAChB,kEAAkE;YAClE,aAAa,GAAG,oJAAoJ,CAAC;YACrK,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,aAAa,GAAG,sFAAsF,CAAC;YACvG,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;YACxB,kDAAkD;YAClD,IAAI,cAAsB,CAAC;YAC3B,IAAI,OAAO,YAAY,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5C,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;YACvC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,mCAAmC;gBACnC,cAAc,GAAG,YAAY,CAAC,MAAM;qBACjC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;qBACpD,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,EAAE,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;gBAChD,UAAU,EAAE,OAAO,YAAY,CAAC,MAAM;gBACtC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBAC3C,oBAAoB,EAAE,cAAc,CAAC,MAAM;gBAC3C,qBAAqB,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aACxD,CAAC,CAAC;YAEH,IAAI,cAAc,EAAE,CAAC;gBACnB,aAAa,IAAI,MAAM,GAAG,cAAc,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,mBAAmB,EAAE,aAAa,CAAC,MAAM;YACzC,oBAAoB,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SACtD,CAAC,CAAC;QAEH,2EAA2E;QAC3E,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,mBAAmB,GAAG,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;QACpF,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;QAE5E,8CAA8C;QAC9C,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAe,CAAC;YAEpB,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,mCAAmC;gBACnC,OAAO,GAAG,GAAG,CAAC,OAAO;qBAClB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;qBACtC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;qBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,GAAG,CAAC,IAA4B;gBACtC,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAE5E,MAAM,SAAS,GAAkB;YAC/B,KAAK,EAAE,UAAU;YACjB,QAAQ;YACR,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,MAAM,EAAE,YAAY,CAAC,MAAM;SAC5B,CAAC;QAEF,qDAAqD;QACrD,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACxD,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC9C,MAAM,UAAU,GAAG;oBACjB,IAAI,EAAE,UAAmB;oBACzB,QAAQ,EAAE;wBACR,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;wBACnC,UAAU,EAAE,IAAI,CAAC,YAAY,IAAI;4BAC/B,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE;4BACd,QAAQ,EAAE,EAAE;yBACb;qBACF;iBACF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,EAAE,EAAE;oBAC1C,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;oBAClC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;iBACpC,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;gBACjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACzC,YAAY,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM;YACvC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,KAAK;YAC9B,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YACvC,SAAS,EAAE,SAAS,CAAC,UAAU;YAC/B,KAAK,EAAE,SAAS,CAAC,KAAK;SACvB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,uBAAuB,CAAC,IAAY;QAI1C,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,4BAA4B;QAC5B,MAAM,cAAc,GAAG,sDAAsD,CAAC;QAC9E,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACpD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC3C,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBACnB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;iBACzB;aACF,CAAC,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,2BAA2B;QAC3B,MAAM,aAAa,GAAG,+BAA+B,CAAC;QACtD,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC3C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;iBACpB;aACF,CAAC,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,kBAAkB,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,2CAA2C,CAAC;QAC9D,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC3C,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;iBACzB;aACF,CAAC,CAAC;YACH,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAEO,wBAAwB,CAAC,SAAc;QAC7C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAE3C,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE;YACpD,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,aAAa,EAAE,OAAO,EAAE,MAAM;YAC9B,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;YAClC,aAAa,EAAE,SAAS,CAAC,MAAM;YAC/B,YAAY,EAAE,MAAM,CAAC,aAAa;SACnC,CAAC,CAAC;QAEH,qDAAqD;QACrD,2DAA2D;QAC3D,gEAAgE;QAEhE,MAAM,aAAa,GAAU,EAAE,CAAC;QAEhC,wEAAwE;QACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;wBAChC,EAAE,EAAE,QAAQ,CAAC,EAAE;wBACf,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;wBAC5B,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS;qBAC1C,CAAC,CAAC;oBAEH,aAAa,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;wBACf,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;wBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;wBAClD,QAAQ;wBACR,KAAK,EAAG,KAAe,CAAC,OAAO;qBAChC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE;gBACjE,aAAa,EAAE,SAAS,CAAC,MAAM;gBAC/B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACvC,UAAU,EAAE,OAAO,CAAC,MAAM;gBAC1B,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aACvC,CAAC,CAAC;YACH,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAChE,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO,IAAI,EAAE;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnC,UAAU,EAAE,aAAa,CAAC,MAAM;YAChC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SAC3C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC;YACvD,KAAK,EAAE;gBACL,YAAY,EAAE,SAAS,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;gBACjD,aAAa,EAAE,SAAS,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;aACvD;SACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,0EAA0E;IAClE,8BAA8B,CAAC,KAAa;QAClD,oDAAoD;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACtB,eAAe,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;oBAEzC,IAAI,KAAK,EAAE,OAAO,EAAE,CAAC;wBACnB,eAAe,CAAC,IAAI,CAClB,qCAAqC,IAAI,CAAC,SAAS,CAAC;4BAClD,IAAI,EAAE,qBAAqB;4BAC3B,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;yBACnD,CAAC,MAAM,CACT,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,sBAAsB;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,eAAe,CAAC,OAAe;QACrC,oEAAoE;QACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,MAAe;QACrC,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,YAAY;YACtB,gBAAgB,EAAE,eAAe;YACjC,eAAe,EAAE,UAAU;SAC5B,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC;IACjD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,IAAY,EAAE,OAAe,gBAAgB,EAAE;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACnD,IAAI;gBACJ,IAAI;gBACJ,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,YAAY,CAAC,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtH,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,qEAAqE;IAC9D,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;CACF;AAED,kBAAkB;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAExD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,0BAA0B,CAAC;QAC3C,gBAAgB;QAChB,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACvD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;KAC1E,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,2DAA2D,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC","sourcesContent":["// Anthropic to OpenRouter Proxy Server\n// Converts Anthropic API format to OpenRouter format\nimport express, { Request, Response, NextFunction } from 'express';\nimport type { Server } from 'http';\nimport { createProxyMiddleware, Options } from 'http-proxy-middleware';\nimport { logger } from '../utils/logger.js';\nimport { getInstructionsForModel, formatInstructions, taskRequiresFileOps, getMaxTokensForModel } from './provider-instructions.js';\nimport { ModelCapabilities, detectModelCapabilities } from '../utils/modelCapabilities.js';\nimport { ToolEmulator, executeEmulation, ToolCall } from './tool-emulation.js';\nimport { createProxyAuthMiddleware, resolveProxyHost, resolveProxyToken } from './proxy-auth.js';\n\ninterface AnthropicMessage {\n role: 'user' | 'assistant';\n content: string | Array<{ type: string; text?: string; [key: string]: any }>;\n}\n\ninterface AnthropicTool {\n name: string;\n description?: string;\n input_schema?: {\n type: string;\n properties?: Record<string, any>;\n required?: string[];\n };\n}\n\ninterface AnthropicRequest {\n model?: string;\n messages: AnthropicMessage[];\n max_tokens?: number;\n temperature?: number;\n system?: string | Array<{ type: string; text?: string; [key: string]: any }>; // Can be string OR array of blocks\n stream?: boolean;\n tools?: AnthropicTool[];\n [key: string]: any;\n}\n\ninterface OpenAIMessage {\n role: 'system' | 'user' | 'assistant';\n content: string;\n}\n\ninterface OpenAITool {\n type: 'function';\n function: {\n name: string;\n description?: string;\n parameters?: any;\n };\n}\n\ninterface OpenAIRequest {\n model: string;\n messages: OpenAIMessage[];\n max_tokens?: number;\n temperature?: number;\n stream?: boolean;\n tools?: OpenAITool[];\n [key: string]: any;\n}\n\nexport class AnthropicToOpenRouterProxy {\n private app: express.Application;\n private openrouterApiKey: string;\n private openrouterBaseUrl: string;\n private defaultModel: string;\n private capabilities?: ModelCapabilities;\n private authToken: string;\n private server?: Server;\n\n constructor(config: {\n openrouterApiKey: string;\n openrouterBaseUrl?: string;\n defaultModel?: string;\n capabilities?: ModelCapabilities;\n /** Token clients must send; defaults to AGENTIC_FLOW_PROXY_TOKEN or a random one. */\n authToken?: string;\n }) {\n this.app = express();\n this.authToken = config.authToken || resolveProxyToken();\n this.openrouterApiKey = config.openrouterApiKey;\n this.openrouterBaseUrl = config.openrouterBaseUrl || 'https://openrouter.ai/api/v1';\n this.defaultModel = config.defaultModel || 'meta-llama/llama-3.1-8b-instruct';\n this.capabilities = config.capabilities;\n\n // Debug logging\n if (this.capabilities) {\n logger.info('Proxy initialized with capabilities', {\n model: this.defaultModel,\n requiresEmulation: this.capabilities.requiresEmulation,\n strategy: this.capabilities.emulationStrategy\n });\n }\n\n this.setupMiddleware();\n this.setupRoutes();\n }\n\n /** The token clients must present as x-api-key or Authorization: Bearer. */\n public getAuthToken(): string {\n return this.authToken;\n }\n\n private setupMiddleware(): void {\n // Reject unauthenticated callers before parsing their (up to 50mb) body\n this.app.use(createProxyAuthMiddleware(this.authToken));\n\n // Parse JSON bodies\n this.app.use(express.json({ limit: '50mb' }));\n\n // Logging middleware\n this.app.use((req: Request, res: Response, next: NextFunction) => {\n logger.debug('Proxy request', {\n method: req.method,\n path: req.path,\n headers: Object.keys(req.headers)\n });\n next();\n });\n }\n\n private setupRoutes(): void {\n // Health check\n this.app.get('/health', (req: Request, res: Response) => {\n res.json({ status: 'ok', service: 'anthropic-to-openrouter-proxy' });\n });\n\n // Anthropic Messages API → OpenRouter Chat Completions\n this.app.post('/v1/messages', async (req: Request, res: Response) => {\n try {\n const anthropicReq: AnthropicRequest = req.body;\n\n // VERBOSE LOGGING: Log incoming Anthropic request\n // Handle system prompt which can be string OR array of content blocks\n const systemPreview = typeof anthropicReq.system === 'string'\n ? anthropicReq.system.substring(0, 200)\n : Array.isArray(anthropicReq.system)\n ? JSON.stringify(anthropicReq.system).substring(0, 200)\n : undefined;\n\n logger.debug('=== INCOMING ANTHROPIC REQUEST ===', {\n model: anthropicReq.model,\n systemPrompt: systemPreview,\n systemType: typeof anthropicReq.system,\n messageCount: anthropicReq.messages?.length,\n toolCount: anthropicReq.tools?.length || 0,\n toolNames: anthropicReq.tools?.map(t => t.name) || [],\n maxTokens: anthropicReq.max_tokens,\n temperature: anthropicReq.temperature,\n stream: anthropicReq.stream\n });\n\n // Log first user message for debugging\n if (anthropicReq.messages && anthropicReq.messages.length > 0) {\n const firstMsg = anthropicReq.messages[0];\n logger.debug('First user message:', {\n role: firstMsg.role,\n contentPreview: typeof firstMsg.content === 'string'\n ? firstMsg.content.substring(0, 200)\n : JSON.stringify(firstMsg.content).substring(0, 200)\n });\n }\n\n // Route to appropriate handler based on capabilities\n const result = await this.handleRequest(anthropicReq, res);\n if (result) {\n res.json(result);\n }\n } catch (error: any) {\n logger.error('Proxy error', { error: error.message, stack: error.stack });\n res.status(500).json({\n error: {\n type: 'proxy_error',\n message: error.message\n }\n });\n }\n });\n\n // Fallback for other Anthropic API endpoints\n this.app.use((req: Request, res: Response) => {\n logger.warn('Unsupported endpoint', { path: req.path, method: req.method });\n res.status(404).json({\n error: {\n type: 'not_found',\n message: `Endpoint ${req.path} not supported by proxy`\n }\n });\n });\n }\n\n private async handleRequest(anthropicReq: AnthropicRequest, res: Response): Promise<any> {\n let model = anthropicReq.model || this.defaultModel;\n\n // If SDK is requesting a Claude model but we're using OpenRouter with a different default,\n // override to use the CLI-specified model\n if (model.startsWith('claude-') && this.defaultModel && !this.defaultModel.startsWith('claude-')) {\n logger.info(`Overriding SDK Claude model ${model} with CLI-specified ${this.defaultModel}`);\n model = this.defaultModel;\n anthropicReq.model = model;\n }\n\n const capabilities = this.capabilities || detectModelCapabilities(model);\n\n // Check if emulation is required\n if (capabilities.requiresEmulation && anthropicReq.tools && anthropicReq.tools.length > 0) {\n logger.info(`Using tool emulation for model: ${model}`);\n return this.handleEmulatedRequest(anthropicReq, capabilities);\n }\n\n return this.handleNativeRequest(anthropicReq, res);\n }\n\n private async handleNativeRequest(anthropicReq: AnthropicRequest, res: Response): Promise<any> {\n // Convert Anthropic format to OpenAI format\n const openaiReq = this.convertAnthropicToOpenAI(anthropicReq);\n\n // VERBOSE LOGGING: Log converted OpenAI request\n logger.debug('=== CONVERTED OPENAI REQUEST ===', {\n anthropicModel: anthropicReq.model,\n openaiModel: openaiReq.model,\n messageCount: openaiReq.messages.length,\n systemPrompt: openaiReq.messages[0]?.content?.substring(0, 300),\n toolCount: openaiReq.tools?.length || 0,\n toolNames: openaiReq.tools?.map(t => t.function.name) || [],\n maxTokens: openaiReq.max_tokens,\n apiKeyPresent: !!this.openrouterApiKey\n });\n\n // Forward to OpenRouter\n const response = await fetch(`${this.openrouterBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.openrouterApiKey}`,\n 'Content-Type': 'application/json',\n 'HTTP-Referer': 'https://github.com/ruvnet/agentic-flow',\n 'X-Title': 'Agentic Flow'\n },\n body: JSON.stringify(openaiReq)\n });\n\n if (!response.ok) {\n const error = await response.text();\n logger.error('OpenRouter API error', { status: response.status, error });\n res.status(response.status).json({\n error: {\n type: 'api_error',\n message: error\n }\n });\n return null;\n }\n\n // VERBOSE LOGGING: Log OpenRouter response status\n logger.info('=== OPENROUTER RESPONSE RECEIVED ===', {\n status: response.status,\n statusText: response.statusText,\n headers: Object.fromEntries((response.headers as any).entries())\n });\n\n // Handle streaming vs non-streaming\n if (anthropicReq.stream) {\n logger.info('Handling streaming response...');\n // Stream response\n res.setHeader('Content-Type', 'text/event-stream');\n res.setHeader('Cache-Control', 'no-cache');\n res.setHeader('Connection', 'keep-alive');\n\n const reader = response.body?.getReader();\n if (!reader) {\n throw new Error('No response body');\n }\n\n // {stream:true} keeps a multi-byte character split across reads intact,\n // and `pending` carries a partial SSE line over to the next read so a\n // data: line split mid-JSON is parsed once, whole.\n const decoder = new TextDecoder();\n let pending = '';\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n\n pending += decoder.decode(value, { stream: true });\n const lastNewline = pending.lastIndexOf('\\n');\n if (lastNewline === -1) continue;\n const complete = pending.slice(0, lastNewline + 1);\n pending = pending.slice(lastNewline + 1);\n const anthropicChunk = this.convertOpenAIStreamToAnthropic(complete);\n if (anthropicChunk) res.write(anthropicChunk);\n }\n\n pending += decoder.decode();\n if (pending.trim()) {\n const anthropicChunk = this.convertOpenAIStreamToAnthropic(pending);\n if (anthropicChunk) res.write(anthropicChunk);\n }\n\n res.end();\n return null; // Already sent response\n } else {\n logger.info('Handling non-streaming response...');\n // Non-streaming response\n const openaiRes = await response.json();\n\n // VERBOSE LOGGING: Log raw OpenAI response\n logger.debug('=== RAW OPENAI RESPONSE ===', {\n id: openaiRes.id,\n model: openaiRes.model,\n choices: openaiRes.choices?.length,\n finishReason: openaiRes.choices?.[0]?.finish_reason,\n hasToolCalls: !!(openaiRes.choices?.[0]?.message?.tool_calls),\n toolCallCount: openaiRes.choices?.[0]?.message?.tool_calls?.length || 0,\n toolCallNames: openaiRes.choices?.[0]?.message?.tool_calls?.map((tc: any) => tc.function.name) || [],\n contentPreview: openaiRes.choices?.[0]?.message?.content?.substring(0, 300),\n usage: openaiRes.usage\n });\n\n const anthropicRes = this.convertOpenAIToAnthropic(openaiRes);\n\n // VERBOSE LOGGING: Log converted Anthropic response\n logger.info('=== CONVERTED ANTHROPIC RESPONSE ===', {\n id: anthropicRes.id,\n model: anthropicRes.model,\n role: anthropicRes.role,\n stopReason: anthropicRes.stop_reason,\n contentBlocks: anthropicRes.content?.length,\n contentTypes: anthropicRes.content?.map((c: any) => c.type),\n toolUseCount: anthropicRes.content?.filter((c: any) => c.type === 'tool_use').length,\n textPreview: anthropicRes.content?.find((c: any) => c.type === 'text')?.text?.substring(0, 200),\n usage: anthropicRes.usage\n });\n\n return anthropicRes;\n }\n }\n\n private async handleEmulatedRequest(\n anthropicReq: AnthropicRequest,\n capabilities: ModelCapabilities\n ): Promise<any> {\n const emulator = new ToolEmulator(\n anthropicReq.tools || [],\n capabilities.emulationStrategy as 'react' | 'prompt'\n );\n\n const lastMessage = anthropicReq.messages[anthropicReq.messages.length - 1];\n const userMessage = typeof lastMessage.content === 'string'\n ? lastMessage.content\n : (lastMessage.content.find(c => c.type === 'text')?.text || '');\n\n const result = await executeEmulation(\n emulator,\n userMessage,\n async (prompt) => {\n // Call model with emulation prompt\n const openaiReq = {\n model: anthropicReq.model || this.defaultModel,\n messages: [{ role: 'user', content: prompt }],\n temperature: anthropicReq.temperature,\n max_tokens: anthropicReq.max_tokens\n };\n const response = await this.callOpenRouter(openaiReq);\n return response.choices[0].message.content;\n },\n async (toolCall: ToolCall) => {\n logger.warn(`Tool execution not yet implemented: ${toolCall.name}`);\n return { error: 'Tool execution not implemented in Phase 2' };\n },\n { maxIterations: 5, verbose: process.env.VERBOSE === 'true' }\n );\n\n return {\n id: `emulated_${Date.now()}`,\n type: 'message',\n role: 'assistant',\n content: [{ type: 'text', text: result.finalAnswer || 'No response' }],\n model: anthropicReq.model || this.defaultModel,\n stop_reason: 'end_turn',\n usage: { input_tokens: 0, output_tokens: 0 }\n };\n }\n\n private async callOpenRouter(openaiReq: any): Promise<any> {\n const response = await fetch(`${this.openrouterBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.openrouterApiKey}`,\n 'Content-Type': 'application/json',\n 'HTTP-Referer': 'https://github.com/ruvnet/agentic-flow',\n 'X-Title': 'Agentic Flow'\n },\n body: JSON.stringify(openaiReq)\n });\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`OpenRouter API error: ${error}`);\n }\n\n return response.json();\n }\n\n\n private convertAnthropicToOpenAI(anthropicReq: AnthropicRequest): OpenAIRequest {\n logger.info('=== STARTING ANTHROPIC TO OPENAI CONVERSION ===');\n const messages: OpenAIMessage[] = [];\n\n // Get model-specific tool instructions\n const modelId = anthropicReq.model || this.defaultModel;\n const provider = this.extractProvider(modelId);\n\n logger.info('Model detection:', {\n requestedModel: anthropicReq.model,\n defaultModel: this.defaultModel,\n finalModelId: modelId,\n extractedProvider: provider\n });\n\n // CRITICAL: OpenRouter models use native OpenAI tool calling\n // - If MCP tools are provided, OpenRouter handles them via function calling\n // - Do NOT inject XML instructions - they cause malformed output\n // - Let OpenRouter models use tools via OpenAI's tool_calls format\n\n let systemContent = '';\n\n // Check if we have MCP tools (function calling)\n const hasMcpTools = anthropicReq.tools && anthropicReq.tools.length > 0;\n\n logger.info('Tool detection:', {\n hasMcpTools,\n toolCount: anthropicReq.tools?.length || 0,\n toolNames: anthropicReq.tools?.map(t => t.name) || []\n });\n\n if (hasMcpTools) {\n // MCP tools present - OpenRouter will handle via function calling\n systemContent = 'You are a helpful AI assistant. When you need to perform actions, use the available tools by calling functions. Always explain what you\\'re doing.';\n logger.info('Using MCP tools system prompt (with function calling support)');\n } else {\n // No tools - simple response mode\n systemContent = 'You are a helpful AI assistant. Provide clear, well-formatted code and explanations.';\n logger.info('Using simple system prompt (no tools)');\n }\n\n if (anthropicReq.system) {\n // System can be string OR array of content blocks\n let originalSystem: string;\n if (typeof anthropicReq.system === 'string') {\n originalSystem = anthropicReq.system;\n } else if (Array.isArray(anthropicReq.system)) {\n // Extract text from content blocks\n originalSystem = anthropicReq.system\n .filter(block => block.type === 'text' && block.text)\n .map(block => block.text)\n .join('\\n');\n } else {\n originalSystem = '';\n }\n\n logger.debug('Appending original system prompt:', {\n systemType: typeof anthropicReq.system,\n isArray: Array.isArray(anthropicReq.system),\n originalSystemLength: originalSystem.length,\n originalSystemPreview: originalSystem.substring(0, 200)\n });\n\n if (originalSystem) {\n systemContent += '\\n\\n' + originalSystem;\n }\n }\n\n messages.push({\n role: 'system',\n content: systemContent\n });\n\n logger.debug('System message created:', {\n systemContentLength: systemContent.length,\n systemContentPreview: systemContent.substring(0, 300)\n });\n\n // Override model - if request has a Claude model, use defaultModel instead\n const requestedModel = anthropicReq.model || '';\n const shouldOverrideModel = requestedModel.startsWith('claude-') || !requestedModel;\n const finalModel = shouldOverrideModel ? this.defaultModel : requestedModel;\n\n // Convert Anthropic messages to OpenAI format\n for (const msg of anthropicReq.messages) {\n let content: string;\n\n if (typeof msg.content === 'string') {\n content = msg.content;\n } else if (Array.isArray(msg.content)) {\n // Extract text from content blocks\n content = msg.content\n .filter(block => block.type === 'text')\n .map(block => block.text)\n .join('\\n');\n } else {\n content = '';\n }\n\n messages.push({\n role: msg.role as 'user' | 'assistant',\n content\n });\n }\n\n // Get appropriate max_tokens for this model\n const maxTokens = getMaxTokensForModel(finalModel, anthropicReq.max_tokens);\n\n const openaiReq: OpenAIRequest = {\n model: finalModel,\n messages,\n max_tokens: maxTokens,\n temperature: anthropicReq.temperature,\n stream: anthropicReq.stream\n };\n\n // Convert MCP/Anthropic tools to OpenAI tools format\n if (anthropicReq.tools && anthropicReq.tools.length > 0) {\n logger.info('Converting MCP tools to OpenAI format...');\n openaiReq.tools = anthropicReq.tools.map(tool => {\n const openaiTool = {\n type: 'function' as const,\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: tool.input_schema || {\n type: 'object',\n properties: {},\n required: []\n }\n }\n };\n logger.info(`Converted tool: ${tool.name}`, {\n hasDescription: !!tool.description,\n hasInputSchema: !!tool.input_schema\n });\n return openaiTool;\n });\n\n logger.info('Forwarding MCP tools to OpenRouter', {\n toolCount: openaiReq.tools.length,\n toolNames: openaiReq.tools.map(t => t.function.name)\n });\n } else {\n logger.info('No MCP tools to convert');\n }\n\n logger.info('=== CONVERSION COMPLETE ===', {\n messageCount: openaiReq.messages.length,\n hasMcpTools: !!openaiReq.tools,\n toolCount: openaiReq.tools?.length || 0,\n maxTokens: openaiReq.max_tokens,\n model: openaiReq.model\n });\n\n return openaiReq;\n }\n\n private parseStructuredCommands(text: string): {\n cleanText: string;\n toolUses: any[]\n } {\n const toolUses: any[] = [];\n let cleanText = text;\n\n // Parse file_write commands\n const fileWriteRegex = /<file_write path=\"([^\"]+)\">([\\s\\S]*?)<\\/file_write>/g;\n let match;\n while ((match = fileWriteRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Write',\n input: {\n file_path: match[1],\n content: match[2].trim()\n }\n });\n cleanText = cleanText.replace(match[0], `[File written: ${match[1]}]`);\n }\n\n // Parse file_read commands\n const fileReadRegex = /<file_read path=\"([^\"]+)\"\\/>/g;\n while ((match = fileReadRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Read',\n input: {\n file_path: match[1]\n }\n });\n cleanText = cleanText.replace(match[0], `[Reading file: ${match[1]}]`);\n }\n\n // Parse bash commands\n const bashRegex = /<bash_command>([\\s\\S]*?)<\\/bash_command>/g;\n while ((match = bashRegex.exec(text)) !== null) {\n toolUses.push({\n type: 'tool_use',\n id: `tool_${Date.now()}_${toolUses.length}`,\n name: 'Bash',\n input: {\n command: match[1].trim()\n }\n });\n cleanText = cleanText.replace(match[0], `[Executing: ${match[1].trim()}]`);\n }\n\n return { cleanText: cleanText.trim(), toolUses };\n }\n\n private convertOpenAIToAnthropic(openaiRes: any): any {\n const choice = openaiRes.choices?.[0];\n if (!choice) {\n throw new Error('No choices in OpenAI response');\n }\n\n const message = choice.message || {};\n const rawText = message.content || choice.text || '';\n const toolCalls = message.tool_calls || [];\n\n logger.info('=== CONVERTING OPENAI TO ANTHROPIC ===', {\n hasMessage: !!message,\n hasContent: !!rawText,\n contentLength: rawText?.length,\n hasToolCalls: toolCalls.length > 0,\n toolCallCount: toolCalls.length,\n finishReason: choice.finish_reason\n });\n\n // CRITICAL: Use ONLY native OpenAI tool_calls format\n // Do NOT parse XML from text - models output malformed XML\n // OpenRouter handles tools via OpenAI function calling standard\n\n const contentBlocks: any[] = [];\n\n // Add tool uses from OpenAI tool_calls (MCP tools via function calling)\n if (toolCalls.length > 0) {\n logger.info('Processing tool calls from OpenAI response...');\n for (const toolCall of toolCalls) {\n try {\n logger.info('Tool call details:', {\n id: toolCall.id,\n name: toolCall.function.name,\n argumentsRaw: toolCall.function.arguments\n });\n\n contentBlocks.push({\n type: 'tool_use',\n id: toolCall.id,\n name: toolCall.function.name,\n input: JSON.parse(toolCall.function.arguments || '{}')\n });\n } catch (error) {\n logger.error('Failed to parse tool call arguments', {\n toolCall,\n error: (error as Error).message\n });\n }\n }\n\n logger.info('Converted OpenRouter tool calls to Anthropic format', {\n toolCallCount: toolCalls.length,\n toolNames: toolCalls.map((tc: any) => tc.function.name)\n });\n }\n\n // Add text response if present\n if (rawText && rawText.trim()) {\n logger.info('Adding text content block', {\n textLength: rawText.length,\n textPreview: rawText.substring(0, 200)\n });\n contentBlocks.push({\n type: 'text',\n text: rawText\n });\n }\n\n // If no content blocks, add empty text\n if (contentBlocks.length === 0) {\n logger.warn('No content blocks found, adding empty text block');\n contentBlocks.push({\n type: 'text',\n text: rawText || ''\n });\n }\n\n logger.info('Final content blocks:', {\n blockCount: contentBlocks.length,\n blockTypes: contentBlocks.map(b => b.type)\n });\n\n const result = {\n id: openaiRes.id || `msg_${Date.now()}`,\n type: 'message',\n role: 'assistant',\n model: openaiRes.model,\n content: contentBlocks,\n stop_reason: this.mapFinishReason(choice.finish_reason),\n usage: {\n input_tokens: openaiRes.usage?.prompt_tokens || 0,\n output_tokens: openaiRes.usage?.completion_tokens || 0\n }\n };\n\n logger.info('Conversion complete, returning Anthropic response');\n return result;\n }\n\n // Takes only complete lines; the streaming loop buffers any partial tail.\n private convertOpenAIStreamToAnthropic(chunk: string): string {\n // Convert OpenAI SSE format to Anthropic SSE format\n const lines = chunk.split('\\n').map(line => line.replace(/\\r$/, '')).filter(line => line.trim());\n const anthropicChunks: string[] = [];\n\n for (const line of lines) {\n if (line.startsWith('data: ')) {\n const data = line.slice(6);\n if (data === '[DONE]') {\n anthropicChunks.push('event: message_stop\\ndata: {}\\n\\n');\n continue;\n }\n\n try {\n const parsed = JSON.parse(data);\n const delta = parsed.choices?.[0]?.delta;\n\n if (delta?.content) {\n anthropicChunks.push(\n `event: content_block_delta\\ndata: ${JSON.stringify({\n type: 'content_block_delta',\n delta: { type: 'text_delta', text: delta.content }\n })}\\n\\n`\n );\n }\n } catch (e) {\n // Ignore parse errors\n }\n }\n }\n\n return anthropicChunks.join('');\n }\n\n private extractProvider(modelId: string): string {\n // Extract provider from model ID (e.g., \"openai/gpt-4\" -> \"openai\")\n const parts = modelId.split('/');\n return parts.length > 1 ? parts[0] : '';\n }\n\n private mapFinishReason(reason?: string): string {\n const mapping: Record<string, string> = {\n 'stop': 'end_turn',\n 'length': 'max_tokens',\n 'content_filter': 'stop_sequence',\n 'function_call': 'tool_use'\n };\n return mapping[reason || 'stop'] || 'end_turn';\n }\n\n /**\n * Start listening. Binds 127.0.0.1 unless `host` or AGENTIC_FLOW_PROXY_HOST\n * says otherwise. Returns the underlying server.\n */\n public start(port: number, host: string = resolveProxyHost()): Server {\n this.server = this.app.listen(port, host, () => {\n logger.info('Anthropic to OpenRouter proxy started', {\n port,\n host,\n openrouterBaseUrl: this.openrouterBaseUrl,\n defaultModel: this.defaultModel\n });\n console.log(`\\n✅ Anthropic Proxy running at http://${host}:${port}`);\n console.log(` OpenRouter Base URL: ${this.openrouterBaseUrl}`);\n console.log(` Default Model: ${this.defaultModel}`);\n\n if (this.capabilities?.requiresEmulation) {\n console.log(`\\n ⚙️ Tool Emulation: ${this.capabilities.emulationStrategy.toUpperCase()} pattern`);\n console.log(` 📊 Expected reliability: ${this.capabilities.emulationStrategy === 'react' ? '70-85%' : '50-70%'}`);\n }\n console.log('');\n });\n return this.server;\n }\n\n /** Stop listening. Safe to call when the proxy was never started. */\n public stop(): Promise<void> {\n const server = this.server;\n this.server = undefined;\n if (!server) return Promise.resolve();\n return new Promise((resolve, reject) => server.close(err => (err ? reject(err) : resolve())));\n }\n}\n\n// CLI entry point\nif (import.meta.url === `file://${process.argv[1]}`) {\n const port = parseInt(process.env.PORT || '3000');\n const openrouterApiKey = process.env.OPENROUTER_API_KEY;\n\n if (!openrouterApiKey) {\n console.error('❌ Error: OPENROUTER_API_KEY environment variable required');\n process.exit(1);\n }\n\n const proxy = new AnthropicToOpenRouterProxy({\n openrouterApiKey,\n openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,\n defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL\n });\n\n proxy.start(port);\n console.log(` Proxy token (send as x-api-key / ANTHROPIC_API_KEY): ${proxy.getAuthToken()}`);\n}\n"]}
|
|
@@ -1,16 +1,23 @@
|
|
|
1
|
+
import type { Server } from 'http';
|
|
1
2
|
import { ModelCapabilities } from '../utils/modelCapabilities.js';
|
|
2
3
|
export declare class AnthropicToRequestyProxy {
|
|
3
4
|
private app;
|
|
4
5
|
private requestyApiKey;
|
|
5
6
|
private requestyBaseUrl;
|
|
6
7
|
private defaultModel;
|
|
8
|
+
private authToken;
|
|
9
|
+
private server?;
|
|
7
10
|
private capabilities?;
|
|
8
11
|
constructor(config: {
|
|
9
12
|
requestyApiKey: string;
|
|
10
13
|
requestyBaseUrl?: string;
|
|
11
14
|
defaultModel?: string;
|
|
12
15
|
capabilities?: ModelCapabilities;
|
|
16
|
+
/** Token clients must send; defaults to AGENTIC_FLOW_PROXY_TOKEN or a random one. */
|
|
17
|
+
authToken?: string;
|
|
13
18
|
});
|
|
19
|
+
/** The token clients must present as x-api-key or Authorization: Bearer. */
|
|
20
|
+
getAuthToken(): string;
|
|
14
21
|
private setupMiddleware;
|
|
15
22
|
private setupRoutes;
|
|
16
23
|
private handleRequest;
|
|
@@ -28,6 +35,12 @@ export declare class AnthropicToRequestyProxy {
|
|
|
28
35
|
private convertOpenAIStreamToAnthropic;
|
|
29
36
|
private extractProvider;
|
|
30
37
|
private mapFinishReason;
|
|
31
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Start listening. Binds 127.0.0.1 unless `host` or AGENTIC_FLOW_PROXY_HOST
|
|
40
|
+
* says otherwise. Returns the underlying server.
|
|
41
|
+
*/
|
|
42
|
+
start(port: number, host?: string): Server;
|
|
43
|
+
/** Stop listening. Safe to call when the proxy was never started. */
|
|
44
|
+
stop(): Promise<void>;
|
|
32
45
|
}
|
|
33
46
|
//# sourceMappingURL=anthropic-to-requesty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-to-requesty.d.ts","sourceRoot":"","sources":["../../src/proxy/anthropic-to-requesty.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic-to-requesty.d.ts","sourceRoot":"","sources":["../../src/proxy/anthropic-to-requesty.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAKnC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,+BAA+B,CAAC;AAqD3F,qBAAa,wBAAwB;IACnC,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAoB;gBAE7B,MAAM,EAAE;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,iBAAiB,CAAC;QACjC,qFAAqF;QACrF,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAqBD,4EAA4E;IACrE,YAAY,IAAI,MAAM;IAI7B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,WAAW;YAyEL,aAAa;YAsBb,mBAAmB;YA6GnB,qBAAqB;YAmDrB,YAAY;IAoC1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,wBAAwB;IAqLhC,OAAO,CAAC,uBAAuB;IAsD/B,OAAO,CAAC,wBAAwB;IAmGhC,OAAO,CAAC,8BAA8B;IAkCtC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,eAAe;IAUvB;;;OAGG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAA2B,GAAG,MAAM;IAqBrE,qEAAqE;IAC9D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Converts Anthropic API format to Requesty format
|
|
3
3
|
import express from 'express';
|
|
4
4
|
import { logger } from '../utils/logger.js';
|
|
5
|
+
import { createProxyAuthMiddleware, resolveProxyHost, resolveProxyToken } from './proxy-auth.js';
|
|
5
6
|
import { getMaxTokensForModel } from './provider-instructions.js';
|
|
6
7
|
import { detectModelCapabilities } from '../utils/modelCapabilities.js';
|
|
7
8
|
import { ToolEmulator, executeEmulation } from './tool-emulation.js';
|
|
@@ -10,9 +11,12 @@ export class AnthropicToRequestyProxy {
|
|
|
10
11
|
requestyApiKey;
|
|
11
12
|
requestyBaseUrl;
|
|
12
13
|
defaultModel;
|
|
14
|
+
authToken;
|
|
15
|
+
server;
|
|
13
16
|
capabilities;
|
|
14
17
|
constructor(config) {
|
|
15
18
|
this.app = express();
|
|
19
|
+
this.authToken = config.authToken || resolveProxyToken();
|
|
16
20
|
this.requestyApiKey = config.requestyApiKey;
|
|
17
21
|
this.requestyBaseUrl = config.requestyBaseUrl || 'https://router.requesty.ai/v1';
|
|
18
22
|
this.defaultModel = config.defaultModel || 'deepseek/deepseek-chat';
|
|
@@ -28,7 +32,13 @@ export class AnthropicToRequestyProxy {
|
|
|
28
32
|
this.setupMiddleware();
|
|
29
33
|
this.setupRoutes();
|
|
30
34
|
}
|
|
35
|
+
/** The token clients must present as x-api-key or Authorization: Bearer. */
|
|
36
|
+
getAuthToken() {
|
|
37
|
+
return this.authToken;
|
|
38
|
+
}
|
|
31
39
|
setupMiddleware() {
|
|
40
|
+
// Reject unauthenticated callers before parsing their (up to 50mb) body
|
|
41
|
+
this.app.use(createProxyAuthMiddleware(this.authToken));
|
|
32
42
|
// Parse JSON bodies
|
|
33
43
|
this.app.use(express.json({ limit: '50mb' }));
|
|
34
44
|
// Logging middleware
|
|
@@ -60,7 +70,7 @@ export class AnthropicToRequestyProxy {
|
|
|
60
70
|
: Array.isArray(anthropicReq.system)
|
|
61
71
|
? JSON.stringify(anthropicReq.system).substring(0, 200)
|
|
62
72
|
: undefined;
|
|
63
|
-
logger.
|
|
73
|
+
logger.debug('=== INCOMING ANTHROPIC REQUEST ===', {
|
|
64
74
|
model: anthropicReq.model,
|
|
65
75
|
systemPrompt: systemPreview,
|
|
66
76
|
systemType: typeof anthropicReq.system,
|
|
@@ -74,7 +84,7 @@ export class AnthropicToRequestyProxy {
|
|
|
74
84
|
// Log first user message for debugging
|
|
75
85
|
if (anthropicReq.messages && anthropicReq.messages.length > 0) {
|
|
76
86
|
const firstMsg = anthropicReq.messages[0];
|
|
77
|
-
logger.
|
|
87
|
+
logger.debug('First user message:', {
|
|
78
88
|
role: firstMsg.role,
|
|
79
89
|
contentPreview: typeof firstMsg.content === 'string'
|
|
80
90
|
? firstMsg.content.substring(0, 200)
|
|
@@ -129,7 +139,7 @@ export class AnthropicToRequestyProxy {
|
|
|
129
139
|
// Convert Anthropic format to OpenAI format
|
|
130
140
|
const openaiReq = this.convertAnthropicToOpenAI(anthropicReq);
|
|
131
141
|
// VERBOSE LOGGING: Log converted OpenAI request
|
|
132
|
-
logger.
|
|
142
|
+
logger.debug('=== CONVERTED OPENAI REQUEST ===', {
|
|
133
143
|
anthropicModel: anthropicReq.model,
|
|
134
144
|
openaiModel: openaiReq.model,
|
|
135
145
|
messageCount: openaiReq.messages.length,
|
|
@@ -137,8 +147,7 @@ export class AnthropicToRequestyProxy {
|
|
|
137
147
|
toolCount: openaiReq.tools?.length || 0,
|
|
138
148
|
toolNames: openaiReq.tools?.map(t => t.function.name) || [],
|
|
139
149
|
maxTokens: openaiReq.max_tokens,
|
|
140
|
-
apiKeyPresent: !!this.requestyApiKey
|
|
141
|
-
apiKeyPrefix: this.requestyApiKey?.substring(0, 10)
|
|
150
|
+
apiKeyPresent: !!this.requestyApiKey
|
|
142
151
|
});
|
|
143
152
|
// Forward to Requesty
|
|
144
153
|
const response = await fetch(`${this.requestyBaseUrl}/chat/completions`, {
|
|
@@ -196,7 +205,7 @@ export class AnthropicToRequestyProxy {
|
|
|
196
205
|
// Non-streaming response
|
|
197
206
|
const openaiRes = await response.json();
|
|
198
207
|
// VERBOSE LOGGING: Log raw OpenAI response
|
|
199
|
-
logger.
|
|
208
|
+
logger.debug('=== RAW OPENAI RESPONSE ===', {
|
|
200
209
|
id: openaiRes.id,
|
|
201
210
|
model: openaiRes.model,
|
|
202
211
|
choices: openaiRes.choices?.length,
|
|
@@ -387,7 +396,7 @@ export class AnthropicToRequestyProxy {
|
|
|
387
396
|
else {
|
|
388
397
|
originalSystem = '';
|
|
389
398
|
}
|
|
390
|
-
logger.
|
|
399
|
+
logger.debug('Appending original system prompt:', {
|
|
391
400
|
systemType: typeof anthropicReq.system,
|
|
392
401
|
isArray: Array.isArray(anthropicReq.system),
|
|
393
402
|
originalSystemLength: originalSystem.length,
|
|
@@ -672,14 +681,19 @@ export class AnthropicToRequestyProxy {
|
|
|
672
681
|
};
|
|
673
682
|
return mapping[reason || 'stop'] || 'end_turn';
|
|
674
683
|
}
|
|
675
|
-
|
|
676
|
-
|
|
684
|
+
/**
|
|
685
|
+
* Start listening. Binds 127.0.0.1 unless `host` or AGENTIC_FLOW_PROXY_HOST
|
|
686
|
+
* says otherwise. Returns the underlying server.
|
|
687
|
+
*/
|
|
688
|
+
start(port, host = resolveProxyHost()) {
|
|
689
|
+
this.server = this.app.listen(port, host, () => {
|
|
677
690
|
logger.info('Anthropic to Requesty proxy started', {
|
|
678
691
|
port,
|
|
692
|
+
host,
|
|
679
693
|
requestyBaseUrl: this.requestyBaseUrl,
|
|
680
694
|
defaultModel: this.defaultModel
|
|
681
695
|
});
|
|
682
|
-
console.log(`\n✅ Anthropic Proxy running at http
|
|
696
|
+
console.log(`\n✅ Anthropic Proxy running at http://${host}:${port}`);
|
|
683
697
|
console.log(` Requesty Base URL: ${this.requestyBaseUrl}`);
|
|
684
698
|
console.log(` Default Model: ${this.defaultModel}`);
|
|
685
699
|
if (this.capabilities?.requiresEmulation) {
|
|
@@ -688,6 +702,15 @@ export class AnthropicToRequestyProxy {
|
|
|
688
702
|
}
|
|
689
703
|
console.log('');
|
|
690
704
|
});
|
|
705
|
+
return this.server;
|
|
706
|
+
}
|
|
707
|
+
/** Stop listening. Safe to call when the proxy was never started. */
|
|
708
|
+
stop() {
|
|
709
|
+
const server = this.server;
|
|
710
|
+
this.server = undefined;
|
|
711
|
+
if (!server)
|
|
712
|
+
return Promise.resolve();
|
|
713
|
+
return new Promise((resolve, reject) => server.close(err => (err ? reject(err) : resolve())));
|
|
691
714
|
}
|
|
692
715
|
}
|
|
693
716
|
// CLI entry point
|
|
@@ -704,5 +727,6 @@ if (import.meta.url === `file://${process.argv[1]}`) {
|
|
|
704
727
|
defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL
|
|
705
728
|
});
|
|
706
729
|
proxy.start(port);
|
|
730
|
+
console.log(` Proxy token (send as x-api-key / ANTHROPIC_API_KEY): ${proxy.getAuthToken()}`);
|
|
707
731
|
}
|
|
708
732
|
//# sourceMappingURL=anthropic-to-requesty.js.map
|