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.
Files changed (316) hide show
  1. package/.claude/settings.json +133 -9
  2. package/.claude/skills/agentic-flow-quickstart/skill.md +69 -0
  3. package/.claude/skills/hooks-automation/skill.md +155 -0
  4. package/.claude/skills/memory-patterns/skill.md +110 -0
  5. package/.claude/skills/sparc-methodology/skill.md +137 -0
  6. package/.claude/skills/swarm-coordination/skill.md +94 -0
  7. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  8. package/.claude/skills/worker-integration/skill.md +154 -0
  9. package/.claude/statusline.mjs +109 -0
  10. package/.claude/statusline.sh +71 -0
  11. package/README.md +1797 -624
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/agentdb/index.d.ts +2 -0
  14. package/dist/agentdb/index.d.ts.map +1 -1
  15. package/dist/agentdb/index.js +5 -0
  16. package/dist/agentdb/index.js.map +1 -1
  17. package/dist/agentdb/prerequisites.d.ts +25 -0
  18. package/dist/agentdb/prerequisites.d.ts.map +1 -0
  19. package/dist/agentdb/prerequisites.js +180 -0
  20. package/dist/agentdb/prerequisites.js.map +1 -0
  21. package/dist/benchmarks/embeddings-benchmark.d.ts +38 -0
  22. package/dist/benchmarks/embeddings-benchmark.d.ts.map +1 -0
  23. package/dist/benchmarks/embeddings-benchmark.js +282 -0
  24. package/dist/benchmarks/embeddings-benchmark.js.map +1 -0
  25. package/dist/billing/mcp/tools.js +1 -0
  26. package/dist/billing/mcp/tools.js.map +1 -1
  27. package/dist/cli/commands/embeddings.d.ts +12 -0
  28. package/dist/cli/commands/embeddings.d.ts.map +1 -0
  29. package/dist/cli/commands/embeddings.js +386 -0
  30. package/dist/cli/commands/embeddings.js.map +1 -0
  31. package/dist/cli/commands/hooks.d.ts.map +1 -1
  32. package/dist/cli/commands/hooks.js +79 -4
  33. package/dist/cli/commands/hooks.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +8 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +514 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/workers.d.ts +9 -0
  39. package/dist/cli/commands/workers.d.ts.map +1 -0
  40. package/dist/cli/commands/workers.js +991 -0
  41. package/dist/cli/commands/workers.js.map +1 -0
  42. package/dist/cli/config-wizard.d.ts.map +1 -1
  43. package/dist/cli/config-wizard.js +47 -25
  44. package/dist/cli/config-wizard.js.map +1 -1
  45. package/dist/cli-proxy.js +89 -1
  46. package/dist/cli-proxy.js.map +1 -1
  47. package/dist/core/agentdb-fast.js +3 -3
  48. package/dist/core/agentdb-fast.js.map +1 -1
  49. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  50. package/dist/core/agentdb-wrapper-enhanced.js +37 -11
  51. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  52. package/dist/core/agentdb-wrapper.d.ts +3 -2
  53. package/dist/core/agentdb-wrapper.d.ts.map +1 -1
  54. package/dist/core/agentdb-wrapper.js +15 -1
  55. package/dist/core/agentdb-wrapper.js.map +1 -1
  56. package/dist/core/attention-native.d.ts +4 -0
  57. package/dist/core/attention-native.d.ts.map +1 -1
  58. package/dist/core/attention-native.js +14 -2
  59. package/dist/core/attention-native.js.map +1 -1
  60. package/dist/core/gnn-wrapper.d.ts.map +1 -1
  61. package/dist/core/gnn-wrapper.js +14 -0
  62. package/dist/core/gnn-wrapper.js.map +1 -1
  63. package/dist/embeddings/index.d.ts +17 -0
  64. package/dist/embeddings/index.d.ts.map +1 -0
  65. package/dist/embeddings/index.js +17 -0
  66. package/dist/embeddings/index.js.map +1 -0
  67. package/dist/embeddings/neural-substrate.d.ts +206 -0
  68. package/dist/embeddings/neural-substrate.d.ts.map +1 -0
  69. package/dist/embeddings/neural-substrate.js +629 -0
  70. package/dist/embeddings/neural-substrate.js.map +1 -0
  71. package/dist/embeddings/optimized-embedder.d.ts +103 -0
  72. package/dist/embeddings/optimized-embedder.d.ts.map +1 -0
  73. package/dist/embeddings/optimized-embedder.js +730 -0
  74. package/dist/embeddings/optimized-embedder.js.map +1 -0
  75. package/dist/examples/embedding-geometry.d.ts +105 -0
  76. package/dist/examples/embedding-geometry.d.ts.map +1 -0
  77. package/dist/examples/embedding-geometry.js +528 -0
  78. package/dist/examples/embedding-geometry.js.map +1 -0
  79. package/dist/federation/SecurityManager.d.ts +11 -2
  80. package/dist/federation/SecurityManager.d.ts.map +1 -1
  81. package/dist/federation/SecurityManager.js +50 -17
  82. package/dist/federation/SecurityManager.js.map +1 -1
  83. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  84. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  85. package/dist/hooks/swarm-learning-optimizer.js +5 -5
  86. package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
  87. package/dist/index.d.ts +5 -3
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +89 -51
  90. package/dist/index.js.map +1 -1
  91. package/dist/intelligence/IntelligenceStore.d.ts +35 -26
  92. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
  93. package/dist/intelligence/IntelligenceStore.js +308 -123
  94. package/dist/intelligence/IntelligenceStore.js.map +1 -1
  95. package/dist/intelligence/RuVectorIntelligence.d.ts +26 -1
  96. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
  97. package/dist/intelligence/RuVectorIntelligence.js +49 -10
  98. package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
  99. package/dist/intelligence/agent-booster-enhanced.d.ts +1 -0
  100. package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
  101. package/dist/intelligence/agent-booster-enhanced.js +24 -3
  102. package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
  103. package/dist/intelligence/index.d.ts +29 -3
  104. package/dist/intelligence/index.d.ts.map +1 -1
  105. package/dist/intelligence/index.js +13 -3
  106. package/dist/intelligence/index.js.map +1 -1
  107. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  108. package/dist/mcp/claudeFlowSdkServer.js +162 -115
  109. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  110. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
  111. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -1
  112. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
  113. package/dist/mcp/fastmcp/tools/swarm/init.js +36 -7
  114. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
  115. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
  116. package/dist/mcp/fastmcp/tools/swarm/spawn.js +47 -8
  117. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
  118. package/dist/mcp/tools/agent-booster-tools.d.ts +15 -1
  119. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  120. package/dist/mcp/tools/agent-booster-tools.js +79 -63
  121. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  122. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  123. package/dist/mcp/tools/sona-tools.js +6 -0
  124. package/dist/mcp/tools/sona-tools.js.map +1 -1
  125. package/dist/memory/SharedMemoryPool.d.ts +103 -0
  126. package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
  127. package/dist/memory/SharedMemoryPool.js +263 -0
  128. package/dist/memory/SharedMemoryPool.js.map +1 -0
  129. package/dist/optimizations/agent-booster-migration.d.ts +2 -1
  130. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  131. package/dist/optimizations/agent-booster-migration.js +69 -45
  132. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  133. package/dist/orchestration/index.d.ts +11 -0
  134. package/dist/orchestration/index.d.ts.map +1 -0
  135. package/dist/orchestration/index.js +10 -0
  136. package/dist/orchestration/index.js.map +1 -0
  137. package/dist/orchestration/memory-plane-types.d.ts +23 -0
  138. package/dist/orchestration/memory-plane-types.d.ts.map +1 -0
  139. package/dist/orchestration/memory-plane-types.js +5 -0
  140. package/dist/orchestration/memory-plane-types.js.map +1 -0
  141. package/dist/orchestration/memory-plane.d.ts +41 -0
  142. package/dist/orchestration/memory-plane.d.ts.map +1 -0
  143. package/dist/orchestration/memory-plane.js +84 -0
  144. package/dist/orchestration/memory-plane.js.map +1 -0
  145. package/dist/orchestration/orchestration-client.d.ts +104 -0
  146. package/dist/orchestration/orchestration-client.d.ts.map +1 -0
  147. package/dist/orchestration/orchestration-client.js +94 -0
  148. package/dist/orchestration/orchestration-client.js.map +1 -0
  149. package/dist/orchestration/orchestration-runtime.d.ts +26 -0
  150. package/dist/orchestration/orchestration-runtime.d.ts.map +1 -0
  151. package/dist/orchestration/orchestration-runtime.js +78 -0
  152. package/dist/orchestration/orchestration-runtime.js.map +1 -0
  153. package/dist/orchestration/orchestration-types.d.ts +124 -0
  154. package/dist/orchestration/orchestration-types.d.ts.map +1 -0
  155. package/dist/orchestration/orchestration-types.js +7 -0
  156. package/dist/orchestration/orchestration-types.js.map +1 -0
  157. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  158. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  159. package/dist/proxy/quic-proxy.d.ts +0 -1
  160. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  161. package/dist/proxy/quic-proxy.js +2 -2
  162. package/dist/proxy/quic-proxy.js.map +1 -1
  163. package/dist/reasoningbank/AdvancedMemory.js +1 -1
  164. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  165. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  166. package/dist/reasoningbank/HybridBackend.js +2 -5
  167. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  168. package/dist/reasoningbank/backend-selector.d.ts +11 -1
  169. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  170. package/dist/reasoningbank/backend-selector.js +45 -5
  171. package/dist/reasoningbank/backend-selector.js.map +1 -1
  172. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
  173. package/dist/reasoningbank/core/consolidate.js +113 -45
  174. package/dist/reasoningbank/core/consolidate.js.map +1 -1
  175. package/dist/reasoningbank/index-new.d.ts +1 -6
  176. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  177. package/dist/reasoningbank/index-new.js +1 -6
  178. package/dist/reasoningbank/index-new.js.map +1 -1
  179. package/dist/reasoningbank/index.d.ts +6 -0
  180. package/dist/reasoningbank/index.d.ts.map +1 -1
  181. package/dist/reasoningbank/index.js +6 -13
  182. package/dist/reasoningbank/index.js.map +1 -1
  183. package/dist/reasoningbank/utils/embeddings.d.ts +1 -0
  184. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
  185. package/dist/reasoningbank/utils/embeddings.js +53 -26
  186. package/dist/reasoningbank/utils/embeddings.js.map +1 -1
  187. package/dist/router/index.d.ts +2 -1
  188. package/dist/router/index.d.ts.map +1 -1
  189. package/dist/router/index.js +1 -0
  190. package/dist/router/index.js.map +1 -1
  191. package/dist/router/providers/ollama.d.ts +20 -0
  192. package/dist/router/providers/ollama.d.ts.map +1 -0
  193. package/dist/router/providers/ollama.js +242 -0
  194. package/dist/router/providers/ollama.js.map +1 -0
  195. package/dist/router/providers/onnx-local-optimized.d.ts +2 -0
  196. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
  197. package/dist/router/providers/onnx-local-optimized.js +10 -0
  198. package/dist/router/providers/onnx-local-optimized.js.map +1 -1
  199. package/dist/router/providers/onnx-local.d.ts +1 -0
  200. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  201. package/dist/router/providers/onnx-local.js +22 -5
  202. package/dist/router/providers/onnx-local.js.map +1 -1
  203. package/dist/router/router.d.ts.map +1 -1
  204. package/dist/router/router.js +39 -23
  205. package/dist/router/router.js.map +1 -1
  206. package/dist/sdk/index.d.ts +2 -1
  207. package/dist/sdk/index.d.ts.map +1 -1
  208. package/dist/sdk/index.js +3 -1
  209. package/dist/sdk/index.js.map +1 -1
  210. package/dist/services/embedding-service.js.map +1 -1
  211. package/dist/services/sona-agent-training.d.ts +1 -0
  212. package/dist/services/sona-agent-training.d.ts.map +1 -1
  213. package/dist/services/sona-agent-training.js.map +1 -1
  214. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  215. package/dist/services/sona-agentdb-integration.js +9 -6
  216. package/dist/services/sona-agentdb-integration.js.map +1 -1
  217. package/dist/services/sona-service.d.ts.map +1 -1
  218. package/dist/services/sona-service.js +6 -5
  219. package/dist/services/sona-service.js.map +1 -1
  220. package/dist/utils/cli.d.ts +1 -1
  221. package/dist/utils/cli.d.ts.map +1 -1
  222. package/dist/utils/cli.js +21 -0
  223. package/dist/utils/cli.js.map +1 -1
  224. package/dist/utils/index.d.ts +6 -0
  225. package/dist/utils/index.d.ts.map +1 -0
  226. package/dist/utils/index.js +6 -0
  227. package/dist/utils/index.js.map +1 -0
  228. package/dist/utils/model-cache.d.ts +61 -0
  229. package/dist/utils/model-cache.d.ts.map +1 -0
  230. package/dist/utils/model-cache.js +176 -0
  231. package/dist/utils/model-cache.js.map +1 -0
  232. package/dist/utils/suppress-warnings.d.ts +19 -0
  233. package/dist/utils/suppress-warnings.d.ts.map +1 -0
  234. package/dist/utils/suppress-warnings.js +59 -0
  235. package/dist/utils/suppress-warnings.js.map +1 -0
  236. package/dist/workers/consolidated-phases.d.ts +40 -0
  237. package/dist/workers/consolidated-phases.d.ts.map +1 -0
  238. package/dist/workers/consolidated-phases.js +497 -0
  239. package/dist/workers/consolidated-phases.js.map +1 -0
  240. package/dist/workers/custom-worker-config.d.ts +133 -0
  241. package/dist/workers/custom-worker-config.d.ts.map +1 -0
  242. package/dist/workers/custom-worker-config.js +215 -0
  243. package/dist/workers/custom-worker-config.js.map +1 -0
  244. package/dist/workers/custom-worker-factory.d.ts +89 -0
  245. package/dist/workers/custom-worker-factory.d.ts.map +1 -0
  246. package/dist/workers/custom-worker-factory.js +404 -0
  247. package/dist/workers/custom-worker-factory.js.map +1 -0
  248. package/dist/workers/dispatch-service.d.ts +123 -0
  249. package/dist/workers/dispatch-service.d.ts.map +1 -0
  250. package/dist/workers/dispatch-service.js +1024 -0
  251. package/dist/workers/dispatch-service.js.map +1 -0
  252. package/dist/workers/hooks-integration.d.ts +79 -0
  253. package/dist/workers/hooks-integration.d.ts.map +1 -0
  254. package/dist/workers/hooks-integration.js +286 -0
  255. package/dist/workers/hooks-integration.js.map +1 -0
  256. package/dist/workers/index.d.ts +42 -0
  257. package/dist/workers/index.d.ts.map +1 -0
  258. package/dist/workers/index.js +52 -0
  259. package/dist/workers/index.js.map +1 -0
  260. package/dist/workers/mcp-tools.d.ts +56 -0
  261. package/dist/workers/mcp-tools.d.ts.map +1 -0
  262. package/dist/workers/mcp-tools.js +359 -0
  263. package/dist/workers/mcp-tools.js.map +1 -0
  264. package/dist/workers/phase-executors.d.ts +22 -0
  265. package/dist/workers/phase-executors.d.ts.map +1 -0
  266. package/dist/workers/phase-executors.js +445 -0
  267. package/dist/workers/phase-executors.js.map +1 -0
  268. package/dist/workers/resource-governor.d.ts +75 -0
  269. package/dist/workers/resource-governor.d.ts.map +1 -0
  270. package/dist/workers/resource-governor.js +187 -0
  271. package/dist/workers/resource-governor.js.map +1 -0
  272. package/dist/workers/ruvector-integration.d.ts +163 -0
  273. package/dist/workers/ruvector-integration.d.ts.map +1 -0
  274. package/dist/workers/ruvector-integration.js +543 -0
  275. package/dist/workers/ruvector-integration.js.map +1 -0
  276. package/dist/workers/ruvector-native-integration.d.ts +91 -0
  277. package/dist/workers/ruvector-native-integration.d.ts.map +1 -0
  278. package/dist/workers/ruvector-native-integration.js +254 -0
  279. package/dist/workers/ruvector-native-integration.js.map +1 -0
  280. package/dist/workers/trigger-detector.d.ts +68 -0
  281. package/dist/workers/trigger-detector.d.ts.map +1 -0
  282. package/dist/workers/trigger-detector.js +281 -0
  283. package/dist/workers/trigger-detector.js.map +1 -0
  284. package/dist/workers/types.d.ts +145 -0
  285. package/dist/workers/types.d.ts.map +1 -0
  286. package/dist/workers/types.js +6 -0
  287. package/dist/workers/types.js.map +1 -0
  288. package/dist/workers/worker-agent-integration.d.ts +140 -0
  289. package/dist/workers/worker-agent-integration.d.ts.map +1 -0
  290. package/dist/workers/worker-agent-integration.js +471 -0
  291. package/dist/workers/worker-agent-integration.js.map +1 -0
  292. package/dist/workers/worker-benchmarks.d.ts +88 -0
  293. package/dist/workers/worker-benchmarks.d.ts.map +1 -0
  294. package/dist/workers/worker-benchmarks.js +452 -0
  295. package/dist/workers/worker-benchmarks.js.map +1 -0
  296. package/dist/workers/worker-registry.d.ts +85 -0
  297. package/dist/workers/worker-registry.d.ts.map +1 -0
  298. package/dist/workers/worker-registry.js +547 -0
  299. package/dist/workers/worker-registry.js.map +1 -0
  300. package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
  301. package/package.json +27 -9
  302. package/scripts/postinstall.js +45 -4
  303. package/wasm/reasoningbank/reasoningbank_wasm.js +1 -1
  304. package/wasm/reasoningbank/reasoningbank_wasm_bg.js +54 -54
  305. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
  306. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm.d.ts +4 -3
  307. package/.claude/agents/test-neural.md +0 -14
  308. /package/.claude/agents/analysis/{code-review/analyze-code-quality.md → analyze-code-quality.md} +0 -0
  309. /package/.claude/agents/architecture/{system-design/arch-system-design.md → arch-system-design.md} +0 -0
  310. /package/.claude/agents/data/{ml/data-ml-model.md → data-ml-model.md} +0 -0
  311. /package/.claude/agents/development/{backend/dev-backend-api.md → dev-backend-api.md} +0 -0
  312. /package/.claude/agents/devops/{ci-cd/ops-cicd-github.md → ops-cicd-github.md} +0 -0
  313. /package/.claude/agents/documentation/{api-docs/docs-api-openapi.md → docs-api-openapi.md} +0 -0
  314. /package/.claude/agents/specialized/{mobile/spec-mobile-react-native.md → spec-mobile-react-native.md} +0 -0
  315. /package/.claude/agents/testing/{validation/production-validator.md → production-validator.md} +0 -0
  316. /package/.claude/agents/testing/{unit/tdd-london-swarm.md → tdd-london-swarm.md} +0 -0
