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":"FederationHubServer.js","sourceRoot":"","sources":["../../src/federation/FederationHubServer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Federation Hub Server - WebSocket-based hub for agent synchronization\n *\n * This is a production-ready implementation using WebSocket (HTTP/2 upgrade)\n * as a fallback until native QUIC is implemented.\n */\n\nimport { WebSocketServer, WebSocket } from 'ws';\nimport { createServer } from 'http';\nimport { logger } from '../utils/logger.js';\nimport Database from '../db/sql-adapter.js';\n// AgentDB is optional - federation works with SQLite only\ntype AgentDB = any;\n\nexport interface HubConfig {\n port?: number;\n dbPath?: string;\n maxAgents?: number;\n syncInterval?: number;\n}\n\nexport interface AgentConnection {\n ws: WebSocket;\n agentId: string;\n tenantId: string;\n connectedAt: number;\n lastSyncAt: number;\n vectorClock: Record<string, number>;\n}\n\nexport interface SyncMessage {\n type: 'auth' | 'pull' | 'push' | 'ack' | 'error';\n agentId?: string;\n tenantId?: string;\n token?: string;\n vectorClock?: Record<string, number>;\n data?: any[];\n error?: string;\n timestamp: number;\n}\n\nexport class FederationHubServer {\n private config: HubConfig;\n private wss?: WebSocketServer;\n private server?: ReturnType<typeof createServer>;\n private connections: Map<string, AgentConnection> = new Map();\n private db: Database.Database;\n private agentDB: AgentDB;\n private globalVectorClock: Record<string, number> = {};\n\n constructor(config: HubConfig) {\n this.config = {\n port: 8443,\n dbPath: ':memory:',\n maxAgents: 1000,\n syncInterval: 5000,\n ...config\n };\n\n // Initialize hub database (SQLite for metadata)\n this.db = new Database(this.config.dbPath!);\n this.initializeDatabase();\n\n // AgentDB integration optional - using SQLite for now\n this.agentDB = null as any;\n logger.info('Federation hub initialized with SQLite');\n }\n\n /**\n * Initialize hub database schema\n */\n private initializeDatabase(): void {\n // Memory store: tenant-isolated episodes\n this.db.exec(`\n CREATE TABLE IF NOT EXISTS episodes (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n tenant_id TEXT NOT NULL,\n agent_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n task TEXT NOT NULL,\n input TEXT NOT NULL,\n output TEXT NOT NULL,\n reward REAL NOT NULL,\n critique TEXT,\n success INTEGER NOT NULL,\n tokens_used INTEGER DEFAULT 0,\n latency_ms INTEGER DEFAULT 0,\n vector_clock TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n UNIQUE(tenant_id, agent_id, session_id, task)\n );\n\n CREATE INDEX IF NOT EXISTS idx_episodes_tenant ON episodes(tenant_id);\n CREATE INDEX IF NOT EXISTS idx_episodes_task ON episodes(tenant_id, task);\n CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at);\n\n -- Change log for sync\n CREATE TABLE IF NOT EXISTS change_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n tenant_id TEXT NOT NULL,\n agent_id TEXT NOT NULL,\n operation TEXT NOT NULL,\n episode_id INTEGER,\n vector_clock TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n FOREIGN KEY(episode_id) REFERENCES episodes(id)\n );\n\n CREATE INDEX IF NOT EXISTS idx_changes_tenant ON change_log(tenant_id);\n CREATE INDEX IF NOT EXISTS idx_changes_created ON change_log(created_at);\n\n -- Agent registry\n CREATE TABLE IF NOT EXISTS agents (\n agent_id TEXT PRIMARY KEY,\n tenant_id TEXT NOT NULL,\n connected_at INTEGER NOT NULL,\n last_sync_at INTEGER NOT NULL,\n vector_clock TEXT NOT NULL\n );\n `);\n\n logger.info('Federation hub database initialized');\n }\n\n /**\n * Start the hub server\n */\n async start(): Promise<void> {\n return new Promise((resolve, reject) => {\n try {\n // Create HTTP server\n this.server = createServer();\n\n // Create WebSocket server\n this.wss = new WebSocketServer({ server: this.server });\n\n // Handle connections\n this.wss.on('connection', (ws: WebSocket) => {\n this.handleConnection(ws);\n });\n\n // Start listening\n this.server.listen(this.config.port, () => {\n logger.info('Federation hub server started', {\n port: this.config.port,\n protocol: 'WebSocket',\n maxAgents: this.config.maxAgents\n });\n resolve();\n });\n\n // Error handling\n this.server.on('error', (error) => {\n logger.error('Hub server error', { error: error.message });\n reject(error);\n });\n\n } catch (error: any) {\n logger.error('Failed to start hub server', { error: error.message });\n reject(error);\n }\n });\n }\n\n /**\n * Handle new agent connection\n */\n private handleConnection(ws: WebSocket): void {\n let agentId: string | undefined;\n let tenantId: string | undefined;\n let authenticated = false;\n\n logger.info('New connection attempt');\n\n ws.on('message', async (data: Buffer) => {\n try {\n const message: SyncMessage = JSON.parse(data.toString());\n\n // Authentication required first\n if (!authenticated && message.type !== 'auth') {\n this.sendError(ws, 'Authentication required');\n ws.close();\n return;\n }\n\n switch (message.type) {\n case 'auth':\n const authResult = await this.handleAuth(ws, message);\n if (authResult) {\n agentId = authResult.agentId;\n tenantId = authResult.tenantId;\n authenticated = true;\n\n // Register connection\n this.connections.set(agentId, {\n ws,\n agentId,\n tenantId,\n connectedAt: Date.now(),\n lastSyncAt: Date.now(),\n vectorClock: message.vectorClock || {}\n });\n\n logger.info('Agent authenticated', { agentId, tenantId });\n }\n break;\n\n case 'pull':\n if (agentId && tenantId) {\n await this.handlePull(ws, agentId, tenantId, message);\n }\n break;\n\n case 'push':\n if (agentId && tenantId) {\n await this.handlePush(ws, agentId, tenantId, message);\n }\n break;\n\n default:\n this.sendError(ws, `Unknown message type: ${message.type}`);\n }\n\n } catch (error: any) {\n logger.error('Message handling error', { error: error.message });\n this.sendError(ws, error.message);\n }\n });\n\n ws.on('close', () => {\n if (agentId) {\n this.connections.delete(agentId);\n logger.info('Agent disconnected', { agentId, tenantId });\n }\n });\n\n ws.on('error', (error) => {\n logger.error('WebSocket error', { error: error.message, agentId });\n });\n }\n\n /**\n * Handle authentication\n */\n private async handleAuth(\n ws: WebSocket,\n message: SyncMessage\n ): Promise<{ agentId: string; tenantId: string } | null> {\n if (!message.agentId || !message.tenantId || !message.token) {\n this.sendError(ws, 'Missing authentication credentials');\n return null;\n }\n\n // TODO: Verify JWT token (for now, accept all)\n // In production, verify JWT signature and expiration\n\n // Register agent\n this.db.prepare(`\n INSERT OR REPLACE INTO agents (agent_id, tenant_id, connected_at, last_sync_at, vector_clock)\n VALUES (?, ?, ?, ?, ?)\n `).run(\n message.agentId,\n message.tenantId,\n Date.now(),\n Date.now(),\n JSON.stringify(message.vectorClock || {})\n );\n\n // Send acknowledgment\n this.send(ws, {\n type: 'ack',\n timestamp: Date.now()\n });\n\n return {\n agentId: message.agentId,\n tenantId: message.tenantId\n };\n }\n\n /**\n * Handle pull request (agent wants updates from hub)\n */\n private async handlePull(\n ws: WebSocket,\n agentId: string,\n tenantId: string,\n message: SyncMessage\n ): Promise<void> {\n const conn = this.connections.get(agentId);\n if (!conn) {\n this.sendError(ws, 'Agent not connected');\n return;\n }\n\n // Get changes since agent's last vector clock\n const changes = await this.getChangesSince(tenantId, message.vectorClock || {});\n\n // Update last sync time\n conn.lastSyncAt = Date.now();\n\n // Send changes to agent\n this.send(ws, {\n type: 'ack',\n data: changes,\n vectorClock: this.globalVectorClock,\n timestamp: Date.now()\n });\n\n logger.info('Pull completed', {\n agentId,\n tenantId,\n changeCount: changes.length\n });\n }\n\n /**\n * Handle push request (agent sending updates to hub)\n */\n private async handlePush(\n ws: WebSocket,\n agentId: string,\n tenantId: string,\n message: SyncMessage\n ): Promise<void> {\n const conn = this.connections.get(agentId);\n if (!conn) {\n this.sendError(ws, 'Agent not connected');\n return;\n }\n\n if (!message.data || message.data.length === 0) {\n this.send(ws, { type: 'ack', timestamp: Date.now() });\n return;\n }\n\n // Store episodes in both SQLite (metadata) and AgentDB (vector memory)\n const stmt = this.db.prepare(`\n INSERT OR REPLACE INTO episodes\n (tenant_id, agent_id, session_id, task, input, output, reward, critique, success, tokens_used, latency_ms, vector_clock, created_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const changeStmt = this.db.prepare(`\n INSERT INTO change_log (tenant_id, agent_id, operation, episode_id, vector_clock, created_at)\n VALUES (?, ?, 'insert', last_insert_rowid(), ?, ?)\n `);\n\n let insertCount = 0;\n\n for (const episode of message.data) {\n try {\n // Store in SQLite for metadata\n stmt.run(\n tenantId,\n agentId,\n episode.sessionId || agentId,\n episode.task,\n episode.input,\n episode.output,\n episode.reward,\n episode.critique || '',\n episode.success ? 1 : 0,\n episode.tokensUsed || 0,\n episode.latencyMs || 0,\n JSON.stringify(message.vectorClock),\n Date.now()\n );\n\n changeStmt.run(\n tenantId,\n agentId,\n JSON.stringify(message.vectorClock),\n Date.now()\n );\n\n // Store in AgentDB for vector memory (with tenant isolation)\n await this.agentDB.storePattern({\n sessionId: `${tenantId}/${episode.sessionId || agentId}`,\n task: episode.task,\n input: episode.input,\n output: episode.output,\n reward: episode.reward,\n critique: episode.critique || '',\n success: episode.success,\n tokensUsed: episode.tokensUsed || 0,\n latencyMs: episode.latencyMs || 0,\n metadata: {\n tenantId,\n agentId,\n vectorClock: message.vectorClock\n }\n });\n\n insertCount++;\n } catch (error: any) {\n logger.error('Failed to insert episode', { error: error.message });\n }\n }\n\n // Update global vector clock\n if (message.vectorClock) {\n for (const [agent, ts] of Object.entries(message.vectorClock)) {\n this.globalVectorClock[agent] = Math.max(\n this.globalVectorClock[agent] || 0,\n ts\n );\n }\n }\n\n // Update connection vector clock\n conn.vectorClock = { ...this.globalVectorClock };\n conn.lastSyncAt = Date.now();\n\n // Send acknowledgment\n this.send(ws, {\n type: 'ack',\n timestamp: Date.now()\n });\n\n logger.info('Push completed', {\n agentId,\n tenantId,\n episodeCount: insertCount\n });\n\n // Broadcast to other agents in same tenant (optional real-time sync)\n this.broadcastToTenant(tenantId, agentId, {\n type: 'push',\n agentId,\n data: message.data,\n timestamp: Date.now()\n });\n }\n\n /**\n * Get changes since a given vector clock\n * Returns memories from other agents in the same tenant\n */\n private async getChangesSince(\n tenantId: string,\n vectorClock: Record<string, number>\n ): Promise<any[]> {\n // Get all episodes for tenant from SQLite\n const episodes = this.db.prepare(`\n SELECT * FROM episodes\n WHERE tenant_id = ?\n ORDER BY created_at DESC\n LIMIT 100\n `).all(tenantId);\n\n return episodes.map((row: any) => ({\n id: row.id,\n agentId: row.agent_id,\n sessionId: row.session_id,\n task: row.task,\n input: row.input,\n output: row.output,\n reward: row.reward,\n critique: row.critique,\n success: row.success === 1,\n tokensUsed: row.tokens_used,\n latencyMs: row.latency_ms,\n vectorClock: JSON.parse(row.vector_clock),\n createdAt: row.created_at\n }));\n }\n\n /**\n * Broadcast message to all agents in a tenant (except sender)\n */\n private broadcastToTenant(\n tenantId: string,\n senderAgentId: string,\n message: SyncMessage\n ): void {\n let broadcastCount = 0;\n\n for (const [agentId, conn] of this.connections.entries()) {\n if (conn.tenantId === tenantId && agentId !== senderAgentId) {\n this.send(conn.ws, message);\n broadcastCount++;\n }\n }\n\n if (broadcastCount > 0) {\n logger.debug('Broadcasted to tenant agents', {\n tenantId,\n recipientCount: broadcastCount\n });\n }\n }\n\n /**\n * Send message to WebSocket\n */\n private send(ws: WebSocket, message: SyncMessage): void {\n if (ws.readyState === WebSocket.OPEN) {\n ws.send(JSON.stringify(message));\n }\n }\n\n /**\n * Send error message\n */\n private sendError(ws: WebSocket, error: string): void {\n this.send(ws, {\n type: 'error',\n error,\n timestamp: Date.now()\n });\n }\n\n /**\n * Get hub statistics\n */\n getStats(): {\n connectedAgents: number;\n totalEpisodes: number;\n tenants: number;\n uptime: number;\n } {\n const totalEpisodes = this.db.prepare('SELECT COUNT(*) as count FROM episodes').get() as any;\n const tenants = this.db.prepare('SELECT COUNT(DISTINCT tenant_id) as count FROM episodes').get() as any;\n\n return {\n connectedAgents: this.connections.size,\n totalEpisodes: totalEpisodes.count,\n tenants: tenants.count,\n uptime: process.uptime()\n };\n }\n\n /**\n * Stop the hub server\n */\n async stop(): Promise<void> {\n logger.info('Stopping federation hub server');\n\n // Close all connections\n for (const [agentId, conn] of this.connections.entries()) {\n conn.ws.close();\n }\n this.connections.clear();\n\n // Close WebSocket server\n if (this.wss) {\n this.wss.close();\n }\n\n // Close HTTP server\n if (this.server) {\n this.server.close();\n }\n\n // Close databases\n this.db.close();\n await this.agentDB.close();\n\n logger.info('Federation hub server stopped');\n }\n\n /**\n * Query patterns from AgentDB with tenant isolation\n */\n async queryPatterns(tenantId: string, task: string, k: number = 5): Promise<any[]> {\n try {\n const results = await this.agentDB.searchPatterns({\n task,\n k,\n minReward: 0.0\n });\n\n // Filter by tenant (session ID contains tenant prefix)\n return results.filter((r: any) =>\n r.sessionId?.startsWith(`${tenantId}/`)\n );\n } catch (error: any) {\n logger.error('Pattern query failed', { error: error.message });\n return [];\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FederationHubServer.js","sourceRoot":"","sources":["../../src/federation/FederationHubServer.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Federation Hub Server - WebSocket-based hub for agent synchronization\n *\n * This is a production-ready implementation using WebSocket (HTTP/2 upgrade)\n * as a fallback until native QUIC is implemented.\n */\n\nimport { WebSocketServer, WebSocket } from 'ws';\nimport { createServer } from 'http';\nimport { logger } from '../utils/logger.js';\nimport { SecurityManager } from './SecurityManager.js';\nimport Database from 'better-sqlite3';\n// AgentDB is optional - federation works with SQLite only\ntype AgentDB = any;\n\nexport interface HubConfig {\n port?: number;\n dbPath?: string;\n maxAgents?: number;\n syncInterval?: number;\n /** Interface to listen on. Loopback unless set: the hub is not safe to expose without TLS in front. */\n host?: string;\n /** HMAC secret agent tokens are verified with (default: JWT_SECRET). */\n jwtSecret?: string;\n}\n\nexport interface AgentConnection {\n ws: WebSocket;\n agentId: string;\n tenantId: string;\n connectedAt: number;\n lastSyncAt: number;\n vectorClock: Record<string, number>;\n}\n\nexport interface SyncMessage {\n type: 'auth' | 'pull' | 'push' | 'ack' | 'error';\n agentId?: string;\n tenantId?: string;\n token?: string;\n vectorClock?: Record<string, number>;\n data?: any[];\n error?: string;\n timestamp: number;\n}\n\nexport class FederationHubServer {\n private config: HubConfig;\n private security: SecurityManager;\n private wss?: WebSocketServer;\n private server?: ReturnType<typeof createServer>;\n private connections: Map<string, AgentConnection> = new Map();\n private db: Database.Database;\n private agentDB: AgentDB;\n private globalVectorClock: Record<string, number> = {};\n\n constructor(config: HubConfig) {\n this.config = {\n port: 8443,\n host: '127.0.0.1',\n dbPath: ':memory:',\n maxAgents: 1000,\n syncInterval: 5000,\n ...config\n };\n\n if (!this.config.jwtSecret && !process.env.JWT_SECRET) {\n logger.warn('No jwtSecret or JWT_SECRET set: the hub uses a random secret, so no agent can authenticate until you set one');\n }\n this.security = new SecurityManager(this.config.jwtSecret);\n\n // Initialize hub database (SQLite for metadata)\n this.db = new Database(this.config.dbPath!);\n this.initializeDatabase();\n\n // AgentDB integration optional - using SQLite for now\n this.agentDB = null as any;\n logger.info('Federation hub initialized with SQLite');\n }\n\n /**\n * Initialize hub database schema\n */\n private initializeDatabase(): void {\n // Memory store: tenant-isolated episodes\n this.db.exec(`\n CREATE TABLE IF NOT EXISTS episodes (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n tenant_id TEXT NOT NULL,\n agent_id TEXT NOT NULL,\n session_id TEXT NOT NULL,\n task TEXT NOT NULL,\n input TEXT NOT NULL,\n output TEXT NOT NULL,\n reward REAL NOT NULL,\n critique TEXT,\n success INTEGER NOT NULL,\n tokens_used INTEGER DEFAULT 0,\n latency_ms INTEGER DEFAULT 0,\n vector_clock TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n UNIQUE(tenant_id, agent_id, session_id, task)\n );\n\n CREATE INDEX IF NOT EXISTS idx_episodes_tenant ON episodes(tenant_id);\n CREATE INDEX IF NOT EXISTS idx_episodes_task ON episodes(tenant_id, task);\n CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at);\n\n -- Change log for sync\n CREATE TABLE IF NOT EXISTS change_log (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n tenant_id TEXT NOT NULL,\n agent_id TEXT NOT NULL,\n operation TEXT NOT NULL,\n episode_id INTEGER,\n vector_clock TEXT NOT NULL,\n created_at INTEGER NOT NULL,\n FOREIGN KEY(episode_id) REFERENCES episodes(id)\n );\n\n CREATE INDEX IF NOT EXISTS idx_changes_tenant ON change_log(tenant_id);\n CREATE INDEX IF NOT EXISTS idx_changes_created ON change_log(created_at);\n\n -- Agent registry\n CREATE TABLE IF NOT EXISTS agents (\n agent_id TEXT PRIMARY KEY,\n tenant_id TEXT NOT NULL,\n connected_at INTEGER NOT NULL,\n last_sync_at INTEGER NOT NULL,\n vector_clock TEXT NOT NULL\n );\n `);\n\n logger.info('Federation hub database initialized');\n }\n\n /**\n * Start the hub server\n */\n async start(): Promise<void> {\n return new Promise((resolve, reject) => {\n try {\n // Create HTTP server\n this.server = createServer();\n\n // Create WebSocket server\n this.wss = new WebSocketServer({ server: this.server });\n\n // Handle connections\n this.wss.on('connection', (ws: WebSocket) => {\n this.handleConnection(ws);\n });\n\n // Start listening\n this.server.listen(this.config.port, this.config.host, () => {\n logger.info('Federation hub server started', {\n port: this.config.port,\n protocol: 'WebSocket',\n maxAgents: this.config.maxAgents\n });\n resolve();\n });\n\n // Error handling\n this.server.on('error', (error) => {\n logger.error('Hub server error', { error: error.message });\n reject(error);\n });\n\n } catch (error: any) {\n logger.error('Failed to start hub server', { error: error.message });\n reject(error);\n }\n });\n }\n\n /**\n * Handle new agent connection\n */\n private handleConnection(ws: WebSocket): void {\n let agentId: string | undefined;\n let tenantId: string | undefined;\n let authenticated = false;\n\n logger.info('New connection attempt');\n\n ws.on('message', async (data: Buffer) => {\n try {\n const message: SyncMessage = JSON.parse(data.toString());\n\n // Authentication required first\n if (!authenticated && message.type !== 'auth') {\n this.sendError(ws, 'Authentication required');\n ws.close();\n return;\n }\n\n switch (message.type) {\n case 'auth':\n const authResult = await this.handleAuth(ws, message);\n if (authResult) {\n agentId = authResult.agentId;\n tenantId = authResult.tenantId;\n authenticated = true;\n\n // Register connection\n this.connections.set(agentId, {\n ws,\n agentId,\n tenantId,\n connectedAt: Date.now(),\n lastSyncAt: Date.now(),\n vectorClock: message.vectorClock || {}\n });\n\n logger.info('Agent authenticated', { agentId, tenantId });\n }\n break;\n\n case 'pull':\n if (agentId && tenantId) {\n await this.handlePull(ws, agentId, tenantId, message);\n }\n break;\n\n case 'push':\n if (agentId && tenantId) {\n await this.handlePush(ws, agentId, tenantId, message);\n }\n break;\n\n default:\n this.sendError(ws, `Unknown message type: ${message.type}`);\n }\n\n } catch (error: any) {\n logger.error('Message handling error', { error: error.message });\n this.sendError(ws, error.message);\n }\n });\n\n ws.on('close', () => {\n if (agentId) {\n this.connections.delete(agentId);\n logger.info('Agent disconnected', { agentId, tenantId });\n }\n });\n\n ws.on('error', (error) => {\n logger.error('WebSocket error', { error: error.message, agentId });\n });\n }\n\n /**\n * Handle authentication\n */\n private async handleAuth(\n ws: WebSocket,\n message: SyncMessage\n ): Promise<{ agentId: string; tenantId: string } | null> {\n if (!message.agentId || !message.tenantId || !message.token) {\n this.sendError(ws, 'Missing authentication credentials');\n return null;\n }\n\n // Identity comes from the verified token, never from what the client claims.\n let identity;\n try {\n identity = await this.security.verifyAgentToken(message.token);\n } catch {\n this.sendError(ws, 'Authentication failed');\n return null;\n }\n if (identity.agentId !== message.agentId || identity.tenantId !== message.tenantId) {\n this.sendError(ws, 'Authentication failed');\n return null;\n }\n\n // Register agent\n this.db.prepare(`\n INSERT OR REPLACE INTO agents (agent_id, tenant_id, connected_at, last_sync_at, vector_clock)\n VALUES (?, ?, ?, ?, ?)\n `).run(\n identity.agentId,\n identity.tenantId,\n Date.now(),\n Date.now(),\n JSON.stringify(message.vectorClock || {})\n );\n\n // Send acknowledgment\n this.send(ws, {\n type: 'ack',\n timestamp: Date.now()\n });\n\n return {\n agentId: identity.agentId,\n tenantId: identity.tenantId\n };\n }\n\n /**\n * Handle pull request (agent wants updates from hub)\n */\n private async handlePull(\n ws: WebSocket,\n agentId: string,\n tenantId: string,\n message: SyncMessage\n ): Promise<void> {\n const conn = this.connections.get(agentId);\n if (!conn) {\n this.sendError(ws, 'Agent not connected');\n return;\n }\n\n // Get changes since agent's last vector clock\n const changes = await this.getChangesSince(tenantId, message.vectorClock || {});\n\n // Update last sync time\n conn.lastSyncAt = Date.now();\n\n // Send changes to agent\n this.send(ws, {\n type: 'ack',\n data: changes,\n vectorClock: this.globalVectorClock,\n timestamp: Date.now()\n });\n\n logger.info('Pull completed', {\n agentId,\n tenantId,\n changeCount: changes.length\n });\n }\n\n /**\n * Handle push request (agent sending updates to hub)\n */\n private async handlePush(\n ws: WebSocket,\n agentId: string,\n tenantId: string,\n message: SyncMessage\n ): Promise<void> {\n const conn = this.connections.get(agentId);\n if (!conn) {\n this.sendError(ws, 'Agent not connected');\n return;\n }\n\n if (!message.data || message.data.length === 0) {\n this.send(ws, { type: 'ack', timestamp: Date.now() });\n return;\n }\n\n // Store episodes in both SQLite (metadata) and AgentDB (vector memory)\n const stmt = this.db.prepare(`\n INSERT OR REPLACE INTO episodes\n (tenant_id, agent_id, session_id, task, input, output, reward, critique, success, tokens_used, latency_ms, vector_clock, created_at)\n VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n `);\n\n const changeStmt = this.db.prepare(`\n INSERT INTO change_log (tenant_id, agent_id, operation, episode_id, vector_clock, created_at)\n VALUES (?, ?, 'insert', last_insert_rowid(), ?, ?)\n `);\n\n let insertCount = 0;\n\n for (const episode of message.data) {\n try {\n // Store in SQLite for metadata\n stmt.run(\n tenantId,\n agentId,\n episode.sessionId || agentId,\n episode.task,\n episode.input,\n episode.output,\n episode.reward,\n episode.critique || '',\n episode.success ? 1 : 0,\n episode.tokensUsed || 0,\n episode.latencyMs || 0,\n JSON.stringify(message.vectorClock),\n Date.now()\n );\n\n changeStmt.run(\n tenantId,\n agentId,\n JSON.stringify(message.vectorClock),\n Date.now()\n );\n\n // Store in AgentDB for vector memory (with tenant isolation)\n await this.agentDB.storePattern({\n sessionId: `${tenantId}/${episode.sessionId || agentId}`,\n task: episode.task,\n input: episode.input,\n output: episode.output,\n reward: episode.reward,\n critique: episode.critique || '',\n success: episode.success,\n tokensUsed: episode.tokensUsed || 0,\n latencyMs: episode.latencyMs || 0,\n metadata: {\n tenantId,\n agentId,\n vectorClock: message.vectorClock\n }\n });\n\n insertCount++;\n } catch (error: any) {\n logger.error('Failed to insert episode', { error: error.message });\n }\n }\n\n // Update global vector clock\n if (message.vectorClock) {\n for (const [agent, ts] of Object.entries(message.vectorClock)) {\n this.globalVectorClock[agent] = Math.max(\n this.globalVectorClock[agent] || 0,\n ts\n );\n }\n }\n\n // Update connection vector clock\n conn.vectorClock = { ...this.globalVectorClock };\n conn.lastSyncAt = Date.now();\n\n // Send acknowledgment\n this.send(ws, {\n type: 'ack',\n timestamp: Date.now()\n });\n\n logger.info('Push completed', {\n agentId,\n tenantId,\n episodeCount: insertCount\n });\n\n // Broadcast to other agents in same tenant (optional real-time sync)\n this.broadcastToTenant(tenantId, agentId, {\n type: 'push',\n agentId,\n data: message.data,\n timestamp: Date.now()\n });\n }\n\n /**\n * Get changes since a given vector clock\n * Returns memories from other agents in the same tenant\n */\n private async getChangesSince(\n tenantId: string,\n vectorClock: Record<string, number>\n ): Promise<any[]> {\n // Get all episodes for tenant from SQLite\n const episodes = this.db.prepare(`\n SELECT * FROM episodes\n WHERE tenant_id = ?\n ORDER BY created_at DESC\n LIMIT 100\n `).all(tenantId);\n\n return episodes.map((row: any) => ({\n id: row.id,\n agentId: row.agent_id,\n sessionId: row.session_id,\n task: row.task,\n input: row.input,\n output: row.output,\n reward: row.reward,\n critique: row.critique,\n success: row.success === 1,\n tokensUsed: row.tokens_used,\n latencyMs: row.latency_ms,\n vectorClock: JSON.parse(row.vector_clock),\n createdAt: row.created_at\n }));\n }\n\n /**\n * Broadcast message to all agents in a tenant (except sender)\n */\n private broadcastToTenant(\n tenantId: string,\n senderAgentId: string,\n message: SyncMessage\n ): void {\n let broadcastCount = 0;\n\n for (const [agentId, conn] of this.connections.entries()) {\n if (conn.tenantId === tenantId && agentId !== senderAgentId) {\n this.send(conn.ws, message);\n broadcastCount++;\n }\n }\n\n if (broadcastCount > 0) {\n logger.debug('Broadcasted to tenant agents', {\n tenantId,\n recipientCount: broadcastCount\n });\n }\n }\n\n /**\n * Send message to WebSocket\n */\n private send(ws: WebSocket, message: SyncMessage): void {\n if (ws.readyState === WebSocket.OPEN) {\n ws.send(JSON.stringify(message));\n }\n }\n\n /**\n * Send error message\n */\n private sendError(ws: WebSocket, error: string): void {\n this.send(ws, {\n type: 'error',\n error,\n timestamp: Date.now()\n });\n }\n\n /**\n * Get hub statistics\n */\n getStats(): {\n connectedAgents: number;\n totalEpisodes: number;\n tenants: number;\n uptime: number;\n } {\n const totalEpisodes = this.db.prepare('SELECT COUNT(*) as count FROM episodes').get() as any;\n const tenants = this.db.prepare('SELECT COUNT(DISTINCT tenant_id) as count FROM episodes').get() as any;\n\n return {\n connectedAgents: this.connections.size,\n totalEpisodes: totalEpisodes.count,\n tenants: tenants.count,\n uptime: process.uptime()\n };\n }\n\n /**\n * Stop the hub server\n */\n async stop(): Promise<void> {\n logger.info('Stopping federation hub server');\n\n // Close all connections\n for (const [agentId, conn] of this.connections.entries()) {\n conn.ws.close();\n }\n this.connections.clear();\n\n // Close WebSocket server\n if (this.wss) {\n this.wss.close();\n }\n\n // Close HTTP server\n if (this.server) {\n this.server.close();\n }\n\n // Close databases\n this.db.close();\n await this.agentDB?.close();\n\n logger.info('Federation hub server stopped');\n }\n\n /**\n * Query patterns from AgentDB with tenant isolation\n */\n async queryPatterns(tenantId: string, task: string, k: number = 5): Promise<any[]> {\n try {\n const results = await this.agentDB.searchPatterns({\n task,\n k,\n minReward: 0.0\n });\n\n // Filter by tenant (session ID contains tenant prefix)\n return results.filter((r: any) =>\n r.sessionId?.startsWith(`${tenantId}/`)\n );\n } catch (error: any) {\n logger.error('Pattern query failed', { error: error.message });\n return [];\n }\n }\n}\n"]}
|
|
@@ -20,7 +20,7 @@ export declare class SecurityManager {
|
|
|
20
20
|
private readonly algorithm;
|
|
21
21
|
private readonly jwtSecret;
|
|
22
22
|
private encryptionCache;
|
|
23
|
-
constructor();
|
|
23
|
+
constructor(secret?: string);
|
|
24
24
|
/**
|
|
25
25
|
* Create JWT token for agent authentication
|
|
26
26
|
*/
|
|
@@ -30,20 +30,29 @@ export declare class SecurityManager {
|
|
|
30
30
|
*/
|
|
31
31
|
verifyAgentToken(token: string): Promise<AgentTokenPayload>;
|
|
32
32
|
/**
|
|
33
|
-
* Get or create encryption
|
|
33
|
+
* Get or create encryption key for a tenant (key only, IV generated per operation)
|
|
34
|
+
* SECURITY FIX: IV is now generated fresh for each encryption operation
|
|
35
|
+
*/
|
|
36
|
+
getEncryptionKey(tenantId: string): Promise<Buffer>;
|
|
37
|
+
/**
|
|
38
|
+
* Legacy method for backwards compatibility - prefer getEncryptionKey
|
|
39
|
+
* @deprecated Use getEncryptionKey instead and generate IV per-operation
|
|
34
40
|
*/
|
|
35
41
|
getEncryptionKeys(tenantId: string): Promise<EncryptionKeys>;
|
|
36
42
|
/**
|
|
37
43
|
* Encrypt data with AES-256-GCM
|
|
44
|
+
* SECURITY FIX: Now generates a fresh IV for each encryption and returns it
|
|
38
45
|
*/
|
|
39
46
|
encrypt(data: string, tenantId: string): Promise<{
|
|
40
47
|
encrypted: string;
|
|
41
48
|
authTag: string;
|
|
49
|
+
iv: string;
|
|
42
50
|
}>;
|
|
43
51
|
/**
|
|
44
52
|
* Decrypt data with AES-256-GCM
|
|
53
|
+
* SECURITY FIX: Now accepts IV as parameter (required for proper decryption)
|
|
45
54
|
*/
|
|
46
|
-
decrypt(encrypted: string, authTag: string, tenantId: string): Promise<string>;
|
|
55
|
+
decrypt(encrypted: string, authTag: string, tenantId: string, iv?: string): Promise<string>;
|
|
47
56
|
/**
|
|
48
57
|
* Generate mTLS certificates for agent-to-hub communication
|
|
49
58
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityManager.d.ts","sourceRoot":"","sources":["../../src/federation/SecurityManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA0C;;
|
|
1
|
+
{"version":3,"file":"SecurityManager.d.ts","sourceRoot":"","sources":["../../src/federation/SecurityManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,eAAe,CAA0C;gBAErD,MAAM,CAAC,EAAE,MAAM;IAK3B;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCnE;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAwCjE;;;OAGG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzD;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOlE;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAwB1G;;;OAGG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC;IAgClB;;OAEG;IACG,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IAaF;;OAEG;IACH,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAW5E;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,UAAU,IAAI,IAAI;CAInB"}
|
|
@@ -13,9 +13,9 @@ export class SecurityManager {
|
|
|
13
13
|
algorithm = 'aes-256-gcm';
|
|
14
14
|
jwtSecret;
|
|
15
15
|
encryptionCache = new Map();
|
|
16
|
-
constructor() {
|
|
16
|
+
constructor(secret) {
|
|
17
17
|
// In production, load from secure vault (AWS Secrets Manager, HashiCorp Vault, etc.)
|
|
18
|
-
this.jwtSecret = process.env.JWT_SECRET || crypto.randomBytes(32).toString('hex');
|
|
18
|
+
this.jwtSecret = secret || process.env.JWT_SECRET || crypto.randomBytes(32).toString('hex');
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Create JWT token for agent authentication
|
|
@@ -62,13 +62,18 @@ export class SecurityManager {
|
|
|
62
62
|
.createHmac('sha256', this.jwtSecret)
|
|
63
63
|
.update(`${encodedHeader}.${encodedPayload}`)
|
|
64
64
|
.digest('base64url');
|
|
65
|
-
|
|
65
|
+
const given = Buffer.from(signature);
|
|
66
|
+
const wanted = Buffer.from(expectedSignature);
|
|
67
|
+
if (given.length !== wanted.length || !crypto.timingSafeEqual(given, wanted)) {
|
|
66
68
|
throw new Error('Invalid token signature');
|
|
67
69
|
}
|
|
68
70
|
// Decode payload
|
|
69
71
|
const payload = JSON.parse(this.base64UrlDecode(encodedPayload));
|
|
72
|
+
if (typeof payload?.agentId !== 'string' || typeof payload?.tenantId !== 'string' || !payload.agentId || !payload.tenantId) {
|
|
73
|
+
throw new Error('Invalid token payload');
|
|
74
|
+
}
|
|
70
75
|
// Check expiration
|
|
71
|
-
if (Date.now() >= payload.exp) {
|
|
76
|
+
if (typeof payload.exp !== 'number' || Date.now() >= payload.exp) {
|
|
72
77
|
throw new Error('Token expired');
|
|
73
78
|
}
|
|
74
79
|
logger.debug('Token verified', {
|
|
@@ -78,29 +83,45 @@ export class SecurityManager {
|
|
|
78
83
|
return payload;
|
|
79
84
|
}
|
|
80
85
|
/**
|
|
81
|
-
* Get or create encryption
|
|
86
|
+
* Get or create encryption key for a tenant (key only, IV generated per operation)
|
|
87
|
+
* SECURITY FIX: IV is now generated fresh for each encryption operation
|
|
82
88
|
*/
|
|
83
|
-
async
|
|
84
|
-
// Check cache
|
|
85
|
-
|
|
86
|
-
|
|
89
|
+
async getEncryptionKey(tenantId) {
|
|
90
|
+
// Check cache for encryption key only
|
|
91
|
+
const cached = this.encryptionCache.get(tenantId);
|
|
92
|
+
if (cached) {
|
|
93
|
+
return cached.encryptionKey;
|
|
87
94
|
}
|
|
88
|
-
// Generate new
|
|
95
|
+
// Generate new key for tenant
|
|
89
96
|
// In production, these would be stored in a secure key management service
|
|
90
97
|
const encryptionKey = crypto.randomBytes(32); // 256-bit key
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
// Cache only the key (IV will be generated per-operation)
|
|
99
|
+
// We store a dummy IV in the cache structure for backwards compatibility
|
|
100
|
+
const keys = { encryptionKey, iv: Buffer.alloc(16) };
|
|
94
101
|
this.encryptionCache.set(tenantId, keys);
|
|
95
|
-
logger.info('Generated encryption
|
|
96
|
-
return
|
|
102
|
+
logger.info('Generated encryption key for tenant', { tenantId });
|
|
103
|
+
return encryptionKey;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Legacy method for backwards compatibility - prefer getEncryptionKey
|
|
107
|
+
* @deprecated Use getEncryptionKey instead and generate IV per-operation
|
|
108
|
+
*/
|
|
109
|
+
async getEncryptionKeys(tenantId) {
|
|
110
|
+
const encryptionKey = await this.getEncryptionKey(tenantId);
|
|
111
|
+
// SECURITY: Generate fresh IV for each call (not cached)
|
|
112
|
+
const iv = crypto.randomBytes(16);
|
|
113
|
+
return { encryptionKey, iv };
|
|
97
114
|
}
|
|
98
115
|
/**
|
|
99
116
|
* Encrypt data with AES-256-GCM
|
|
117
|
+
* SECURITY FIX: Now generates a fresh IV for each encryption and returns it
|
|
100
118
|
*/
|
|
101
119
|
async encrypt(data, tenantId) {
|
|
102
|
-
const
|
|
103
|
-
|
|
120
|
+
const encryptionKey = await this.getEncryptionKey(tenantId);
|
|
121
|
+
// SECURITY: Generate fresh IV for EACH encryption operation
|
|
122
|
+
// IV reuse with AES-GCM is catastrophic - this fix prevents that
|
|
123
|
+
const iv = crypto.randomBytes(16);
|
|
124
|
+
const cipher = crypto.createCipheriv(this.algorithm, encryptionKey, iv);
|
|
104
125
|
let encrypted = cipher.update(data, 'utf8', 'base64');
|
|
105
126
|
encrypted += cipher.final('base64');
|
|
106
127
|
const authTag = cipher.getAuthTag().toString('base64');
|
|
@@ -109,14 +130,31 @@ export class SecurityManager {
|
|
|
109
130
|
originalLength: data.length,
|
|
110
131
|
encryptedLength: encrypted.length
|
|
111
132
|
});
|
|
112
|
-
|
|
133
|
+
// SECURITY: Return IV with encrypted data so it can be used for decryption
|
|
134
|
+
return { encrypted, authTag, iv: iv.toString('base64') };
|
|
113
135
|
}
|
|
114
136
|
/**
|
|
115
137
|
* Decrypt data with AES-256-GCM
|
|
138
|
+
* SECURITY FIX: Now accepts IV as parameter (required for proper decryption)
|
|
116
139
|
*/
|
|
117
|
-
async decrypt(encrypted, authTag, tenantId) {
|
|
118
|
-
const
|
|
119
|
-
|
|
140
|
+
async decrypt(encrypted, authTag, tenantId, iv) {
|
|
141
|
+
const encryptionKey = await this.getEncryptionKey(tenantId);
|
|
142
|
+
// SECURITY: IV must be provided for proper decryption
|
|
143
|
+
// For backwards compatibility, generate warning if not provided
|
|
144
|
+
let ivBuffer;
|
|
145
|
+
if (iv) {
|
|
146
|
+
ivBuffer = Buffer.from(iv, 'base64');
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// Legacy fallback - try to use cached IV (will fail for new encryptions)
|
|
150
|
+
logger.warn('Decrypt called without IV - this may fail for newly encrypted data', { tenantId });
|
|
151
|
+
const cached = this.encryptionCache.get(tenantId);
|
|
152
|
+
if (!cached) {
|
|
153
|
+
throw new Error('No IV provided and no cached keys available');
|
|
154
|
+
}
|
|
155
|
+
ivBuffer = cached.iv;
|
|
156
|
+
}
|
|
157
|
+
const decipher = crypto.createDecipheriv(this.algorithm, encryptionKey, ivBuffer);
|
|
120
158
|
decipher.setAuthTag(Buffer.from(authTag, 'base64'));
|
|
121
159
|
let decrypted = decipher.update(encrypted, 'base64', 'utf8');
|
|
122
160
|
decrypted += decipher.final('utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecurityManager.js","sourceRoot":"","sources":["../../src/federation/SecurityManager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Security Manager - Authentication, encryption, and access control\n *\n * Features:\n * - JWT token generation and validation\n * - AES-256 encryption for data at rest\n * - Tenant isolation\n * - mTLS certificate management\n */\n\nimport crypto from 'crypto';\nimport { logger } from '../utils/logger.js';\n\nexport interface AgentTokenPayload {\n agentId: string;\n tenantId: string;\n expiresAt: number;\n}\n\nexport interface EncryptionKeys {\n encryptionKey: Buffer;\n iv: Buffer;\n}\n\nexport class SecurityManager {\n private readonly algorithm = 'aes-256-gcm';\n private readonly jwtSecret: string;\n private encryptionCache: Map<string, EncryptionKeys> = new Map();\n\n constructor() {\n // In production, load from secure vault (AWS Secrets Manager, HashiCorp Vault, etc.)\n this.jwtSecret = process.env.JWT_SECRET || crypto.randomBytes(32).toString('hex');\n }\n\n /**\n * Create JWT token for agent authentication\n */\n async createAgentToken(payload: AgentTokenPayload): Promise<string> {\n const header = {\n alg: 'HS256',\n typ: 'JWT'\n };\n\n const now = Date.now();\n const tokenPayload = {\n ...payload,\n iat: now,\n exp: payload.expiresAt,\n iss: 'agentic-flow-federation'\n };\n\n // Encode header and payload\n const encodedHeader = this.base64UrlEncode(JSON.stringify(header));\n const encodedPayload = this.base64UrlEncode(JSON.stringify(tokenPayload));\n\n // Create signature\n const signature = crypto\n .createHmac('sha256', this.jwtSecret)\n .update(`${encodedHeader}.${encodedPayload}`)\n .digest('base64url');\n\n const token = `${encodedHeader}.${encodedPayload}.${signature}`;\n\n logger.info('Created agent token', {\n agentId: payload.agentId,\n tenantId: payload.tenantId,\n expiresAt: new Date(payload.expiresAt).toISOString()\n });\n\n return token;\n }\n\n /**\n * Verify JWT token\n */\n async verifyAgentToken(token: string): Promise<AgentTokenPayload> {\n const parts = token.split('.');\n if (parts.length !== 3) {\n throw new Error('Invalid token format');\n }\n\n const [encodedHeader, encodedPayload, signature] = parts;\n\n // Verify signature\n const expectedSignature = crypto\n .createHmac('sha256', this.jwtSecret)\n .update(`${encodedHeader}.${encodedPayload}`)\n .digest('base64url');\n\n if (signature !== expectedSignature) {\n throw new Error('Invalid token signature');\n }\n\n // Decode payload\n const payload = JSON.parse(this.base64UrlDecode(encodedPayload));\n\n // Check expiration\n if (Date.now() >= payload.exp) {\n throw new Error('Token expired');\n }\n\n logger.debug('Token verified', {\n agentId: payload.agentId,\n tenantId: payload.tenantId\n });\n\n return payload;\n }\n\n /**\n * Get or create encryption keys for a tenant\n */\n async getEncryptionKeys(tenantId: string): Promise<EncryptionKeys> {\n // Check cache\n if (this.encryptionCache.has(tenantId)) {\n return this.encryptionCache.get(tenantId)!;\n }\n\n // Generate new keys for tenant\n // In production, these would be stored in a secure key management service\n const encryptionKey = crypto.randomBytes(32); // 256-bit key\n const iv = crypto.randomBytes(16); // 128-bit IV\n\n const keys: EncryptionKeys = { encryptionKey, iv };\n\n // Cache keys\n this.encryptionCache.set(tenantId, keys);\n\n logger.info('Generated encryption keys for tenant', { tenantId });\n\n return keys;\n }\n\n /**\n * Encrypt data with AES-256-GCM\n */\n async encrypt(data: string, tenantId: string): Promise<{ encrypted: string; authTag: string }> {\n const keys = await this.getEncryptionKeys(tenantId);\n\n const cipher = crypto.createCipheriv(this.algorithm, keys.encryptionKey, keys.iv);\n\n let encrypted = cipher.update(data, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n\n const authTag = cipher.getAuthTag().toString('base64');\n\n logger.debug('Data encrypted', {\n tenantId,\n originalLength: data.length,\n encryptedLength: encrypted.length\n });\n\n return { encrypted, authTag };\n }\n\n /**\n * Decrypt data with AES-256-GCM\n */\n async decrypt(\n encrypted: string,\n authTag: string,\n tenantId: string\n ): Promise<string> {\n const keys = await this.getEncryptionKeys(tenantId);\n\n const decipher = crypto.createDecipheriv(this.algorithm, keys.encryptionKey, keys.iv);\n decipher.setAuthTag(Buffer.from(authTag, 'base64'));\n\n let decrypted = decipher.update(encrypted, 'base64', 'utf8');\n decrypted += decipher.final('utf8');\n\n logger.debug('Data decrypted', {\n tenantId,\n decryptedLength: decrypted.length\n });\n\n return decrypted;\n }\n\n /**\n * Generate mTLS certificates for agent-to-hub communication\n */\n async generateMTLSCertificates(agentId: string): Promise<{\n cert: string;\n key: string;\n ca: string;\n }> {\n // Placeholder: Actual implementation would use OpenSSL or similar\n // to generate X.509 certificates with proper CA chain\n\n logger.info('Generating mTLS certificates', { agentId });\n\n return {\n cert: 'PLACEHOLDER_CERT',\n key: 'PLACEHOLDER_KEY',\n ca: 'PLACEHOLDER_CA'\n };\n }\n\n /**\n * Validate tenant access to data\n */\n validateTenantAccess(requestTenantId: string, dataTenantId: string): boolean {\n if (requestTenantId !== dataTenantId) {\n logger.warn('Tenant access violation detected', {\n requestTenantId,\n dataTenantId\n });\n return false;\n }\n return true;\n }\n\n /**\n * Hash sensitive data for storage (one-way)\n */\n hashData(data: string): string {\n return crypto.createHash('sha256').update(data).digest('hex');\n }\n\n /**\n * Generate secure random ID\n */\n generateSecureId(): string {\n return crypto.randomBytes(16).toString('hex');\n }\n\n /**\n * Base64 URL-safe encoding\n */\n private base64UrlEncode(str: string): string {\n return Buffer.from(str)\n .toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n /**\n * Base64 URL-safe decoding\n */\n private base64UrlDecode(str: string): string {\n const base64 = str.replace(/-/g, '+').replace(/_/g, '/');\n return Buffer.from(base64, 'base64').toString('utf8');\n }\n\n /**\n * Clear cached keys (for testing or security refresh)\n */\n clearCache(): void {\n this.encryptionCache.clear();\n logger.info('Encryption cache cleared');\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"SecurityManager.js","sourceRoot":"","sources":["../../src/federation/SecurityManager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Security Manager - Authentication, encryption, and access control\n *\n * Features:\n * - JWT token generation and validation\n * - AES-256 encryption for data at rest\n * - Tenant isolation\n * - mTLS certificate management\n */\n\nimport crypto from 'crypto';\nimport { logger } from '../utils/logger.js';\n\nexport interface AgentTokenPayload {\n agentId: string;\n tenantId: string;\n expiresAt: number;\n}\n\nexport interface EncryptionKeys {\n encryptionKey: Buffer;\n iv: Buffer;\n}\n\nexport class SecurityManager {\n private readonly algorithm = 'aes-256-gcm';\n private readonly jwtSecret: string;\n private encryptionCache: Map<string, EncryptionKeys> = new Map();\n\n constructor(secret?: string) {\n // In production, load from secure vault (AWS Secrets Manager, HashiCorp Vault, etc.)\n this.jwtSecret = secret || process.env.JWT_SECRET || crypto.randomBytes(32).toString('hex');\n }\n\n /**\n * Create JWT token for agent authentication\n */\n async createAgentToken(payload: AgentTokenPayload): Promise<string> {\n const header = {\n alg: 'HS256',\n typ: 'JWT'\n };\n\n const now = Date.now();\n const tokenPayload = {\n ...payload,\n iat: now,\n exp: payload.expiresAt,\n iss: 'agentic-flow-federation'\n };\n\n // Encode header and payload\n const encodedHeader = this.base64UrlEncode(JSON.stringify(header));\n const encodedPayload = this.base64UrlEncode(JSON.stringify(tokenPayload));\n\n // Create signature\n const signature = crypto\n .createHmac('sha256', this.jwtSecret)\n .update(`${encodedHeader}.${encodedPayload}`)\n .digest('base64url');\n\n const token = `${encodedHeader}.${encodedPayload}.${signature}`;\n\n logger.info('Created agent token', {\n agentId: payload.agentId,\n tenantId: payload.tenantId,\n expiresAt: new Date(payload.expiresAt).toISOString()\n });\n\n return token;\n }\n\n /**\n * Verify JWT token\n */\n async verifyAgentToken(token: string): Promise<AgentTokenPayload> {\n const parts = token.split('.');\n if (parts.length !== 3) {\n throw new Error('Invalid token format');\n }\n\n const [encodedHeader, encodedPayload, signature] = parts;\n\n // Verify signature\n const expectedSignature = crypto\n .createHmac('sha256', this.jwtSecret)\n .update(`${encodedHeader}.${encodedPayload}`)\n .digest('base64url');\n\n const given = Buffer.from(signature);\n const wanted = Buffer.from(expectedSignature);\n if (given.length !== wanted.length || !crypto.timingSafeEqual(given, wanted)) {\n throw new Error('Invalid token signature');\n }\n\n // Decode payload\n const payload = JSON.parse(this.base64UrlDecode(encodedPayload));\n\n if (typeof payload?.agentId !== 'string' || typeof payload?.tenantId !== 'string' || !payload.agentId || !payload.tenantId) {\n throw new Error('Invalid token payload');\n }\n\n // Check expiration\n if (typeof payload.exp !== 'number' || Date.now() >= payload.exp) {\n throw new Error('Token expired');\n }\n\n logger.debug('Token verified', {\n agentId: payload.agentId,\n tenantId: payload.tenantId\n });\n\n return payload;\n }\n\n /**\n * Get or create encryption key for a tenant (key only, IV generated per operation)\n * SECURITY FIX: IV is now generated fresh for each encryption operation\n */\n async getEncryptionKey(tenantId: string): Promise<Buffer> {\n // Check cache for encryption key only\n const cached = this.encryptionCache.get(tenantId);\n if (cached) {\n return cached.encryptionKey;\n }\n\n // Generate new key for tenant\n // In production, these would be stored in a secure key management service\n const encryptionKey = crypto.randomBytes(32); // 256-bit key\n\n // Cache only the key (IV will be generated per-operation)\n // We store a dummy IV in the cache structure for backwards compatibility\n const keys: EncryptionKeys = { encryptionKey, iv: Buffer.alloc(16) };\n this.encryptionCache.set(tenantId, keys);\n\n logger.info('Generated encryption key for tenant', { tenantId });\n\n return encryptionKey;\n }\n\n /**\n * Legacy method for backwards compatibility - prefer getEncryptionKey\n * @deprecated Use getEncryptionKey instead and generate IV per-operation\n */\n async getEncryptionKeys(tenantId: string): Promise<EncryptionKeys> {\n const encryptionKey = await this.getEncryptionKey(tenantId);\n // SECURITY: Generate fresh IV for each call (not cached)\n const iv = crypto.randomBytes(16);\n return { encryptionKey, iv };\n }\n\n /**\n * Encrypt data with AES-256-GCM\n * SECURITY FIX: Now generates a fresh IV for each encryption and returns it\n */\n async encrypt(data: string, tenantId: string): Promise<{ encrypted: string; authTag: string; iv: string }> {\n const encryptionKey = await this.getEncryptionKey(tenantId);\n\n // SECURITY: Generate fresh IV for EACH encryption operation\n // IV reuse with AES-GCM is catastrophic - this fix prevents that\n const iv = crypto.randomBytes(16);\n\n const cipher = crypto.createCipheriv(this.algorithm, encryptionKey, iv);\n\n let encrypted = cipher.update(data, 'utf8', 'base64');\n encrypted += cipher.final('base64');\n\n const authTag = cipher.getAuthTag().toString('base64');\n\n logger.debug('Data encrypted', {\n tenantId,\n originalLength: data.length,\n encryptedLength: encrypted.length\n });\n\n // SECURITY: Return IV with encrypted data so it can be used for decryption\n return { encrypted, authTag, iv: iv.toString('base64') };\n }\n\n /**\n * Decrypt data with AES-256-GCM\n * SECURITY FIX: Now accepts IV as parameter (required for proper decryption)\n */\n async decrypt(\n encrypted: string,\n authTag: string,\n tenantId: string,\n iv?: string\n ): Promise<string> {\n const encryptionKey = await this.getEncryptionKey(tenantId);\n\n // SECURITY: IV must be provided for proper decryption\n // For backwards compatibility, generate warning if not provided\n let ivBuffer: Buffer;\n if (iv) {\n ivBuffer = Buffer.from(iv, 'base64');\n } else {\n // Legacy fallback - try to use cached IV (will fail for new encryptions)\n logger.warn('Decrypt called without IV - this may fail for newly encrypted data', { tenantId });\n const cached = this.encryptionCache.get(tenantId);\n if (!cached) {\n throw new Error('No IV provided and no cached keys available');\n }\n ivBuffer = cached.iv;\n }\n\n const decipher = crypto.createDecipheriv(this.algorithm, encryptionKey, ivBuffer);\n decipher.setAuthTag(Buffer.from(authTag, 'base64'));\n\n let decrypted = decipher.update(encrypted, 'base64', 'utf8');\n decrypted += decipher.final('utf8');\n\n logger.debug('Data decrypted', {\n tenantId,\n decryptedLength: decrypted.length\n });\n\n return decrypted;\n }\n\n /**\n * Generate mTLS certificates for agent-to-hub communication\n */\n async generateMTLSCertificates(agentId: string): Promise<{\n cert: string;\n key: string;\n ca: string;\n }> {\n // Placeholder: Actual implementation would use OpenSSL or similar\n // to generate X.509 certificates with proper CA chain\n\n logger.info('Generating mTLS certificates', { agentId });\n\n return {\n cert: 'PLACEHOLDER_CERT',\n key: 'PLACEHOLDER_KEY',\n ca: 'PLACEHOLDER_CA'\n };\n }\n\n /**\n * Validate tenant access to data\n */\n validateTenantAccess(requestTenantId: string, dataTenantId: string): boolean {\n if (requestTenantId !== dataTenantId) {\n logger.warn('Tenant access violation detected', {\n requestTenantId,\n dataTenantId\n });\n return false;\n }\n return true;\n }\n\n /**\n * Hash sensitive data for storage (one-way)\n */\n hashData(data: string): string {\n return crypto.createHash('sha256').update(data).digest('hex');\n }\n\n /**\n * Generate secure random ID\n */\n generateSecureId(): string {\n return crypto.randomBytes(16).toString('hex');\n }\n\n /**\n * Base64 URL-safe encoding\n */\n private base64UrlEncode(str: string): string {\n return Buffer.from(str)\n .toString('base64')\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n /**\n * Base64 URL-safe decoding\n */\n private base64UrlDecode(str: string): string {\n const base64 = str.replace(/-/g, '+').replace(/_/g, '/');\n return Buffer.from(base64, 'base64').toString('utf8');\n }\n\n /**\n * Clear cached keys (for testing or security refresh)\n */\n clearCache(): void {\n this.encryptionCache.clear();\n logger.info('Encryption cache cleared');\n }\n}\n"]}
|
|
@@ -46,11 +46,11 @@ export class SupabaseFederationAdapterDebug {
|
|
|
46
46
|
await this.ensureVectorExtension();
|
|
47
47
|
}
|
|
48
48
|
const duration = Date.now() - startTime;
|
|
49
|
-
this.debug.logConnection('initialize_complete', { duration }
|
|
49
|
+
this.debug.logConnection('initialize_complete', { duration });
|
|
50
50
|
}
|
|
51
51
|
catch (error) {
|
|
52
52
|
const duration = Date.now() - startTime;
|
|
53
|
-
this.debug.logConnection('initialize_error', { duration
|
|
53
|
+
this.debug.logConnection('initialize_error', { duration, error: String(error) });
|
|
54
54
|
throw error;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -369,7 +369,7 @@ export class SupabaseFederationAdapterDebug {
|
|
|
369
369
|
this.debug.logConnection('close_start');
|
|
370
370
|
this.debug.close();
|
|
371
371
|
const duration = Date.now() - startTime;
|
|
372
|
-
this.debug.logConnection('close_complete', {
|
|
372
|
+
this.debug.logConnection('close_complete', { duration });
|
|
373
373
|
}
|
|
374
374
|
}
|
|
375
375
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase-adapter-debug.js","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter-debug.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Supabase Database Adapter with Debug Streaming\n *\n * Enhanced version of SupabaseFederationAdapter with comprehensive\n * debug logging and performance tracking.\n */\n\nimport { createClient, SupabaseClient } from '@supabase/supabase-js';\nimport { DebugStream, DebugLevel, createDebugStream } from '../debug/debug-stream.js';\n\nexport interface SupabaseConfigDebug {\n url: string;\n anonKey: string;\n serviceRoleKey?: string;\n vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';\n syncInterval?: number;\n debug?: {\n enabled?: boolean;\n level?: DebugLevel;\n output?: 'console' | 'file' | 'both';\n format?: 'human' | 'json' | 'compact';\n outputFile?: string;\n };\n}\n\nexport interface AgentMemory {\n id: string;\n tenant_id: string;\n agent_id: string;\n session_id: string;\n content: string;\n embedding?: number[];\n metadata?: Record<string, any>;\n created_at?: string;\n expires_at?: string;\n}\n\nexport class SupabaseFederationAdapterDebug {\n private client: SupabaseClient;\n private config: SupabaseConfigDebug;\n private debug: DebugStream;\n\n constructor(config: SupabaseConfigDebug) {\n this.config = config;\n\n // Initialize debug stream\n this.debug = createDebugStream({\n level: config.debug?.level ?? DebugLevel.BASIC,\n output: config.debug?.output ?? 'console',\n format: config.debug?.format ?? 'human',\n outputFile: config.debug?.outputFile,\n });\n\n const startTime = Date.now();\n\n // Use service role key for server-side operations\n const key = config.serviceRoleKey || config.anonKey;\n this.client = createClient(config.url, key);\n\n this.debug.logConnection('client_created', {\n url: config.url,\n hasServiceRole: !!config.serviceRoleKey,\n vectorBackend: config.vectorBackend,\n });\n\n const duration = Date.now() - startTime;\n this.debug.logTrace('constructor_complete', { duration });\n }\n\n /**\n * Initialize Supabase schema for federation\n */\n async initialize(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('initialize_start', {\n vectorBackend: this.config.vectorBackend,\n });\n\n try {\n // Check if tables exist\n await this.ensureTables();\n\n if (this.config.vectorBackend === 'pgvector') {\n await this.ensureVectorExtension();\n }\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_complete', { duration }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_error', { duration }, duration, error as Error);\n throw error;\n }\n }\n\n /**\n * Ensure required tables exist\n */\n private async ensureTables(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_tables');\n\n const tables = ['agent_sessions', 'agent_memories', 'agent_tasks', 'agent_events'];\n const results: Record<string, boolean> = {};\n\n for (const table of tables) {\n const tableStart = Date.now();\n\n try {\n const { data, error } = await this.client\n .from(table)\n .select('id')\n .limit(1);\n\n const exists = !error || error.code !== 'PGRST116';\n results[table] = exists;\n\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check', {\n table,\n exists,\n }, tableDuration);\n\n if (!exists) {\n this.debug.logDatabase('table_missing', { table });\n }\n } catch (error) {\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check_error', { table }, tableDuration, error as Error);\n }\n }\n\n const duration = Date.now() - startTime;\n this.debug.logDatabase('tables_checked', { results }, duration);\n }\n\n /**\n * Ensure pgvector extension is enabled\n */\n private async ensureVectorExtension(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_pgvector');\n\n try {\n const { error } = await this.client.rpc('exec_sql', {\n sql: 'CREATE EXTENSION IF NOT EXISTS vector;'\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('pgvector_check_failed', {\n message: error.message,\n }, duration, error as any);\n } else {\n this.debug.logDatabase('pgvector_ready', {}, duration);\n }\n } catch (err) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('pgvector_error', {}, duration, err as Error);\n }\n }\n\n /**\n * Store agent memory in Supabase\n */\n async storeMemory(memory: AgentMemory): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logMemory('store_start', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n content_length: memory.content.length,\n has_embedding: !!memory.embedding,\n embedding_dims: memory.embedding?.length,\n });\n\n try {\n const { error } = await this.client\n .from('agent_memories')\n .insert({\n id: memory.id,\n tenant_id: memory.tenant_id,\n agent_id: memory.agent_id,\n session_id: memory.session_id,\n content: memory.content,\n embedding: memory.embedding,\n metadata: memory.metadata,\n created_at: memory.created_at || new Date().toISOString(),\n expires_at: memory.expires_at,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('store_error', memory.agent_id, memory.tenant_id, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to store memory: ${error.message}`);\n }\n\n this.debug.logMemory('store_complete', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('store_failed', memory.agent_id, memory.tenant_id, {}, duration);\n throw error;\n }\n }\n\n /**\n * Query memories by tenant and agent\n */\n async queryMemories(\n tenantId: string,\n agentId?: string,\n limit: number = 100\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('query_start', agentId, tenantId, {\n limit,\n hasAgentFilter: !!agentId,\n });\n\n try {\n let query = this.client\n .from('agent_memories')\n .select('*')\n .eq('tenant_id', tenantId)\n .order('created_at', { ascending: false })\n .limit(limit);\n\n if (agentId) {\n query = query.eq('agent_id', agentId);\n }\n\n const { data, error } = await query;\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('query_error', agentId, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to query memories: ${error.message}`);\n }\n\n this.debug.logMemory('query_complete', agentId, tenantId, {\n count: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('query_failed', agentId, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Semantic search using pgvector\n */\n async semanticSearch(\n embedding: number[],\n tenantId: string,\n limit: number = 10\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('semantic_search_start', undefined, tenantId, {\n embedding_dims: embedding.length,\n limit,\n });\n\n if (this.config.vectorBackend !== 'pgvector') {\n this.debug.logMemory('semantic_search_disabled', undefined, tenantId, {\n backend: this.config.vectorBackend,\n });\n throw new Error('pgvector backend not enabled');\n }\n\n try {\n const { data, error} = await this.client.rpc('search_memories', {\n query_embedding: embedding,\n query_tenant_id: tenantId,\n match_count: limit,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('semantic_search_error', undefined, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Semantic search failed: ${error.message}`);\n }\n\n this.debug.logMemory('semantic_search_complete', undefined, tenantId, {\n results: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('semantic_search_failed', undefined, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Register agent session\n */\n async registerSession(\n sessionId: string,\n tenantId: string,\n agentId: string,\n metadata?: Record<string, any>\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('register_session_start', {\n sessionId,\n tenantId,\n agentId,\n });\n\n try {\n const { error } = await this.client\n .from('agent_sessions')\n .insert({\n session_id: sessionId,\n tenant_id: tenantId,\n agent_id: agentId,\n metadata,\n started_at: new Date().toISOString(),\n status: 'active',\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('register_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to register session: ${error.message}`);\n }\n\n this.debug.logDatabase('register_session_complete', {\n sessionId,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('register_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Update session status\n */\n async updateSessionStatus(\n sessionId: string,\n status: 'active' | 'completed' | 'failed'\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('update_session_start', {\n sessionId,\n status,\n });\n\n try {\n const updates: any = { status };\n\n if (status !== 'active') {\n updates.ended_at = new Date().toISOString();\n }\n\n const { error } = await this.client\n .from('agent_sessions')\n .update(updates)\n .eq('session_id', sessionId);\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('update_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to update session: ${error.message}`);\n }\n\n this.debug.logDatabase('update_session_complete', {\n sessionId,\n status,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('update_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Get hub statistics\n */\n async getStats(tenantId?: string): Promise<any> {\n const startTime = Date.now();\n\n this.debug.logDatabase('get_stats_start', { tenantId });\n\n try {\n // Total memories\n let memoriesQuery = this.client\n .from('agent_memories')\n .select('id', { count: 'exact', head: true });\n\n if (tenantId) {\n memoriesQuery = memoriesQuery.eq('tenant_id', tenantId);\n }\n\n const { count: totalMemories } = await memoriesQuery;\n\n // Active sessions\n let sessionsQuery = this.client\n .from('agent_sessions')\n .select('session_id', { count: 'exact', head: true })\n .eq('status', 'active');\n\n if (tenantId) {\n sessionsQuery = sessionsQuery.eq('tenant_id', tenantId);\n }\n\n const { count: activeSessions } = await sessionsQuery;\n\n const duration = Date.now() - startTime;\n\n const stats = {\n total_memories: totalMemories || 0,\n active_sessions: activeSessions || 0,\n backend: 'supabase',\n vector_backend: this.config.vectorBackend,\n timestamp: new Date().toISOString(),\n };\n\n this.debug.logDatabase('get_stats_complete', stats, duration);\n\n return stats;\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('get_stats_error', {}, duration, error as Error);\n throw error;\n }\n }\n\n /**\n * Get debug stream for external use\n */\n getDebugStream(): DebugStream {\n return this.debug;\n }\n\n /**\n * Print performance metrics\n */\n printMetrics(): void {\n this.debug.printMetrics();\n }\n\n /**\n * Close connection\n */\n async close(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('close_start');\n\n this.debug.close();\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('close_complete', {}, duration);\n }\n}\n\n/**\n * Create Supabase adapter from environment variables with debug support\n */\nexport function createSupabaseAdapterDebug(): SupabaseFederationAdapterDebug {\n const url = process.env.SUPABASE_URL;\n const anonKey = process.env.SUPABASE_ANON_KEY;\n const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY;\n\n if (!url || !anonKey) {\n throw new Error(\n 'Missing Supabase credentials. Set SUPABASE_URL and SUPABASE_ANON_KEY'\n );\n }\n\n const debugLevel = process.env.DEBUG_LEVEL?.toUpperCase() as keyof typeof DebugLevel || 'BASIC';\n\n return new SupabaseFederationAdapterDebug({\n url,\n anonKey,\n serviceRoleKey,\n vectorBackend: (process.env.FEDERATION_VECTOR_BACKEND as any) || 'hybrid',\n syncInterval: parseInt(process.env.FEDERATION_SYNC_INTERVAL || '60000'),\n debug: {\n enabled: process.env.DEBUG_ENABLED !== 'false',\n level: DebugLevel[debugLevel] || DebugLevel.BASIC,\n output: (process.env.DEBUG_OUTPUT as any) || 'console',\n format: (process.env.DEBUG_FORMAT as any) || 'human',\n outputFile: process.env.DEBUG_OUTPUT_FILE,\n },\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"supabase-adapter-debug.js","sourceRoot":"","sources":["../../../src/federation/integrations/supabase-adapter-debug.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Supabase Database Adapter with Debug Streaming\n *\n * Enhanced version of SupabaseFederationAdapter with comprehensive\n * debug logging and performance tracking.\n */\n\nimport { createClient, SupabaseClient } from '@supabase/supabase-js';\nimport { DebugStream, DebugLevel, createDebugStream } from '../debug/debug-stream.js';\n\nexport interface SupabaseConfigDebug {\n url: string;\n anonKey: string;\n serviceRoleKey?: string;\n vectorBackend?: 'pgvector' | 'agentdb' | 'hybrid';\n syncInterval?: number;\n debug?: {\n enabled?: boolean;\n level?: DebugLevel;\n output?: 'console' | 'file' | 'both';\n format?: 'human' | 'json' | 'compact';\n outputFile?: string;\n };\n}\n\nexport interface AgentMemory {\n id: string;\n tenant_id: string;\n agent_id: string;\n session_id: string;\n content: string;\n embedding?: number[];\n metadata?: Record<string, any>;\n created_at?: string;\n expires_at?: string;\n}\n\nexport class SupabaseFederationAdapterDebug {\n private client: SupabaseClient;\n private config: SupabaseConfigDebug;\n private debug: DebugStream;\n\n constructor(config: SupabaseConfigDebug) {\n this.config = config;\n\n // Initialize debug stream\n this.debug = createDebugStream({\n level: config.debug?.level ?? DebugLevel.BASIC,\n output: config.debug?.output ?? 'console',\n format: config.debug?.format ?? 'human',\n outputFile: config.debug?.outputFile,\n });\n\n const startTime = Date.now();\n\n // Use service role key for server-side operations\n const key = config.serviceRoleKey || config.anonKey;\n this.client = createClient(config.url, key);\n\n this.debug.logConnection('client_created', {\n url: config.url,\n hasServiceRole: !!config.serviceRoleKey,\n vectorBackend: config.vectorBackend,\n });\n\n const duration = Date.now() - startTime;\n this.debug.logTrace('constructor_complete', { duration });\n }\n\n /**\n * Initialize Supabase schema for federation\n */\n async initialize(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('initialize_start', {\n vectorBackend: this.config.vectorBackend,\n });\n\n try {\n // Check if tables exist\n await this.ensureTables();\n\n if (this.config.vectorBackend === 'pgvector') {\n await this.ensureVectorExtension();\n }\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_complete', { duration });\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logConnection('initialize_error', { duration, error: String(error) });\n throw error;\n }\n }\n\n /**\n * Ensure required tables exist\n */\n private async ensureTables(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_tables');\n\n const tables = ['agent_sessions', 'agent_memories', 'agent_tasks', 'agent_events'];\n const results: Record<string, boolean> = {};\n\n for (const table of tables) {\n const tableStart = Date.now();\n\n try {\n const { data, error } = await this.client\n .from(table)\n .select('id')\n .limit(1);\n\n const exists = !error || error.code !== 'PGRST116';\n results[table] = exists;\n\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check', {\n table,\n exists,\n }, tableDuration);\n\n if (!exists) {\n this.debug.logDatabase('table_missing', { table });\n }\n } catch (error) {\n const tableDuration = Date.now() - tableStart;\n this.debug.logDatabase('table_check_error', { table }, tableDuration, error as Error);\n }\n }\n\n const duration = Date.now() - startTime;\n this.debug.logDatabase('tables_checked', { results }, duration);\n }\n\n /**\n * Ensure pgvector extension is enabled\n */\n private async ensureVectorExtension(): Promise<void> {\n const startTime = Date.now();\n this.debug.logTrace('checking_pgvector');\n\n try {\n const { error } = await this.client.rpc('exec_sql', {\n sql: 'CREATE EXTENSION IF NOT EXISTS vector;'\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('pgvector_check_failed', {\n message: error.message,\n }, duration, error as any);\n } else {\n this.debug.logDatabase('pgvector_ready', {}, duration);\n }\n } catch (err) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('pgvector_error', {}, duration, err as Error);\n }\n }\n\n /**\n * Store agent memory in Supabase\n */\n async storeMemory(memory: AgentMemory): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logMemory('store_start', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n content_length: memory.content.length,\n has_embedding: !!memory.embedding,\n embedding_dims: memory.embedding?.length,\n });\n\n try {\n const { error } = await this.client\n .from('agent_memories')\n .insert({\n id: memory.id,\n tenant_id: memory.tenant_id,\n agent_id: memory.agent_id,\n session_id: memory.session_id,\n content: memory.content,\n embedding: memory.embedding,\n metadata: memory.metadata,\n created_at: memory.created_at || new Date().toISOString(),\n expires_at: memory.expires_at,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('store_error', memory.agent_id, memory.tenant_id, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to store memory: ${error.message}`);\n }\n\n this.debug.logMemory('store_complete', memory.agent_id, memory.tenant_id, {\n id: memory.id,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('store_failed', memory.agent_id, memory.tenant_id, {}, duration);\n throw error;\n }\n }\n\n /**\n * Query memories by tenant and agent\n */\n async queryMemories(\n tenantId: string,\n agentId?: string,\n limit: number = 100\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('query_start', agentId, tenantId, {\n limit,\n hasAgentFilter: !!agentId,\n });\n\n try {\n let query = this.client\n .from('agent_memories')\n .select('*')\n .eq('tenant_id', tenantId)\n .order('created_at', { ascending: false })\n .limit(limit);\n\n if (agentId) {\n query = query.eq('agent_id', agentId);\n }\n\n const { data, error } = await query;\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('query_error', agentId, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Failed to query memories: ${error.message}`);\n }\n\n this.debug.logMemory('query_complete', agentId, tenantId, {\n count: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('query_failed', agentId, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Semantic search using pgvector\n */\n async semanticSearch(\n embedding: number[],\n tenantId: string,\n limit: number = 10\n ): Promise<AgentMemory[]> {\n const startTime = Date.now();\n\n this.debug.logMemory('semantic_search_start', undefined, tenantId, {\n embedding_dims: embedding.length,\n limit,\n });\n\n if (this.config.vectorBackend !== 'pgvector') {\n this.debug.logMemory('semantic_search_disabled', undefined, tenantId, {\n backend: this.config.vectorBackend,\n });\n throw new Error('pgvector backend not enabled');\n }\n\n try {\n const { data, error} = await this.client.rpc('search_memories', {\n query_embedding: embedding,\n query_tenant_id: tenantId,\n match_count: limit,\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logMemory('semantic_search_error', undefined, tenantId, {\n error: error.message,\n }, duration);\n throw new Error(`Semantic search failed: ${error.message}`);\n }\n\n this.debug.logMemory('semantic_search_complete', undefined, tenantId, {\n results: data?.length || 0,\n }, duration);\n\n return data as AgentMemory[];\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logMemory('semantic_search_failed', undefined, tenantId, {}, duration);\n throw error;\n }\n }\n\n /**\n * Register agent session\n */\n async registerSession(\n sessionId: string,\n tenantId: string,\n agentId: string,\n metadata?: Record<string, any>\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('register_session_start', {\n sessionId,\n tenantId,\n agentId,\n });\n\n try {\n const { error } = await this.client\n .from('agent_sessions')\n .insert({\n session_id: sessionId,\n tenant_id: tenantId,\n agent_id: agentId,\n metadata,\n started_at: new Date().toISOString(),\n status: 'active',\n });\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('register_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to register session: ${error.message}`);\n }\n\n this.debug.logDatabase('register_session_complete', {\n sessionId,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('register_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Update session status\n */\n async updateSessionStatus(\n sessionId: string,\n status: 'active' | 'completed' | 'failed'\n ): Promise<void> {\n const startTime = Date.now();\n\n this.debug.logDatabase('update_session_start', {\n sessionId,\n status,\n });\n\n try {\n const updates: any = { status };\n\n if (status !== 'active') {\n updates.ended_at = new Date().toISOString();\n }\n\n const { error } = await this.client\n .from('agent_sessions')\n .update(updates)\n .eq('session_id', sessionId);\n\n const duration = Date.now() - startTime;\n\n if (error) {\n this.debug.logDatabase('update_session_error', {\n sessionId,\n error: error.message,\n }, duration, error as any);\n throw new Error(`Failed to update session: ${error.message}`);\n }\n\n this.debug.logDatabase('update_session_complete', {\n sessionId,\n status,\n }, duration);\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('update_session_failed', { sessionId }, duration);\n throw error;\n }\n }\n\n /**\n * Get hub statistics\n */\n async getStats(tenantId?: string): Promise<any> {\n const startTime = Date.now();\n\n this.debug.logDatabase('get_stats_start', { tenantId });\n\n try {\n // Total memories\n let memoriesQuery = this.client\n .from('agent_memories')\n .select('id', { count: 'exact', head: true });\n\n if (tenantId) {\n memoriesQuery = memoriesQuery.eq('tenant_id', tenantId);\n }\n\n const { count: totalMemories } = await memoriesQuery;\n\n // Active sessions\n let sessionsQuery = this.client\n .from('agent_sessions')\n .select('session_id', { count: 'exact', head: true })\n .eq('status', 'active');\n\n if (tenantId) {\n sessionsQuery = sessionsQuery.eq('tenant_id', tenantId);\n }\n\n const { count: activeSessions } = await sessionsQuery;\n\n const duration = Date.now() - startTime;\n\n const stats = {\n total_memories: totalMemories || 0,\n active_sessions: activeSessions || 0,\n backend: 'supabase',\n vector_backend: this.config.vectorBackend,\n timestamp: new Date().toISOString(),\n };\n\n this.debug.logDatabase('get_stats_complete', stats, duration);\n\n return stats;\n } catch (error) {\n const duration = Date.now() - startTime;\n this.debug.logDatabase('get_stats_error', {}, duration, error as Error);\n throw error;\n }\n }\n\n /**\n * Get debug stream for external use\n */\n getDebugStream(): DebugStream {\n return this.debug;\n }\n\n /**\n * Print performance metrics\n */\n printMetrics(): void {\n this.debug.printMetrics();\n }\n\n /**\n * Close connection\n */\n async close(): Promise<void> {\n const startTime = Date.now();\n this.debug.logConnection('close_start');\n\n this.debug.close();\n\n const duration = Date.now() - startTime;\n this.debug.logConnection('close_complete', { duration });\n }\n}\n\n/**\n * Create Supabase adapter from environment variables with debug support\n */\nexport function createSupabaseAdapterDebug(): SupabaseFederationAdapterDebug {\n const url = process.env.SUPABASE_URL;\n const anonKey = process.env.SUPABASE_ANON_KEY;\n const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY;\n\n if (!url || !anonKey) {\n throw new Error(\n 'Missing Supabase credentials. Set SUPABASE_URL and SUPABASE_ANON_KEY'\n );\n }\n\n const debugLevel = process.env.DEBUG_LEVEL?.toUpperCase() as keyof typeof DebugLevel || 'BASIC';\n\n return new SupabaseFederationAdapterDebug({\n url,\n anonKey,\n serviceRoleKey,\n vectorBackend: (process.env.FEDERATION_VECTOR_BACKEND as any) || 'hybrid',\n syncInterval: parseInt(process.env.FEDERATION_SYNC_INTERVAL || '60000'),\n debug: {\n enabled: process.env.DEBUG_ENABLED !== 'false',\n level: DebugLevel[debugLevel] || DebugLevel.BASIC,\n output: (process.env.DEBUG_OUTPUT as any) || 'console',\n format: (process.env.DEBUG_FORMAT as any) || 'human',\n outputFile: process.env.DEBUG_OUTPUT_FILE,\n },\n });\n}\n"]}
|