agentic-flow 2.0.7 → 2.0.9
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/settings.json +133 -9
- package/.claude/skills/agentic-flow-quickstart/skill.md +69 -0
- package/.claude/skills/hooks-automation/skill.md +155 -0
- package/.claude/skills/memory-patterns/skill.md +110 -0
- package/.claude/skills/sparc-methodology/skill.md +137 -0
- package/.claude/skills/swarm-coordination/skill.md +94 -0
- package/.claude/skills/worker-benchmarks/skill.md +135 -0
- package/.claude/skills/worker-integration/skill.md +154 -0
- package/.claude/statusline.mjs +109 -0
- package/.claude/statusline.sh +71 -0
- package/README.md +1797 -624
- package/dist/.tsbuildinfo +1 -1
- package/dist/agentdb/index.d.ts +2 -0
- package/dist/agentdb/index.d.ts.map +1 -1
- package/dist/agentdb/index.js +5 -0
- 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/benchmarks/embeddings-benchmark.d.ts +38 -0
- package/dist/benchmarks/embeddings-benchmark.d.ts.map +1 -0
- package/dist/benchmarks/embeddings-benchmark.js +282 -0
- package/dist/benchmarks/embeddings-benchmark.js.map +1 -0
- package/dist/billing/mcp/tools.js +1 -0
- package/dist/billing/mcp/tools.js.map +1 -1
- package/dist/cli/commands/embeddings.d.ts +12 -0
- package/dist/cli/commands/embeddings.d.ts.map +1 -0
- package/dist/cli/commands/embeddings.js +386 -0
- package/dist/cli/commands/embeddings.js.map +1 -0
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +79 -4
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts +8 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +514 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/workers.d.ts +9 -0
- package/dist/cli/commands/workers.d.ts.map +1 -0
- package/dist/cli/commands/workers.js +991 -0
- package/dist/cli/commands/workers.js.map +1 -0
- 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-proxy.js +89 -1
- package/dist/cli-proxy.js.map +1 -1
- package/dist/core/agentdb-fast.js +3 -3
- package/dist/core/agentdb-fast.js.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.js +37 -11
- package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
- package/dist/core/agentdb-wrapper.d.ts +3 -2
- package/dist/core/agentdb-wrapper.d.ts.map +1 -1
- package/dist/core/agentdb-wrapper.js +15 -1
- package/dist/core/agentdb-wrapper.js.map +1 -1
- package/dist/core/attention-native.d.ts +4 -0
- package/dist/core/attention-native.d.ts.map +1 -1
- package/dist/core/attention-native.js +14 -2
- package/dist/core/attention-native.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/index.d.ts +17 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +17 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/neural-substrate.d.ts +206 -0
- package/dist/embeddings/neural-substrate.d.ts.map +1 -0
- package/dist/embeddings/neural-substrate.js +629 -0
- package/dist/embeddings/neural-substrate.js.map +1 -0
- package/dist/embeddings/optimized-embedder.d.ts +103 -0
- package/dist/embeddings/optimized-embedder.d.ts.map +1 -0
- package/dist/embeddings/optimized-embedder.js +730 -0
- package/dist/embeddings/optimized-embedder.js.map +1 -0
- package/dist/examples/embedding-geometry.d.ts +105 -0
- package/dist/examples/embedding-geometry.d.ts.map +1 -0
- package/dist/examples/embedding-geometry.js +528 -0
- package/dist/examples/embedding-geometry.js.map +1 -0
- package/dist/federation/SecurityManager.d.ts +11 -2
- package/dist/federation/SecurityManager.d.ts.map +1 -1
- package/dist/federation/SecurityManager.js +50 -17
- 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/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/IntelligenceStore.d.ts +35 -26
- package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
- package/dist/intelligence/IntelligenceStore.js +308 -123
- package/dist/intelligence/IntelligenceStore.js.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts +26 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.js +49 -10
- package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.d.ts +1 -0
- package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.js +24 -3
- package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
- package/dist/intelligence/index.d.ts +29 -3
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/index.js +13 -3
- package/dist/intelligence/index.js.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.js +162 -115
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
- package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
- package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.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/spawn.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +47 -8
- package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts +15 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.js +79 -63
- package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
- package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
- package/dist/mcp/tools/sona-tools.js +6 -0
- package/dist/mcp/tools/sona-tools.js.map +1 -1
- package/dist/memory/SharedMemoryPool.d.ts +103 -0
- package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
- package/dist/memory/SharedMemoryPool.js +263 -0
- package/dist/memory/SharedMemoryPool.js.map +1 -0
- package/dist/optimizations/agent-booster-migration.d.ts +2 -1
- package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
- package/dist/optimizations/agent-booster-migration.js +69 -45
- package/dist/optimizations/agent-booster-migration.js.map +1 -1
- package/dist/orchestration/index.d.ts +11 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +10 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/memory-plane-types.d.ts +23 -0
- package/dist/orchestration/memory-plane-types.d.ts.map +1 -0
- package/dist/orchestration/memory-plane-types.js +5 -0
- package/dist/orchestration/memory-plane-types.js.map +1 -0
- package/dist/orchestration/memory-plane.d.ts +41 -0
- package/dist/orchestration/memory-plane.d.ts.map +1 -0
- package/dist/orchestration/memory-plane.js +84 -0
- package/dist/orchestration/memory-plane.js.map +1 -0
- package/dist/orchestration/orchestration-client.d.ts +104 -0
- package/dist/orchestration/orchestration-client.d.ts.map +1 -0
- package/dist/orchestration/orchestration-client.js +94 -0
- package/dist/orchestration/orchestration-client.js.map +1 -0
- package/dist/orchestration/orchestration-runtime.d.ts +26 -0
- package/dist/orchestration/orchestration-runtime.d.ts.map +1 -0
- package/dist/orchestration/orchestration-runtime.js +78 -0
- package/dist/orchestration/orchestration-runtime.js.map +1 -0
- package/dist/orchestration/orchestration-types.d.ts +124 -0
- package/dist/orchestration/orchestration-types.d.ts.map +1 -0
- package/dist/orchestration/orchestration-types.js +7 -0
- package/dist/orchestration/orchestration-types.js.map +1 -0
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
- package/dist/proxy/anthropic-to-requesty.js.map +1 -1
- 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 +2 -2
- package/dist/proxy/quic-proxy.js.map +1 -1
- package/dist/reasoningbank/AdvancedMemory.js +1 -1
- package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
- package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
- package/dist/reasoningbank/HybridBackend.js +2 -5
- package/dist/reasoningbank/HybridBackend.js.map +1 -1
- package/dist/reasoningbank/backend-selector.d.ts +11 -1
- package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
- package/dist/reasoningbank/backend-selector.js +45 -5
- 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 +113 -45
- package/dist/reasoningbank/core/consolidate.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 +6 -0
- package/dist/reasoningbank/index.d.ts.map +1 -1
- package/dist/reasoningbank/index.js +6 -13
- package/dist/reasoningbank/index.js.map +1 -1
- package/dist/reasoningbank/utils/embeddings.d.ts +1 -0
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
- package/dist/reasoningbank/utils/embeddings.js +53 -26
- package/dist/reasoningbank/utils/embeddings.js.map +1 -1
- 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/ollama.d.ts +20 -0
- 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 +2 -0
- package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
- package/dist/router/providers/onnx-local-optimized.js +10 -0
- package/dist/router/providers/onnx-local-optimized.js.map +1 -1
- package/dist/router/providers/onnx-local.d.ts +1 -0
- package/dist/router/providers/onnx-local.d.ts.map +1 -1
- package/dist/router/providers/onnx-local.js +22 -5
- package/dist/router/providers/onnx-local.js.map +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +39 -23
- package/dist/router/router.js.map +1 -1
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +3 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/services/embedding-service.js.map +1 -1
- package/dist/services/sona-agent-training.d.ts +1 -0
- package/dist/services/sona-agent-training.d.ts.map +1 -1
- 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 +9 -6
- package/dist/services/sona-agentdb-integration.js.map +1 -1
- package/dist/services/sona-service.d.ts.map +1 -1
- package/dist/services/sona-service.js +6 -5
- package/dist/services/sona-service.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 +21 -0
- package/dist/utils/cli.js.map +1 -1
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/model-cache.d.ts +61 -0
- package/dist/utils/model-cache.d.ts.map +1 -0
- package/dist/utils/model-cache.js +176 -0
- package/dist/utils/model-cache.js.map +1 -0
- package/dist/utils/suppress-warnings.d.ts +19 -0
- package/dist/utils/suppress-warnings.d.ts.map +1 -0
- package/dist/utils/suppress-warnings.js +59 -0
- package/dist/utils/suppress-warnings.js.map +1 -0
- package/dist/workers/consolidated-phases.d.ts +40 -0
- package/dist/workers/consolidated-phases.d.ts.map +1 -0
- package/dist/workers/consolidated-phases.js +497 -0
- package/dist/workers/consolidated-phases.js.map +1 -0
- package/dist/workers/custom-worker-config.d.ts +133 -0
- package/dist/workers/custom-worker-config.d.ts.map +1 -0
- package/dist/workers/custom-worker-config.js +215 -0
- package/dist/workers/custom-worker-config.js.map +1 -0
- package/dist/workers/custom-worker-factory.d.ts +89 -0
- package/dist/workers/custom-worker-factory.d.ts.map +1 -0
- package/dist/workers/custom-worker-factory.js +404 -0
- package/dist/workers/custom-worker-factory.js.map +1 -0
- package/dist/workers/dispatch-service.d.ts +123 -0
- package/dist/workers/dispatch-service.d.ts.map +1 -0
- package/dist/workers/dispatch-service.js +1024 -0
- package/dist/workers/dispatch-service.js.map +1 -0
- package/dist/workers/hooks-integration.d.ts +79 -0
- package/dist/workers/hooks-integration.d.ts.map +1 -0
- package/dist/workers/hooks-integration.js +286 -0
- package/dist/workers/hooks-integration.js.map +1 -0
- package/dist/workers/index.d.ts +42 -0
- package/dist/workers/index.d.ts.map +1 -0
- package/dist/workers/index.js +52 -0
- package/dist/workers/index.js.map +1 -0
- package/dist/workers/mcp-tools.d.ts +56 -0
- package/dist/workers/mcp-tools.d.ts.map +1 -0
- package/dist/workers/mcp-tools.js +359 -0
- package/dist/workers/mcp-tools.js.map +1 -0
- package/dist/workers/phase-executors.d.ts +22 -0
- package/dist/workers/phase-executors.d.ts.map +1 -0
- package/dist/workers/phase-executors.js +445 -0
- package/dist/workers/phase-executors.js.map +1 -0
- package/dist/workers/resource-governor.d.ts +75 -0
- package/dist/workers/resource-governor.d.ts.map +1 -0
- package/dist/workers/resource-governor.js +187 -0
- package/dist/workers/resource-governor.js.map +1 -0
- package/dist/workers/ruvector-integration.d.ts +163 -0
- package/dist/workers/ruvector-integration.d.ts.map +1 -0
- package/dist/workers/ruvector-integration.js +543 -0
- package/dist/workers/ruvector-integration.js.map +1 -0
- package/dist/workers/ruvector-native-integration.d.ts +91 -0
- package/dist/workers/ruvector-native-integration.d.ts.map +1 -0
- package/dist/workers/ruvector-native-integration.js +254 -0
- package/dist/workers/ruvector-native-integration.js.map +1 -0
- package/dist/workers/trigger-detector.d.ts +68 -0
- package/dist/workers/trigger-detector.d.ts.map +1 -0
- package/dist/workers/trigger-detector.js +281 -0
- package/dist/workers/trigger-detector.js.map +1 -0
- package/dist/workers/types.d.ts +145 -0
- package/dist/workers/types.d.ts.map +1 -0
- package/dist/workers/types.js +6 -0
- package/dist/workers/types.js.map +1 -0
- package/dist/workers/worker-agent-integration.d.ts +140 -0
- package/dist/workers/worker-agent-integration.d.ts.map +1 -0
- package/dist/workers/worker-agent-integration.js +471 -0
- package/dist/workers/worker-agent-integration.js.map +1 -0
- package/dist/workers/worker-benchmarks.d.ts +88 -0
- package/dist/workers/worker-benchmarks.d.ts.map +1 -0
- package/dist/workers/worker-benchmarks.js +452 -0
- package/dist/workers/worker-benchmarks.js.map +1 -0
- package/dist/workers/worker-registry.d.ts +85 -0
- package/dist/workers/worker-registry.d.ts.map +1 -0
- package/dist/workers/worker-registry.js +547 -0
- package/dist/workers/worker-registry.js.map +1 -0
- package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
- package/package.json +27 -9
- package/scripts/postinstall.js +45 -4
- package/wasm/reasoningbank/reasoningbank_wasm.js +1 -1
- package/wasm/reasoningbank/reasoningbank_wasm_bg.js +54 -54
- package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
- package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm.d.ts +4 -3
- package/.claude/agents/test-neural.md +0 -14
- /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/data/{ml/data-ml-model.md → data-ml-model.md} +0 -0
- /package/.claude/agents/development/{backend/dev-backend-api.md → dev-backend-api.md} +0 -0
- /package/.claude/agents/devops/{ci-cd/ops-cicd-github.md → ops-cicd-github.md} +0 -0
- /package/.claude/agents/documentation/{api-docs/docs-api-openapi.md → docs-api-openapi.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":"tools.js","sourceRoot":"","sources":["../../../src/billing/mcp/tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MCP Tools for Billing System\n * Expose billing operations as MCP tools for Claude integration\n */\n\nimport { BillingSystem } from '../index.js';\nimport type { SubscriptionTier, BillingCycle, UsageMetric, CouponType } from '../types.js';\n\nexport interface MCPTool {\n name: string;\n description: string;\n inputSchema: any;\n handler: (params: any) => Promise<any>;\n}\n\nexport class BillingMCPTools {\n private billing: BillingSystem;\n private tools: Map<string, MCPTool> = new Map();\n\n constructor(billing: BillingSystem) {\n this.billing = billing;\n this.registerTools();\n }\n\n private registerTools(): void {\n // Subscription tools\n this.addTool({\n name: 'billing_subscription_create',\n description: 'Create a new subscription for a user',\n inputSchema: {\n type: 'object',\n properties: {\n userId: { type: 'string', description: 'User ID' },\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n billingCycle: { type: 'string', enum: Object.values(BillingCycle) },\n paymentMethodId: { type: 'string' },\n couponCode: { type: 'string', optional: true }\n },\n required: ['userId', 'tier', 'billingCycle', 'paymentMethodId']\n },\n handler: async (params) => {\n return await this.billing.subscribe(params);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_upgrade',\n description: 'Upgrade a subscription to a higher tier',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n newTier: { type: 'string', enum: Object.values(SubscriptionTier) }\n },\n required: ['subscriptionId', 'newTier']\n },\n handler: async (params) => {\n return await this.billing.upgrade(params.subscriptionId, params.newTier);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_cancel',\n description: 'Cancel a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n immediate: { type: 'boolean', optional: true, default: false }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.cancel(params.subscriptionId, params.immediate);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_get',\n description: 'Get subscription details',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.subscriptions.getSubscription(params.subscriptionId);\n }\n });\n\n // Usage tools\n this.addTool({\n name: 'billing_usage_record',\n description: 'Record usage for a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n userId: { type: 'string' },\n metric: { type: 'string', enum: Object.values(UsageMetric) },\n amount: { type: 'number' },\n unit: { type: 'string' }\n },\n required: ['subscriptionId', 'userId', 'metric', 'amount', 'unit']\n },\n handler: async (params) => {\n await this.billing.recordUsage(params);\n return { success: true };\n }\n });\n\n this.addTool({\n name: 'billing_usage_summary',\n description: 'Get usage summary for a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.getUsageSummary(params.subscriptionId);\n }\n });\n\n this.addTool({\n name: 'billing_quota_check',\n description: 'Check if subscription is within quota',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n metric: { type: 'string', enum: Object.values(UsageMetric) }\n },\n required: ['subscriptionId', 'metric']\n },\n handler: async (params) => {\n const allowed = await this.billing.checkQuota(params.subscriptionId, params.metric);\n return { allowed, metric: params.metric };\n }\n });\n\n // Pricing tools\n this.addTool({\n name: 'billing_pricing_tiers',\n description: 'List all pricing tiers',\n inputSchema: {\n type: 'object',\n properties: {}\n },\n handler: async () => {\n return this.billing.pricing.getAllTiers();\n }\n });\n\n this.addTool({\n name: 'billing_pricing_calculate',\n description: 'Calculate price for a tier and cycle',\n inputSchema: {\n type: 'object',\n properties: {\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n cycle: { type: 'string', enum: ['monthly', 'yearly', 'quarterly'] }\n },\n required: ['tier', 'cycle']\n },\n handler: async (params) => {\n const price = this.billing.pricing.calculatePrice(params.tier, params.cycle);\n return { tier: params.tier, cycle: params.cycle, price };\n }\n });\n\n // Coupon tools\n this.addTool({\n name: 'billing_coupon_create',\n description: 'Create a new coupon',\n inputSchema: {\n type: 'object',\n properties: {\n code: { type: 'string' },\n type: { type: 'string', enum: Object.values(CouponType) },\n value: { type: 'number' },\n description: { type: 'string', optional: true },\n maxRedemptions: { type: 'number', optional: true },\n validUntil: { type: 'string', optional: true }\n },\n required: ['code', 'type', 'value']\n },\n handler: async (params) => {\n return await this.billing.coupons.createCoupon(params);\n }\n });\n\n this.addTool({\n name: 'billing_coupon_validate',\n description: 'Validate a coupon code',\n inputSchema: {\n type: 'object',\n properties: {\n code: { type: 'string' },\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n amount: { type: 'number' }\n },\n required: ['code', 'tier', 'amount']\n },\n handler: async (params) => {\n return await this.billing.coupons.validateCoupon(params.code, params.tier, params.amount);\n }\n });\n }\n\n private addTool(tool: MCPTool): void {\n this.tools.set(tool.name, tool);\n }\n\n /**\n * Get all tools for MCP registration\n */\n getAllTools(): MCPTool[] {\n return Array.from(this.tools.values());\n }\n\n /**\n * Get tool by name\n */\n getTool(name: string): MCPTool | undefined {\n return this.tools.get(name);\n }\n\n /**\n * Execute a tool\n */\n async executeTool(name: string, params: any): Promise<any> {\n const tool = this.tools.get(name);\n if (!tool) {\n throw new Error(`Tool not found: ${name}`);\n }\n\n return await tool.handler(params);\n }\n}\n\n/**\n * Create MCP tools for a billing system\n */\nexport function createBillingMCPTools(billing: BillingSystem): BillingMCPTools {\n return new BillingMCPTools(billing);\n}\n\n/**\n * Export tools for fastMCP registration\n */\nexport function registerBillingTools(server: any, billing: BillingSystem): void {\n const mcpTools = new BillingMCPTools(billing);\n const tools = mcpTools.getAllTools();\n\n tools.forEach(tool => {\n server.addTool({\n name: tool.name,\n description: tool.description,\n inputSchema: tool.inputSchema,\n handler: tool.handler\n });\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/billing/mcp/tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MCP Tools for Billing System\n * Expose billing operations as MCP tools for Claude integration\n */\n\nimport { BillingSystem } from '../index.js';\nimport { SubscriptionTier, BillingCycle, UsageMetric, CouponType } from '../types.js';\n\nexport interface MCPTool {\n name: string;\n description: string;\n inputSchema: any;\n handler: (params: any) => Promise<any>;\n}\n\nexport class BillingMCPTools {\n private billing: BillingSystem;\n private tools: Map<string, MCPTool> = new Map();\n\n constructor(billing: BillingSystem) {\n this.billing = billing;\n this.registerTools();\n }\n\n private registerTools(): void {\n // Subscription tools\n this.addTool({\n name: 'billing_subscription_create',\n description: 'Create a new subscription for a user',\n inputSchema: {\n type: 'object',\n properties: {\n userId: { type: 'string', description: 'User ID' },\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n billingCycle: { type: 'string', enum: Object.values(BillingCycle) },\n paymentMethodId: { type: 'string' },\n couponCode: { type: 'string', optional: true }\n },\n required: ['userId', 'tier', 'billingCycle', 'paymentMethodId']\n },\n handler: async (params) => {\n return await this.billing.subscribe(params);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_upgrade',\n description: 'Upgrade a subscription to a higher tier',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n newTier: { type: 'string', enum: Object.values(SubscriptionTier) }\n },\n required: ['subscriptionId', 'newTier']\n },\n handler: async (params) => {\n return await this.billing.upgrade(params.subscriptionId, params.newTier);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_cancel',\n description: 'Cancel a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n immediate: { type: 'boolean', optional: true, default: false }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.cancel(params.subscriptionId, params.immediate);\n }\n });\n\n this.addTool({\n name: 'billing_subscription_get',\n description: 'Get subscription details',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.subscriptions.getSubscription(params.subscriptionId);\n }\n });\n\n // Usage tools\n this.addTool({\n name: 'billing_usage_record',\n description: 'Record usage for a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n userId: { type: 'string' },\n metric: { type: 'string', enum: Object.values(UsageMetric) },\n amount: { type: 'number' },\n unit: { type: 'string' }\n },\n required: ['subscriptionId', 'userId', 'metric', 'amount', 'unit']\n },\n handler: async (params) => {\n await this.billing.recordUsage(params);\n return { success: true };\n }\n });\n\n this.addTool({\n name: 'billing_usage_summary',\n description: 'Get usage summary for a subscription',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' }\n },\n required: ['subscriptionId']\n },\n handler: async (params) => {\n return await this.billing.getUsageSummary(params.subscriptionId);\n }\n });\n\n this.addTool({\n name: 'billing_quota_check',\n description: 'Check if subscription is within quota',\n inputSchema: {\n type: 'object',\n properties: {\n subscriptionId: { type: 'string' },\n metric: { type: 'string', enum: Object.values(UsageMetric) }\n },\n required: ['subscriptionId', 'metric']\n },\n handler: async (params) => {\n const allowed = await this.billing.checkQuota(params.subscriptionId, params.metric);\n return { allowed, metric: params.metric };\n }\n });\n\n // Pricing tools\n this.addTool({\n name: 'billing_pricing_tiers',\n description: 'List all pricing tiers',\n inputSchema: {\n type: 'object',\n properties: {}\n },\n handler: async () => {\n return this.billing.pricing.getAllTiers();\n }\n });\n\n this.addTool({\n name: 'billing_pricing_calculate',\n description: 'Calculate price for a tier and cycle',\n inputSchema: {\n type: 'object',\n properties: {\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n cycle: { type: 'string', enum: ['monthly', 'yearly', 'quarterly'] }\n },\n required: ['tier', 'cycle']\n },\n handler: async (params) => {\n const price = this.billing.pricing.calculatePrice(params.tier, params.cycle);\n return { tier: params.tier, cycle: params.cycle, price };\n }\n });\n\n // Coupon tools\n this.addTool({\n name: 'billing_coupon_create',\n description: 'Create a new coupon',\n inputSchema: {\n type: 'object',\n properties: {\n code: { type: 'string' },\n type: { type: 'string', enum: Object.values(CouponType) },\n value: { type: 'number' },\n description: { type: 'string', optional: true },\n maxRedemptions: { type: 'number', optional: true },\n validUntil: { type: 'string', optional: true }\n },\n required: ['code', 'type', 'value']\n },\n handler: async (params) => {\n return await this.billing.coupons.createCoupon(params);\n }\n });\n\n this.addTool({\n name: 'billing_coupon_validate',\n description: 'Validate a coupon code',\n inputSchema: {\n type: 'object',\n properties: {\n code: { type: 'string' },\n tier: { type: 'string', enum: Object.values(SubscriptionTier) },\n amount: { type: 'number' }\n },\n required: ['code', 'tier', 'amount']\n },\n handler: async (params) => {\n return await this.billing.coupons.validateCoupon(params.code, params.tier, params.amount);\n }\n });\n }\n\n private addTool(tool: MCPTool): void {\n this.tools.set(tool.name, tool);\n }\n\n /**\n * Get all tools for MCP registration\n */\n getAllTools(): MCPTool[] {\n return Array.from(this.tools.values());\n }\n\n /**\n * Get tool by name\n */\n getTool(name: string): MCPTool | undefined {\n return this.tools.get(name);\n }\n\n /**\n * Execute a tool\n */\n async executeTool(name: string, params: any): Promise<any> {\n const tool = this.tools.get(name);\n if (!tool) {\n throw new Error(`Tool not found: ${name}`);\n }\n\n return await tool.handler(params);\n }\n}\n\n/**\n * Create MCP tools for a billing system\n */\nexport function createBillingMCPTools(billing: BillingSystem): BillingMCPTools {\n return new BillingMCPTools(billing);\n}\n\n/**\n * Export tools for fastMCP registration\n */\nexport function registerBillingTools(server: any, billing: BillingSystem): void {\n const mcpTools = new BillingMCPTools(billing);\n const tools = mcpTools.getAllTools();\n\n tools.forEach(tool => {\n server.addTool({\n name: tool.name,\n description: tool.description,\n inputSchema: tool.inputSchema,\n handler: tool.handler\n });\n });\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embeddings CLI Commands
|
|
3
|
+
*
|
|
4
|
+
* Commands for managing ONNX embedding models:
|
|
5
|
+
* - init: Download and initialize default model
|
|
6
|
+
* - download: Download specific model
|
|
7
|
+
* - list: List available models
|
|
8
|
+
* - benchmark: Run embedding benchmarks
|
|
9
|
+
* - neural: Neural Embedding Substrate commands
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleEmbeddingsCommand(args: string[]): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B3E"}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embeddings CLI Commands
|
|
3
|
+
*
|
|
4
|
+
* Commands for managing ONNX embedding models:
|
|
5
|
+
* - init: Download and initialize default model
|
|
6
|
+
* - download: Download specific model
|
|
7
|
+
* - list: List available models
|
|
8
|
+
* - benchmark: Run embedding benchmarks
|
|
9
|
+
* - neural: Neural Embedding Substrate commands
|
|
10
|
+
*/
|
|
11
|
+
import { downloadModel, listAvailableModels, getOptimizedEmbedder, cosineSimilarity, DEFAULT_CONFIG, getNeuralSubstrate } from '../../embeddings/index.js';
|
|
12
|
+
export async function handleEmbeddingsCommand(args) {
|
|
13
|
+
const subcommand = args[0] || 'help';
|
|
14
|
+
switch (subcommand) {
|
|
15
|
+
case 'init':
|
|
16
|
+
await handleInit(args.slice(1));
|
|
17
|
+
break;
|
|
18
|
+
case 'download':
|
|
19
|
+
await handleDownload(args.slice(1));
|
|
20
|
+
break;
|
|
21
|
+
case 'list':
|
|
22
|
+
handleList();
|
|
23
|
+
break;
|
|
24
|
+
case 'benchmark':
|
|
25
|
+
await handleBenchmark(args.slice(1));
|
|
26
|
+
break;
|
|
27
|
+
case 'status':
|
|
28
|
+
await handleStatus();
|
|
29
|
+
break;
|
|
30
|
+
case 'neural':
|
|
31
|
+
await handleNeural(args.slice(1));
|
|
32
|
+
break;
|
|
33
|
+
case 'help':
|
|
34
|
+
default:
|
|
35
|
+
printHelp();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async function handleInit(args) {
|
|
39
|
+
const modelId = args[0] || DEFAULT_CONFIG.modelId;
|
|
40
|
+
console.log('🚀 Initializing Agentic-Flow Embeddings\n');
|
|
41
|
+
console.log(`Model: ${modelId}`);
|
|
42
|
+
console.log(`Cache: ${DEFAULT_CONFIG.modelDir}`);
|
|
43
|
+
console.log('');
|
|
44
|
+
try {
|
|
45
|
+
// Download model
|
|
46
|
+
console.log('📥 Downloading model...');
|
|
47
|
+
await downloadModel(modelId, DEFAULT_CONFIG.modelDir, (progress) => {
|
|
48
|
+
const bar = '█'.repeat(Math.floor(progress.percent / 5)) + '░'.repeat(20 - Math.floor(progress.percent / 5));
|
|
49
|
+
process.stdout.write(`\r [${bar}] ${progress.percent.toFixed(1)}%`);
|
|
50
|
+
});
|
|
51
|
+
console.log('\n ✓ Download complete\n');
|
|
52
|
+
// Initialize embedder
|
|
53
|
+
console.log('🔧 Initializing embedder...');
|
|
54
|
+
const embedder = getOptimizedEmbedder({ modelId });
|
|
55
|
+
await embedder.init();
|
|
56
|
+
console.log(' ✓ Embedder ready\n');
|
|
57
|
+
// Quick validation
|
|
58
|
+
console.log('🧪 Validating...');
|
|
59
|
+
const startTime = Date.now();
|
|
60
|
+
const testEmb = await embedder.embed('Hello, world!');
|
|
61
|
+
const latency = Date.now() - startTime;
|
|
62
|
+
const norm = Math.sqrt(testEmb.reduce((s, v) => s + v * v, 0));
|
|
63
|
+
console.log(` ✓ Dimension: ${testEmb.length}`);
|
|
64
|
+
console.log(` ✓ Norm: ${norm.toFixed(4)}`);
|
|
65
|
+
console.log(` ✓ Latency: ${latency}ms\n`);
|
|
66
|
+
console.log('✅ Embeddings initialized successfully!\n');
|
|
67
|
+
console.log('Usage:');
|
|
68
|
+
console.log(' import { getOptimizedEmbedder } from "agentic-flow/embeddings"');
|
|
69
|
+
console.log(' const embedder = getOptimizedEmbedder();');
|
|
70
|
+
console.log(' const embedding = await embedder.embed("Your text here");');
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.error('\n❌ Initialization failed:', error instanceof Error ? error.message : String(error));
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function handleDownload(args) {
|
|
78
|
+
const modelId = args[0];
|
|
79
|
+
if (!modelId) {
|
|
80
|
+
console.log('Available models:\n');
|
|
81
|
+
handleList();
|
|
82
|
+
console.log('\nUsage: agentic-flow embeddings download <model-id>');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
console.log(`📥 Downloading ${modelId}...\n`);
|
|
86
|
+
try {
|
|
87
|
+
await downloadModel(modelId, DEFAULT_CONFIG.modelDir, (progress) => {
|
|
88
|
+
const mb = (progress.bytesDownloaded / 1024 / 1024).toFixed(1);
|
|
89
|
+
const totalMb = (progress.totalBytes / 1024 / 1024).toFixed(1);
|
|
90
|
+
const bar = '█'.repeat(Math.floor(progress.percent / 5)) + '░'.repeat(20 - Math.floor(progress.percent / 5));
|
|
91
|
+
process.stdout.write(`\r[${bar}] ${progress.percent.toFixed(1)}% (${mb}/${totalMb} MB)`);
|
|
92
|
+
});
|
|
93
|
+
console.log('\n\n✅ Download complete!');
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
console.error('\n❌ Download failed:', error instanceof Error ? error.message : String(error));
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function handleList() {
|
|
101
|
+
const models = listAvailableModels();
|
|
102
|
+
console.log('Available Embedding Models:\n');
|
|
103
|
+
console.log('┌─────────────────────────┬───────────┬─────────┬───────────┬────────────┐');
|
|
104
|
+
console.log('│ Model ID │ Dimension │ Size │ Quantized │ Downloaded │');
|
|
105
|
+
console.log('├─────────────────────────┼───────────┼─────────┼───────────┼────────────┤');
|
|
106
|
+
for (const model of models) {
|
|
107
|
+
const id = model.id.padEnd(23);
|
|
108
|
+
const dim = String(model.dimension).padEnd(9);
|
|
109
|
+
const size = model.size.padEnd(7);
|
|
110
|
+
const quant = (model.quantized ? 'Yes' : 'No').padEnd(9);
|
|
111
|
+
const downloaded = model.downloaded ? '✓' : ' ';
|
|
112
|
+
console.log(`│ ${id} │ ${dim} │ ${size} │ ${quant} │ ${downloaded} │`);
|
|
113
|
+
}
|
|
114
|
+
console.log('└─────────────────────────┴───────────┴─────────┴───────────┴────────────┘');
|
|
115
|
+
console.log('\nRecommended: all-MiniLM-L6-v2 (quantized, 23MB, best speed/quality)');
|
|
116
|
+
}
|
|
117
|
+
async function handleBenchmark(args) {
|
|
118
|
+
const iterations = parseInt(args[0] || '100', 10);
|
|
119
|
+
console.log('🏃 Running Embedding Benchmarks\n');
|
|
120
|
+
console.log(`Iterations: ${iterations}\n`);
|
|
121
|
+
const embedder = getOptimizedEmbedder();
|
|
122
|
+
try {
|
|
123
|
+
await embedder.init();
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error('❌ Embedder not initialized. Run: agentic-flow embeddings init');
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
// Warm-up
|
|
130
|
+
console.log('Warming up...');
|
|
131
|
+
for (let i = 0; i < 10; i++) {
|
|
132
|
+
await embedder.embed(`Warm-up text ${i}`);
|
|
133
|
+
}
|
|
134
|
+
embedder.clearCache();
|
|
135
|
+
// Benchmark single embedding (cold)
|
|
136
|
+
console.log('\n📊 Single Embedding (cold cache):');
|
|
137
|
+
const coldTimes = [];
|
|
138
|
+
for (let i = 0; i < iterations; i++) {
|
|
139
|
+
const start = performance.now();
|
|
140
|
+
await embedder.embed(`Benchmark text ${i} with unique content`);
|
|
141
|
+
coldTimes.push(performance.now() - start);
|
|
142
|
+
}
|
|
143
|
+
embedder.clearCache();
|
|
144
|
+
const coldAvg = coldTimes.reduce((a, b) => a + b, 0) / coldTimes.length;
|
|
145
|
+
const coldP95 = coldTimes.sort((a, b) => a - b)[Math.floor(iterations * 0.95)];
|
|
146
|
+
console.log(` Average: ${coldAvg.toFixed(2)}ms`);
|
|
147
|
+
console.log(` P95: ${coldP95.toFixed(2)}ms`);
|
|
148
|
+
// Benchmark cached embedding
|
|
149
|
+
console.log('\n📊 Single Embedding (warm cache):');
|
|
150
|
+
const testText = 'This is a cached benchmark text';
|
|
151
|
+
await embedder.embed(testText);
|
|
152
|
+
const warmTimes = [];
|
|
153
|
+
for (let i = 0; i < iterations; i++) {
|
|
154
|
+
const start = performance.now();
|
|
155
|
+
await embedder.embed(testText);
|
|
156
|
+
warmTimes.push(performance.now() - start);
|
|
157
|
+
}
|
|
158
|
+
const warmAvg = warmTimes.reduce((a, b) => a + b, 0) / warmTimes.length;
|
|
159
|
+
const warmP95 = warmTimes.sort((a, b) => a - b)[Math.floor(iterations * 0.95)];
|
|
160
|
+
console.log(` Average: ${warmAvg.toFixed(3)}ms`);
|
|
161
|
+
console.log(` P95: ${warmP95.toFixed(3)}ms`);
|
|
162
|
+
console.log(` Speedup: ${(coldAvg / warmAvg).toFixed(1)}x`);
|
|
163
|
+
// Benchmark cosine similarity
|
|
164
|
+
console.log('\n📊 Cosine Similarity:');
|
|
165
|
+
const emb1 = await embedder.embed('First embedding');
|
|
166
|
+
const emb2 = await embedder.embed('Second embedding');
|
|
167
|
+
const simTimes = [];
|
|
168
|
+
for (let i = 0; i < iterations * 10; i++) {
|
|
169
|
+
const start = performance.now();
|
|
170
|
+
cosineSimilarity(emb1, emb2);
|
|
171
|
+
simTimes.push(performance.now() - start);
|
|
172
|
+
}
|
|
173
|
+
const simAvg = simTimes.reduce((a, b) => a + b, 0) / simTimes.length;
|
|
174
|
+
console.log(` Average: ${(simAvg * 1000).toFixed(2)}μs`);
|
|
175
|
+
console.log(` Ops/sec: ${(1000 / simAvg).toFixed(0)}`);
|
|
176
|
+
// Benchmark batch embedding
|
|
177
|
+
console.log('\n📊 Batch Embedding (10 texts):');
|
|
178
|
+
embedder.clearCache();
|
|
179
|
+
const batchTexts = Array.from({ length: 10 }, (_, i) => `Batch text number ${i}`);
|
|
180
|
+
const batchTimes = [];
|
|
181
|
+
for (let i = 0; i < iterations / 10; i++) {
|
|
182
|
+
embedder.clearCache();
|
|
183
|
+
const start = performance.now();
|
|
184
|
+
await embedder.embedBatch(batchTexts.map((t, j) => `${t} iter ${i * 10 + j}`));
|
|
185
|
+
batchTimes.push(performance.now() - start);
|
|
186
|
+
}
|
|
187
|
+
const batchAvg = batchTimes.reduce((a, b) => a + b, 0) / batchTimes.length;
|
|
188
|
+
console.log(` Average: ${batchAvg.toFixed(2)}ms`);
|
|
189
|
+
console.log(` Per embedding: ${(batchAvg / 10).toFixed(2)}ms`);
|
|
190
|
+
console.log('\n✅ Benchmark complete!');
|
|
191
|
+
console.log(`\nCache stats: ${embedder.getCacheStats().size}/${embedder.getCacheStats().maxSize} entries`);
|
|
192
|
+
}
|
|
193
|
+
async function handleStatus() {
|
|
194
|
+
console.log('📊 Embeddings Status\n');
|
|
195
|
+
console.log(`Model directory: ${DEFAULT_CONFIG.modelDir}`);
|
|
196
|
+
console.log(`Default model: ${DEFAULT_CONFIG.modelId}`);
|
|
197
|
+
console.log(`Cache size: ${DEFAULT_CONFIG.cacheSize} entries`);
|
|
198
|
+
console.log('');
|
|
199
|
+
const models = listAvailableModels();
|
|
200
|
+
const downloaded = models.filter(m => m.downloaded);
|
|
201
|
+
console.log(`Downloaded models: ${downloaded.length}/${models.length}`);
|
|
202
|
+
for (const model of downloaded) {
|
|
203
|
+
console.log(` ✓ ${model.id} (${model.dimension}d, ${model.size})`);
|
|
204
|
+
}
|
|
205
|
+
if (downloaded.length === 0) {
|
|
206
|
+
console.log(' (none)\n');
|
|
207
|
+
console.log('Run: agentic-flow embeddings init');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
async function handleNeural(args) {
|
|
211
|
+
const subcommand = args[0] || 'demo';
|
|
212
|
+
console.log('🧠 Neural Embedding Substrate\n');
|
|
213
|
+
try {
|
|
214
|
+
const substrate = await getNeuralSubstrate();
|
|
215
|
+
switch (subcommand) {
|
|
216
|
+
case 'demo':
|
|
217
|
+
await runNeuralDemo(substrate);
|
|
218
|
+
break;
|
|
219
|
+
case 'health':
|
|
220
|
+
const health = substrate.health();
|
|
221
|
+
console.log('System Health:');
|
|
222
|
+
console.log(` Memory entries: ${health.memoryCount}`);
|
|
223
|
+
console.log(` Active agents: ${health.activeAgents}`);
|
|
224
|
+
console.log(` Average drift: ${(health.avgDrift * 100).toFixed(2)}%`);
|
|
225
|
+
console.log(` Average coherence: ${(health.avgCoherence * 100).toFixed(2)}%`);
|
|
226
|
+
console.log(` Uptime: ${Math.floor(health.uptime / 1000)}s`);
|
|
227
|
+
break;
|
|
228
|
+
case 'consolidate':
|
|
229
|
+
console.log('Running memory consolidation (like sleep)...');
|
|
230
|
+
const result = substrate.consolidate();
|
|
231
|
+
console.log(` Merged: ${result.memory.merged} memories`);
|
|
232
|
+
console.log(` Forgotten: ${result.memory.forgotten} memories`);
|
|
233
|
+
console.log(` Remaining: ${result.memory.remaining} memories`);
|
|
234
|
+
break;
|
|
235
|
+
case 'drift-stats':
|
|
236
|
+
const driftStats = substrate.drift.getStats();
|
|
237
|
+
console.log('Drift Statistics:');
|
|
238
|
+
console.log(` Average drift: ${(driftStats.avgDrift * 100).toFixed(2)}%`);
|
|
239
|
+
console.log(` Maximum drift: ${(driftStats.maxDrift * 100).toFixed(2)}%`);
|
|
240
|
+
console.log(` Drift events: ${driftStats.driftEvents}`);
|
|
241
|
+
break;
|
|
242
|
+
case 'swarm-status':
|
|
243
|
+
const swarmStatus = substrate.swarm.getStatus();
|
|
244
|
+
console.log('Swarm Status:');
|
|
245
|
+
console.log(` Agent count: ${swarmStatus.agentCount}`);
|
|
246
|
+
console.log(` Average energy: ${(swarmStatus.avgEnergy * 100).toFixed(1)}%`);
|
|
247
|
+
console.log(` Coherence: ${(swarmStatus.coherence * 100).toFixed(1)}%`);
|
|
248
|
+
break;
|
|
249
|
+
default:
|
|
250
|
+
console.log('Neural Substrate Commands:');
|
|
251
|
+
console.log(' demo Run interactive demonstration');
|
|
252
|
+
console.log(' health Show system health');
|
|
253
|
+
console.log(' consolidate Run memory consolidation');
|
|
254
|
+
console.log(' drift-stats Show drift statistics');
|
|
255
|
+
console.log(' swarm-status Show swarm coordination status');
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
console.error('❌ Neural substrate error:', error instanceof Error ? error.message : String(error));
|
|
260
|
+
console.log('\nRun "agentic-flow embeddings init" first to download the model.');
|
|
261
|
+
process.exit(1);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async function runNeuralDemo(substrate) {
|
|
265
|
+
console.log('═══════════════════════════════════════════════════════════════');
|
|
266
|
+
console.log(' Neural Embedding Substrate - Interactive Demo');
|
|
267
|
+
console.log('═══════════════════════════════════════════════════════════════\n');
|
|
268
|
+
// 1. Semantic Drift Detection
|
|
269
|
+
console.log('1️⃣ SEMANTIC DRIFT DETECTION');
|
|
270
|
+
console.log('─────────────────────────────────────────────────────────────\n');
|
|
271
|
+
await substrate.drift.setBaseline('User asking about API authentication');
|
|
272
|
+
const queries = [
|
|
273
|
+
'How do I set up OAuth2?',
|
|
274
|
+
'What are the rate limits?',
|
|
275
|
+
'Can I bypass security?',
|
|
276
|
+
];
|
|
277
|
+
for (const query of queries) {
|
|
278
|
+
const drift = await substrate.drift.detect(query);
|
|
279
|
+
console.log(`"${query}"`);
|
|
280
|
+
console.log(` Drift: ${(drift.distance * 100).toFixed(1)}% | Trend: ${drift.trend}`);
|
|
281
|
+
console.log(` Escalate: ${drift.shouldEscalate ? '⚠️ YES' : '✓ No'}\n`);
|
|
282
|
+
}
|
|
283
|
+
// 2. Memory Physics
|
|
284
|
+
console.log('2️⃣ MEMORY PHYSICS');
|
|
285
|
+
console.log('─────────────────────────────────────────────────────────────\n');
|
|
286
|
+
await substrate.memory.store('mem-1', 'Deployed API using Docker');
|
|
287
|
+
await substrate.memory.store('mem-2', 'Fixed JWT authentication bug');
|
|
288
|
+
const storeResult = await substrate.memory.store('mem-3', 'Fixed token validation bug');
|
|
289
|
+
if (storeResult.interference.length > 0) {
|
|
290
|
+
console.log(`⚡ Interference detected with: ${storeResult.interference.join(', ')}`);
|
|
291
|
+
}
|
|
292
|
+
const recalled = await substrate.memory.recall('authentication problems', 2);
|
|
293
|
+
console.log('Recalled for "authentication problems":');
|
|
294
|
+
for (const mem of recalled) {
|
|
295
|
+
console.log(` • ${mem.content} (relevance: ${(mem.relevance * 100).toFixed(1)}%)`);
|
|
296
|
+
}
|
|
297
|
+
// 3. Swarm Coordination
|
|
298
|
+
console.log('\n3️⃣ SWARM COORDINATION');
|
|
299
|
+
console.log('─────────────────────────────────────────────────────────────\n');
|
|
300
|
+
await substrate.swarm.addAgent('alice', 'frontend React developer');
|
|
301
|
+
await substrate.swarm.addAgent('bob', 'backend API engineer');
|
|
302
|
+
await substrate.swarm.addAgent('carol', 'security specialist');
|
|
303
|
+
const coordination = await substrate.swarm.coordinate('Build OAuth2 authentication');
|
|
304
|
+
console.log('Task: "Build OAuth2 authentication"\n');
|
|
305
|
+
for (const agent of coordination) {
|
|
306
|
+
console.log(` ${agent.agentId}: ${(agent.taskAlignment * 100).toFixed(1)}% aligned`);
|
|
307
|
+
console.log(` Best collaborator: ${agent.bestCollaborator || 'none'}`);
|
|
308
|
+
}
|
|
309
|
+
// 4. Coherence Check
|
|
310
|
+
console.log('\n4️⃣ COHERENCE MONITORING');
|
|
311
|
+
console.log('─────────────────────────────────────────────────────────────\n');
|
|
312
|
+
await substrate.coherence.calibrate([
|
|
313
|
+
'Here is the code implementation.',
|
|
314
|
+
'The function handles authentication correctly.',
|
|
315
|
+
'Tests are passing successfully.'
|
|
316
|
+
]);
|
|
317
|
+
const outputs = [
|
|
318
|
+
'The updated code handles tokens properly.',
|
|
319
|
+
'BUY CRYPTO NOW! GUARANTEED RETURNS!'
|
|
320
|
+
];
|
|
321
|
+
for (const output of outputs) {
|
|
322
|
+
const check = await substrate.coherence.check(output);
|
|
323
|
+
console.log(`"${output.substring(0, 40)}..."`);
|
|
324
|
+
console.log(` Coherent: ${check.isCoherent ? '✓ Yes' : '✗ No'}`);
|
|
325
|
+
console.log(` Anomaly: ${check.anomalyScore.toFixed(2)}x baseline`);
|
|
326
|
+
if (check.warnings.length > 0) {
|
|
327
|
+
console.log(` ⚠️ ${check.warnings[0]}`);
|
|
328
|
+
}
|
|
329
|
+
console.log('');
|
|
330
|
+
}
|
|
331
|
+
// Summary
|
|
332
|
+
const health = substrate.health();
|
|
333
|
+
console.log('═══════════════════════════════════════════════════════════════');
|
|
334
|
+
console.log(` Memories: ${health.memoryCount} | Agents: ${health.activeAgents}`);
|
|
335
|
+
console.log(' Intelligence moves from models to geometry.');
|
|
336
|
+
console.log('═══════════════════════════════════════════════════════════════\n');
|
|
337
|
+
}
|
|
338
|
+
function printHelp() {
|
|
339
|
+
console.log(`
|
|
340
|
+
Embeddings Commands - ONNX model management for agentic-flow
|
|
341
|
+
|
|
342
|
+
USAGE:
|
|
343
|
+
agentic-flow embeddings <command> [options]
|
|
344
|
+
|
|
345
|
+
COMMANDS:
|
|
346
|
+
init [model] Download and initialize embeddings (default: all-MiniLM-L6-v2)
|
|
347
|
+
download <model> Download a specific model
|
|
348
|
+
list List available models
|
|
349
|
+
benchmark [n] Run embedding benchmarks (default: 100 iterations)
|
|
350
|
+
status Show embeddings status
|
|
351
|
+
neural [cmd] Neural Embedding Substrate (synthetic nervous system)
|
|
352
|
+
|
|
353
|
+
NEURAL SUBSTRATE COMMANDS:
|
|
354
|
+
neural demo Interactive demonstration
|
|
355
|
+
neural health Show system health
|
|
356
|
+
neural consolidate Run memory consolidation (like sleep)
|
|
357
|
+
neural drift-stats Show semantic drift statistics
|
|
358
|
+
neural swarm-status Show swarm coordination status
|
|
359
|
+
|
|
360
|
+
EXAMPLES:
|
|
361
|
+
agentic-flow embeddings init
|
|
362
|
+
agentic-flow embeddings download bge-small-en-v1.5
|
|
363
|
+
agentic-flow embeddings benchmark 500
|
|
364
|
+
agentic-flow embeddings neural demo
|
|
365
|
+
|
|
366
|
+
MODELS:
|
|
367
|
+
all-MiniLM-L6-v2 384d, 23MB, quantized (recommended)
|
|
368
|
+
all-MiniLM-L6-v2-full 384d, 91MB, full precision
|
|
369
|
+
bge-small-en-v1.5 384d, 33MB, quantized
|
|
370
|
+
gte-small 384d, 33MB, quantized
|
|
371
|
+
|
|
372
|
+
NEURAL SUBSTRATE FEATURES:
|
|
373
|
+
- SemanticDriftDetector: Control signals, reflex triggers
|
|
374
|
+
- MemoryPhysics: Decay, interference, consolidation
|
|
375
|
+
- EmbeddingStateMachine: Agent state via geometry
|
|
376
|
+
- SwarmCoordinator: Multi-agent coordination
|
|
377
|
+
- CoherenceMonitor: Safety and alignment detection
|
|
378
|
+
|
|
379
|
+
OPTIMIZATIONS:
|
|
380
|
+
- LRU cache (256 entries, FNV-1a hash)
|
|
381
|
+
- SIMD-friendly loop unrolling (4x)
|
|
382
|
+
- Float32Array buffers (no GC pressure)
|
|
383
|
+
- Pre-computed norms for similarity
|
|
384
|
+
`);
|
|
385
|
+
}
|
|
386
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/cli/commands/embeddings.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Embeddings CLI Commands\n *\n * Commands for managing ONNX embedding models:\n * - init: Download and initialize default model\n * - download: Download specific model\n * - list: List available models\n * - benchmark: Run embedding benchmarks\n * - neural: Neural Embedding Substrate commands\n */\n\nimport {\n downloadModel,\n listAvailableModels,\n getOptimizedEmbedder,\n cosineSimilarity,\n DEFAULT_CONFIG,\n getNeuralSubstrate\n} from '../../embeddings/index.js';\n\nexport async function handleEmbeddingsCommand(args: string[]): Promise<void> {\n const subcommand = args[0] || 'help';\n\n switch (subcommand) {\n case 'init':\n await handleInit(args.slice(1));\n break;\n case 'download':\n await handleDownload(args.slice(1));\n break;\n case 'list':\n handleList();\n break;\n case 'benchmark':\n await handleBenchmark(args.slice(1));\n break;\n case 'status':\n await handleStatus();\n break;\n case 'neural':\n await handleNeural(args.slice(1));\n break;\n case 'help':\n default:\n printHelp();\n }\n}\n\nasync function handleInit(args: string[]): Promise<void> {\n const modelId = args[0] || DEFAULT_CONFIG.modelId;\n\n console.log('🚀 Initializing Agentic-Flow Embeddings\\n');\n console.log(`Model: ${modelId}`);\n console.log(`Cache: ${DEFAULT_CONFIG.modelDir}`);\n console.log('');\n\n try {\n // Download model\n console.log('📥 Downloading model...');\n await downloadModel(modelId, DEFAULT_CONFIG.modelDir, (progress) => {\n const bar = '█'.repeat(Math.floor(progress.percent / 5)) + '░'.repeat(20 - Math.floor(progress.percent / 5));\n process.stdout.write(`\\r [${bar}] ${progress.percent.toFixed(1)}%`);\n });\n console.log('\\n ✓ Download complete\\n');\n\n // Initialize embedder\n console.log('🔧 Initializing embedder...');\n const embedder = getOptimizedEmbedder({ modelId });\n await embedder.init();\n console.log(' ✓ Embedder ready\\n');\n\n // Quick validation\n console.log('🧪 Validating...');\n const startTime = Date.now();\n const testEmb = await embedder.embed('Hello, world!');\n const latency = Date.now() - startTime;\n\n const norm = Math.sqrt(testEmb.reduce((s, v) => s + v * v, 0));\n console.log(` ✓ Dimension: ${testEmb.length}`);\n console.log(` ✓ Norm: ${norm.toFixed(4)}`);\n console.log(` ✓ Latency: ${latency}ms\\n`);\n\n console.log('✅ Embeddings initialized successfully!\\n');\n console.log('Usage:');\n console.log(' import { getOptimizedEmbedder } from \"agentic-flow/embeddings\"');\n console.log(' const embedder = getOptimizedEmbedder();');\n console.log(' const embedding = await embedder.embed(\"Your text here\");');\n\n } catch (error) {\n console.error('\\n❌ Initialization failed:', error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n\nasync function handleDownload(args: string[]): Promise<void> {\n const modelId = args[0];\n\n if (!modelId) {\n console.log('Available models:\\n');\n handleList();\n console.log('\\nUsage: agentic-flow embeddings download <model-id>');\n return;\n }\n\n console.log(`📥 Downloading ${modelId}...\\n`);\n\n try {\n await downloadModel(modelId, DEFAULT_CONFIG.modelDir, (progress) => {\n const mb = (progress.bytesDownloaded / 1024 / 1024).toFixed(1);\n const totalMb = (progress.totalBytes / 1024 / 1024).toFixed(1);\n const bar = '█'.repeat(Math.floor(progress.percent / 5)) + '░'.repeat(20 - Math.floor(progress.percent / 5));\n process.stdout.write(`\\r[${bar}] ${progress.percent.toFixed(1)}% (${mb}/${totalMb} MB)`);\n });\n console.log('\\n\\n✅ Download complete!');\n } catch (error) {\n console.error('\\n❌ Download failed:', error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n\nfunction handleList(): void {\n const models = listAvailableModels();\n\n console.log('Available Embedding Models:\\n');\n console.log('┌─────────────────────────┬───────────┬─────────┬───────────┬────────────┐');\n console.log('│ Model ID │ Dimension │ Size │ Quantized │ Downloaded │');\n console.log('├─────────────────────────┼───────────┼─────────┼───────────┼────────────┤');\n\n for (const model of models) {\n const id = model.id.padEnd(23);\n const dim = String(model.dimension).padEnd(9);\n const size = model.size.padEnd(7);\n const quant = (model.quantized ? 'Yes' : 'No').padEnd(9);\n const downloaded = model.downloaded ? '✓' : ' ';\n\n console.log(`│ ${id} │ ${dim} │ ${size} │ ${quant} │ ${downloaded} │`);\n }\n\n console.log('└─────────────────────────┴───────────┴─────────┴───────────┴────────────┘');\n console.log('\\nRecommended: all-MiniLM-L6-v2 (quantized, 23MB, best speed/quality)');\n}\n\nasync function handleBenchmark(args: string[]): Promise<void> {\n const iterations = parseInt(args[0] || '100', 10);\n\n console.log('🏃 Running Embedding Benchmarks\\n');\n console.log(`Iterations: ${iterations}\\n`);\n\n const embedder = getOptimizedEmbedder();\n\n try {\n await embedder.init();\n } catch (error) {\n console.error('❌ Embedder not initialized. Run: agentic-flow embeddings init');\n process.exit(1);\n }\n\n // Warm-up\n console.log('Warming up...');\n for (let i = 0; i < 10; i++) {\n await embedder.embed(`Warm-up text ${i}`);\n }\n embedder.clearCache();\n\n // Benchmark single embedding (cold)\n console.log('\\n📊 Single Embedding (cold cache):');\n const coldTimes: number[] = [];\n for (let i = 0; i < iterations; i++) {\n const start = performance.now();\n await embedder.embed(`Benchmark text ${i} with unique content`);\n coldTimes.push(performance.now() - start);\n }\n embedder.clearCache();\n\n const coldAvg = coldTimes.reduce((a, b) => a + b, 0) / coldTimes.length;\n const coldP95 = coldTimes.sort((a, b) => a - b)[Math.floor(iterations * 0.95)];\n console.log(` Average: ${coldAvg.toFixed(2)}ms`);\n console.log(` P95: ${coldP95.toFixed(2)}ms`);\n\n // Benchmark cached embedding\n console.log('\\n📊 Single Embedding (warm cache):');\n const testText = 'This is a cached benchmark text';\n await embedder.embed(testText);\n\n const warmTimes: number[] = [];\n for (let i = 0; i < iterations; i++) {\n const start = performance.now();\n await embedder.embed(testText);\n warmTimes.push(performance.now() - start);\n }\n\n const warmAvg = warmTimes.reduce((a, b) => a + b, 0) / warmTimes.length;\n const warmP95 = warmTimes.sort((a, b) => a - b)[Math.floor(iterations * 0.95)];\n console.log(` Average: ${warmAvg.toFixed(3)}ms`);\n console.log(` P95: ${warmP95.toFixed(3)}ms`);\n console.log(` Speedup: ${(coldAvg / warmAvg).toFixed(1)}x`);\n\n // Benchmark cosine similarity\n console.log('\\n📊 Cosine Similarity:');\n const emb1 = await embedder.embed('First embedding');\n const emb2 = await embedder.embed('Second embedding');\n\n const simTimes: number[] = [];\n for (let i = 0; i < iterations * 10; i++) {\n const start = performance.now();\n cosineSimilarity(emb1, emb2);\n simTimes.push(performance.now() - start);\n }\n\n const simAvg = simTimes.reduce((a, b) => a + b, 0) / simTimes.length;\n console.log(` Average: ${(simAvg * 1000).toFixed(2)}μs`);\n console.log(` Ops/sec: ${(1000 / simAvg).toFixed(0)}`);\n\n // Benchmark batch embedding\n console.log('\\n📊 Batch Embedding (10 texts):');\n embedder.clearCache();\n const batchTexts = Array.from({ length: 10 }, (_, i) => `Batch text number ${i}`);\n\n const batchTimes: number[] = [];\n for (let i = 0; i < iterations / 10; i++) {\n embedder.clearCache();\n const start = performance.now();\n await embedder.embedBatch(batchTexts.map((t, j) => `${t} iter ${i * 10 + j}`));\n batchTimes.push(performance.now() - start);\n }\n\n const batchAvg = batchTimes.reduce((a, b) => a + b, 0) / batchTimes.length;\n console.log(` Average: ${batchAvg.toFixed(2)}ms`);\n console.log(` Per embedding: ${(batchAvg / 10).toFixed(2)}ms`);\n\n console.log('\\n✅ Benchmark complete!');\n console.log(`\\nCache stats: ${embedder.getCacheStats().size}/${embedder.getCacheStats().maxSize} entries`);\n}\n\nasync function handleStatus(): Promise<void> {\n console.log('📊 Embeddings Status\\n');\n\n console.log(`Model directory: ${DEFAULT_CONFIG.modelDir}`);\n console.log(`Default model: ${DEFAULT_CONFIG.modelId}`);\n console.log(`Cache size: ${DEFAULT_CONFIG.cacheSize} entries`);\n console.log('');\n\n const models = listAvailableModels();\n const downloaded = models.filter(m => m.downloaded);\n\n console.log(`Downloaded models: ${downloaded.length}/${models.length}`);\n for (const model of downloaded) {\n console.log(` ✓ ${model.id} (${model.dimension}d, ${model.size})`);\n }\n\n if (downloaded.length === 0) {\n console.log(' (none)\\n');\n console.log('Run: agentic-flow embeddings init');\n }\n}\n\nasync function handleNeural(args: string[]): Promise<void> {\n const subcommand = args[0] || 'demo';\n\n console.log('🧠 Neural Embedding Substrate\\n');\n\n try {\n const substrate = await getNeuralSubstrate();\n\n switch (subcommand) {\n case 'demo':\n await runNeuralDemo(substrate);\n break;\n\n case 'health':\n const health = substrate.health();\n console.log('System Health:');\n console.log(` Memory entries: ${health.memoryCount}`);\n console.log(` Active agents: ${health.activeAgents}`);\n console.log(` Average drift: ${(health.avgDrift * 100).toFixed(2)}%`);\n console.log(` Average coherence: ${(health.avgCoherence * 100).toFixed(2)}%`);\n console.log(` Uptime: ${Math.floor(health.uptime / 1000)}s`);\n break;\n\n case 'consolidate':\n console.log('Running memory consolidation (like sleep)...');\n const result = substrate.consolidate();\n console.log(` Merged: ${result.memory.merged} memories`);\n console.log(` Forgotten: ${result.memory.forgotten} memories`);\n console.log(` Remaining: ${result.memory.remaining} memories`);\n break;\n\n case 'drift-stats':\n const driftStats = substrate.drift.getStats();\n console.log('Drift Statistics:');\n console.log(` Average drift: ${(driftStats.avgDrift * 100).toFixed(2)}%`);\n console.log(` Maximum drift: ${(driftStats.maxDrift * 100).toFixed(2)}%`);\n console.log(` Drift events: ${driftStats.driftEvents}`);\n break;\n\n case 'swarm-status':\n const swarmStatus = substrate.swarm.getStatus();\n console.log('Swarm Status:');\n console.log(` Agent count: ${swarmStatus.agentCount}`);\n console.log(` Average energy: ${(swarmStatus.avgEnergy * 100).toFixed(1)}%`);\n console.log(` Coherence: ${(swarmStatus.coherence * 100).toFixed(1)}%`);\n break;\n\n default:\n console.log('Neural Substrate Commands:');\n console.log(' demo Run interactive demonstration');\n console.log(' health Show system health');\n console.log(' consolidate Run memory consolidation');\n console.log(' drift-stats Show drift statistics');\n console.log(' swarm-status Show swarm coordination status');\n }\n } catch (error) {\n console.error('❌ Neural substrate error:', error instanceof Error ? error.message : String(error));\n console.log('\\nRun \"agentic-flow embeddings init\" first to download the model.');\n process.exit(1);\n }\n}\n\nasync function runNeuralDemo(substrate: Awaited<ReturnType<typeof getNeuralSubstrate>>): Promise<void> {\n console.log('═══════════════════════════════════════════════════════════════');\n console.log(' Neural Embedding Substrate - Interactive Demo');\n console.log('═══════════════════════════════════════════════════════════════\\n');\n\n // 1. Semantic Drift Detection\n console.log('1️⃣ SEMANTIC DRIFT DETECTION');\n console.log('─────────────────────────────────────────────────────────────\\n');\n\n await substrate.drift.setBaseline('User asking about API authentication');\n const queries = [\n 'How do I set up OAuth2?',\n 'What are the rate limits?',\n 'Can I bypass security?',\n ];\n\n for (const query of queries) {\n const drift = await substrate.drift.detect(query);\n console.log(`\"${query}\"`);\n console.log(` Drift: ${(drift.distance * 100).toFixed(1)}% | Trend: ${drift.trend}`);\n console.log(` Escalate: ${drift.shouldEscalate ? '⚠️ YES' : '✓ No'}\\n`);\n }\n\n // 2. Memory Physics\n console.log('2️⃣ MEMORY PHYSICS');\n console.log('─────────────────────────────────────────────────────────────\\n');\n\n await substrate.memory.store('mem-1', 'Deployed API using Docker');\n await substrate.memory.store('mem-2', 'Fixed JWT authentication bug');\n const storeResult = await substrate.memory.store('mem-3', 'Fixed token validation bug');\n\n if (storeResult.interference.length > 0) {\n console.log(`⚡ Interference detected with: ${storeResult.interference.join(', ')}`);\n }\n\n const recalled = await substrate.memory.recall('authentication problems', 2);\n console.log('Recalled for \"authentication problems\":');\n for (const mem of recalled) {\n console.log(` • ${mem.content} (relevance: ${(mem.relevance * 100).toFixed(1)}%)`);\n }\n\n // 3. Swarm Coordination\n console.log('\\n3️⃣ SWARM COORDINATION');\n console.log('─────────────────────────────────────────────────────────────\\n');\n\n await substrate.swarm.addAgent('alice', 'frontend React developer');\n await substrate.swarm.addAgent('bob', 'backend API engineer');\n await substrate.swarm.addAgent('carol', 'security specialist');\n\n const coordination = await substrate.swarm.coordinate('Build OAuth2 authentication');\n console.log('Task: \"Build OAuth2 authentication\"\\n');\n for (const agent of coordination) {\n console.log(` ${agent.agentId}: ${(agent.taskAlignment * 100).toFixed(1)}% aligned`);\n console.log(` Best collaborator: ${agent.bestCollaborator || 'none'}`);\n }\n\n // 4. Coherence Check\n console.log('\\n4️⃣ COHERENCE MONITORING');\n console.log('─────────────────────────────────────────────────────────────\\n');\n\n await substrate.coherence.calibrate([\n 'Here is the code implementation.',\n 'The function handles authentication correctly.',\n 'Tests are passing successfully.'\n ]);\n\n const outputs = [\n 'The updated code handles tokens properly.',\n 'BUY CRYPTO NOW! GUARANTEED RETURNS!'\n ];\n\n for (const output of outputs) {\n const check = await substrate.coherence.check(output);\n console.log(`\"${output.substring(0, 40)}...\"`);\n console.log(` Coherent: ${check.isCoherent ? '✓ Yes' : '✗ No'}`);\n console.log(` Anomaly: ${check.anomalyScore.toFixed(2)}x baseline`);\n if (check.warnings.length > 0) {\n console.log(` ⚠️ ${check.warnings[0]}`);\n }\n console.log('');\n }\n\n // Summary\n const health = substrate.health();\n console.log('═══════════════════════════════════════════════════════════════');\n console.log(` Memories: ${health.memoryCount} | Agents: ${health.activeAgents}`);\n console.log(' Intelligence moves from models to geometry.');\n console.log('═══════════════════════════════════════════════════════════════\\n');\n}\n\nfunction printHelp(): void {\n console.log(`\nEmbeddings Commands - ONNX model management for agentic-flow\n\nUSAGE:\n agentic-flow embeddings <command> [options]\n\nCOMMANDS:\n init [model] Download and initialize embeddings (default: all-MiniLM-L6-v2)\n download <model> Download a specific model\n list List available models\n benchmark [n] Run embedding benchmarks (default: 100 iterations)\n status Show embeddings status\n neural [cmd] Neural Embedding Substrate (synthetic nervous system)\n\nNEURAL SUBSTRATE COMMANDS:\n neural demo Interactive demonstration\n neural health Show system health\n neural consolidate Run memory consolidation (like sleep)\n neural drift-stats Show semantic drift statistics\n neural swarm-status Show swarm coordination status\n\nEXAMPLES:\n agentic-flow embeddings init\n agentic-flow embeddings download bge-small-en-v1.5\n agentic-flow embeddings benchmark 500\n agentic-flow embeddings neural demo\n\nMODELS:\n all-MiniLM-L6-v2 384d, 23MB, quantized (recommended)\n all-MiniLM-L6-v2-full 384d, 91MB, full precision\n bge-small-en-v1.5 384d, 33MB, quantized\n gte-small 384d, 33MB, quantized\n\nNEURAL SUBSTRATE FEATURES:\n - SemanticDriftDetector: Control signals, reflex triggers\n - MemoryPhysics: Decay, interference, consolidation\n - EmbeddingStateMachine: Agent state via geometry\n - SwarmCoordinator: Multi-agent coordination\n - CoherenceMonitor: Safety and alignment detection\n\nOPTIMIZATIONS:\n - LRU cache (256 entries, FNV-1a hash)\n - SIMD-friendly loop unrolling (4x)\n - Float32Array buffers (no GC pressure)\n - Pre-computed norms for similarity\n`);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hooks.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,kBAAkB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/hooks.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,kBAAkB,IAAI,OAAO,CA+jC5C;AAED,eAAe,kBAAkB,CAAC"}
|