@@ -2,6 +2,7 @@
2
2
  * MCP Tools for Billing System
3
3
  * Expose billing operations as MCP tools for Claude integration
4
4
  */
5
+ import { SubscriptionTier, BillingCycle, UsageMetric, CouponType } from '../types.js';
5
6
  export class BillingMCPTools {
6
7
  billing;
7
8
  tools = new Map();
@@ -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":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAStF,MAAM,OAAO,eAAe;IAClB,OAAO,CAAgB;IACvB,KAAK,GAAyB,IAAI,GAAG,EAAE,CAAC;IAEhD,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,aAAa;QACnB,qBAAqB;QACrB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,6BAA6B;YACnC,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;oBAClD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;oBAC/D,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;oBACnE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACnC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC/C;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC;aAChE;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,8BAA8B;YACpC,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;iBACnE;gBACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC;aACxC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3E,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,6BAA6B;YACnC,WAAW,EAAE,uBAAuB;YACpC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC/D;gBACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5E,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,0BAA0B;YAChC,WAAW,EAAE,0BAA0B;YACvC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACnC;gBACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACjF,CAAC;SACF,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBAC5D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACzB;gBACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;aACnE;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACnC;gBACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;aAC7B;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACnE,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,uCAAuC;YACpD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;iBAC7D;gBACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,QAAQ,CAAC;aACvC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE,EAAE;aACf;YACD,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,2BAA2B;YACjC,WAAW,EAAE,sCAAsC;YACnD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;oBAC/D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;iBACpE;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aAC5B;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC;QAEH,eAAe;QACf,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,qBAAqB;YAClC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;oBACzD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAClD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;iBAC/C;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;aACpC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,yBAAyB;YAC/B,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;oBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC3B;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;aACrC;YACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBACxB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5F,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,IAAa;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,MAAW;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAW,EAAE,OAAsB;IACtE,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAErC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,CAAC,OAAO,CAAC;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC","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,CA0/B5C;AAED,eAAe,kBAAkB,CAAC"}
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"}