agentic-flow 1.10.0 → 1.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -1338
- package/dist/.tsbuildinfo +1 -0
- package/dist/agentdb/index.d.ts +26 -0
- package/dist/agentdb/index.d.ts.map +1 -0
- package/dist/agentdb/index.js +1 -0
- package/dist/agentdb/index.js.map +1 -0
- package/dist/agentdb/validate-frontier.cjs +416 -0
- package/dist/agentdb/validate-frontier.cjs.map +1 -0
- package/dist/agentdb/validate-frontier.d.cts +2 -0
- package/dist/agentdb/validate-frontier.d.cts.map +1 -0
- package/dist/agents/claudeAgent.d.ts +6 -0
- package/dist/agents/claudeAgent.d.ts.map +1 -0
- package/dist/agents/claudeAgent.js +22 -3
- package/dist/agents/claudeAgent.js.map +1 -0
- package/dist/agents/claudeAgentDirect.d.ts +6 -0
- package/dist/agents/claudeAgentDirect.d.ts.map +1 -0
- package/dist/agents/claudeAgentDirect.js +1 -0
- package/dist/agents/claudeAgentDirect.js.map +1 -0
- package/dist/agents/claudeFlowAgent.d.ts +32 -0
- package/dist/agents/claudeFlowAgent.d.ts.map +1 -0
- package/dist/agents/claudeFlowAgent.js +1 -0
- package/dist/agents/claudeFlowAgent.js.map +1 -0
- package/dist/agents/codeReviewAgent.d.ts +4 -0
- package/dist/agents/codeReviewAgent.d.ts.map +1 -0
- package/dist/agents/codeReviewAgent.js +1 -0
- package/dist/agents/codeReviewAgent.js.map +1 -0
- package/dist/agents/dataAgent.d.ts +4 -0
- package/dist/agents/dataAgent.d.ts.map +1 -0
- package/dist/agents/dataAgent.js +1 -0
- package/dist/agents/dataAgent.js.map +1 -0
- package/dist/agents/directApiAgent.d.ts +10 -0
- package/dist/agents/directApiAgent.d.ts.map +1 -0
- package/dist/agents/directApiAgent.js +1 -0
- package/dist/agents/directApiAgent.js.map +1 -0
- package/dist/agents/webResearchAgent.d.ts +4 -0
- package/dist/agents/webResearchAgent.d.ts.map +1 -0
- package/dist/agents/webResearchAgent.js +1 -0
- package/dist/agents/webResearchAgent.js.map +1 -0
- package/dist/cli/agent-manager.d.ts +57 -0
- package/dist/cli/agent-manager.d.ts.map +1 -0
- package/dist/cli/agent-manager.js +1 -0
- package/dist/cli/agent-manager.js.map +1 -0
- package/dist/cli/claude-code-wrapper.d.ts +21 -0
- package/dist/cli/claude-code-wrapper.d.ts.map +1 -0
- package/dist/cli/claude-code-wrapper.js +1 -0
- package/dist/cli/claude-code-wrapper.js.map +1 -0
- package/dist/cli/config-wizard.d.ts +21 -0
- package/dist/cli/config-wizard.d.ts.map +1 -0
- package/dist/cli/config-wizard.js +1 -0
- package/dist/cli/config-wizard.js.map +1 -0
- package/dist/cli/federation-cli.d.ts +1 -0
- package/dist/cli/federation-cli.d.ts.map +1 -0
- package/dist/cli/federation-cli.js +1 -0
- package/dist/cli/federation-cli.js.map +1 -0
- package/dist/cli/mcp-manager.d.ts +12 -0
- package/dist/cli/mcp-manager.d.ts.map +1 -0
- package/dist/cli/mcp-manager.js +1 -0
- package/dist/cli/mcp-manager.js.map +1 -0
- package/dist/cli/mcp.d.ts +11 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +1 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli-proxy.d.ts +7 -0
- package/dist/cli-proxy.d.ts.map +1 -0
- package/dist/cli-proxy.js +1 -0
- package/dist/cli-proxy.js.map +1 -0
- package/dist/cli-standalone-proxy.d.ts +17 -0
- package/dist/cli-standalone-proxy.d.ts.map +1 -0
- package/dist/cli-standalone-proxy.js +1 -0
- package/dist/cli-standalone-proxy.js.map +1 -0
- package/dist/config/claudeFlow.d.ts +33 -0
- package/dist/config/claudeFlow.d.ts.map +1 -0
- package/dist/config/claudeFlow.js +1 -0
- package/dist/config/claudeFlow.js.map +1 -0
- package/dist/config/quic.d.ts +58 -0
- package/dist/config/quic.d.ts.map +1 -0
- package/dist/config/quic.js +1 -0
- package/dist/config/quic.js.map +1 -0
- package/dist/config/tools.d.ts +17 -0
- package/dist/config/tools.d.ts.map +1 -0
- package/dist/config/tools.js +1 -0
- package/dist/config/tools.js.map +1 -0
- package/dist/core/long-running-agent.d.ts +92 -0
- package/dist/core/long-running-agent.d.ts.map +1 -0
- package/dist/core/long-running-agent.js +1 -0
- package/dist/core/long-running-agent.js.map +1 -0
- package/dist/core/provider-manager.d.ts +145 -0
- package/dist/core/provider-manager.d.ts.map +1 -0
- package/dist/core/provider-manager.js +1 -0
- package/dist/core/provider-manager.js.map +1 -0
- package/dist/examples/multi-agent-orchestration.d.ts +3 -0
- package/dist/examples/multi-agent-orchestration.d.ts.map +1 -0
- package/dist/examples/multi-agent-orchestration.js +1 -0
- package/dist/examples/multi-agent-orchestration.js.map +1 -0
- package/dist/examples/use-goal-planner.d.ts +3 -0
- package/dist/examples/use-goal-planner.d.ts.map +1 -0
- package/dist/examples/use-goal-planner.js +1 -0
- package/dist/examples/use-goal-planner.js.map +1 -0
- package/dist/examples/use-provider-fallback.d.ts +13 -0
- package/dist/examples/use-provider-fallback.d.ts.map +1 -0
- package/dist/examples/use-provider-fallback.js +1 -0
- package/dist/examples/use-provider-fallback.js.map +1 -0
- package/dist/federation/EphemeralAgent.d.ts +84 -0
- package/dist/federation/EphemeralAgent.d.ts.map +1 -0
- package/dist/federation/EphemeralAgent.js +1 -0
- package/dist/federation/EphemeralAgent.js.map +1 -0
- package/dist/federation/FederationHub.d.ts +89 -0
- package/dist/federation/FederationHub.d.ts.map +1 -0
- package/dist/federation/FederationHub.js +1 -0
- package/dist/federation/FederationHub.js.map +1 -0
- package/dist/federation/FederationHubClient.d.ts +70 -0
- package/dist/federation/FederationHubClient.d.ts.map +1 -0
- package/dist/federation/FederationHubClient.js +1 -0
- package/dist/federation/FederationHubClient.js.map +1 -0
- package/dist/federation/FederationHubServer.d.ts +100 -0
- package/dist/federation/FederationHubServer.d.ts.map +1 -0
- package/dist/federation/FederationHubServer.js +1 -0
- package/dist/federation/FederationHubServer.js.map +1 -0
- package/dist/federation/SecurityManager.d.ts +80 -0
- package/dist/federation/SecurityManager.d.ts.map +1 -0
- package/dist/federation/SecurityManager.js +1 -0
- package/dist/federation/SecurityManager.js.map +1 -0
- package/dist/federation/debug/agent-debug-stream.d.ts +171 -0
- package/dist/federation/debug/agent-debug-stream.d.ts.map +1 -0
- package/dist/federation/debug/agent-debug-stream.js +1 -0
- package/dist/federation/debug/agent-debug-stream.js.map +1 -0
- package/dist/federation/debug/debug-stream.d.ts +157 -0
- package/dist/federation/debug/debug-stream.d.ts.map +1 -0
- package/dist/federation/debug/debug-stream.js +1 -0
- package/dist/federation/debug/debug-stream.js.map +1 -0
- package/dist/federation/index.d.ts +13 -0
- package/dist/federation/index.d.ts.map +1 -0
- package/dist/federation/index.js +1 -0
- package/dist/federation/index.js.map +1 -0
- package/dist/federation/integrations/realtime-federation.d.ts +144 -0
- package/dist/federation/integrations/realtime-federation.d.ts.map +1 -0
- package/dist/federation/integrations/realtime-federation.js +1 -0
- package/dist/federation/integrations/realtime-federation.js.map +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.d.ts +91 -0
- package/dist/federation/integrations/supabase-adapter-debug.d.ts.map +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.js +1 -0
- package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -0
- package/dist/federation/integrations/supabase-adapter.d.ts +89 -0
- package/dist/federation/integrations/supabase-adapter.d.ts.map +1 -0
- package/dist/federation/integrations/supabase-adapter.js +1 -0
- package/dist/federation/integrations/supabase-adapter.js.map +1 -0
- package/dist/health.d.ts +28 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +1 -0
- package/dist/health.js.map +1 -0
- package/dist/hooks/parallel-validation.d.ts +51 -0
- package/dist/hooks/parallel-validation.d.ts.map +1 -0
- package/dist/hooks/parallel-validation.js +1 -0
- package/dist/hooks/parallel-validation.js.map +1 -0
- package/dist/hooks/swarm-learning-optimizer.d.ts +89 -0
- package/dist/hooks/swarm-learning-optimizer.d.ts.map +1 -0
- package/dist/hooks/swarm-learning-optimizer.js +1 -0
- package/dist/hooks/swarm-learning-optimizer.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/claudeFlowSdkServer.d.ts +6 -0
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -0
- package/dist/mcp/claudeFlowSdkServer.js +1 -0
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js +1 -0
- package/dist/mcp/fastmcp/servers/claude-flow-sdk.js.map +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/http-sse.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.js +1 -0
- package/dist/mcp/fastmcp/servers/http-sse.js.map +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js +1 -0
- package/dist/mcp/fastmcp/servers/http-streaming-updated.js.map +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.js +1 -0
- package/dist/mcp/fastmcp/servers/poc-stdio.js.map +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.d.ts +3 -0
- package/dist/mcp/fastmcp/servers/stdio-full.d.ts.map +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.js +1 -0
- package/dist/mcp/fastmcp/servers/stdio-full.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-agent.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/add-command.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/execute.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/execute.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/list.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/list.js.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.js +1 -0
- package/dist/mcp/fastmcp/tools/agent/parallel.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/orchestrate.js.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts +3 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +1 -0
- package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -0
- package/dist/mcp/fastmcp/types/index.d.ts +33 -0
- package/dist/mcp/fastmcp/types/index.d.ts.map +1 -0
- package/dist/mcp/fastmcp/types/index.js +1 -0
- package/dist/mcp/fastmcp/types/index.js.map +1 -0
- package/dist/mcp/standalone-stdio.d.ts +3 -0
- package/dist/mcp/standalone-stdio.d.ts.map +1 -0
- package/dist/mcp/standalone-stdio.js +1 -0
- package/dist/mcp/standalone-stdio.js.map +1 -0
- package/dist/memory/SharedMemoryPool.d.ts +116 -0
- package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
- package/dist/memory/SharedMemoryPool.js +1 -0
- package/dist/memory/SharedMemoryPool.js.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +1 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/proxy/adaptive-proxy.d.ts +51 -0
- package/dist/proxy/adaptive-proxy.d.ts.map +1 -0
- package/dist/proxy/adaptive-proxy.js +1 -0
- package/dist/proxy/adaptive-proxy.js.map +1 -0
- package/dist/proxy/anthropic-to-gemini.d.ts +20 -0
- package/dist/proxy/anthropic-to-gemini.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-gemini.js +1 -0
- package/dist/proxy/anthropic-to-gemini.js.map +1 -0
- package/dist/proxy/anthropic-to-onnx.d.ts +17 -0
- package/dist/proxy/anthropic-to-onnx.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-onnx.js +1 -0
- package/dist/proxy/anthropic-to-onnx.js.map +1 -0
- package/dist/proxy/anthropic-to-openrouter.d.ts +28 -0
- package/dist/proxy/anthropic-to-openrouter.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-openrouter.js +1 -0
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -0
- package/dist/proxy/anthropic-to-requesty.d.ts +33 -0
- package/dist/proxy/anthropic-to-requesty.d.ts.map +1 -0
- package/dist/proxy/anthropic-to-requesty.js +1 -0
- package/dist/proxy/anthropic-to-requesty.js.map +1 -0
- package/dist/proxy/http2-proxy-optimized.d.ts +63 -0
- package/dist/proxy/http2-proxy-optimized.d.ts.map +1 -0
- package/dist/proxy/http2-proxy-optimized.js +1 -0
- package/dist/proxy/http2-proxy-optimized.js.map +1 -0
- package/dist/proxy/http2-proxy.d.ts +43 -0
- package/dist/proxy/http2-proxy.d.ts.map +1 -0
- package/dist/proxy/http2-proxy.js +1 -0
- package/dist/proxy/http2-proxy.js.map +1 -0
- package/dist/proxy/http3-proxy.d.ts +18 -0
- package/dist/proxy/http3-proxy.d.ts.map +1 -0
- package/dist/proxy/http3-proxy.js +1 -0
- package/dist/proxy/http3-proxy.js.map +1 -0
- package/dist/proxy/provider-instructions.d.ts +37 -0
- package/dist/proxy/provider-instructions.d.ts.map +1 -0
- package/dist/proxy/provider-instructions.js +1 -0
- package/dist/proxy/provider-instructions.js.map +1 -0
- package/dist/proxy/quic-proxy.d.ts +58 -0
- package/dist/proxy/quic-proxy.d.ts.map +1 -0
- package/dist/proxy/quic-proxy.js +1 -0
- package/dist/proxy/quic-proxy.js.map +1 -0
- package/dist/proxy/tool-emulation.d.ts +121 -0
- package/dist/proxy/tool-emulation.d.ts.map +1 -0
- package/dist/proxy/tool-emulation.js +1 -0
- package/dist/proxy/tool-emulation.js.map +1 -0
- package/dist/proxy/websocket-proxy.d.ts +39 -0
- package/dist/proxy/websocket-proxy.d.ts.map +1 -0
- package/dist/proxy/websocket-proxy.js +1 -0
- package/dist/proxy/websocket-proxy.js.map +1 -0
- package/dist/reasoningbank/AdvancedMemory.d.ts +120 -0
- package/dist/reasoningbank/AdvancedMemory.d.ts.map +1 -0
- package/dist/reasoningbank/AdvancedMemory.js +1 -0
- package/dist/reasoningbank/AdvancedMemory.js.map +1 -0
- package/dist/reasoningbank/HybridBackend.d.ts +99 -0
- package/dist/reasoningbank/HybridBackend.d.ts.map +1 -0
- package/dist/reasoningbank/HybridBackend.js +1 -0
- package/dist/reasoningbank/HybridBackend.js.map +1 -0
- package/dist/reasoningbank/backend-selector.d.ts +79 -0
- package/dist/reasoningbank/backend-selector.d.ts.map +1 -0
- package/dist/reasoningbank/backend-selector.js +1 -0
- package/dist/reasoningbank/backend-selector.js.map +1 -0
- package/dist/reasoningbank/benchmark.d.ts +14 -0
- package/dist/reasoningbank/benchmark.d.ts.map +1 -0
- package/dist/reasoningbank/benchmark.js +1 -0
- package/dist/reasoningbank/benchmark.js.map +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.d.ts +57 -0
- package/dist/reasoningbank/config/reasoningbank-types.d.ts.map +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.js +1 -0
- package/dist/reasoningbank/config/reasoningbank-types.js.map +1 -0
- package/dist/reasoningbank/core/consolidate.d.ts +21 -0
- package/dist/reasoningbank/core/consolidate.d.ts.map +1 -0
- package/dist/reasoningbank/core/consolidate.js +1 -0
- package/dist/reasoningbank/core/consolidate.js.map +1 -0
- package/dist/reasoningbank/core/distill.d.ts +22 -0
- package/dist/reasoningbank/core/distill.d.ts.map +1 -0
- package/dist/reasoningbank/core/distill.js +1 -0
- package/dist/reasoningbank/core/distill.js.map +1 -0
- package/dist/reasoningbank/core/judge.d.ts +17 -0
- package/dist/reasoningbank/core/judge.d.ts.map +1 -0
- package/dist/reasoningbank/core/judge.js +1 -0
- package/dist/reasoningbank/core/judge.js.map +1 -0
- package/dist/reasoningbank/core/matts.d.ts +46 -0
- package/dist/reasoningbank/core/matts.d.ts.map +1 -0
- package/dist/reasoningbank/core/matts.js +1 -0
- package/dist/reasoningbank/core/matts.js.map +1 -0
- package/dist/reasoningbank/core/retrieve.d.ts +35 -0
- package/dist/reasoningbank/core/retrieve.d.ts.map +1 -0
- package/dist/reasoningbank/core/retrieve.js +1 -0
- package/dist/reasoningbank/core/retrieve.js.map +1 -0
- package/dist/reasoningbank/db/queries.d.ts +88 -0
- package/dist/reasoningbank/db/queries.d.ts.map +1 -0
- package/dist/reasoningbank/db/queries.js +1 -0
- package/dist/reasoningbank/db/queries.js.map +1 -0
- package/dist/reasoningbank/db/schema.d.ts +81 -0
- package/dist/reasoningbank/db/schema.d.ts.map +1 -0
- package/dist/reasoningbank/db/schema.js +1 -0
- package/dist/reasoningbank/db/schema.js.map +1 -0
- package/dist/reasoningbank/demo-comparison.d.ts +10 -0
- package/dist/reasoningbank/demo-comparison.d.ts.map +1 -0
- package/dist/reasoningbank/demo-comparison.js +1 -0
- package/dist/reasoningbank/demo-comparison.js.map +1 -0
- package/dist/reasoningbank/hooks/post-task.d.ts +9 -0
- package/dist/reasoningbank/hooks/post-task.d.ts.map +1 -0
- package/dist/reasoningbank/hooks/post-task.js +1 -0
- package/dist/reasoningbank/hooks/post-task.js.map +1 -0
- package/dist/reasoningbank/hooks/pre-task.d.ts +9 -0
- package/dist/reasoningbank/hooks/pre-task.d.ts.map +1 -0
- package/dist/reasoningbank/hooks/pre-task.js +1 -0
- package/dist/reasoningbank/hooks/pre-task.js.map +1 -0
- package/dist/reasoningbank/index-new.d.ts +49 -0
- package/dist/reasoningbank/index-new.d.ts.map +1 -0
- package/dist/reasoningbank/index-new.js +1 -0
- package/dist/reasoningbank/index-new.js.map +1 -0
- package/dist/reasoningbank/index.d.ts +50 -0
- package/dist/reasoningbank/index.d.ts.map +1 -0
- package/dist/reasoningbank/index.js +1 -0
- package/dist/reasoningbank/index.js.map +1 -0
- package/dist/reasoningbank/test-integration.d.ts +7 -0
- package/dist/reasoningbank/test-integration.d.ts.map +1 -0
- package/dist/reasoningbank/test-integration.js +1 -0
- package/dist/reasoningbank/test-integration.js.map +1 -0
- package/dist/reasoningbank/test-retrieval.d.ts +6 -0
- package/dist/reasoningbank/test-retrieval.d.ts.map +1 -0
- package/dist/reasoningbank/test-retrieval.js +1 -0
- package/dist/reasoningbank/test-retrieval.js.map +1 -0
- package/dist/reasoningbank/test-validation.d.ts +7 -0
- package/dist/reasoningbank/test-validation.d.ts.map +1 -0
- package/dist/reasoningbank/test-validation.js +1 -0
- package/dist/reasoningbank/test-validation.js.map +1 -0
- package/dist/reasoningbank/types/index.d.ts +123 -0
- package/dist/reasoningbank/types/index.d.ts.map +1 -0
- package/dist/reasoningbank/types/index.js +1 -0
- package/dist/reasoningbank/types/index.js.map +1 -0
- package/dist/reasoningbank/utils/config.d.ts +61 -0
- package/dist/reasoningbank/utils/config.d.ts.map +1 -0
- package/dist/reasoningbank/utils/config.js +1 -0
- package/dist/reasoningbank/utils/config.js.map +1 -0
- package/dist/reasoningbank/utils/embeddings.d.ts +21 -0
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -0
- package/dist/reasoningbank/utils/embeddings.js +1 -0
- package/dist/reasoningbank/utils/embeddings.js.map +1 -0
- package/dist/reasoningbank/utils/mmr.d.ts +23 -0
- package/dist/reasoningbank/utils/mmr.d.ts.map +1 -0
- package/dist/reasoningbank/utils/mmr.js +1 -0
- package/dist/reasoningbank/utils/mmr.js.map +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.d.ts +46 -0
- package/dist/reasoningbank/utils/pii-scrubber.d.ts.map +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.js +1 -0
- package/dist/reasoningbank/utils/pii-scrubber.js.map +1 -0
- package/dist/reasoningbank/wasm-adapter.d.ts +104 -0
- package/dist/reasoningbank/wasm-adapter.d.ts.map +1 -0
- package/dist/reasoningbank/wasm-adapter.js +1 -0
- package/dist/reasoningbank/wasm-adapter.js.map +1 -0
- package/dist/router/model-mapping.d.ts +31 -0
- package/dist/router/model-mapping.d.ts.map +1 -0
- package/dist/router/model-mapping.js +1 -0
- package/dist/router/model-mapping.js.map +1 -0
- package/dist/router/providers/anthropic.d.ts +17 -0
- package/dist/router/providers/anthropic.d.ts.map +1 -0
- package/dist/router/providers/anthropic.js +1 -0
- package/dist/router/providers/anthropic.js.map +1 -0
- package/dist/router/providers/gemini.d.ts +17 -0
- package/dist/router/providers/gemini.d.ts.map +1 -0
- package/dist/router/providers/gemini.js +1 -0
- package/dist/router/providers/gemini.js.map +1 -0
- package/dist/router/providers/onnx-local-optimized.d.ts +71 -0
- package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -0
- package/dist/router/providers/onnx-local-optimized.js +1 -0
- package/dist/router/providers/onnx-local-optimized.js.map +1 -0
- package/dist/router/providers/onnx-local.d.ts +75 -0
- package/dist/router/providers/onnx-local.d.ts.map +1 -0
- package/dist/router/providers/onnx-local.js +1 -0
- package/dist/router/providers/onnx-local.js.map +1 -0
- package/dist/router/providers/onnx-phi4.d.ts +64 -0
- package/dist/router/providers/onnx-phi4.d.ts.map +1 -0
- package/dist/router/providers/onnx-phi4.js +1 -0
- package/dist/router/providers/onnx-phi4.js.map +1 -0
- package/dist/router/providers/onnx.d.ts +65 -0
- package/dist/router/providers/onnx.d.ts.map +1 -0
- package/dist/router/providers/onnx.js +1 -0
- package/dist/router/providers/onnx.js.map +1 -0
- package/dist/router/providers/openrouter.d.ts +21 -0
- package/dist/router/providers/openrouter.d.ts.map +1 -0
- package/dist/router/providers/openrouter.js +1 -0
- package/dist/router/providers/openrouter.js.map +1 -0
- package/dist/router/router.d.ts +26 -0
- package/dist/router/router.d.ts.map +1 -0
- package/dist/router/router.js +1 -0
- package/dist/router/router.js.map +1 -0
- package/dist/router/test-integration.d.ts +13 -0
- package/dist/router/test-integration.d.ts.map +1 -0
- package/dist/router/test-integration.js +1 -0
- package/dist/router/test-integration.js.map +1 -0
- package/dist/router/test-onnx-benchmark.d.ts +7 -0
- package/dist/router/test-onnx-benchmark.d.ts.map +1 -0
- package/dist/router/test-onnx-benchmark.js +1 -0
- package/dist/router/test-onnx-benchmark.js.map +1 -0
- package/dist/router/test-onnx-integration.d.ts +8 -0
- package/dist/router/test-onnx-integration.d.ts.map +1 -0
- package/dist/router/test-onnx-integration.js +1 -0
- package/dist/router/test-onnx-integration.js.map +1 -0
- package/dist/router/test-onnx-local.d.ts +6 -0
- package/dist/router/test-onnx-local.d.ts.map +1 -0
- package/dist/router/test-onnx-local.js +1 -0
- package/dist/router/test-onnx-local.js.map +1 -0
- package/dist/router/test-onnx.d.ts +7 -0
- package/dist/router/test-onnx.d.ts.map +1 -0
- package/dist/router/test-onnx.js +1 -0
- package/dist/router/test-onnx.js.map +1 -0
- package/dist/router/test-openrouter.d.ts +3 -0
- package/dist/router/test-openrouter.d.ts.map +1 -0
- package/dist/router/test-openrouter.js +1 -0
- package/dist/router/test-openrouter.js.map +1 -0
- package/dist/router/test-phi4.d.ts +6 -0
- package/dist/router/test-phi4.d.ts.map +1 -0
- package/dist/router/test-phi4.js +1 -0
- package/dist/router/test-phi4.js.map +1 -0
- package/dist/router/types.d.ts +209 -0
- package/dist/router/types.d.ts.map +1 -0
- package/dist/router/types.js +1 -0
- package/dist/router/types.js.map +1 -0
- package/dist/swarm/index.d.ts +51 -0
- package/dist/swarm/index.d.ts.map +1 -0
- package/dist/swarm/index.js +1 -0
- package/dist/swarm/index.js.map +1 -0
- package/dist/swarm/quic-coordinator.d.ts +149 -0
- package/dist/swarm/quic-coordinator.d.ts.map +1 -0
- package/dist/swarm/quic-coordinator.js +1 -0
- package/dist/swarm/quic-coordinator.js.map +1 -0
- package/dist/swarm/transport-router.d.ts +124 -0
- package/dist/swarm/transport-router.d.ts.map +1 -0
- package/dist/swarm/transport-router.js +1 -0
- package/dist/swarm/transport-router.js.map +1 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +1 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/quic-handshake.d.ts +66 -0
- package/dist/transport/quic-handshake.d.ts.map +1 -0
- package/dist/transport/quic-handshake.js +1 -0
- package/dist/transport/quic-handshake.js.map +1 -0
- package/dist/transport/quic.d.ts +184 -0
- package/dist/transport/quic.d.ts.map +1 -0
- package/dist/transport/quic.js +1 -0
- package/dist/transport/quic.js.map +1 -0
- package/dist/utils/adaptive-pool-sizing.js +414 -0
- package/dist/utils/agentBoosterPreprocessor.d.ts +72 -0
- package/dist/utils/agentBoosterPreprocessor.d.ts.map +1 -0
- package/dist/utils/agentBoosterPreprocessor.js +1 -0
- package/dist/utils/agentBoosterPreprocessor.js.map +1 -0
- package/dist/utils/agentLoader.d.ts +22 -0
- package/dist/utils/agentLoader.d.ts.map +1 -0
- package/dist/utils/agentLoader.js +1 -0
- package/dist/utils/agentLoader.js.map +1 -0
- package/dist/utils/agentdb-runtime-patch.d.ts +28 -0
- package/dist/utils/agentdb-runtime-patch.d.ts.map +1 -0
- package/dist/utils/agentdb-runtime-patch.js +1 -0
- package/dist/utils/agentdb-runtime-patch.js.map +1 -0
- package/dist/utils/auth.d.ts +13 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +1 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/circular-rate-limiter.js +391 -0
- package/dist/utils/cli.d.ts +31 -0
- package/dist/utils/cli.d.ts.map +1 -0
- package/dist/utils/cli.js +1 -0
- package/dist/utils/cli.js.map +1 -0
- package/dist/utils/compression-middleware.d.ts +55 -0
- package/dist/utils/compression-middleware.d.ts.map +1 -0
- package/dist/utils/compression-middleware.js +1 -0
- package/dist/utils/compression-middleware.js.map +1 -0
- package/dist/utils/connection-pool.d.ts +30 -0
- package/dist/utils/connection-pool.d.ts.map +1 -0
- package/dist/utils/connection-pool.js +1 -0
- package/dist/utils/connection-pool.js.map +1 -0
- package/dist/utils/dynamic-compression.js +298 -0
- package/dist/utils/http2-multiplexing.js +319 -0
- package/dist/utils/lazy-auth.js +311 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/math.d.ts +12 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +1 -0
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/mcpCommands.d.ts +2 -0
- package/dist/utils/mcpCommands.d.ts.map +1 -0
- package/dist/utils/mcpCommands.js +1 -0
- package/dist/utils/mcpCommands.js.map +1 -0
- package/dist/utils/model-downloader.d.ts +63 -0
- package/dist/utils/model-downloader.d.ts.map +1 -0
- package/dist/utils/model-downloader.js +1 -0
- package/dist/utils/model-downloader.js.map +1 -0
- package/dist/utils/modelCapabilities.d.ts +30 -0
- package/dist/utils/modelCapabilities.d.ts.map +1 -0
- package/dist/utils/modelCapabilities.js +1 -0
- package/dist/utils/modelCapabilities.js.map +1 -0
- package/dist/utils/modelOptimizer.d.ts +207 -0
- package/dist/utils/modelOptimizer.d.ts.map +1 -0
- package/dist/utils/modelOptimizer.js +1 -0
- package/dist/utils/modelOptimizer.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +17 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +1 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/reasoningbankCommands.d.ts +6 -0
- package/dist/utils/reasoningbankCommands.d.ts.map +1 -0
- package/dist/utils/reasoningbankCommands.js +1 -0
- package/dist/utils/reasoningbankCommands.js.map +1 -0
- package/dist/utils/response-cache.d.ts +94 -0
- package/dist/utils/response-cache.d.ts.map +1 -0
- package/dist/utils/response-cache.js +1 -0
- package/dist/utils/response-cache.js.map +1 -0
- package/dist/utils/retry.d.ts +9 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +1 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/server-push.js +251 -0
- package/dist/utils/streaming-optimizer.d.ts +37 -0
- package/dist/utils/streaming-optimizer.d.ts.map +1 -0
- package/dist/utils/streaming-optimizer.js +1 -0
- package/dist/utils/streaming-optimizer.js.map +1 -0
- package/dist/utils/zero-copy-buffer.js +286 -0
- package/docs/DOCKER-VERIFICATION.md +207 -0
- package/docs/ISSUE-55-VALIDATION.md +25 -6
- package/docs/NPX_AGENTDB_SETUP.md +175 -0
- package/docs/PUBLISH_GUIDE.md +438 -0
- package/docs/RELEASE-v1.10.0-COMPLETE.md +382 -0
- package/docs/archive/.agentdb-instructions.md +66 -0
- package/docs/archive/AGENT-BOOSTER-STATUS.md +292 -0
- package/docs/archive/CHANGELOG-v1.3.0.md +120 -0
- package/docs/archive/COMPLETION_REPORT_v1.7.1.md +335 -0
- package/docs/archive/IMPLEMENTATION_SUMMARY_v1.7.1.md +241 -0
- package/docs/archive/SUPABASE-INTEGRATION-COMPLETE.md +357 -0
- package/docs/archive/TESTING_QUICK_START.md +223 -0
- package/docs/archive/TOOL-EMULATION-INTEGRATION-ISSUE.md +669 -0
- package/docs/archive/VALIDATION_v1.7.1.md +234 -0
- package/docs/releases/PUBLISH_CHECKLIST_v1.10.0.md +396 -0
- package/docs/releases/PUBLISH_SUMMARY_v1.7.1.md +198 -0
- package/docs/releases/RELEASE_NOTES_v1.10.0.md +464 -0
- package/docs/releases/RELEASE_NOTES_v1.7.0.md +297 -0
- package/docs/releases/RELEASE_v1.7.1.md +327 -0
- package/package.json +1 -1
- package/validation/docker-npm-validation.sh +170 -0
- package/validation/simple-npm-validation.sh +131 -0
- package/validation/test-gemini-models.ts +200 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReasoningBank Type Definitions
|
|
3
|
+
* Based on arXiv:2509.25140 (Google DeepMind)
|
|
4
|
+
*/
|
|
5
|
+
export interface Memory {
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
content: string;
|
|
10
|
+
confidence: number;
|
|
11
|
+
usage_count: number;
|
|
12
|
+
created_at: string;
|
|
13
|
+
pattern_data: PatternData;
|
|
14
|
+
}
|
|
15
|
+
export interface PatternData {
|
|
16
|
+
domain: string;
|
|
17
|
+
error_type?: string;
|
|
18
|
+
success_pattern?: boolean;
|
|
19
|
+
failure_guardrail?: boolean;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}
|
|
22
|
+
export interface PatternEmbedding {
|
|
23
|
+
pattern_id: string;
|
|
24
|
+
embedding: number[];
|
|
25
|
+
}
|
|
26
|
+
export interface TaskTrajectory {
|
|
27
|
+
id: string;
|
|
28
|
+
task_id: string;
|
|
29
|
+
trajectory: string;
|
|
30
|
+
verdict: 'Success' | 'Failure';
|
|
31
|
+
confidence: number;
|
|
32
|
+
created_at: string;
|
|
33
|
+
}
|
|
34
|
+
export interface MattsRun {
|
|
35
|
+
id: string;
|
|
36
|
+
task_id: string;
|
|
37
|
+
run_index: number;
|
|
38
|
+
result: string;
|
|
39
|
+
verdict: 'Success' | 'Failure';
|
|
40
|
+
confidence: number;
|
|
41
|
+
created_at: string;
|
|
42
|
+
}
|
|
43
|
+
export interface RetrievalOptions {
|
|
44
|
+
query: string;
|
|
45
|
+
domain?: string;
|
|
46
|
+
k?: number;
|
|
47
|
+
minConfidence?: number;
|
|
48
|
+
lambda?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface ScoringWeights {
|
|
51
|
+
alpha: number;
|
|
52
|
+
beta: number;
|
|
53
|
+
gamma: number;
|
|
54
|
+
delta: number;
|
|
55
|
+
}
|
|
56
|
+
export interface JudgmentResult {
|
|
57
|
+
label: 'Success' | 'Failure';
|
|
58
|
+
confidence: number;
|
|
59
|
+
rationale?: string;
|
|
60
|
+
}
|
|
61
|
+
export interface ConsolidationOptions {
|
|
62
|
+
dedupeThreshold?: number;
|
|
63
|
+
prune?: {
|
|
64
|
+
maxAgeDays?: number;
|
|
65
|
+
minConfidence?: number;
|
|
66
|
+
unusedDays?: number;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export interface ConsolidationStats {
|
|
70
|
+
processed: number;
|
|
71
|
+
duplicates: number;
|
|
72
|
+
contradictions: number;
|
|
73
|
+
pruned: number;
|
|
74
|
+
durationMs: number;
|
|
75
|
+
}
|
|
76
|
+
export interface ReasoningBankConfig {
|
|
77
|
+
dbPath: string;
|
|
78
|
+
embeddings?: {
|
|
79
|
+
provider?: 'openai' | 'anthropic' | 'hash';
|
|
80
|
+
model?: string;
|
|
81
|
+
cache?: {
|
|
82
|
+
l1?: boolean;
|
|
83
|
+
l2?: boolean;
|
|
84
|
+
redisUrl?: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
retrieval?: {
|
|
88
|
+
k?: number;
|
|
89
|
+
minConfidence?: number;
|
|
90
|
+
weights?: Partial<ScoringWeights>;
|
|
91
|
+
};
|
|
92
|
+
consolidation?: {
|
|
93
|
+
scheduleEvery?: number;
|
|
94
|
+
autoRun?: boolean;
|
|
95
|
+
};
|
|
96
|
+
piiScrub?: {
|
|
97
|
+
enabled?: boolean;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
export interface TaskExecutionOptions {
|
|
101
|
+
taskId: string;
|
|
102
|
+
agentId: string;
|
|
103
|
+
query: string;
|
|
104
|
+
domain: string;
|
|
105
|
+
executeFn: (memories: Memory[]) => Promise<{
|
|
106
|
+
success: boolean;
|
|
107
|
+
log: string;
|
|
108
|
+
}>;
|
|
109
|
+
}
|
|
110
|
+
export interface TaskResult {
|
|
111
|
+
success: boolean;
|
|
112
|
+
summary: string;
|
|
113
|
+
memories: Memory[];
|
|
114
|
+
verdict: JudgmentResult;
|
|
115
|
+
}
|
|
116
|
+
export interface MemoryCandidate extends Memory {
|
|
117
|
+
score: number;
|
|
118
|
+
similarity: number;
|
|
119
|
+
recency: number;
|
|
120
|
+
reliability: number;
|
|
121
|
+
diversityPenalty: number;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reasoningbank/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * ReasoningBank Type Definitions\n * Based on arXiv:2509.25140 (Google DeepMind)\n */\n\nexport interface Memory {\n id: string;\n title: string;\n description: string;\n content: string;\n confidence: number;\n usage_count: number;\n created_at: string;\n pattern_data: PatternData;\n}\n\nexport interface PatternData {\n domain: string;\n error_type?: string;\n success_pattern?: boolean;\n failure_guardrail?: boolean;\n [key: string]: any;\n}\n\nexport interface PatternEmbedding {\n pattern_id: string;\n embedding: number[];\n}\n\nexport interface TaskTrajectory {\n id: string;\n task_id: string;\n trajectory: string;\n verdict: 'Success' | 'Failure';\n confidence: number;\n created_at: string;\n}\n\nexport interface MattsRun {\n id: string;\n task_id: string;\n run_index: number;\n result: string;\n verdict: 'Success' | 'Failure';\n confidence: number;\n created_at: string;\n}\n\nexport interface RetrievalOptions {\n query: string;\n domain?: string;\n k?: number;\n minConfidence?: number;\n lambda?: number; // MMR diversity parameter\n}\n\nexport interface ScoringWeights {\n alpha: number; // Similarity weight\n beta: number; // Recency weight\n gamma: number; // Reliability weight\n delta: number; // Diversity penalty weight\n}\n\nexport interface JudgmentResult {\n label: 'Success' | 'Failure';\n confidence: number;\n rationale?: string;\n}\n\nexport interface ConsolidationOptions {\n dedupeThreshold?: number;\n prune?: {\n maxAgeDays?: number;\n minConfidence?: number;\n unusedDays?: number;\n };\n}\n\nexport interface ConsolidationStats {\n processed: number;\n duplicates: number;\n contradictions: number;\n pruned: number;\n durationMs: number;\n}\n\nexport interface ReasoningBankConfig {\n dbPath: string;\n embeddings?: {\n provider?: 'openai' | 'anthropic' | 'hash';\n model?: string;\n cache?: {\n l1?: boolean;\n l2?: boolean;\n redisUrl?: string;\n };\n };\n retrieval?: {\n k?: number;\n minConfidence?: number;\n weights?: Partial<ScoringWeights>;\n };\n consolidation?: {\n scheduleEvery?: number;\n autoRun?: boolean;\n };\n piiScrub?: {\n enabled?: boolean;\n };\n}\n\nexport interface TaskExecutionOptions {\n taskId: string;\n agentId: string;\n query: string;\n domain: string;\n executeFn: (memories: Memory[]) => Promise<{ success: boolean; log: string }>;\n}\n\nexport interface TaskResult {\n success: boolean;\n summary: string;\n memories: Memory[];\n verdict: JudgmentResult;\n}\n\nexport interface MemoryCandidate extends Memory {\n score: number;\n similarity: number;\n recency: number;\n reliability: number;\n diversityPenalty: number;\n}\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface ReasoningBankConfig {
|
|
2
|
+
retrieve: {
|
|
3
|
+
k: number;
|
|
4
|
+
alpha: number;
|
|
5
|
+
beta: number;
|
|
6
|
+
gamma: number;
|
|
7
|
+
delta: number;
|
|
8
|
+
recency_half_life_days: number;
|
|
9
|
+
min_score: number;
|
|
10
|
+
};
|
|
11
|
+
judge: {
|
|
12
|
+
model: string;
|
|
13
|
+
max_tokens: number;
|
|
14
|
+
temperature: number;
|
|
15
|
+
confidence_threshold?: number;
|
|
16
|
+
};
|
|
17
|
+
distill: {
|
|
18
|
+
model?: string;
|
|
19
|
+
max_tokens?: number;
|
|
20
|
+
temperature?: number;
|
|
21
|
+
max_items_success: number;
|
|
22
|
+
max_items_failure: number;
|
|
23
|
+
confidence_prior_success: number;
|
|
24
|
+
confidence_prior_failure: number;
|
|
25
|
+
};
|
|
26
|
+
consolidate: {
|
|
27
|
+
duplicate_threshold: number;
|
|
28
|
+
contradiction_threshold: number;
|
|
29
|
+
trigger_threshold: number;
|
|
30
|
+
prune_age_days: number;
|
|
31
|
+
prune_min_confidence: number;
|
|
32
|
+
min_confidence_keep: number;
|
|
33
|
+
};
|
|
34
|
+
matts: {
|
|
35
|
+
parallel_k: number;
|
|
36
|
+
sequential_k: number;
|
|
37
|
+
sequential_r: number;
|
|
38
|
+
sequential_stop_on_success: boolean;
|
|
39
|
+
confidence_boost: number;
|
|
40
|
+
};
|
|
41
|
+
embeddings: {
|
|
42
|
+
provider: 'claude' | 'openai';
|
|
43
|
+
model: string;
|
|
44
|
+
dims: number;
|
|
45
|
+
dimensions: number;
|
|
46
|
+
cache_ttl_seconds: number;
|
|
47
|
+
};
|
|
48
|
+
governance: {
|
|
49
|
+
scrub_pii?: boolean;
|
|
50
|
+
pii_scrubber: boolean;
|
|
51
|
+
tenant_scoped?: boolean;
|
|
52
|
+
};
|
|
53
|
+
features?: {
|
|
54
|
+
enable_pre_task_hook?: boolean;
|
|
55
|
+
enable_post_task_hook?: boolean;
|
|
56
|
+
enable_matts_parallel?: boolean;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export declare function loadConfig(): ReasoningBankConfig;
|
|
60
|
+
export declare function clearConfigCache(): void;
|
|
61
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/utils/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,sBAAsB,EAAE,MAAM,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,wBAAwB,EAAE,MAAM,CAAC;QACjC,wBAAwB,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,WAAW,EAAE;QACX,mBAAmB,EAAE,MAAM,CAAC;QAC5B,uBAAuB,EAAE,MAAM,CAAC;QAChC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,0BAA0B,EAAE,OAAO,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE;QACV,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,UAAU,EAAE;QACV,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;CACH;AAqFD,wBAAgB,UAAU,IAAI,mBAAmB,CAqFhD;AAED,wBAAgB,gBAAgB,SAE/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/reasoningbank/utils/config.ts"],"names":[],"mappings":"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","sourcesContent":["import { parse } from 'yaml';\nimport { readFileSync, existsSync } from 'fs';\nimport { join, dirname } from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = dirname(__filename);\n\nexport interface ReasoningBankConfig {\n retrieve: {\n k: number;\n alpha: number;\n beta: number;\n gamma: number;\n delta: number;\n recency_half_life_days: number;\n min_score: number;\n };\n judge: {\n model: string;\n max_tokens: number;\n temperature: number;\n confidence_threshold?: number;\n };\n distill: {\n model?: string;\n max_tokens?: number;\n temperature?: number;\n max_items_success: number;\n max_items_failure: number;\n confidence_prior_success: number;\n confidence_prior_failure: number;\n };\n consolidate: {\n duplicate_threshold: number;\n contradiction_threshold: number;\n trigger_threshold: number;\n prune_age_days: number;\n prune_min_confidence: number;\n min_confidence_keep: number;\n };\n matts: {\n parallel_k: number;\n sequential_k: number;\n sequential_r: number;\n sequential_stop_on_success: boolean;\n confidence_boost: number;\n };\n embeddings: {\n provider: 'claude' | 'openai';\n model: string;\n dims: number;\n dimensions: number;\n cache_ttl_seconds: number;\n };\n governance: {\n scrub_pii?: boolean;\n pii_scrubber: boolean;\n tenant_scoped?: boolean;\n };\n features?: {\n enable_pre_task_hook?: boolean;\n enable_post_task_hook?: boolean;\n enable_matts_parallel?: boolean;\n };\n}\n\nlet configCache: ReasoningBankConfig | null = null;\n\n// Default configuration\nconst DEFAULT_CONFIG: ReasoningBankConfig = {\n retrieve: {\n k: 3,\n alpha: 0.65,\n beta: 0.15,\n gamma: 0.20,\n delta: 0.10,\n recency_half_life_days: 45,\n min_score: 0.3\n },\n judge: {\n model: 'claude-sonnet-4-5-20250929',\n max_tokens: 512,\n temperature: 0,\n confidence_threshold: 0.5\n },\n distill: {\n model: undefined,\n max_tokens: undefined,\n temperature: undefined,\n max_items_success: 3,\n max_items_failure: 2,\n confidence_prior_success: 0.75,\n confidence_prior_failure: 0.60\n },\n consolidate: {\n duplicate_threshold: 0.95,\n contradiction_threshold: 0.85,\n trigger_threshold: 20,\n prune_age_days: 180,\n prune_min_confidence: 0.3,\n min_confidence_keep: 0.5\n },\n matts: {\n parallel_k: 3,\n sequential_k: 5,\n sequential_r: 5,\n sequential_stop_on_success: true,\n confidence_boost: 0.05\n },\n embeddings: {\n provider: 'claude',\n model: 'claude-sonnet-4-5-20250929',\n dims: 1024,\n dimensions: 1024,\n cache_ttl_seconds: 3600\n },\n governance: {\n scrub_pii: true,\n pii_scrubber: true,\n tenant_scoped: false\n },\n features: {\n enable_pre_task_hook: true,\n enable_post_task_hook: true,\n enable_matts_parallel: true\n }\n};\n\n// Try multiple paths to find config file\nfunction findConfigPath(): string | null {\n const paths = [\n // Development: relative to source file\n join(__dirname, '../config/reasoningbank.yaml'),\n // npm package: relative to dist file\n join(__dirname, '../../config/reasoningbank.yaml'),\n // User override: current working directory\n join(process.cwd(), '.swarm/reasoningbank.yaml'),\n join(process.cwd(), 'reasoningbank.yaml')\n ];\n\n for (const path of paths) {\n if (existsSync(path)) {\n return path;\n }\n }\n\n return null;\n}\n\nexport function loadConfig(): ReasoningBankConfig {\n if (configCache) return configCache;\n\n const configPath = findConfigPath();\n\n // If no config file found, use defaults\n if (!configPath) {\n configCache = DEFAULT_CONFIG;\n return configCache;\n }\n\n try {\n const yamlContent = readFileSync(configPath, 'utf-8');\n const parsed = parse(yamlContent) as any;\n\n // Handle nested reasoningbank: key\n const raw = parsed.reasoningbank || parsed;\n\n // Map the full config to our simplified interface\n configCache = {\n retrieve: {\n k: raw.retrieve?.k ?? 3,\n alpha: raw.retrieve?.alpha ?? 0.65,\n beta: raw.retrieve?.beta ?? 0.15,\n gamma: raw.retrieve?.gamma ?? 0.20,\n delta: raw.retrieve?.delta ?? 0.10,\n recency_half_life_days: raw.retrieve?.recency_half_life_days ?? 45,\n min_score: raw.retrieve?.min_score ?? 0.3\n },\n judge: {\n model: raw.judge?.model ?? 'claude-sonnet-4-5-20250929',\n max_tokens: raw.judge?.max_tokens ?? 512,\n temperature: raw.judge?.temperature ?? 0,\n confidence_threshold: raw.judge?.fallback_confidence ?? 0.5\n },\n distill: {\n model: raw.distill?.model,\n max_tokens: raw.distill?.max_tokens,\n temperature: raw.distill?.temperature,\n max_items_success: raw.distill?.max_items_per_trajectory ?? 3,\n max_items_failure: 2,\n confidence_prior_success: raw.distill?.success_confidence_prior ?? 0.75,\n confidence_prior_failure: raw.distill?.failure_confidence_prior ?? 0.60\n },\n consolidate: {\n duplicate_threshold: raw.consolidate?.dedup_similarity_threshold ?? 0.95,\n contradiction_threshold: raw.consolidate?.contradiction_threshold ?? 0.85,\n trigger_threshold: raw.consolidate?.run_every_new_items ?? 20,\n prune_age_days: raw.consolidate?.prune_age_days ?? 180,\n prune_min_confidence: raw.consolidate?.min_confidence_keep ?? 0.3,\n min_confidence_keep: raw.consolidate?.min_confidence_keep ?? 0.5\n },\n matts: {\n parallel_k: raw.matts?.parallel?.k ?? 3,\n sequential_k: raw.matts?.sequential?.r ?? 5,\n sequential_r: raw.matts?.sequential?.r ?? 5,\n sequential_stop_on_success: raw.matts?.sequential?.stop_on_success ?? true,\n confidence_boost: 0.05\n },\n embeddings: {\n provider: raw.embeddings?.provider ?? 'claude',\n model: raw.embeddings?.model ?? 'claude-sonnet-4-5-20250929',\n dims: raw.embeddings?.dimensions ?? 1024,\n dimensions: raw.embeddings?.dimensions ?? 1024,\n cache_ttl_seconds: raw.embeddings?.cache_ttl_seconds ?? 3600\n },\n governance: {\n scrub_pii: raw.governance?.pii_scrubber ?? true,\n pii_scrubber: raw.governance?.pii_scrubber ?? true,\n tenant_scoped: raw.governance?.tenant_scoped ?? false\n },\n features: {\n enable_pre_task_hook: raw.features?.enable_pre_task_hook ?? true,\n enable_post_task_hook: raw.features?.enable_post_task_hook ?? true,\n enable_matts_parallel: raw.features?.enable_matts_parallel ?? true\n }\n };\n\n return configCache;\n } catch (error) {\n // If config file exists but can't be read, use defaults\n console.warn(`[ReasoningBank] Could not load config from ${configPath}, using defaults:`, error instanceof Error ? error.message : String(error));\n configCache = DEFAULT_CONFIG;\n return configCache;\n }\n}\n\nexport function clearConfigCache() {\n configCache = null;\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding generation for semantic similarity
|
|
3
|
+
* Uses local transformers.js - no API key required!
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Compute embedding for text using local model
|
|
7
|
+
*/
|
|
8
|
+
export declare function computeEmbedding(text: string): Promise<Float32Array>;
|
|
9
|
+
/**
|
|
10
|
+
* Batch compute embeddings (more efficient)
|
|
11
|
+
*/
|
|
12
|
+
export declare function computeEmbeddingBatch(texts: string[]): Promise<Float32Array[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get embedding dimensions
|
|
15
|
+
*/
|
|
16
|
+
export declare function getEmbeddingDimensions(): number;
|
|
17
|
+
/**
|
|
18
|
+
* Clear embedding cache
|
|
19
|
+
*/
|
|
20
|
+
export declare function clearEmbeddingCache(): void;
|
|
21
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/utils/embeddings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2DH;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiD1E;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAEpF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AA+CD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/reasoningbank/utils/embeddings.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Embedding generation for semantic similarity\n * Uses local transformers.js - no API key required!\n */\n\nimport { pipeline, env } from '@xenova/transformers';\nimport { loadConfig } from './config.js';\n\n// Configure transformers.js to use WASM backend only (avoid ONNX runtime issues)\n// The native ONNX runtime causes \"DefaultLogger not registered\" errors in Node.js\nenv.backends.onnx.wasm.proxy = false; // Disable ONNX runtime proxy\nenv.backends.onnx.wasm.numThreads = 1; // Single thread for stability\n\nlet embeddingPipeline: any = null;\nlet isInitializing = false;\nconst embeddingCache = new Map<string, Float32Array>();\n\n/**\n * Initialize the embedding pipeline (lazy load)\n */\nasync function initializeEmbeddings(): Promise<void> {\n if (embeddingPipeline) return;\n if (isInitializing) {\n // Wait for initialization to complete\n while (isInitializing) {\n await new Promise(resolve => setTimeout(resolve, 100));\n }\n return;\n }\n\n // Detect npx environment (known transformer initialization issues)\n const isNpxEnv = process.env.npm_lifecycle_event === 'npx' ||\n process.env.npm_execpath?.includes('npx') ||\n process.cwd().includes('/_npx/') ||\n process.cwd().includes('\\\\_npx\\\\');\n\n if (isNpxEnv && !process.env.FORCE_TRANSFORMERS) {\n console.log('[Embeddings] NPX environment detected - using hash-based embeddings');\n console.log('[Embeddings] For semantic search, install globally: npm install -g claude-flow');\n isInitializing = false;\n return;\n }\n\n isInitializing = true;\n console.log('[Embeddings] Initializing local embedding model (Xenova/all-MiniLM-L6-v2)...');\n console.log('[Embeddings] First run will download ~23MB model...');\n\n try {\n embeddingPipeline = await pipeline(\n 'feature-extraction',\n 'Xenova/all-MiniLM-L6-v2',\n { quantized: true } // Smaller, faster\n );\n console.log('[Embeddings] Local model ready! (384 dimensions)');\n } catch (error: any) {\n console.error('[Embeddings] Failed to initialize:', error?.message || error);\n console.warn('[Embeddings] Falling back to hash-based embeddings');\n } finally {\n isInitializing = false;\n }\n}\n\n/**\n * Compute embedding for text using local model\n */\nexport async function computeEmbedding(text: string): Promise<Float32Array> {\n const config = loadConfig();\n\n // Check cache\n const cacheKey = `local:${text}`;\n if (embeddingCache.has(cacheKey)) {\n return embeddingCache.get(cacheKey)!;\n }\n\n let embedding: Float32Array;\n\n // Initialize if needed\n await initializeEmbeddings();\n\n if (embeddingPipeline) {\n try {\n // Use transformers.js for real embeddings\n const output = await embeddingPipeline(text, {\n pooling: 'mean',\n normalize: true\n });\n embedding = new Float32Array(output.data);\n } catch (error: any) {\n console.error('[Embeddings] Generation failed:', error?.message || error);\n embedding = hashEmbed(text, 384); // Fallback\n }\n } else {\n // Fallback to hash-based embeddings\n const dims = config?.embeddings?.dimensions || 384;\n embedding = hashEmbed(text, dims);\n }\n\n // Cache with LRU (limit 1000 entries)\n if (embeddingCache.size > 1000) {\n const firstKey = embeddingCache.keys().next().value;\n if (firstKey) {\n embeddingCache.delete(firstKey);\n }\n }\n embeddingCache.set(cacheKey, embedding);\n\n // Set TTL for cache entry\n const ttl = config?.embeddings?.cache_ttl_seconds || 3600;\n setTimeout(\n () => embeddingCache.delete(cacheKey),\n ttl * 1000\n );\n\n return embedding;\n}\n\n/**\n * Batch compute embeddings (more efficient)\n */\nexport async function computeEmbeddingBatch(texts: string[]): Promise<Float32Array[]> {\n return Promise.all(texts.map(text => computeEmbedding(text)));\n}\n\n/**\n * Get embedding dimensions\n */\nexport function getEmbeddingDimensions(): number {\n return 384; // all-MiniLM-L6-v2 uses 384 dimensions\n}\n\n/**\n * Deterministic hash-based embedding (fallback)\n */\nfunction hashEmbed(text: string, dims: number): Float32Array {\n const hash = simpleHash(text);\n const vec = new Float32Array(dims);\n\n // Generate deterministic pseudo-random vector from hash\n for (let i = 0; i < dims; i++) {\n vec[i] = Math.sin(hash * (i + 1) * 0.01) + Math.cos(hash * i * 0.02);\n }\n\n return normalize(vec);\n}\n\n/**\n * Simple string hash function\n */\nfunction simpleHash(str: string): number {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = ((hash << 5) - hash) + str.charCodeAt(i);\n hash |= 0;\n }\n return Math.abs(hash);\n}\n\n/**\n * Normalize vector to unit length\n */\nfunction normalize(vec: Float32Array): Float32Array {\n let mag = 0;\n for (let i = 0; i < vec.length; i++) {\n mag += vec[i] * vec[i];\n }\n mag = Math.sqrt(mag);\n\n if (mag === 0) return vec;\n\n for (let i = 0; i < vec.length; i++) {\n vec[i] /= mag;\n }\n return vec;\n}\n\n/**\n * Clear embedding cache\n */\nexport function clearEmbeddingCache(): void {\n embeddingCache.clear();\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maximal Marginal Relevance (MMR) for diversity in retrieval
|
|
3
|
+
* Balances relevance and diversity in top-k selection
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Cosine similarity between two vectors
|
|
7
|
+
*/
|
|
8
|
+
declare function cosineSimilarity(a: Float32Array, b: Float32Array): number;
|
|
9
|
+
/**
|
|
10
|
+
* MMR selection for diversity-aware top-k retrieval
|
|
11
|
+
*
|
|
12
|
+
* @param candidates - Scored candidates with embeddings
|
|
13
|
+
* @param queryEmbed - Query embedding for relevance scoring
|
|
14
|
+
* @param k - Number of items to select
|
|
15
|
+
* @param lambda - Balance between relevance (1.0) and diversity (0.0)
|
|
16
|
+
* @returns Selected items with maximum marginal relevance
|
|
17
|
+
*/
|
|
18
|
+
export declare function mmrSelection<T extends {
|
|
19
|
+
score: number;
|
|
20
|
+
embedding: Float32Array;
|
|
21
|
+
}>(candidates: T[], queryEmbed: Float32Array, k: number, lambda?: number): T[];
|
|
22
|
+
export { cosineSimilarity };
|
|
23
|
+
//# sourceMappingURL=mmr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmr.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/utils/mmr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,iBAAS,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAgBlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,EAC/E,UAAU,EAAE,CAAC,EAAE,EACf,UAAU,EAAE,YAAY,EACxB,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,MAAY,GACnB,CAAC,EAAE,CAoCL;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mmr.js","sourceRoot":"","sources":["../../../src/reasoningbank/utils/mmr.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,SAAS,gBAAgB,CAAC,CAAe,EAAE,CAAe;IACxD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEhC,OAAO,GAAG,GAAG,WAAW,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAe,EACf,UAAwB,EACxB,CAAS,EACT,SAAiB,GAAG;IAEpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM;QAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,SAAS,GAAG,CAAC,QAAQ,CAAC;QAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAE1B,qDAAqD;YACrD,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5D,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;YAED,6CAA6C;YAC7C,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,aAAa,CAAC;YAEpE,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC;gBACzB,SAAS,GAAG,QAAQ,CAAC;gBACrB,OAAO,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["/**\n * Maximal Marginal Relevance (MMR) for diversity in retrieval\n * Balances relevance and diversity in top-k selection\n */\n\n/**\n * Cosine similarity between two vectors\n */\nfunction cosineSimilarity(a: Float32Array, b: Float32Array): number {\n if (a.length !== b.length) {\n throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);\n }\n\n let dot = 0, magA = 0, magB = 0;\n for (let i = 0; i < a.length; i++) {\n dot += a[i] * b[i];\n magA += a[i] * a[i];\n magB += b[i] * b[i];\n }\n\n const denominator = Math.sqrt(magA) * Math.sqrt(magB);\n if (denominator === 0) return 0;\n\n return dot / denominator;\n}\n\n/**\n * MMR selection for diversity-aware top-k retrieval\n *\n * @param candidates - Scored candidates with embeddings\n * @param queryEmbed - Query embedding for relevance scoring\n * @param k - Number of items to select\n * @param lambda - Balance between relevance (1.0) and diversity (0.0)\n * @returns Selected items with maximum marginal relevance\n */\nexport function mmrSelection<T extends { score: number; embedding: Float32Array }>(\n candidates: T[],\n queryEmbed: Float32Array,\n k: number,\n lambda: number = 0.5\n): T[] {\n if (candidates.length === 0) return [];\n if (k <= 0) return [];\n if (k >= candidates.length) return [...candidates];\n\n const selected: T[] = [];\n const remaining = [...candidates].sort((a, b) => b.score - a.score);\n\n while (selected.length < k && remaining.length > 0) {\n let bestIdx = 0;\n let bestScore = -Infinity;\n\n for (let i = 0; i < remaining.length; i++) {\n const item = remaining[i];\n\n // Calculate max similarity to already selected items\n let maxSimilarity = 0;\n for (const sel of selected) {\n const sim = cosineSimilarity(item.embedding, sel.embedding);\n maxSimilarity = Math.max(maxSimilarity, sim);\n }\n\n // MMR score balances relevance and diversity\n const mmrScore = lambda * item.score - (1 - lambda) * maxSimilarity;\n\n if (mmrScore > bestScore) {\n bestScore = mmrScore;\n bestIdx = i;\n }\n }\n\n selected.push(remaining[bestIdx]);\n remaining.splice(bestIdx, 1);\n }\n\n return selected;\n}\n\nexport { cosineSimilarity };\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PII (Personally Identifiable Information) scrubber
|
|
3
|
+
* Redacts sensitive information before storing memories
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Scrub PII from text
|
|
7
|
+
*
|
|
8
|
+
* @param text - Text to scrub
|
|
9
|
+
* @param customPatterns - Additional custom patterns to apply
|
|
10
|
+
* @returns Scrubbed text with PII redacted
|
|
11
|
+
*/
|
|
12
|
+
export declare function scrubPII(text: string, customPatterns?: Array<{
|
|
13
|
+
pattern: RegExp;
|
|
14
|
+
replacement: string;
|
|
15
|
+
}>): string;
|
|
16
|
+
/**
|
|
17
|
+
* Check if text contains potential PII
|
|
18
|
+
*
|
|
19
|
+
* @param text - Text to check
|
|
20
|
+
* @returns True if PII patterns are detected
|
|
21
|
+
*/
|
|
22
|
+
export declare function containsPII(text: string): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Get statistics about redacted content
|
|
25
|
+
*
|
|
26
|
+
* @param original - Original text
|
|
27
|
+
* @param scrubbed - Scrubbed text
|
|
28
|
+
* @returns Object with redaction statistics
|
|
29
|
+
*/
|
|
30
|
+
export declare function getRedactionStats(original: string, scrubbed: string): {
|
|
31
|
+
redacted: boolean;
|
|
32
|
+
originalLength: number;
|
|
33
|
+
scrubbedLength: number;
|
|
34
|
+
patterns: string[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Scrub PII from memory object
|
|
38
|
+
* Scrubs title, description, and content fields
|
|
39
|
+
*/
|
|
40
|
+
export declare function scrubMemory(memory: {
|
|
41
|
+
title: string;
|
|
42
|
+
description: string;
|
|
43
|
+
content: string;
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
}): typeof memory;
|
|
46
|
+
//# sourceMappingURL=pii-scrubber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pii-scrubber.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/utils/pii-scrubber.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/D,MAAM,CAiBR;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IACrE,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAeA;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG,OAAO,MAAM,CAOhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pii-scrubber.js","sourceRoot":"","sources":["../../../src/reasoningbank/utils/pii-scrubber.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * PII (Personally Identifiable Information) scrubber\n * Redacts sensitive information before storing memories\n */\n\nimport { loadConfig } from './config.js';\n\n// Default PII patterns (regex-based)\nconst DEFAULT_PATTERNS = [\n // Email addresses\n { pattern: /\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Z|a-z]{2,}\\b/g, replacement: '[EMAIL]' },\n\n // US Social Security Numbers\n { pattern: /\\b\\d{3}-\\d{2}-\\d{4}\\b/g, replacement: '[SSN]' },\n { pattern: /\\b\\d{9}\\b/g, replacement: '[SSN]' },\n\n // API Keys (common patterns)\n { pattern: /\\bsk-[a-zA-Z0-9]{48}\\b/g, replacement: '[API_KEY]' }, // Anthropic\n { pattern: /\\bghp_[a-zA-Z0-9]{36}\\b/g, replacement: '[API_KEY]' }, // GitHub\n { pattern: /\\bgho_[a-zA-Z0-9]{36}\\b/g, replacement: '[API_KEY]' }, // GitHub OAuth\n { pattern: /\\bxoxb-[a-zA-Z0-9\\-]+\\b/g, replacement: '[API_KEY]' }, // Slack\n { pattern: /\\bAKIA[0-9A-Z]{16}\\b/g, replacement: '[AWS_KEY]' }, // AWS\n\n // Credit card numbers (basic pattern)\n { pattern: /\\b\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}[\\s-]?\\d{4}\\b/g, replacement: '[CREDIT_CARD]' },\n\n // Phone numbers (US format)\n { pattern: /\\b\\d{3}[-.\\s]?\\d{3}[-.\\s]?\\d{4}\\b/g, replacement: '[PHONE]' },\n { pattern: /\\b\\(\\d{3}\\)\\s?\\d{3}[-.\\s]?\\d{4}\\b/g, replacement: '[PHONE]' },\n\n // IP addresses\n { pattern: /\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b/g, replacement: '[IP]' },\n\n // URLs with tokens/keys in query params\n { pattern: /([?&])(token|key|apikey|api_key|secret)=[^&\\s]+/gi, replacement: '$1$2=[REDACTED]' },\n\n // JWT tokens\n { pattern: /\\beyJ[a-zA-Z0-9_-]+\\.eyJ[a-zA-Z0-9_-]+\\.[a-zA-Z0-9_-]+\\b/g, replacement: '[JWT]' }\n];\n\n/**\n * Scrub PII from text\n *\n * @param text - Text to scrub\n * @param customPatterns - Additional custom patterns to apply\n * @returns Scrubbed text with PII redacted\n */\nexport function scrubPII(\n text: string,\n customPatterns?: Array<{ pattern: RegExp; replacement: string }>\n): string {\n const config = loadConfig();\n\n // Check if PII scrubbing is enabled\n if (!config.governance?.pii_scrubber) {\n return text;\n }\n\n let scrubbed = text;\n const patterns = customPatterns || DEFAULT_PATTERNS;\n\n // Apply all redaction patterns\n for (const { pattern, replacement } of patterns) {\n scrubbed = scrubbed.replace(pattern, replacement);\n }\n\n return scrubbed;\n}\n\n/**\n * Check if text contains potential PII\n *\n * @param text - Text to check\n * @returns True if PII patterns are detected\n */\nexport function containsPII(text: string): boolean {\n for (const { pattern } of DEFAULT_PATTERNS) {\n if (pattern.test(text)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Get statistics about redacted content\n *\n * @param original - Original text\n * @param scrubbed - Scrubbed text\n * @returns Object with redaction statistics\n */\nexport function getRedactionStats(original: string, scrubbed: string): {\n redacted: boolean;\n originalLength: number;\n scrubbedLength: number;\n patterns: string[];\n} {\n const patterns: string[] = [];\n\n for (const { pattern, replacement } of DEFAULT_PATTERNS) {\n if (pattern.test(original) && scrubbed.includes(replacement)) {\n patterns.push(replacement);\n }\n }\n\n return {\n redacted: patterns.length > 0,\n originalLength: original.length,\n scrubbedLength: scrubbed.length,\n patterns\n };\n}\n\n/**\n * Scrub PII from memory object\n * Scrubs title, description, and content fields\n */\nexport function scrubMemory(memory: {\n title: string;\n description: string;\n content: string;\n [key: string]: any;\n}): typeof memory {\n return {\n ...memory,\n title: scrubPII(memory.title),\n description: scrubPII(memory.description),\n content: scrubPII(memory.content)\n };\n}\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ReasoningBank WASM Adapter
|
|
3
|
+
*
|
|
4
|
+
* TypeScript wrapper for the Rust WASM ReasoningBank implementation.
|
|
5
|
+
* Provides browser and Node.js compatibility with auto-detection of storage backends.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - IndexedDB storage (browser preferred)
|
|
9
|
+
* - sql.js fallback (browser backup)
|
|
10
|
+
* - Native performance via WASM
|
|
11
|
+
* - Async/await API
|
|
12
|
+
* - Type-safe interfaces
|
|
13
|
+
*/
|
|
14
|
+
export interface PatternInput {
|
|
15
|
+
task_description: string;
|
|
16
|
+
task_category: string;
|
|
17
|
+
strategy: string;
|
|
18
|
+
success_score: number;
|
|
19
|
+
duration_seconds?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Pattern {
|
|
22
|
+
id: string;
|
|
23
|
+
task_description: string;
|
|
24
|
+
task_category: string;
|
|
25
|
+
strategy: string;
|
|
26
|
+
success_score?: number;
|
|
27
|
+
duration_seconds?: number;
|
|
28
|
+
created_at: string;
|
|
29
|
+
updated_at?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface SimilarPattern {
|
|
32
|
+
pattern: Pattern;
|
|
33
|
+
similarity_score: number;
|
|
34
|
+
}
|
|
35
|
+
export interface StorageStats {
|
|
36
|
+
total_patterns: number;
|
|
37
|
+
categories: number;
|
|
38
|
+
avg_success_score: number;
|
|
39
|
+
storage_backend: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* ReasoningBank WASM Adapter
|
|
43
|
+
*
|
|
44
|
+
* Provides a TypeScript-friendly interface to the Rust WASM implementation.
|
|
45
|
+
* Automatically selects the best storage backend for the environment.
|
|
46
|
+
*/
|
|
47
|
+
export declare class ReasoningBankAdapter {
|
|
48
|
+
private wasmInstance;
|
|
49
|
+
private initPromise;
|
|
50
|
+
/**
|
|
51
|
+
* Create a new ReasoningBank instance
|
|
52
|
+
*
|
|
53
|
+
* @param dbName - Optional database name (default: "reasoningbank")
|
|
54
|
+
*/
|
|
55
|
+
constructor(dbName?: string);
|
|
56
|
+
private initialize;
|
|
57
|
+
private ensureInitialized;
|
|
58
|
+
/**
|
|
59
|
+
* Store a reasoning pattern
|
|
60
|
+
*
|
|
61
|
+
* @param pattern - Pattern input data
|
|
62
|
+
* @returns Pattern UUID
|
|
63
|
+
*/
|
|
64
|
+
storePattern(pattern: PatternInput): Promise<string>;
|
|
65
|
+
/**
|
|
66
|
+
* Retrieve a pattern by ID
|
|
67
|
+
*
|
|
68
|
+
* @param id - Pattern UUID
|
|
69
|
+
* @returns Pattern or null if not found
|
|
70
|
+
*/
|
|
71
|
+
getPattern(id: string): Promise<Pattern | null>;
|
|
72
|
+
/**
|
|
73
|
+
* Search patterns by category
|
|
74
|
+
*
|
|
75
|
+
* @param category - Task category
|
|
76
|
+
* @param limit - Maximum number of results (default: 10)
|
|
77
|
+
* @returns Array of patterns
|
|
78
|
+
*/
|
|
79
|
+
searchByCategory(category: string, limit?: number): Promise<Pattern[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Find similar patterns
|
|
82
|
+
*
|
|
83
|
+
* @param taskDescription - Task description to match
|
|
84
|
+
* @param taskCategory - Task category
|
|
85
|
+
* @param topK - Number of similar patterns to return (default: 5)
|
|
86
|
+
* @returns Array of similar patterns with similarity scores
|
|
87
|
+
*/
|
|
88
|
+
findSimilar(taskDescription: string, taskCategory: string, topK?: number): Promise<SimilarPattern[]>;
|
|
89
|
+
/**
|
|
90
|
+
* Get storage statistics
|
|
91
|
+
*
|
|
92
|
+
* @returns Storage stats including total patterns, categories, and backend info
|
|
93
|
+
*/
|
|
94
|
+
getStats(): Promise<StorageStats>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Create a new ReasoningBank instance
|
|
98
|
+
*
|
|
99
|
+
* @param dbName - Optional database name
|
|
100
|
+
* @returns ReasoningBank adapter instance
|
|
101
|
+
*/
|
|
102
|
+
export declare function createReasoningBank(dbName?: string): Promise<ReasoningBankAdapter>;
|
|
103
|
+
export default ReasoningBankAdapter;
|
|
104
|
+
//# sourceMappingURL=wasm-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-adapter.d.ts","sourceRoot":"","sources":["../../src/reasoningbank/wasm-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,WAAW,CAAgB;IAEnC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,MAAM;YAIb,UAAU;YAQV,iBAAiB;IAQ/B;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAM1D;;;;;OAKG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAarD;;;;;;OAMG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhF;;;;;;;OAOG;IACG,WAAW,CACf,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,cAAc,EAAE,CAAC;IAM5B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;CAKxC;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAIxF;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wasm-adapter.js","sourceRoot":"","sources":["../../src/reasoningbank/wasm-adapter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ReasoningBank WASM Adapter\n *\n * TypeScript wrapper for the Rust WASM ReasoningBank implementation.\n * Provides browser and Node.js compatibility with auto-detection of storage backends.\n *\n * Features:\n * - IndexedDB storage (browser preferred)\n * - sql.js fallback (browser backup)\n * - Native performance via WASM\n * - Async/await API\n * - Type-safe interfaces\n */\n\nimport * as ReasoningBankWasm from '../../wasm/reasoningbank/reasoningbank_wasm.js';\n\nexport interface PatternInput {\n task_description: string;\n task_category: string;\n strategy: string;\n success_score: number;\n duration_seconds?: number;\n}\n\nexport interface Pattern {\n id: string;\n task_description: string;\n task_category: string;\n strategy: string;\n success_score?: number;\n duration_seconds?: number;\n created_at: string;\n updated_at?: string;\n}\n\nexport interface SimilarPattern {\n pattern: Pattern;\n similarity_score: number;\n}\n\nexport interface StorageStats {\n total_patterns: number;\n categories: number;\n avg_success_score: number;\n storage_backend: string;\n}\n\n/**\n * ReasoningBank WASM Adapter\n *\n * Provides a TypeScript-friendly interface to the Rust WASM implementation.\n * Automatically selects the best storage backend for the environment.\n */\nexport class ReasoningBankAdapter {\n private wasmInstance: ReasoningBankWasm.ReasoningBankWasm | null = null;\n private initPromise: Promise<void>;\n\n /**\n * Create a new ReasoningBank instance\n *\n * @param dbName - Optional database name (default: \"reasoningbank\")\n */\n constructor(dbName?: string) {\n this.initPromise = this.initialize(dbName);\n }\n\n private async initialize(dbName?: string): Promise<void> {\n try {\n this.wasmInstance = new ReasoningBankWasm.ReasoningBankWasm(dbName || 'reasoningbank');\n } catch (error) {\n throw new Error(`Failed to initialize ReasoningBank WASM: ${error}`);\n }\n }\n\n private async ensureInitialized(): Promise<ReasoningBankWasm.ReasoningBankWasm> {\n await this.initPromise;\n if (!this.wasmInstance) {\n throw new Error('ReasoningBank WASM not initialized');\n }\n return this.wasmInstance;\n }\n\n /**\n * Store a reasoning pattern\n *\n * @param pattern - Pattern input data\n * @returns Pattern UUID\n */\n async storePattern(pattern: PatternInput): Promise<string> {\n const wasm = await this.ensureInitialized();\n const json = JSON.stringify(pattern);\n return await wasm.storePattern(json);\n }\n\n /**\n * Retrieve a pattern by ID\n *\n * @param id - Pattern UUID\n * @returns Pattern or null if not found\n */\n async getPattern(id: string): Promise<Pattern | null> {\n const wasm = await this.ensureInitialized();\n try {\n const json = await wasm.getPattern(id);\n return json ? JSON.parse(json) : null;\n } catch (error) {\n if (error instanceof Error && error.message.includes('not found')) {\n return null;\n }\n throw error;\n }\n }\n\n /**\n * Search patterns by category\n *\n * @param category - Task category\n * @param limit - Maximum number of results (default: 10)\n * @returns Array of patterns\n */\n async searchByCategory(category: string, limit: number = 10): Promise<Pattern[]> {\n const wasm = await this.ensureInitialized();\n const json = await wasm.searchByCategory(category, limit);\n return JSON.parse(json);\n }\n\n /**\n * Find similar patterns\n *\n * @param taskDescription - Task description to match\n * @param taskCategory - Task category\n * @param topK - Number of similar patterns to return (default: 5)\n * @returns Array of similar patterns with similarity scores\n */\n async findSimilar(\n taskDescription: string,\n taskCategory: string,\n topK: number = 5\n ): Promise<SimilarPattern[]> {\n const wasm = await this.ensureInitialized();\n const json = await wasm.findSimilar(taskDescription, taskCategory, topK);\n return JSON.parse(json);\n }\n\n /**\n * Get storage statistics\n *\n * @returns Storage stats including total patterns, categories, and backend info\n */\n async getStats(): Promise<StorageStats> {\n const wasm = await this.ensureInitialized();\n const json = await wasm.getStats();\n return JSON.parse(json);\n }\n}\n\n/**\n * Create a new ReasoningBank instance\n *\n * @param dbName - Optional database name\n * @returns ReasoningBank adapter instance\n */\nexport async function createReasoningBank(dbName?: string): Promise<ReasoningBankAdapter> {\n const adapter = new ReasoningBankAdapter(dbName);\n await adapter.getStats(); // Ensure initialization\n return adapter;\n}\n\nexport default ReasoningBankAdapter;\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Model ID Mapping for Multi-Provider Support
|
|
3
|
+
*
|
|
4
|
+
* Different providers use different model ID formats:
|
|
5
|
+
* - Anthropic: "claude-sonnet-4-5-20250929" (dated releases)
|
|
6
|
+
* - OpenRouter: "anthropic/claude-sonnet-4.5" (vendor/model format)
|
|
7
|
+
* - AWS Bedrock: "anthropic.claude-sonnet-4-5-v2:0" (ARN-style)
|
|
8
|
+
*/
|
|
9
|
+
export interface ModelMapping {
|
|
10
|
+
anthropic: string;
|
|
11
|
+
openrouter: string;
|
|
12
|
+
bedrock?: string;
|
|
13
|
+
canonical: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Claude Model Mappings
|
|
17
|
+
*/
|
|
18
|
+
export declare const CLAUDE_MODELS: Record<string, ModelMapping>;
|
|
19
|
+
/**
|
|
20
|
+
* Map a model ID from one provider format to another
|
|
21
|
+
*/
|
|
22
|
+
export declare function mapModelId(modelId: string, targetProvider: 'anthropic' | 'openrouter' | 'bedrock'): string;
|
|
23
|
+
/**
|
|
24
|
+
* Get human-readable model name
|
|
25
|
+
*/
|
|
26
|
+
export declare function getModelName(modelId: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* List all available model IDs for a provider
|
|
29
|
+
*/
|
|
30
|
+
export declare function listModels(provider: 'anthropic' | 'openrouter' | 'bedrock'): string[];
|
|
31
|
+
//# sourceMappingURL=model-mapping.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-mapping.d.ts","sourceRoot":"","sources":["../../src/router/model-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA6CtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GACrD,MAAM,CA8DR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYpD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,MAAM,EAAE,CAIrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-mapping.js","sourceRoot":"","sources":["../../src/router/model-mapping.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Model ID Mapping for Multi-Provider Support\n *\n * Different providers use different model ID formats:\n * - Anthropic: \"claude-sonnet-4-5-20250929\" (dated releases)\n * - OpenRouter: \"anthropic/claude-sonnet-4.5\" (vendor/model format)\n * - AWS Bedrock: \"anthropic.claude-sonnet-4-5-v2:0\" (ARN-style)\n */\n\nexport interface ModelMapping {\n anthropic: string;\n openrouter: string;\n bedrock?: string;\n canonical: string; // Human-readable name\n}\n\n/**\n * Claude Model Mappings\n */\nexport const CLAUDE_MODELS: Record<string, ModelMapping> = {\n // Claude Sonnet 4.5 (September 2025 release)\n 'claude-sonnet-4.5': {\n anthropic: 'claude-sonnet-4-5-20250929',\n openrouter: 'anthropic/claude-sonnet-4.5',\n bedrock: 'anthropic.claude-sonnet-4-5-v2:0',\n canonical: 'Claude Sonnet 4.5'\n },\n\n // Claude Sonnet 4 (original release)\n 'claude-sonnet-4': {\n anthropic: 'claude-sonnet-4-20240620',\n openrouter: 'anthropic/claude-sonnet-4',\n bedrock: 'anthropic.claude-sonnet-4-v1:0',\n canonical: 'Claude Sonnet 4'\n },\n\n // Claude 3.7 Sonnet\n 'claude-3.7-sonnet': {\n anthropic: 'claude-3-7-sonnet-20250219',\n openrouter: 'anthropic/claude-3.7-sonnet',\n canonical: 'Claude 3.7 Sonnet'\n },\n\n // Claude 3.5 Sonnet (October 2024)\n 'claude-3.5-sonnet': {\n anthropic: 'claude-3-5-sonnet-20241022',\n openrouter: 'anthropic/claude-3.5-sonnet-20241022',\n bedrock: 'anthropic.claude-3-5-sonnet-20241022-v2:0',\n canonical: 'Claude 3.5 Sonnet'\n },\n\n // Claude 3.5 Haiku\n 'claude-3.5-haiku': {\n anthropic: 'claude-3-5-haiku-20241022',\n openrouter: 'anthropic/claude-3.5-haiku-20241022',\n canonical: 'Claude 3.5 Haiku'\n },\n\n // Claude Opus 4.1\n 'claude-opus-4.1': {\n anthropic: 'claude-opus-4-1-20250514',\n openrouter: 'anthropic/claude-opus-4.1',\n canonical: 'Claude Opus 4.1'\n }\n};\n\n/**\n * Map a model ID from one provider format to another\n */\nexport function mapModelId(\n modelId: string,\n targetProvider: 'anthropic' | 'openrouter' | 'bedrock'\n): string {\n // If already in correct format, return as-is\n if (targetProvider === 'anthropic' && modelId.startsWith('claude-')) {\n // Check if it's already an Anthropic API ID (has date like 20250929)\n if (/claude-.*-\\d{8}/.test(modelId)) {\n return modelId;\n }\n }\n\n if (targetProvider === 'openrouter' && modelId.startsWith('anthropic/')) {\n return modelId;\n }\n\n // Try to find canonical mapping\n for (const [canonical, mapping] of Object.entries(CLAUDE_MODELS)) {\n if (\n modelId === mapping.anthropic ||\n modelId === mapping.openrouter ||\n modelId === mapping.bedrock ||\n modelId === canonical\n ) {\n const mapped = mapping[targetProvider];\n if (mapped) {\n return mapped;\n }\n }\n }\n\n // If no mapping found, try to convert format\n if (targetProvider === 'openrouter') {\n // Convert Anthropic format to OpenRouter format\n // claude-sonnet-4-5-20250929 -> anthropic/claude-sonnet-4.5\n if (modelId.startsWith('claude-')) {\n const withoutDate = modelId.replace(/-\\d{8}$/, '');\n const parts = withoutDate.split('-');\n\n if (parts.length >= 3) {\n const family = parts[0]; // claude\n const tier = parts[1]; // sonnet, opus, haiku\n const version = parts.slice(2).join('.'); // 4.5 or 3.5\n\n return `anthropic/${family}-${tier}-${version}`;\n }\n }\n } else if (targetProvider === 'anthropic') {\n // Convert OpenRouter format to Anthropic format\n // anthropic/claude-sonnet-4.5 -> claude-sonnet-4-5-20250929\n if (modelId.startsWith('anthropic/')) {\n const withoutPrefix = modelId.replace('anthropic/', '');\n\n // Look up in mappings by OpenRouter ID\n for (const mapping of Object.values(CLAUDE_MODELS)) {\n if (mapping.openrouter === modelId) {\n return mapping.anthropic;\n }\n }\n }\n }\n\n // No conversion possible, return original\n console.warn(`⚠️ No model mapping found for '${modelId}' to ${targetProvider}, using original ID`);\n return modelId;\n}\n\n/**\n * Get human-readable model name\n */\nexport function getModelName(modelId: string): string {\n for (const mapping of Object.values(CLAUDE_MODELS)) {\n if (\n modelId === mapping.anthropic ||\n modelId === mapping.openrouter ||\n modelId === mapping.bedrock\n ) {\n return mapping.canonical;\n }\n }\n\n return modelId;\n}\n\n/**\n * List all available model IDs for a provider\n */\nexport function listModels(provider: 'anthropic' | 'openrouter' | 'bedrock'): string[] {\n return Object.values(CLAUDE_MODELS)\n .map(m => m[provider])\n .filter((id): id is string => id !== undefined);\n}\n"]}
|