agentic-flow 3.0.0-alpha.2 → 3.1.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 +126 -0
- package/.claude/statusline.sh +74 -0
- package/CHANGELOG.md +174 -0
- package/README.md +1873 -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 +21 -18
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts +89 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +122 -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/commands/swarm.d.ts.map +1 -1
- package/dist/cli/commands/swarm.js +3 -2
- package/dist/cli/commands/swarm.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 +42 -22
- 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 +43 -21
- 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 +42 -20
- 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/proxy/sse-lines.d.ts +9 -0
- package/dist/proxy/sse-lines.d.ts.map +1 -0
- package/dist/proxy/sse-lines.js +37 -0
- package/dist/proxy/sse-lines.js.map +1 -0
- 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 +4 -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 +29 -1
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
- package/dist/reasoningbank/utils/embeddings.js +156 -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/package-version.d.ts +9 -0
- package/dist/utils/package-version.d.ts.map +1 -0
- package/dist/utils/package-version.js +39 -0
- package/dist/utils/package-version.js.map +1 -0
- 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/docker-tests/TEST-V1.7.8.Dockerfile +2 -2
- package/docs/docker-tests/TEST-V1.7.9-NODE20.Dockerfile +2 -2
- package/docs/docker-tests/TEST-V1.7.9.Dockerfile +2 -2
- package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
- package/docs/guides/CLAUDE-CODE-INTEGRATION.md +25 -8
- package/docs/guides/PROXY-ARCHITECTURE-AND-EXTENSION.md +22 -9
- package/docs/guides/STANDALONE_PROXY_GUIDE.md +16 -6
- package/docs/integrations/FASTMCP_CLI_INTEGRATION.md +1 -1
- package/docs/plans/requesty/02-architecture.md +5 -6
- package/docs/plans/requesty/03-implementation-phases.md +3 -4
- package/docs/plans/requesty/05-migration-guide.md +2 -2
- package/package.json +76 -32
- package/scripts/postinstall.js +45 -4
- package/scripts/validate-providers.sh +7 -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/helpers/auto-memory-hook.mjs +0 -350
- 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 -31
- package/dist/agentic-flow/src/db/sql-adapter.d.ts.map +0 -1
- package/dist/agentic-flow/src/db/sql-adapter.js +0 -100
- 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 -244
- 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 -125
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.js +0 -248
- package/dist/agentic-flow/src/reasoningbank/AdvancedMemory.js.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.d.ts +0 -105
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.d.ts.map +0 -1
- package/dist/agentic-flow/src/reasoningbank/HybridBackend.js +0 -317
- 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 -178
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-to-requesty.js","sourceRoot":"","sources":["../../src/proxy/anthropic-to-requesty.ts"],"names":[],"mappings":"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","sourcesContent":["// Anthropic to Requesty Proxy Server\n// Converts Anthropic API format to Requesty 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 AnthropicToRequestyProxy {\n private app: express.Application;\n private requestyApiKey: string;\n private requestyBaseUrl: string;\n private defaultModel: string;\n private capabilities?: ModelCapabilities;\n\n constructor(config: {\n requestyApiKey: string;\n requestyBaseUrl?: string;\n defaultModel?: string;\n capabilities?: ModelCapabilities;\n }) {\n this.app = express();\n this.requestyApiKey = config.requestyApiKey;\n this.requestyBaseUrl = config.requestyBaseUrl || 'https://router.requesty.ai/v1';\n this.defaultModel = config.defaultModel || 'deepseek/deepseek-chat';\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-requesty-proxy' });\n });\n\n // Anthropic Messages API → Requesty Chat Completions\n this.app.post('/v1/messages', async (req: Request, res: Response) => {\n console.log('🔵 REQUEST RECEIVED AT PROXY - /v1/messages');\n logger.info('🔵 REQUEST RECEIVED AT PROXY - /v1/messages');\n try {\n const anthropicReq: AnthropicRequest = req.body;\n console.log('🔵 Request body parsed successfully');\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 Requesty 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.requestyApiKey,\n apiKeyPrefix: this.requestyApiKey?.substring(0, 10)\n });\n\n // Forward to Requesty\n const response = await fetch(`${this.requestyBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.requestyApiKey}`,\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('Requesty 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 Requesty response status\n logger.info('=== REQUESTY 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 // Cap max_tokens at 8192 for OpenAI models via Requesty\n let maxTokens = anthropicReq.max_tokens;\n if (maxTokens && maxTokens > 8192) {\n maxTokens = 8192;\n }\n const openaiReq = {\n model: anthropicReq.model || this.defaultModel,\n messages: [{ role: 'user', content: prompt }],\n temperature: anthropicReq.temperature,\n max_tokens: maxTokens\n };\n const response = await this.callRequesty(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 callRequesty(openaiReq: any): Promise<any> {\n // Add timeout for Requesty API calls (60 seconds)\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 60000);\n\n try {\n const response = await fetch(`${this.requestyBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.requestyApiKey}`,\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 signal: controller.signal\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Requesty API error: ${error}`);\n }\n\n return response.json();\n } catch (error: any) {\n clearTimeout(timeoutId);\n if (error.name === 'AbortError') {\n throw new Error('Requesty API request timed out after 60 seconds');\n }\n throw error;\n }\n }\n\n\n /**\n * Sanitize JSON Schema to be OpenAI-compatible\n * Fixes array properties without items, removes unsupported keywords\n */\n private sanitizeJsonSchema(schema: any, path: string = 'root'): any {\n if (!schema || typeof schema !== 'object') {\n return schema;\n }\n\n // Create a shallow copy to avoid mutations\n const sanitized = { ...schema };\n\n // Fix array types without items\n if (sanitized.type === 'array' && !sanitized.items) {\n logger.warn(`Schema sanitization: Adding missing 'items' for array at ${path}`);\n sanitized.items = { type: 'string' };\n }\n\n // Remove JSON Schema 2020-12 keywords not supported by OpenAI\n const unsupportedKeywords = [\n '$schema', '$id', '$ref', '$defs', 'definitions',\n 'if', 'then', 'else', 'dependentSchemas', 'dependentRequired',\n 'prefixItems', 'unevaluatedItems', 'unevaluatedProperties',\n 'minContains', 'maxContains', 'patternProperties',\n 'additionalItems', 'contains'\n ];\n\n for (const keyword of unsupportedKeywords) {\n if (keyword in sanitized) {\n logger.warn(`Schema sanitization: Removing unsupported keyword '${keyword}' at ${path}`);\n delete sanitized[keyword];\n }\n }\n\n // Recursively sanitize nested properties\n if (sanitized.properties && typeof sanitized.properties === 'object') {\n sanitized.properties = {};\n for (const [key, value] of Object.entries(schema.properties)) {\n sanitized.properties[key] = this.sanitizeJsonSchema(value, `${path}.properties.${key}`);\n }\n }\n\n // Recursively sanitize array items\n if (sanitized.items && typeof sanitized.items === 'object') {\n sanitized.items = this.sanitizeJsonSchema(sanitized.items, `${path}.items`);\n }\n\n // Recursively sanitize allOf, anyOf, oneOf\n for (const combinator of ['allOf', 'anyOf', 'oneOf']) {\n if (Array.isArray(sanitized[combinator])) {\n sanitized[combinator] = sanitized[combinator].map((subschema: any, index: number) =>\n this.sanitizeJsonSchema(subschema, `${path}.${combinator}[${index}]`)\n );\n }\n }\n\n return sanitized;\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: Requesty models use native OpenAI tool calling\n // - If MCP tools are provided, Requesty handles them via function calling\n // - Do NOT inject XML instructions - they cause malformed output\n // - Let Requesty 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 - Requesty 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 let maxTokens = getMaxTokensForModel(finalModel, anthropicReq.max_tokens);\n\n // Cap at 8192 for OpenAI models via Requesty\n if (maxTokens && maxTokens > 8192) {\n maxTokens = 8192;\n }\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 totalTools: anthropicReq.tools.length\n });\n\n // Requesty has strict limits - only send a subset of tools to avoid timeouts\n // Requesty also rejects empty tools arrays, so we either send tools or omit the parameter\n const MAX_TOOLS_FOR_REQUESTY = 10; // Very conservative limit - Requesty timeouts with more\n const toolsToConvert = anthropicReq.tools.slice(0, MAX_TOOLS_FOR_REQUESTY);\n\n if (anthropicReq.tools.length > MAX_TOOLS_FOR_REQUESTY) {\n logger.warn(`Limiting tools to ${MAX_TOOLS_FOR_REQUESTY} for Requesty (${anthropicReq.tools.length} available)`);\n }\n\n // Only set tools if we have at least one (Requesty rejects empty arrays)\n if (toolsToConvert.length > 0) {\n openaiReq.tools = toolsToConvert.map(tool => {\n // Sanitize the input schema to fix array properties without items\n const rawSchema = tool.input_schema || {\n type: 'object',\n properties: {},\n required: []\n };\n const sanitizedSchema = this.sanitizeJsonSchema(rawSchema, `tool.${tool.name}`);\n\n const openaiTool = {\n type: 'function' as const,\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: sanitizedSchema\n }\n };\n return openaiTool;\n });\n\n logger.info('Forwarding MCP tools to Requesty', {\n toolCount: openaiReq.tools.length,\n toolNames: openaiReq.tools.map(t => t.function.name).slice(0, 5)\n });\n } else {\n logger.info('No tools to send (omitting tools parameter entirely for Requesty)');\n // Don't set openaiReq.tools at all - Requesty rejects empty arrays\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 // Requesty 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 Requesty 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 Requesty proxy started', {\n port,\n requestyBaseUrl: this.requestyBaseUrl,\n defaultModel: this.defaultModel\n });\n console.log(`\\n✅ Anthropic Proxy running at http://localhost:${port}`);\n console.log(` Requesty Base URL: ${this.requestyBaseUrl}`);\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 requestyApiKey = process.env.REQUESTY_API_KEY;\n\n if (!requestyApiKey) {\n console.error('❌ Error: REQUESTY_API_KEY environment variable required');\n process.exit(1);\n }\n\n const proxy = new AnthropicToRequestyProxy({\n requestyApiKey,\n requestyBaseUrl: 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-requesty.js","sourceRoot":"","sources":["../../src/proxy/anthropic-to-requesty.ts"],"names":[],"mappings":"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","sourcesContent":["// Anthropic to Requesty Proxy Server\n// Converts Anthropic API format to Requesty 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 { createProxyAuthMiddleware, resolveProxyHost, resolveProxyToken } from './proxy-auth.js';\nimport { forEachSseLines, sseLines } from './sse-lines.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 AnthropicToRequestyProxy {\n private app: express.Application;\n private requestyApiKey: string;\n private requestyBaseUrl: string;\n private defaultModel: string;\n private authToken: string;\n private server?: Server;\n private capabilities?: ModelCapabilities;\n\n constructor(config: {\n requestyApiKey: string;\n requestyBaseUrl?: 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.requestyApiKey = config.requestyApiKey;\n this.requestyBaseUrl = config.requestyBaseUrl || 'https://router.requesty.ai/v1';\n this.defaultModel = config.defaultModel || 'deepseek/deepseek-chat';\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-requesty-proxy' });\n });\n\n // Anthropic Messages API → Requesty Chat Completions\n this.app.post('/v1/messages', async (req: Request, res: Response) => {\n console.log('🔵 REQUEST RECEIVED AT PROXY - /v1/messages');\n logger.info('🔵 REQUEST RECEIVED AT PROXY - /v1/messages');\n try {\n const anthropicReq: AnthropicRequest = req.body;\n console.log('🔵 Request body parsed successfully');\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 Requesty 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.requestyApiKey\n });\n\n // Forward to Requesty\n const response = await fetch(`${this.requestyBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.requestyApiKey}`,\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('Requesty 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 Requesty response status\n logger.info('=== REQUESTY 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 await forEachSseLines(reader, lines => {\n const anthropicChunk = this.convertOpenAIStreamToAnthropic(lines);\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 // Cap max_tokens at 8192 for OpenAI models via Requesty\n let maxTokens = anthropicReq.max_tokens;\n if (maxTokens && maxTokens > 8192) {\n maxTokens = 8192;\n }\n const openaiReq = {\n model: anthropicReq.model || this.defaultModel,\n messages: [{ role: 'user', content: prompt }],\n temperature: anthropicReq.temperature,\n max_tokens: maxTokens\n };\n const response = await this.callRequesty(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 callRequesty(openaiReq: any): Promise<any> {\n // Add timeout for Requesty API calls (60 seconds)\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 60000);\n\n try {\n const response = await fetch(`${this.requestyBaseUrl}/chat/completions`, {\n method: 'POST',\n headers: {\n 'Authorization': `Bearer ${this.requestyApiKey}`,\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 signal: controller.signal\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const error = await response.text();\n throw new Error(`Requesty API error: ${error}`);\n }\n\n return response.json();\n } catch (error: any) {\n clearTimeout(timeoutId);\n if (error.name === 'AbortError') {\n throw new Error('Requesty API request timed out after 60 seconds');\n }\n throw error;\n }\n }\n\n\n /**\n * Sanitize JSON Schema to be OpenAI-compatible\n * Fixes array properties without items, removes unsupported keywords\n */\n private sanitizeJsonSchema(schema: any, path: string = 'root'): any {\n if (!schema || typeof schema !== 'object') {\n return schema;\n }\n\n // Create a shallow copy to avoid mutations\n const sanitized = { ...schema };\n\n // Fix array types without items\n if (sanitized.type === 'array' && !sanitized.items) {\n logger.warn(`Schema sanitization: Adding missing 'items' for array at ${path}`);\n sanitized.items = { type: 'string' };\n }\n\n // Remove JSON Schema 2020-12 keywords not supported by OpenAI\n const unsupportedKeywords = [\n '$schema', '$id', '$ref', '$defs', 'definitions',\n 'if', 'then', 'else', 'dependentSchemas', 'dependentRequired',\n 'prefixItems', 'unevaluatedItems', 'unevaluatedProperties',\n 'minContains', 'maxContains', 'patternProperties',\n 'additionalItems', 'contains'\n ];\n\n for (const keyword of unsupportedKeywords) {\n if (keyword in sanitized) {\n logger.warn(`Schema sanitization: Removing unsupported keyword '${keyword}' at ${path}`);\n delete sanitized[keyword];\n }\n }\n\n // Recursively sanitize nested properties\n if (sanitized.properties && typeof sanitized.properties === 'object') {\n sanitized.properties = {};\n for (const [key, value] of Object.entries(schema.properties)) {\n sanitized.properties[key] = this.sanitizeJsonSchema(value, `${path}.properties.${key}`);\n }\n }\n\n // Recursively sanitize array items\n if (sanitized.items && typeof sanitized.items === 'object') {\n sanitized.items = this.sanitizeJsonSchema(sanitized.items, `${path}.items`);\n }\n\n // Recursively sanitize allOf, anyOf, oneOf\n for (const combinator of ['allOf', 'anyOf', 'oneOf']) {\n if (Array.isArray(sanitized[combinator])) {\n sanitized[combinator] = sanitized[combinator].map((subschema: any, index: number) =>\n this.sanitizeJsonSchema(subschema, `${path}.${combinator}[${index}]`)\n );\n }\n }\n\n return sanitized;\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: Requesty models use native OpenAI tool calling\n // - If MCP tools are provided, Requesty handles them via function calling\n // - Do NOT inject XML instructions - they cause malformed output\n // - Let Requesty 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 - Requesty 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.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 let maxTokens = getMaxTokensForModel(finalModel, anthropicReq.max_tokens);\n\n // Cap at 8192 for OpenAI models via Requesty\n if (maxTokens && maxTokens > 8192) {\n maxTokens = 8192;\n }\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 totalTools: anthropicReq.tools.length\n });\n\n // Requesty has strict limits - only send a subset of tools to avoid timeouts\n // Requesty also rejects empty tools arrays, so we either send tools or omit the parameter\n const MAX_TOOLS_FOR_REQUESTY = 10; // Very conservative limit - Requesty timeouts with more\n const toolsToConvert = anthropicReq.tools.slice(0, MAX_TOOLS_FOR_REQUESTY);\n\n if (anthropicReq.tools.length > MAX_TOOLS_FOR_REQUESTY) {\n logger.warn(`Limiting tools to ${MAX_TOOLS_FOR_REQUESTY} for Requesty (${anthropicReq.tools.length} available)`);\n }\n\n // Only set tools if we have at least one (Requesty rejects empty arrays)\n if (toolsToConvert.length > 0) {\n openaiReq.tools = toolsToConvert.map(tool => {\n // Sanitize the input schema to fix array properties without items\n const rawSchema = tool.input_schema || {\n type: 'object',\n properties: {},\n required: []\n };\n const sanitizedSchema = this.sanitizeJsonSchema(rawSchema, `tool.${tool.name}`);\n\n const openaiTool = {\n type: 'function' as const,\n function: {\n name: tool.name,\n description: tool.description || '',\n parameters: sanitizedSchema\n }\n };\n return openaiTool;\n });\n\n logger.info('Forwarding MCP tools to Requesty', {\n toolCount: openaiReq.tools.length,\n toolNames: openaiReq.tools.map(t => t.function.name).slice(0, 5)\n });\n } else {\n logger.info('No tools to send (omitting tools parameter entirely for Requesty)');\n // Don't set openaiReq.tools at all - Requesty rejects empty arrays\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 // Requesty 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 Requesty 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; forEachSseLines buffers any partial tail.\n private convertOpenAIStreamToAnthropic(chunk: string): string {\n // Convert OpenAI SSE format to Anthropic SSE format\n const lines = sseLines(chunk);\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 Requesty proxy started', {\n port,\n host,\n requestyBaseUrl: this.requestyBaseUrl,\n defaultModel: this.defaultModel\n });\n console.log(`\\n✅ Anthropic Proxy running at http://${host}:${port}`);\n console.log(` Requesty Base URL: ${this.requestyBaseUrl}`);\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 requestyApiKey = process.env.REQUESTY_API_KEY;\n\n if (!requestyApiKey) {\n console.error('❌ Error: REQUESTY_API_KEY environment variable required');\n process.exit(1);\n }\n\n const proxy = new AnthropicToRequestyProxy({\n requestyApiKey,\n requestyBaseUrl: 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"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Request, RequestHandler } from 'express';
|
|
2
|
+
export declare const DEFAULT_PROXY_HOST = "127.0.0.1";
|
|
3
|
+
/** Host the proxy binds to. Override with AGENTIC_FLOW_PROXY_HOST. */
|
|
4
|
+
export declare function resolveProxyHost(env?: NodeJS.ProcessEnv): string;
|
|
5
|
+
/**
|
|
6
|
+
* Token clients must present. AGENTIC_FLOW_PROXY_TOKEN wins so a standalone
|
|
7
|
+
* proxy can keep a stable token across restarts; otherwise a fresh random one.
|
|
8
|
+
* The `sk-ant-` prefix keeps clients that sanity-check key shape happy.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveProxyToken(env?: NodeJS.ProcessEnv): string;
|
|
11
|
+
/** Pull the presented credential from `x-api-key` or `Authorization: Bearer`. */
|
|
12
|
+
export declare function extractPresentedToken(headers: Request['headers']): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Express middleware that rejects requests without the expected token with
|
|
15
|
+
* an Anthropic-shaped 401. `/health` stays open so liveness probes work.
|
|
16
|
+
*/
|
|
17
|
+
export declare function createProxyAuthMiddleware(expectedToken: string): RequestHandler;
|
|
18
|
+
/**
|
|
19
|
+
* URL a local client should use to reach a proxy bound to `host`. Wildcard
|
|
20
|
+
* binds are reached over loopback; `localhost` is avoided because it can
|
|
21
|
+
* resolve to ::1 while the proxy listens on 127.0.0.1 only.
|
|
22
|
+
*/
|
|
23
|
+
export declare function proxyClientBaseUrl(port: number, host?: string): string;
|
|
24
|
+
//# sourceMappingURL=proxy-auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-auth.d.ts","sourceRoot":"","sources":["../../src/proxy/proxy-auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/E,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI9E;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CASrF;AAQD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,cAAc,CAa/E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAA2B,GAAG,MAAM,CAI1F"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// Shared access control for the Anthropic-compatible translation proxies.
|
|
2
|
+
//
|
|
3
|
+
// The proxies hold a real upstream key (OpenRouter, Gemini, Requesty) and
|
|
4
|
+
// forward any /v1/messages request to it. Without a bind address and a
|
|
5
|
+
// credential check, anyone who can reach the port spends that key. These
|
|
6
|
+
// helpers give every proxy the same two defaults:
|
|
7
|
+
// - bind 127.0.0.1 unless AGENTIC_FLOW_PROXY_HOST says otherwise
|
|
8
|
+
// - require a per-run bearer token on every route except /health
|
|
9
|
+
import { randomBytes, timingSafeEqual } from 'crypto';
|
|
10
|
+
export const DEFAULT_PROXY_HOST = '127.0.0.1';
|
|
11
|
+
/** Host the proxy binds to. Override with AGENTIC_FLOW_PROXY_HOST. */
|
|
12
|
+
export function resolveProxyHost(env = process.env) {
|
|
13
|
+
return env.AGENTIC_FLOW_PROXY_HOST?.trim() || DEFAULT_PROXY_HOST;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Token clients must present. AGENTIC_FLOW_PROXY_TOKEN wins so a standalone
|
|
17
|
+
* proxy can keep a stable token across restarts; otherwise a fresh random one.
|
|
18
|
+
* The `sk-ant-` prefix keeps clients that sanity-check key shape happy.
|
|
19
|
+
*/
|
|
20
|
+
export function resolveProxyToken(env = process.env) {
|
|
21
|
+
const fromEnv = env.AGENTIC_FLOW_PROXY_TOKEN?.trim();
|
|
22
|
+
if (fromEnv)
|
|
23
|
+
return fromEnv;
|
|
24
|
+
return `sk-ant-proxy-${randomBytes(32).toString('hex')}`;
|
|
25
|
+
}
|
|
26
|
+
/** Pull the presented credential from `x-api-key` or `Authorization: Bearer`. */
|
|
27
|
+
export function extractPresentedToken(headers) {
|
|
28
|
+
const apiKey = headers['x-api-key'];
|
|
29
|
+
if (typeof apiKey === 'string' && apiKey.length > 0)
|
|
30
|
+
return apiKey;
|
|
31
|
+
const auth = headers.authorization;
|
|
32
|
+
if (typeof auth === 'string') {
|
|
33
|
+
const match = /^Bearer\s+(.+)$/i.exec(auth.trim());
|
|
34
|
+
if (match)
|
|
35
|
+
return match[1].trim();
|
|
36
|
+
}
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
function tokensMatch(presented, expected) {
|
|
40
|
+
const a = Buffer.from(presented);
|
|
41
|
+
const b = Buffer.from(expected);
|
|
42
|
+
return a.length === b.length && timingSafeEqual(a, b);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Express middleware that rejects requests without the expected token with
|
|
46
|
+
* an Anthropic-shaped 401. `/health` stays open so liveness probes work.
|
|
47
|
+
*/
|
|
48
|
+
export function createProxyAuthMiddleware(expectedToken) {
|
|
49
|
+
return (req, res, next) => {
|
|
50
|
+
if (req.method === 'GET' && req.path === '/health')
|
|
51
|
+
return next();
|
|
52
|
+
const presented = extractPresentedToken(req.headers);
|
|
53
|
+
if (presented && tokensMatch(presented, expectedToken))
|
|
54
|
+
return next();
|
|
55
|
+
res.status(401).json({
|
|
56
|
+
type: 'error',
|
|
57
|
+
error: {
|
|
58
|
+
type: 'authentication_error',
|
|
59
|
+
message: 'Missing or invalid proxy token. Send it as x-api-key or Authorization: Bearer.',
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* URL a local client should use to reach a proxy bound to `host`. Wildcard
|
|
66
|
+
* binds are reached over loopback; `localhost` is avoided because it can
|
|
67
|
+
* resolve to ::1 while the proxy listens on 127.0.0.1 only.
|
|
68
|
+
*/
|
|
69
|
+
export function proxyClientBaseUrl(port, host = resolveProxyHost()) {
|
|
70
|
+
const target = host === '0.0.0.0' || host === '::' || host === 'localhost' ? '127.0.0.1' : host;
|
|
71
|
+
const formatted = target.includes(':') ? `[${target}]` : target;
|
|
72
|
+
return `http://${formatted}:${port}`;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=proxy-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-auth.js","sourceRoot":"","sources":["../../src/proxy/proxy-auth.ts"],"names":[],"mappings":"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","sourcesContent":["// Shared access control for the Anthropic-compatible translation proxies.\n//\n// The proxies hold a real upstream key (OpenRouter, Gemini, Requesty) and\n// forward any /v1/messages request to it. Without a bind address and a\n// credential check, anyone who can reach the port spends that key. These\n// helpers give every proxy the same two defaults:\n// - bind 127.0.0.1 unless AGENTIC_FLOW_PROXY_HOST says otherwise\n// - require a per-run bearer token on every route except /health\nimport { randomBytes, timingSafeEqual } from 'crypto';\nimport type { Request, Response, NextFunction, RequestHandler } from 'express';\n\nexport const DEFAULT_PROXY_HOST = '127.0.0.1';\n\n/** Host the proxy binds to. Override with AGENTIC_FLOW_PROXY_HOST. */\nexport function resolveProxyHost(env: NodeJS.ProcessEnv = process.env): string {\n return env.AGENTIC_FLOW_PROXY_HOST?.trim() || DEFAULT_PROXY_HOST;\n}\n\n/**\n * Token clients must present. AGENTIC_FLOW_PROXY_TOKEN wins so a standalone\n * proxy can keep a stable token across restarts; otherwise a fresh random one.\n * The `sk-ant-` prefix keeps clients that sanity-check key shape happy.\n */\nexport function resolveProxyToken(env: NodeJS.ProcessEnv = process.env): string {\n const fromEnv = env.AGENTIC_FLOW_PROXY_TOKEN?.trim();\n if (fromEnv) return fromEnv;\n return `sk-ant-proxy-${randomBytes(32).toString('hex')}`;\n}\n\n/** Pull the presented credential from `x-api-key` or `Authorization: Bearer`. */\nexport function extractPresentedToken(headers: Request['headers']): string | undefined {\n const apiKey = headers['x-api-key'];\n if (typeof apiKey === 'string' && apiKey.length > 0) return apiKey;\n const auth = headers.authorization;\n if (typeof auth === 'string') {\n const match = /^Bearer\\s+(.+)$/i.exec(auth.trim());\n if (match) return match[1].trim();\n }\n return undefined;\n}\n\nfunction tokensMatch(presented: string, expected: string): boolean {\n const a = Buffer.from(presented);\n const b = Buffer.from(expected);\n return a.length === b.length && timingSafeEqual(a, b);\n}\n\n/**\n * Express middleware that rejects requests without the expected token with\n * an Anthropic-shaped 401. `/health` stays open so liveness probes work.\n */\nexport function createProxyAuthMiddleware(expectedToken: string): RequestHandler {\n return (req: Request, res: Response, next: NextFunction) => {\n if (req.method === 'GET' && req.path === '/health') return next();\n const presented = extractPresentedToken(req.headers);\n if (presented && tokensMatch(presented, expectedToken)) return next();\n res.status(401).json({\n type: 'error',\n error: {\n type: 'authentication_error',\n message: 'Missing or invalid proxy token. Send it as x-api-key or Authorization: Bearer.',\n },\n });\n };\n}\n\n/**\n * URL a local client should use to reach a proxy bound to `host`. Wildcard\n * binds are reached over loopback; `localhost` is avoided because it can\n * resolve to ::1 while the proxy listens on 127.0.0.1 only.\n */\nexport function proxyClientBaseUrl(port: number, host: string = resolveProxyHost()): string {\n const target = host === '0.0.0.0' || host === '::' || host === 'localhost' ? '127.0.0.1' : host;\n const formatted = target.includes(':') ? `[${target}]` : target;\n return `http://${formatted}:${port}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quic-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/quic-proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quic-proxy.d.ts","sourceRoot":"","sources":["../../src/proxy/quic-proxy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,MAAM,WAAW,eAAe;IAE9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAGlB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,0BAA0B;IAC9D,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAqB;IACtC,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,eAAe;IAgBnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;YACW,cAAc;IAsB5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;cACa,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBjF;;OAEG;YACW,eAAe;IA0E7B;;OAEG;YACW,gBAAgB;IAK9B;;OAEG;IACH,iBAAiB,IAAI,GAAG;IAexB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAUzE"}
|
package/dist/proxy/quic-proxy.js
CHANGED
|
@@ -104,8 +104,8 @@ export class QuicEnabledProxy extends AnthropicToOpenRouterProxy {
|
|
|
104
104
|
const headerEntries = options.headers instanceof Headers
|
|
105
105
|
? Array.from(options.headers.entries())
|
|
106
106
|
: Object.entries(options.headers);
|
|
107
|
-
for (const
|
|
108
|
-
headers[
|
|
107
|
+
for (const entry of headerEntries) {
|
|
108
|
+
headers[entry[0]] = entry[1];
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
// Convert body to Uint8Array
|
|
@@ -213,6 +213,7 @@ if (import.meta.url === `file://${process.argv[1]}`) {
|
|
|
213
213
|
}
|
|
214
214
|
});
|
|
215
215
|
proxy.start(port);
|
|
216
|
+
console.log(` Proxy token (send as x-api-key / ANTHROPIC_API_KEY): ${proxy.getAuthToken()}`);
|
|
216
217
|
// Graceful shutdown
|
|
217
218
|
process.on('SIGTERM', async () => {
|
|
218
219
|
logger.info('Received SIGTERM, shutting down gracefully...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quic-proxy.js","sourceRoot":"","sources":["../../src/proxy/quic-proxy.ts"],"names":[],"mappings":"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","sourcesContent":["// QUIC-enabled Proxy for Anthropic API\n// Optional QUIC transport with automatic HTTP/2 fallback\n\nimport express, { Request, Response, NextFunction } from 'express';\nimport { QuicClient, QuicConnectionPool, QuicConfig } from '../transport/quic.js';\nimport { logger } from '../utils/logger.js';\nimport { AnthropicToOpenRouterProxy } from './anthropic-to-openrouter.js';\n\nexport interface QuicProxyConfig {\n // Base proxy config\n openrouterApiKey: string;\n openrouterBaseUrl?: string;\n defaultModel?: string;\n\n // Transport selection\n transport?: 'quic' | 'http2' | 'auto';\n enableQuic?: boolean;\n\n // QUIC configuration\n quic?: QuicConfig;\n\n // Fallback behavior\n fallbackToHttp2?: boolean;\n fallbackTimeout?: number;\n}\n\nexport class QuicEnabledProxy extends AnthropicToOpenRouterProxy {\n private quicClient?: QuicClient;\n private quicPool?: QuicConnectionPool;\n private transport: 'quic' | 'http2' | 'auto';\n private quicEnabled: boolean;\n private fallbackToHttp2: boolean;\n\n constructor(config: QuicProxyConfig) {\n super({\n openrouterApiKey: config.openrouterApiKey,\n openrouterBaseUrl: config.openrouterBaseUrl,\n defaultModel: config.defaultModel\n });\n\n this.transport = config.transport || 'auto';\n this.quicEnabled = config.enableQuic ?? this.checkQuicFeatureFlag();\n this.fallbackToHttp2 = config.fallbackToHttp2 ?? true;\n\n if (this.quicEnabled) {\n this.initializeQuic(config.quic || {});\n }\n }\n\n /**\n * Check if QUIC is enabled via environment variable\n */\n private checkQuicFeatureFlag(): boolean {\n const flag = process.env.AGENTIC_FLOW_ENABLE_QUIC;\n return flag === 'true' || flag === '1';\n }\n\n /**\n * Initialize QUIC client and connection pool\n */\n private async initializeQuic(quicConfig: QuicConfig): Promise<void> {\n try {\n logger.info('Initializing QUIC transport...', { config: quicConfig });\n\n this.quicClient = new QuicClient(quicConfig);\n await this.quicClient.initialize();\n\n this.quicPool = new QuicConnectionPool(this.quicClient, 20);\n\n logger.info('QUIC transport initialized successfully');\n } catch (error) {\n logger.error('Failed to initialize QUIC transport', { error });\n\n if (this.fallbackToHttp2) {\n logger.warn('Falling back to HTTP/2 transport');\n this.quicEnabled = false;\n } else {\n throw error;\n }\n }\n }\n\n /**\n * Select transport protocol based on configuration and availability\n */\n private selectTransport(): 'quic' | 'http2' {\n if (this.transport === 'quic' && this.quicEnabled) {\n return 'quic';\n }\n\n if (this.transport === 'http2') {\n return 'http2';\n }\n\n // Auto mode: prefer QUIC if available, fallback to HTTP/2\n if (this.transport === 'auto') {\n return this.quicEnabled ? 'quic' : 'http2';\n }\n\n return 'http2';\n }\n\n /**\n * Send request using selected transport\n */\n protected async sendRequest(url: string, options: RequestInit): Promise<Response> {\n const selectedTransport = this.selectTransport();\n\n logger.debug('Sending request', {\n transport: selectedTransport,\n url,\n method: options.method\n });\n\n if (selectedTransport === 'quic') {\n return this.sendQuicRequest(url, options);\n } else {\n return this.sendHttp2Request(url, options);\n }\n }\n\n /**\n * Send request over QUIC\n */\n private async sendQuicRequest(url: string, options: RequestInit): Promise<Response> {\n if (!this.quicClient || !this.quicPool) {\n throw new Error('QUIC client not initialized');\n }\n\n try {\n const urlObj = new URL(url);\n const connection = await this.quicPool.getConnection(\n urlObj.hostname,\n parseInt(urlObj.port) || 443\n );\n\n logger.debug('Using QUIC connection', {\n connectionId: connection.id,\n url\n });\n\n // Prepare headers\n const headers: Record<string, string> = {};\n if (options.headers) {\n const headerEntries = options.headers instanceof Headers\n ? Array.from(options.headers.entries())\n : Object.entries(options.headers);\n\n for (const [key, value] of headerEntries) {\n headers[key] = value;\n }\n }\n\n // Convert body to Uint8Array\n let body: Uint8Array | undefined;\n if (options.body) {\n if (typeof options.body === 'string') {\n body = new TextEncoder().encode(options.body);\n } else if (options.body instanceof Uint8Array) {\n body = options.body;\n } else {\n body = new TextEncoder().encode(JSON.stringify(options.body));\n }\n }\n\n // Send HTTP/3 request over QUIC\n const response = await this.quicClient.sendRequest(\n connection.id,\n options.method || 'GET',\n urlObj.pathname + urlObj.search,\n headers,\n body\n );\n\n logger.info('QUIC request completed', {\n status: response.status,\n bytes: response.body.length\n });\n\n // Convert to fetch Response\n const responseText = new TextDecoder().decode(response.body);\n return new Response(responseText, {\n status: response.status,\n headers: new Headers(response.headers)\n }) as any;\n\n } catch (error) {\n logger.error('QUIC request failed', { error, url });\n\n if (this.fallbackToHttp2) {\n logger.warn('Falling back to HTTP/2 for this request');\n return this.sendHttp2Request(url, options);\n }\n\n throw error;\n }\n }\n\n /**\n * Send request over HTTP/2 (standard fetch)\n */\n private async sendHttp2Request(url: string, options: RequestInit): Promise<Response> {\n logger.debug('Using HTTP/2 transport', { url });\n return fetch(url, options) as any;\n }\n\n /**\n * Get transport statistics\n */\n getTransportStats(): any {\n if (this.quicClient) {\n return {\n transport: this.selectTransport(),\n quicEnabled: this.quicEnabled,\n quicStats: this.quicClient.getStats()\n };\n }\n\n return {\n transport: 'http2',\n quicEnabled: false\n };\n }\n\n /**\n * Shutdown and cleanup\n */\n async shutdown(): Promise<void> {\n if (this.quicPool) {\n await this.quicPool.clear();\n }\n\n if (this.quicClient) {\n await this.quicClient.shutdown();\n }\n\n logger.info('QUIC proxy shutdown complete');\n }\n}\n\n/**\n * Create QUIC-enabled proxy with configuration\n */\nexport function createQuicProxy(config: QuicProxyConfig): QuicEnabledProxy {\n const proxy = new QuicEnabledProxy(config);\n\n logger.info('QUIC proxy created', {\n transport: config.transport || 'auto',\n quicEnabled: config.enableQuic ?? (process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true'),\n fallbackEnabled: config.fallbackToHttp2 ?? true\n });\n\n return proxy;\n}\n\n// CLI entry point for QUIC proxy\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 = createQuicProxy({\n openrouterApiKey,\n openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,\n defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL,\n transport: (process.env.TRANSPORT as 'quic' | 'http2' | 'auto') || 'auto',\n enableQuic: process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true',\n quic: {\n port: parseInt(process.env.QUIC_PORT || '4433'),\n serverHost: process.env.QUIC_HOST || 'localhost',\n certPath: process.env.QUIC_CERT_PATH,\n keyPath: process.env.QUIC_KEY_PATH\n }\n });\n\n proxy.start(port);\n\n // Graceful shutdown\n process.on('SIGTERM', async () => {\n logger.info('Received SIGTERM, shutting down gracefully...');\n await proxy.shutdown();\n process.exit(0);\n });\n\n process.on('SIGINT', async () => {\n logger.info('Received SIGINT, shutting down gracefully...');\n await proxy.shutdown();\n process.exit(0);\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"quic-proxy.js","sourceRoot":"","sources":["../../src/proxy/quic-proxy.ts"],"names":[],"mappings":"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","sourcesContent":["// QUIC-enabled Proxy for Anthropic API\n// Optional QUIC transport with automatic HTTP/2 fallback\n\nimport express, { Request, Response as ExpressResponse, NextFunction } from 'express';\nimport { QuicClient, QuicConnectionPool, QuicConfig } from '../transport/quic.js';\nimport { logger } from '../utils/logger.js';\nimport { AnthropicToOpenRouterProxy } from './anthropic-to-openrouter.js';\n\nexport interface QuicProxyConfig {\n // Base proxy config\n openrouterApiKey: string;\n openrouterBaseUrl?: string;\n defaultModel?: string;\n\n // Transport selection\n transport?: 'quic' | 'http2' | 'auto';\n enableQuic?: boolean;\n\n // QUIC configuration\n quic?: QuicConfig;\n\n // Fallback behavior\n fallbackToHttp2?: boolean;\n fallbackTimeout?: number;\n}\n\nexport class QuicEnabledProxy extends AnthropicToOpenRouterProxy {\n private quicClient?: QuicClient;\n private quicPool?: QuicConnectionPool;\n private transport: 'quic' | 'http2' | 'auto';\n private quicEnabled: boolean;\n private fallbackToHttp2: boolean;\n\n constructor(config: QuicProxyConfig) {\n super({\n openrouterApiKey: config.openrouterApiKey,\n openrouterBaseUrl: config.openrouterBaseUrl,\n defaultModel: config.defaultModel\n });\n\n this.transport = config.transport || 'auto';\n this.quicEnabled = config.enableQuic ?? this.checkQuicFeatureFlag();\n this.fallbackToHttp2 = config.fallbackToHttp2 ?? true;\n\n if (this.quicEnabled) {\n this.initializeQuic(config.quic || {});\n }\n }\n\n /**\n * Check if QUIC is enabled via environment variable\n */\n private checkQuicFeatureFlag(): boolean {\n const flag = process.env.AGENTIC_FLOW_ENABLE_QUIC;\n return flag === 'true' || flag === '1';\n }\n\n /**\n * Initialize QUIC client and connection pool\n */\n private async initializeQuic(quicConfig: QuicConfig): Promise<void> {\n try {\n logger.info('Initializing QUIC transport...', { config: quicConfig });\n\n this.quicClient = new QuicClient(quicConfig);\n await this.quicClient.initialize();\n\n this.quicPool = new QuicConnectionPool(this.quicClient, 20);\n\n logger.info('QUIC transport initialized successfully');\n } catch (error) {\n logger.error('Failed to initialize QUIC transport', { error });\n\n if (this.fallbackToHttp2) {\n logger.warn('Falling back to HTTP/2 transport');\n this.quicEnabled = false;\n } else {\n throw error;\n }\n }\n }\n\n /**\n * Select transport protocol based on configuration and availability\n */\n private selectTransport(): 'quic' | 'http2' {\n if (this.transport === 'quic' && this.quicEnabled) {\n return 'quic';\n }\n\n if (this.transport === 'http2') {\n return 'http2';\n }\n\n // Auto mode: prefer QUIC if available, fallback to HTTP/2\n if (this.transport === 'auto') {\n return this.quicEnabled ? 'quic' : 'http2';\n }\n\n return 'http2';\n }\n\n /**\n * Send request using selected transport\n */\n protected async sendRequest(url: string, options: RequestInit): Promise<Response> {\n const selectedTransport = this.selectTransport();\n\n logger.debug('Sending request', {\n transport: selectedTransport,\n url,\n method: options.method\n });\n\n if (selectedTransport === 'quic') {\n return this.sendQuicRequest(url, options);\n } else {\n return this.sendHttp2Request(url, options);\n }\n }\n\n /**\n * Send request over QUIC\n */\n private async sendQuicRequest(url: string, options: RequestInit): Promise<Response> {\n if (!this.quicClient || !this.quicPool) {\n throw new Error('QUIC client not initialized');\n }\n\n try {\n const urlObj = new URL(url);\n const connection = await this.quicPool.getConnection(\n urlObj.hostname,\n parseInt(urlObj.port) || 443\n );\n\n logger.debug('Using QUIC connection', {\n connectionId: connection.id,\n url\n });\n\n // Prepare headers\n const headers: Record<string, string> = {};\n if (options.headers) {\n const headerEntries = options.headers instanceof Headers\n ? Array.from((options.headers as any).entries())\n : Object.entries(options.headers);\n\n for (const entry of headerEntries as Array<[string, string]>) {\n headers[entry[0]] = entry[1];\n }\n }\n\n // Convert body to Uint8Array\n let body: Uint8Array | undefined;\n if (options.body) {\n if (typeof options.body === 'string') {\n body = new TextEncoder().encode(options.body);\n } else if (options.body instanceof Uint8Array) {\n body = options.body;\n } else {\n body = new TextEncoder().encode(JSON.stringify(options.body));\n }\n }\n\n // Send HTTP/3 request over QUIC\n const response = await this.quicClient.sendRequest(\n connection.id,\n options.method || 'GET',\n urlObj.pathname + urlObj.search,\n headers,\n body\n );\n\n logger.info('QUIC request completed', {\n status: response.status,\n bytes: response.body.length\n });\n\n // Convert to fetch Response\n const responseText = new TextDecoder().decode(response.body);\n return new Response(responseText, {\n status: response.status,\n headers: new Headers(response.headers)\n }) as any;\n\n } catch (error) {\n logger.error('QUIC request failed', { error, url });\n\n if (this.fallbackToHttp2) {\n logger.warn('Falling back to HTTP/2 for this request');\n return this.sendHttp2Request(url, options);\n }\n\n throw error;\n }\n }\n\n /**\n * Send request over HTTP/2 (standard fetch)\n */\n private async sendHttp2Request(url: string, options: RequestInit): Promise<Response> {\n logger.debug('Using HTTP/2 transport', { url });\n return fetch(url, options) as any;\n }\n\n /**\n * Get transport statistics\n */\n getTransportStats(): any {\n if (this.quicClient) {\n return {\n transport: this.selectTransport(),\n quicEnabled: this.quicEnabled,\n quicStats: this.quicClient.getStats()\n };\n }\n\n return {\n transport: 'http2',\n quicEnabled: false\n };\n }\n\n /**\n * Shutdown and cleanup\n */\n async shutdown(): Promise<void> {\n if (this.quicPool) {\n await this.quicPool.clear();\n }\n\n if (this.quicClient) {\n await this.quicClient.shutdown();\n }\n\n logger.info('QUIC proxy shutdown complete');\n }\n}\n\n/**\n * Create QUIC-enabled proxy with configuration\n */\nexport function createQuicProxy(config: QuicProxyConfig): QuicEnabledProxy {\n const proxy = new QuicEnabledProxy(config);\n\n logger.info('QUIC proxy created', {\n transport: config.transport || 'auto',\n quicEnabled: config.enableQuic ?? (process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true'),\n fallbackEnabled: config.fallbackToHttp2 ?? true\n });\n\n return proxy;\n}\n\n// CLI entry point for QUIC proxy\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 = createQuicProxy({\n openrouterApiKey,\n openrouterBaseUrl: process.env.ANTHROPIC_PROXY_BASE_URL,\n defaultModel: process.env.COMPLETION_MODEL || process.env.REASONING_MODEL,\n transport: (process.env.TRANSPORT as 'quic' | 'http2' | 'auto') || 'auto',\n enableQuic: process.env.AGENTIC_FLOW_ENABLE_QUIC === 'true',\n quic: {\n port: parseInt(process.env.QUIC_PORT || '4433'),\n serverHost: process.env.QUIC_HOST || 'localhost',\n certPath: process.env.QUIC_CERT_PATH,\n keyPath: process.env.QUIC_KEY_PATH\n }\n });\n\n proxy.start(port);\n console.log(` Proxy token (send as x-api-key / ANTHROPIC_API_KEY): ${proxy.getAuthToken()}`);\n\n // Graceful shutdown\n process.on('SIGTERM', async () => {\n logger.info('Received SIGTERM, shutting down gracefully...');\n await proxy.shutdown();\n process.exit(0);\n });\n\n process.on('SIGINT', async () => {\n logger.info('Received SIGINT, shutting down gracefully...');\n await proxy.shutdown();\n process.exit(0);\n });\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read `reader` to the end, calling `onLines` with text made only of complete
|
|
3
|
+
* lines (each ending in '\n'), then once more with any unterminated tail.
|
|
4
|
+
* Returns the number of reads.
|
|
5
|
+
*/
|
|
6
|
+
export declare function forEachSseLines(reader: ReadableStreamDefaultReader<Uint8Array>, onLines: (lines: string) => void): Promise<number>;
|
|
7
|
+
/** Non-empty lines of `text`, with any trailing '\r' removed. */
|
|
8
|
+
export declare function sseLines(text: string): string[];
|
|
9
|
+
//# sourceMappingURL=sse-lines.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-lines.d.ts","sourceRoot":"","sources":["../../src/proxy/sse-lines.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,2BAA2B,CAAC,UAAU,CAAC,EAC/C,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAC/B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Shared SSE reader for the translation proxies.
|
|
2
|
+
//
|
|
3
|
+
// A network read can end anywhere: inside a data: line, or inside a multi-byte
|
|
4
|
+
// UTF-8 character. Decoding each read on its own and splitting on '\n' drops
|
|
5
|
+
// the split line and corrupts the character. This reader decodes with
|
|
6
|
+
// {stream:true} and holds back a partial line until its newline arrives.
|
|
7
|
+
/**
|
|
8
|
+
* Read `reader` to the end, calling `onLines` with text made only of complete
|
|
9
|
+
* lines (each ending in '\n'), then once more with any unterminated tail.
|
|
10
|
+
* Returns the number of reads.
|
|
11
|
+
*/
|
|
12
|
+
export async function forEachSseLines(reader, onLines) {
|
|
13
|
+
const decoder = new TextDecoder();
|
|
14
|
+
let pending = '';
|
|
15
|
+
let reads = 0;
|
|
16
|
+
while (true) {
|
|
17
|
+
const { done, value } = await reader.read();
|
|
18
|
+
if (done)
|
|
19
|
+
break;
|
|
20
|
+
reads++;
|
|
21
|
+
pending += decoder.decode(value, { stream: true });
|
|
22
|
+
const lastNewline = pending.lastIndexOf('\n');
|
|
23
|
+
if (lastNewline === -1)
|
|
24
|
+
continue;
|
|
25
|
+
onLines(pending.slice(0, lastNewline + 1));
|
|
26
|
+
pending = pending.slice(lastNewline + 1);
|
|
27
|
+
}
|
|
28
|
+
pending += decoder.decode();
|
|
29
|
+
if (pending.trim())
|
|
30
|
+
onLines(pending);
|
|
31
|
+
return reads;
|
|
32
|
+
}
|
|
33
|
+
/** Non-empty lines of `text`, with any trailing '\r' removed. */
|
|
34
|
+
export function sseLines(text) {
|
|
35
|
+
return text.split('\n').map(line => line.replace(/\r$/, '')).filter(line => line.trim());
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sse-lines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-lines.js","sourceRoot":"","sources":["../../src/proxy/sse-lines.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,sEAAsE;AACtE,yEAAyE;AAEzE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA+C,EAC/C,OAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI;YAAE,MAAM;QAChB,KAAK,EAAE,CAAC;QAER,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,WAAW,KAAK,CAAC,CAAC;YAAE,SAAS;QACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,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;AAC3F,CAAC","sourcesContent":["// Shared SSE reader for the translation proxies.\n//\n// A network read can end anywhere: inside a data: line, or inside a multi-byte\n// UTF-8 character. Decoding each read on its own and splitting on '\\n' drops\n// the split line and corrupts the character. This reader decodes with\n// {stream:true} and holds back a partial line until its newline arrives.\n\n/**\n * Read `reader` to the end, calling `onLines` with text made only of complete\n * lines (each ending in '\\n'), then once more with any unterminated tail.\n * Returns the number of reads.\n */\nexport async function forEachSseLines(\n reader: ReadableStreamDefaultReader<Uint8Array>,\n onLines: (lines: string) => void\n): Promise<number> {\n const decoder = new TextDecoder();\n let pending = '';\n let reads = 0;\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) break;\n reads++;\n\n pending += decoder.decode(value, { stream: true });\n const lastNewline = pending.lastIndexOf('\\n');\n if (lastNewline === -1) continue;\n onLines(pending.slice(0, lastNewline + 1));\n pending = pending.slice(lastNewline + 1);\n }\n\n pending += decoder.decode();\n if (pending.trim()) onLines(pending);\n return reads;\n}\n\n/** Non-empty lines of `text`, with any trailing '\\r' removed. */\nexport function sseLines(text: string): string[] {\n return text.split('\\n').map(line => line.replace(/\\r$/, '')).filter(line => line.trim());\n}\n"]}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
import { HybridReasoningBank } from './HybridBackend.js';
|
|
27
|
-
import { NightlyLearner } from 'agentdb
|
|
27
|
+
import { NightlyLearner } from 'agentdb';
|
|
28
28
|
import { SharedMemoryPool } from '../memory/SharedMemoryPool.js';
|
|
29
29
|
export class AdvancedMemorySystem {
|
|
30
30
|
reasoning;
|