agentic-flow 2.0.6 → 2.0.8

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 +10 -0
  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 +26 -8
  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
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/cli/commands/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n/**\n * CLI Hooks Commands\n * Provides CLI interface for agentic-flow hook tools\n *\n * NOW WITH FULL RUVECTOR INTELLIGENCE:\n * - @ruvector/sona: Micro-LoRA (~0.05ms), EWC++, Trajectory tracking\n * - @ruvector/attention: MoE, Flash, Hyperbolic, Graph attention\n * - ruvector core: HNSW indexing (150x faster)\n *\n * Available as BOTH:\n * 1. CLI Commands (agentic-flow hooks ...)\n * 2. MCP Tools (via hooks-server.ts)\n */\n\nimport { Command } from 'commander';\nimport * as path from 'path';\n\n// Import hook tools\nimport { hookPreEditTool } from '../../mcp/fastmcp/tools/hooks/pre-edit.js';\nimport { hookPostEditTool } from '../../mcp/fastmcp/tools/hooks/post-edit.js';\nimport { hookPreCommandTool } from '../../mcp/fastmcp/tools/hooks/pre-command.js';\nimport { hookPostCommandTool } from '../../mcp/fastmcp/tools/hooks/post-command.js';\nimport { hookRouteTool } from '../../mcp/fastmcp/tools/hooks/route.js';\nimport { hookExplainTool } from '../../mcp/fastmcp/tools/hooks/explain.js';\nimport { hookPretrainTool } from '../../mcp/fastmcp/tools/hooks/pretrain.js';\nimport { hookBuildAgentsTool } from '../../mcp/fastmcp/tools/hooks/build-agents.js';\nimport { hookMetricsTool } from '../../mcp/fastmcp/tools/hooks/metrics.js';\nimport { hookTransferTool } from '../../mcp/fastmcp/tools/hooks/transfer.js';\n\n// Import intelligence tools (RuVector SONA + Attention + HNSW)\nimport {\n intelligenceRouteTool,\n intelligenceTrajectoryStartTool,\n intelligenceTrajectoryStepTool,\n intelligenceTrajectoryEndTool,\n intelligencePatternStoreTool,\n intelligencePatternSearchTool,\n intelligenceStatsTool,\n intelligenceLearnTool,\n intelligenceAttentionTool\n} from '../../mcp/fastmcp/tools/hooks/intelligence-tools.js';\n\nconst mockContext = {\n onProgress: (update: { progress: number; message: string }) => {\n if (process.env.VERBOSE) {\n console.log(`[${Math.round(update.progress * 100)}%] ${update.message}`);\n }\n }\n};\n\nexport function createHooksCommand(): Command {\n const hooks = new Command('hooks')\n .description('Self-learning intelligence hooks for agent routing and optimization');\n\n // Pre-edit hook\n hooks\n .command('pre-edit <filePath>')\n .description('Get context and agent suggestion before editing a file')\n .option('-t, --task <task>', 'Task description')\n .option('-j, --json', 'Output as JSON')\n .action(async (filePath: string, options: { task?: string; json?: boolean }) => {\n try {\n const result = await hookPreEditTool.execute(\n { filePath, task: options.task },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽÆ Suggested Agent: ${result.suggestedAgent}`);\n console.log(`šŸ“Š Confidence: ${(result.confidence * 100).toFixed(1)}%`);\n if (result.relatedFiles?.length > 0) {\n console.log(`šŸ“ Related Files:`);\n result.relatedFiles.forEach((f: string) => console.log(` - ${f}`));\n }\n console.log(`ā±ļø Latency: ${result.latencyMs}ms`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Post-edit hook\n hooks\n .command('post-edit <filePath>')\n .description('Record edit outcome for learning')\n .option('-s, --success', 'Mark as successful edit')\n .option('-f, --fail', 'Mark as failed edit')\n .option('-a, --agent <agent>', 'Agent that performed the edit')\n .option('-d, --duration <ms>', 'Edit duration in milliseconds', parseInt)\n .option('-e, --error <message>', 'Error message if failed')\n .option('-j, --json', 'Output as JSON')\n .action(async (filePath: string, options: {\n success?: boolean;\n fail?: boolean;\n agent?: string;\n duration?: number;\n error?: string;\n json?: boolean;\n }) => {\n try {\n const success = options.success || !options.fail;\n const result = await hookPostEditTool.execute(\n {\n filePath,\n success,\n agent: options.agent,\n duration: options.duration,\n errorMessage: options.error\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n${success ? 'āœ…' : 'āŒ'} Edit recorded: ${filePath}`);\n console.log(`šŸ“ˆ Pattern updated: ${result.newPatternValue?.toFixed(2) || 'N/A'}`);\n console.log(`šŸ“Š Routing accuracy: ${(result.routingAccuracy * 100).toFixed(1)}%`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pre-command hook\n hooks\n .command('pre-command <command>')\n .description('Assess command risk before execution')\n .option('-j, --json', 'Output as JSON')\n .action(async (command: string, options: { json?: boolean }) => {\n try {\n const result = await hookPreCommandTool.execute({ command }, mockContext);\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n const riskIcon = result.blocked ? '🚫' :\n result.riskCategory === 'safe' ? 'āœ…' :\n result.riskCategory === 'caution' ? 'āš ļø' : 'āŒ';\n console.log(`\\n${riskIcon} Risk Level: ${result.riskCategory.toUpperCase()} (${(result.riskLevel * 100).toFixed(0)}%)`);\n if (result.blocked) {\n console.log(`🚫 Command BLOCKED - dangerous operation detected`);\n } else if (result.approved) {\n console.log(`āœ… Command APPROVED`);\n }\n if (result.suggestions?.length > 0) {\n console.log(`šŸ’” Suggestions:`);\n result.suggestions.forEach((s: string) => console.log(` - ${s}`));\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Post-command hook\n hooks\n .command('post-command <command>')\n .description('Record command outcome for learning')\n .option('-c, --exit-code <code>', 'Exit code', parseInt, 0)\n .option('-o, --stdout <output>', 'Command stdout')\n .option('-e, --stderr <error>', 'Command stderr')\n .option('-j, --json', 'Output as JSON')\n .action(async (command: string, options: {\n exitCode?: number;\n stdout?: string;\n stderr?: string;\n json?: boolean;\n }) => {\n try {\n const result = await hookPostCommandTool.execute(\n {\n command,\n exitCode: options.exitCode ?? 0,\n stdout: options.stdout,\n stderr: options.stderr\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n${result.commandSuccess ? 'āœ…' : 'āŒ'} Command outcome recorded`);\n console.log(`šŸ“š Learned: ${result.learned ? 'Yes' : 'No'}`);\n if (result.errorType) {\n console.log(`šŸ” Error type: ${result.errorType}`);\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Route hook\n hooks\n .command('route <task>')\n .description('Route task to optimal agent using learned patterns')\n .option('-f, --file <filePath>', 'Context file path')\n .option('-e, --explore', 'Enable exploration mode')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n explore?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await hookRouteTool.execute(\n {\n task,\n context: options.file ? { file: options.file } : undefined,\n explore: options.explore\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽÆ Recommended Agent: ${result.agent}`);\n console.log(`šŸ“Š Confidence: ${(result.confidence * 100).toFixed(1)}%`);\n if (result.explored) {\n console.log(`šŸ” Exploration mode: Active`);\n }\n console.log(`\\nšŸ“‹ Routing Factors:`);\n result.factors.forEach((f: { name: string; score: number }) => {\n console.log(` • ${f.name}: ${(f.score * 100).toFixed(0)}%`);\n });\n if (result.alternatives?.length > 0) {\n console.log(`\\nšŸ”„ Alternatives:`);\n result.alternatives.forEach((a: { agent: string; score: number }) => {\n console.log(` - ${a.agent} (${(a.score * 100).toFixed(0)}%)`);\n });\n }\n console.log(`\\nā±ļø Latency: ${result.latencyMs}ms`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Explain hook\n hooks\n .command('explain <task>')\n .description('Explain routing decision with full transparency')\n .option('-f, --file <filePath>', 'Context file path')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n json?: boolean;\n }) => {\n try {\n const result = await hookExplainTool.execute(\n { task, file: options.file },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“ Summary: ${result.summary}`);\n console.log(`\\nšŸŽÆ Recommended: ${result.recommendedAgent}`);\n console.log(`\\nšŸ’” Reasons:`);\n result.reasons.forEach((r: string) => console.log(` • ${r}`));\n console.log(`\\nšŸ† Agent Ranking:`);\n result.ranking.forEach((r: { rank: number; agent: string; score: number }) => {\n console.log(` ${r.rank}. ${r.agent} - ${(r.score * 100).toFixed(1)}%`);\n });\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pretrain hook\n hooks\n .command('pretrain')\n .description('Analyze repository to bootstrap intelligence')\n .option('-d, --depth <n>', 'Git history depth', parseInt, 50)\n .option('--skip-git', 'Skip git history analysis')\n .option('--skip-files', 'Skip file structure analysis')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n depth?: number;\n skipGit?: boolean;\n skipFiles?: boolean;\n json?: boolean;\n }) => {\n try {\n console.log('🧠 Analyzing repository...\\n');\n const result = await hookPretrainTool.execute(\n {\n depth: options.depth ?? 50,\n skipGit: options.skipGit ?? false,\n skipFiles: options.skipFiles ?? false\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š Pretrain Complete!`);\n console.log(` šŸ“ Files analyzed: ${result.filesAnalyzed}`);\n console.log(` 🧩 Patterns created: ${result.patternsCreated}`);\n console.log(` šŸ’¾ Memories stored: ${result.memoriesStored}`);\n console.log(` šŸ”— Co-edits found: ${result.coEditsFound || 0}`);\n if (result.languages?.length > 0) {\n console.log(` 🌐 Languages: ${result.languages.join(', ')}`);\n }\n console.log(` ā±ļø Duration: ${result.durationMs}ms`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Build-agents hook\n hooks\n .command('build-agents')\n .description('Generate optimized agent configurations from pretrain data')\n .option('-f, --focus <mode>', 'Focus mode: quality|speed|security|testing|fullstack', 'quality')\n .option('-o, --output <dir>', 'Output directory', '.claude/agents')\n .option('--format <fmt>', 'Output format: yaml|json', 'yaml')\n .option('--no-prompts', 'Exclude system prompts')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n focus?: string;\n output?: string;\n format?: string;\n prompts?: boolean;\n json?: boolean;\n }) => {\n try {\n console.log(`šŸ—ļø Building agents with focus: ${options.focus}...\\n`);\n const result = await hookBuildAgentsTool.execute(\n {\n focus: options.focus as 'quality' | 'speed' | 'security' | 'testing' | 'fullstack',\n output: options.output,\n format: options.format as 'yaml' | 'json',\n includePrompts: options.prompts !== false\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nāœ… Agents Generated!`);\n console.log(` šŸ“¦ Total: ${result.agentsGenerated}`);\n console.log(` šŸ“‚ Output: ${result.outputDir}`);\n console.log(` šŸŽÆ Focus: ${result.focus}`);\n console.log(`\\n Agents created:`);\n result.agents.forEach((a: string) => console.log(` • ${a}`));\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Metrics hook\n hooks\n .command('metrics')\n .alias('stats')\n .description('View learning metrics and performance dashboard')\n .option('-t, --timeframe <period>', 'Timeframe: 1h|24h|7d|30d', '24h')\n .option('-d, --detailed', 'Show detailed metrics')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n timeframe?: string;\n detailed?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await hookMetricsTool.execute(\n {\n timeframe: options.timeframe as '1h' | '24h' | '7d' | '30d',\n detailed: options.detailed\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š Learning Metrics (${options.timeframe || '24h'})\\n`);\n console.log(`šŸŽÆ Routing:`);\n console.log(` Total routes: ${result.routing.total}`);\n console.log(` Successful: ${result.routing.successful}`);\n console.log(` Accuracy: ${(result.routing.accuracy * 100).toFixed(1)}%`);\n\n console.log(`\\nšŸ“š Learning:`);\n console.log(` Patterns: ${result.learning.patterns}`);\n console.log(` Memories: ${result.learning.memories}`);\n console.log(` Error patterns: ${result.learning.errorPatterns}`);\n\n console.log(`\\nšŸ’š Health: ${result.health.status.toUpperCase()}`);\n if (result.health.issues?.length > 0) {\n console.log(` Issues:`);\n result.health.issues.forEach((i: string) => console.log(` āš ļø ${i}`));\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Transfer hook\n hooks\n .command('transfer <sourceProject>')\n .description('Transfer learned patterns from another project')\n .option('-c, --min-confidence <n>', 'Minimum confidence threshold', parseFloat, 0.7)\n .option('-m, --max-patterns <n>', 'Maximum patterns to transfer', parseInt, 50)\n .option('--mode <mode>', 'Transfer mode: merge|replace|additive', 'merge')\n .option('-j, --json', 'Output as JSON')\n .action(async (sourceProject: string, options: {\n minConfidence?: number;\n maxPatterns?: number;\n mode?: string;\n json?: boolean;\n }) => {\n try {\n console.log(`šŸ“¤ Transferring patterns from: ${sourceProject}...\\n`);\n const result = await hookTransferTool.execute(\n {\n sourceProject,\n minConfidence: options.minConfidence,\n maxPatterns: options.maxPatterns,\n mode: options.mode as 'merge' | 'replace' | 'additive'\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nāœ… Transfer Complete!`);\n console.log(` šŸ“„ Patterns transferred: ${result.transferred}`);\n console.log(` šŸ”„ Patterns adapted: ${result.adapted}`);\n console.log(` šŸŽÆ Mode: ${result.mode}`);\n if (result.targetStack?.length > 0) {\n console.log(` šŸ› ļø Target stack: ${result.targetStack.join(', ')}`);\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Init command (creates .claude/settings.json with hooks)\n hooks\n .command('init')\n .description('Initialize hooks in project with .claude/settings.json')\n .option('--minimal', 'Minimal configuration')\n .option('--force', 'Overwrite existing configuration')\n .option('--no-statusline', 'Skip statusline generation')\n .action(async (options: { minimal?: boolean; force?: boolean; statusline?: boolean }) => {\n try {\n const fs = await import('fs');\n const settingsPath = path.join(process.cwd(), '.claude', 'settings.json');\n const statuslinePath = path.join(process.cwd(), '.claude', 'statusline.mjs');\n const claudeDir = path.dirname(settingsPath);\n\n // Check if exists\n if (fs.existsSync(settingsPath) && !options.force) {\n console.log('āš ļø Settings file already exists. Use --force to overwrite.');\n return;\n }\n\n // Create .claude directory\n if (!fs.existsSync(claudeDir)) {\n fs.mkdirSync(claudeDir, { recursive: true });\n }\n\n // Create statusline.mjs (compact colored format with agent stats)\n if (options.statusline !== false) {\n const statuslineContent = `#!/usr/bin/env node\n// Agentic Flow Intelligence Status Line - Compact Format with Colors\n// Works on Windows, Mac, and Linux - Queries SQLite for real stats\n\nimport { readFileSync, statSync, existsSync } from 'fs';\nimport { execSync } from 'child_process';\n\nconst INTEL_FILE = '.agentic-flow/intelligence.json';\nconst INTEL_DB = '.agentic-flow/intelligence.db';\n\n// Detect dark/light mode\nconst isDarkMode = (() => {\n const colorScheme = process.env.COLORFGBG || '';\n const termBg = process.env.TERM_BACKGROUND || '';\n const vscodeTheme = process.env.VSCODE_TERMINAL_COLOR_THEME || '';\n if (termBg === 'light') return false;\n if (vscodeTheme.toLowerCase().includes('light')) return false;\n if (colorScheme.startsWith('0;') || colorScheme.includes(';15')) return false;\n if (process.env.CLAUDE_CODE_THEME === 'light') return false;\n return true;\n})();\n\n// Color palettes\nconst colors = {\n dark: {\n reset: '\\\\x1b[0m', dim: '\\\\x1b[2m', bold: '\\\\x1b[1m',\n model: '\\\\x1b[38;5;208m', project: '\\\\x1b[38;5;39m', branch: '\\\\x1b[38;5;156m',\n brain: '\\\\x1b[38;5;213m', patterns: '\\\\x1b[38;5;220m', memory: '\\\\x1b[38;5;117m',\n trajectories: '\\\\x1b[38;5;183m', agents: '\\\\x1b[38;5;156m',\n target: '\\\\x1b[38;5;196m', learning: '\\\\x1b[38;5;226m', epsilon: '\\\\x1b[38;5;51m',\n success: '\\\\x1b[38;5;46m', symbol: '\\\\x1b[38;5;245m'\n },\n light: {\n reset: '\\\\x1b[0m', dim: '\\\\x1b[2m', bold: '\\\\x1b[1m',\n model: '\\\\x1b[38;5;166m', project: '\\\\x1b[38;5;27m', branch: '\\\\x1b[38;5;28m',\n brain: '\\\\x1b[38;5;129m', patterns: '\\\\x1b[38;5;136m', memory: '\\\\x1b[38;5;30m',\n trajectories: '\\\\x1b[38;5;91m', agents: '\\\\x1b[38;5;28m',\n target: '\\\\x1b[38;5;160m', learning: '\\\\x1b[38;5;136m', epsilon: '\\\\x1b[38;5;31m',\n success: '\\\\x1b[38;5;28m', symbol: '\\\\x1b[38;5;240m'\n }\n};\nconst c = isDarkMode ? colors.dark : colors.light;\n\nfunction readJson(file) {\n try { return JSON.parse(readFileSync(file, 'utf8')); } catch { return null; }\n}\n\nfunction querySqlite(db, sql) {\n try {\n return execSync(\\`sqlite3 \"\\${db}\" \"\\${sql}\"\\`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 1000 }).trim();\n } catch { return null; }\n}\n\nfunction getGitBranch() {\n try { return execSync('git branch --show-current', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] }).trim(); }\n catch { return ''; }\n}\n\nfunction getProjectName() {\n try { return process.cwd().split('/').pop() || 'project'; } catch { return 'project'; }\n}\n\nfunction formatSize(bytes) {\n if (bytes < 1024) return \\`\\${bytes}B\\`;\n if (bytes < 1024 * 1024) return \\`\\${Math.round(bytes / 1024)}K\\`;\n return \\`\\${(bytes / (1024 * 1024)).toFixed(1)}M\\`;\n}\n\nconst LEARNING_RATE = parseFloat(process.env.AGENTIC_FLOW_LEARNING_RATE || '0.1');\nconst EPSILON = parseFloat(process.env.AGENTIC_FLOW_EPSILON || '0.1');\n\nconst intel = readJson(INTEL_FILE);\nlet dbStats = { totalTrajectories: 0, successfulRoutings: 0, totalRoutings: 0, totalPatterns: 0, totalAgents: 0, activeAgents: 0 };\n\nif (existsSync(INTEL_DB)) {\n const statsRow = querySqlite(INTEL_DB, 'SELECT * FROM stats LIMIT 1');\n if (statsRow) {\n const cols = statsRow.split('|');\n dbStats.totalTrajectories = parseInt(cols[1]) || 0;\n dbStats.totalRoutings = parseInt(cols[3]) || 0;\n dbStats.successfulRoutings = parseInt(cols[4]) || 0;\n dbStats.totalPatterns = parseInt(cols[5]) || 0;\n }\n const trajCount = querySqlite(INTEL_DB, 'SELECT COUNT(*) FROM trajectories');\n if (trajCount) dbStats.totalTrajectories = parseInt(trajCount) || dbStats.totalTrajectories;\n const patternCount = querySqlite(INTEL_DB, 'SELECT COUNT(*) FROM patterns');\n if (patternCount) dbStats.totalPatterns = parseInt(patternCount) || 0;\n}\n\nconst routes = dbStats.totalRoutings > 0 ? dbStats.totalRoutings : (intel?.metrics?.totalRoutes || 0);\nconst patterns = dbStats.totalPatterns > 0 ? dbStats.totalPatterns : (intel?.patterns ? Object.keys(intel.patterns).length : 0);\nconst memories = intel?.memories?.length || 0;\nconst trajectories = dbStats.totalTrajectories;\n\nlet agents = intel?.agents ? Object.keys(intel.agents).length : 66;\nlet activeAgents = intel?.agents ? Object.values(intel.agents).filter(a => a.status === 'active').length : 0;\n\nconst branch = getGitBranch();\nconst project = getProjectName();\n\nlet dbSize = 0;\nif (existsSync(INTEL_DB)) {\n try { dbSize = statSync(INTEL_DB).size; } catch {}\n}\n\nconst lines = [];\n\n// Line 1: Model + project + branch (colored)\nlet line1 = \\`\\${c.model}\\${c.bold}Opus 4.5\\${c.reset}\\`;\nline1 += \\` \\${c.dim}in\\${c.reset} \\${c.project}\\${project}\\${c.reset}\\`;\nif (branch) line1 += \\` \\${c.dim}on\\${c.reset} \\${c.symbol}āŽ‡\\${c.reset} \\${c.branch}\\${branch}\\${c.reset}\\`;\nlines.push(line1);\n\n// Line 2: RuVector stats (compact with symbols)\nlet line2 = \\`\\${c.brain}🧠 RuVector\\${c.reset}\\`;\nline2 += \\` \\${c.symbol}ā—†\\${c.reset} \\${c.patterns}\\${patterns}\\${c.reset} \\${c.dim}patterns\\${c.reset}\\`;\nif (memories > 0 || dbSize > 0) {\n line2 += \\` \\${c.symbol}⬔\\${c.reset} \\${c.memory}\\${memories > 0 ? memories : formatSize(dbSize)}\\${c.reset} \\${c.dim}mem\\${c.reset}\\`;\n}\nif (trajectories > 0) line2 += \\` \\${c.symbol}ā†\\${c.reset}\\${c.trajectories}\\${trajectories}\\${c.reset}\\`;\nif (agents > 0) line2 += \\` \\${c.symbol}#\\${c.reset}\\${c.agents}\\${activeAgents > 0 ? activeAgents + '/' : ''}\\${agents}\\${c.reset}\\`;\nlines.push(line2);\n\n// Line 3: Routing info (compact)\nconst lrPercent = Math.round(LEARNING_RATE * 100);\nconst epsPercent = Math.round(EPSILON * 100);\nlet line3 = \\`\\${c.target}šŸŽÆ Routing\\${c.reset} \\${c.dim}q-learning\\${c.reset}\\`;\nline3 += \\` \\${c.learning}lr:\\${lrPercent}%\\${c.reset} \\${c.epsilon}ε:\\${epsPercent}%\\${c.reset}\\`;\nif (routes > 0) {\n const successRate = dbStats.successfulRoutings > 0 ? Math.round((dbStats.successfulRoutings / routes) * 100) : 100;\n line3 += \\` \\${c.symbol}|\\${c.reset} \\${c.success}\\${successRate}% āœ“\\${c.reset}\\`;\n}\nlines.push(line3);\n\nconsole.log(lines.join('\\\\n'));\n`;\n fs.writeFileSync(statuslinePath, statuslineContent);\n console.log(` šŸ“Š Created: ${statuslinePath}`);\n }\n\n // Create settings\n const settings = {\n env: {\n AGENTIC_FLOW_INTELLIGENCE: 'true',\n AGENTIC_FLOW_LEARNING_RATE: '0.1',\n AGENTIC_FLOW_MEMORY_BACKEND: 'agentdb'\n },\n hooks: {\n PreToolUse: [\n {\n matcher: 'Edit|Write',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks pre-edit \"$TOOL_INPUT_file_path\"'\n }\n ]\n },\n {\n matcher: 'Bash',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks pre-command \"$TOOL_INPUT_command\"'\n }\n ]\n }\n ],\n PostToolUse: [\n {\n matcher: 'Edit|Write',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks post-edit \"$TOOL_INPUT_file_path\" --success'\n }\n ]\n }\n ],\n SessionStart: [\n {\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks intelligence stats'\n }\n ]\n }\n ],\n UserPromptSubmit: [\n {\n hooks: [\n {\n type: 'command',\n timeout: 2000,\n command: 'npx agentic-flow hooks intelligence stats'\n }\n ]\n }\n ]\n },\n permissions: {\n allow: [\n 'Bash(npx:*)',\n 'Bash(agentic-flow:*)',\n 'mcp__agentic-flow'\n ]\n },\n statusLine: options.statusline !== false ? {\n type: 'command',\n command: 'node .claude/statusline.mjs'\n } : undefined\n };\n\n fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));\n console.log('āœ… Hooks initialized!');\n console.log(` šŸ“ Created: ${settingsPath}`);\n console.log('\\nšŸ’” Next steps:');\n console.log(' 1. Run: npx agentic-flow hooks pretrain');\n console.log(' 2. Run: npx agentic-flow hooks build-agents');\n console.log(' 3. Start using Claude Code with intelligent routing!');\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // ============================================\n // RUVECTOR INTELLIGENCE COMMANDS\n // SONA Micro-LoRA + MoE Attention + HNSW\n // ============================================\n\n // Create intelligence subcommand group\n const intelligence = new Command('intelligence')\n .alias('intel')\n .description('RuVector intelligence: SONA Micro-LoRA (~0.05ms) + MoE attention + HNSW (150x faster)');\n\n // Intelligence route command\n intelligence\n .command('route <task>')\n .description('Route task using SONA + MoE + HNSW (150x faster than brute force)')\n .option('-f, --file <path>', 'File context')\n .option('-e, --error <context>', 'Error context for debugging')\n .option('-k, --top-k <n>', 'Number of candidates', parseInt, 5)\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n error?: string;\n topK?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceRouteTool.execute(\n { task, file: options.file, errorContext: options.error, topK: options.topK },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n⚔ RuVector Intelligence Route`);\n console.log(`šŸŽÆ Agent: ${result.agent}`);\n console.log(`šŸ“Š Confidence: ${((result.confidence || 0) * 100).toFixed(1)}%`);\n console.log(`šŸ”§ Engine: ${result.engine}`);\n console.log(`ā±ļø Latency: ${result.latencyMs?.toFixed(2)}ms`);\n if (result.features?.length > 0) {\n console.log(`🧠 Features: ${result.features.join(', ')}`);\n }\n if (result.alternatives?.length > 0) {\n console.log(`\\nšŸ”„ Alternatives:`);\n result.alternatives.forEach((a: any) => {\n console.log(` - ${a.agent} (${((a.confidence || 0) * 100).toFixed(1)}%)`);\n });\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory start command\n intelligence\n .command('trajectory-start <task>')\n .description('Begin SONA trajectory for reinforcement learning')\n .requiredOption('-a, --agent <name>', 'Agent executing the task')\n .option('-c, --context <text>', 'Additional context')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n agent: string;\n context?: string;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceTrajectoryStartTool.execute(\n { task, agent: options.agent, context: options.context },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽ¬ Trajectory Started`);\n console.log(`šŸ“ ID: ${result.trajectoryId}`);\n console.log(`šŸ¤– Agent: ${options.agent}`);\n console.log(`🧠 Features: ${result.features?.join(', ')}`);\n console.log(`\\nšŸ’” Use this ID with trajectory-step and trajectory-end commands`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory step command\n intelligence\n .command('trajectory-step <trajectoryId>')\n .description('Record step in trajectory for reinforcement learning')\n .requiredOption('-a, --action <action>', 'Action taken')\n .requiredOption('-r, --reward <n>', 'Reward signal (-1 to 1)', parseFloat)\n .option('-f, --file <path>', 'File involved')\n .option('--error-fixed', 'Mark as error fix')\n .option('--test-passed', 'Mark as test passed')\n .option('-j, --json', 'Output as JSON')\n .action(async (trajectoryId: string, options: {\n action: string;\n reward: number;\n file?: string;\n errorFixed?: boolean;\n testPassed?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceTrajectoryStepTool.execute(\n {\n trajectoryId: parseInt(trajectoryId),\n action: options.action,\n reward: options.reward,\n file: options.file,\n errorFixed: options.errorFixed,\n testPassed: options.testPassed\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“ Step Recorded`);\n console.log(` Action: ${options.action}`);\n console.log(` Reward: ${options.reward}`);\n console.log(` Trajectory: ${trajectoryId}`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory end command\n intelligence\n .command('trajectory-end <trajectoryId>')\n .description('End trajectory and trigger SONA learning with EWC++')\n .option('-s, --success', 'Mark as successful')\n .option('-f, --fail', 'Mark as failed')\n .option('-q, --quality <n>', 'Quality score (0-1)', parseFloat, 0.8)\n .option('-j, --json', 'Output as JSON')\n .action(async (trajectoryId: string, options: {\n success?: boolean;\n fail?: boolean;\n quality?: number;\n json?: boolean;\n }) => {\n try {\n const success = options.success || !options.fail;\n const result = await intelligenceTrajectoryEndTool.execute(\n { trajectoryId: parseInt(trajectoryId), success, quality: options.quality },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ Trajectory Completed`);\n console.log(` ${success ? 'āœ… Success' : 'āŒ Failed'}`);\n console.log(` Quality: ${(options.quality || 0.8) * 100}%`);\n console.log(` Learning: EWC++ consolidation applied`);\n if (result.learningOutcome) {\n console.log(` Outcome: ${JSON.stringify(result.learningOutcome)}`);\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pattern store command\n intelligence\n .command('pattern-store')\n .description('Store pattern in ReasoningBank (HNSW-indexed)')\n .requiredOption('-t, --task <task>', 'Task description')\n .requiredOption('-r, --resolution <text>', 'How it was resolved')\n .option('-s, --score <n>', 'Success score (0-1)', parseFloat, 0.9)\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n task: string;\n resolution: string;\n score?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligencePatternStoreTool.execute(\n { task: options.task, resolution: options.resolution, reward: options.score || 0.9 },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ’¾ Pattern Stored`);\n console.log(` Task: ${options.task.slice(0, 50)}...`);\n console.log(` Score: ${((options.score || 0.9) * 100).toFixed(0)}%`);\n console.log(` Index: HNSW (150x faster retrieval)`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pattern search command\n intelligence\n .command('pattern-search <query>')\n .description('Search ReasoningBank using HNSW (150x faster)')\n .option('-k, --top-k <n>', 'Number of results', parseInt, 5)\n .option('-m, --min-reward <n>', 'Minimum reward filter', parseFloat)\n .option('-j, --json', 'Output as JSON')\n .action(async (query: string, options: {\n topK?: number;\n minReward?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligencePatternSearchTool.execute(\n { query, topK: options.topK, minReward: options.minReward },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ” Pattern Search Results`);\n console.log(` Query: \"${query.slice(0, 50)}\"`);\n console.log(` Engine: ${result.searchEngine}`);\n console.log(` Found: ${result.count} patterns`);\n if (result.patterns?.length > 0) {\n console.log(`\\n šŸ“‹ Results:`);\n result.patterns.forEach((p: any, i: number) => {\n console.log(` ${i + 1}. [${((p.similarity || 0) * 100).toFixed(0)}%] ${p.resolution?.slice(0, 40)}...`);\n });\n }\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Intelligence stats command\n intelligence\n .command('stats')\n .description('Get RuVector intelligence layer statistics')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: { json?: boolean }) => {\n try {\n const result = await intelligenceStatsTool.execute({}, mockContext);\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š RuVector Intelligence Stats`);\n console.log(`\\n🧠 SONA Engine:`);\n console.log(` Micro-LoRA: ${result.features?.sona?.microLora || 'rank-1 (~0.05ms)'}`);\n console.log(` Base-LoRA: ${result.features?.sona?.baseLora || 'rank-8'}`);\n console.log(` EWC Lambda: ${result.features?.sona?.ewcLambda || 1000.0}`);\n console.log(`\\n⚔ Attention:`);\n console.log(` Type: ${result.features?.attention?.type || 'moe'}`);\n console.log(` Experts: ${result.features?.attention?.experts || 4}`);\n console.log(` Top-K: ${result.features?.attention?.topK || 2}`);\n console.log(`\\nšŸ” HNSW:`);\n console.log(` Enabled: ${result.features?.hnsw?.enabled ?? true}`);\n console.log(` Speedup: ${result.features?.hnsw?.speedup || '150x vs brute-force'}`);\n console.log(`\\nšŸ“ˆ Learning:`);\n console.log(` Trajectories: ${result.persistence?.trajectories ?? result.stats?.trajectoryCount ?? 0}`);\n console.log(` Active: ${result.stats?.activeTrajectories || 0}`);\n console.log(`\\nšŸ’¾ Persistence (SQLite):`);\n console.log(` Backend: ${result.persistence?.backend || 'sqlite'}`);\n console.log(` Routings: ${result.persistence?.routings ?? 0}`);\n console.log(` Patterns: ${result.persistence?.patterns ?? 0}`);\n console.log(` Operations: ${result.persistence?.operations ?? 0}`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Force learning command\n intelligence\n .command('learn')\n .description('Force immediate SONA learning cycle with EWC++ consolidation')\n .option('-r, --reason <text>', 'Reason for forcing learning')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: { reason?: string; json?: boolean }) => {\n try {\n const result = await intelligenceLearnTool.execute(\n { reason: options.reason },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽ“ Learning Cycle Complete`);\n console.log(` ${result.success ? 'āœ…' : 'āŒ'} ${result.message}`);\n console.log(` Reason: ${result.reason || 'manual trigger'}`);\n console.log(` Features: ${result.features?.join(', ')}`);\n console.log(` Latency: ${result.latencyMs?.toFixed(2)}ms`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Attention compute command\n intelligence\n .command('attention <query>')\n .description('Compute attention-weighted similarity using MoE/Flash/Hyperbolic')\n .requiredOption('-c, --candidates <texts...>', 'Candidate texts to score')\n .option('-t, --type <type>', 'Attention type: moe|flash|hyperbolic|graph|dual', 'moe')\n .option('-j, --json', 'Output as JSON')\n .action(async (query: string, options: {\n candidates: string[];\n type?: string;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceAttentionTool.execute(\n {\n query,\n candidates: options.candidates,\n attentionType: options.type as 'moe' | 'flash' | 'hyperbolic' | 'graph' | 'dual'\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n🧠 Attention Scores (${options.type || 'moe'})`);\n console.log(` Query: \"${query.slice(0, 40)}...\"`);\n console.log(`\\n šŸ“Š Results:`);\n result.results?.forEach((r: any, i: number) => {\n const bar = 'ā–ˆ'.repeat(Math.round(r.score * 20));\n console.log(` ${i + 1}. ${bar} ${(r.score * 100).toFixed(1)}% \"${r.text}\"`);\n });\n console.log(`\\n ā±ļø Latency: ${result.latencyMs?.toFixed(2)}ms`);\n }\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Add intelligence subcommand to hooks\n hooks.addCommand(intelligence);\n\n return hooks;\n}\n\nexport default createHooksCommand;\n"]}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/cli/commands/hooks.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAE7E,+DAA+D;AAC/D,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EAC1B,MAAM,qDAAqD,CAAC;AAE7D,MAAM,WAAW,GAAG;IAClB,UAAU,EAAE,CAAC,MAA6C,EAAE,EAAE;QAC5D,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;SAC/B,WAAW,CAAC,qEAAqE,CAAC;SAClF,cAAc,CAAC,IAAI,CAAC,CAAC,mCAAmC;SACxD,MAAM,CAAC,GAAG,EAAE;QACX,yDAAyD;QACzD,KAAK,CAAC,UAAU,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,KAAK;SACF,OAAO,CAAC,qBAAqB,CAAC;SAC9B,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAA0C,EAAE,EAAE;QAC7E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAC1C,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAChC,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBACjC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,KAAK;SACF,OAAO,CAAC,sBAAsB,CAAC;SAC/B,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;SAC3C,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,QAAQ,CAAC;SACxE,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;SAC1D,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAOhC,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAC3C;gBACE,QAAQ;gBACR,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,OAAO,CAAC,KAAK;aAC5B,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,mBAAmB;IACnB,KAAK;SACF,OAAO,CAAC,uBAAuB,CAAC;SAChC,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAA2B,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;YAE1E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACxB,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBACtC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,gBAAgB,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,KAAK;SACF,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,wBAAwB,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC1D,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;SACjD,MAAM,CAAC,sBAAsB,EAAE,gBAAgB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAK/B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAC9C;gBACE,OAAO;gBACP,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;gBAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5D,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,aAAa;IACb,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAI5B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CACxC;gBACE,IAAI;gBACJ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;gBAC1D,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC7C,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAkC,EAAE,EAAE;oBAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAmC,EAAE,EAAE;wBAClE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,KAAK;SACF,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;SACpD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAG5B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAC5B,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAiD,EAAE,EAAE;oBAC3E,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3E,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,KAAK;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC5D,MAAM,CAAC,YAAY,EAAE,2BAA2B,CAAC;SACjD,MAAM,CAAC,cAAc,EAAE,8BAA8B,CAAC;SACtD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAKd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAC3C;gBACE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;gBACjC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,KAAK;aACtC,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,0BAA0B,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,oBAAoB;IACpB,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,oBAAoB,EAAE,sDAAsD,EAAE,SAAS,CAAC;SAC/F,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;SAClE,MAAM,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,CAAC;SAC5D,MAAM,CAAC,cAAc,EAAE,wBAAwB,CAAC;SAChD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAMd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,oCAAoC,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAC9C;gBACE,KAAK,EAAE,OAAO,CAAC,KAAmE;gBAClF,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAyB;gBACzC,cAAc,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK;aAC1C,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,eAAe;IACf,KAAK;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,0BAA0B,EAAE,0BAA0B,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;SACjD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAId,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAC1C;gBACE,SAAS,EAAE,OAAO,CAAC,SAAwC;gBAC3D,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE3E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,sBAAsB,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;gBAEnE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAClE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,gBAAgB;IAChB,KAAK;SACF,OAAO,CAAC,0BAA0B,CAAC;SACnC,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,0BAA0B,EAAE,8BAA8B,EAAE,UAAU,EAAE,GAAG,CAAC;SACnF,MAAM,CAAC,wBAAwB,EAAE,8BAA8B,EAAE,QAAQ,EAAE,EAAE,CAAC;SAC9E,MAAM,CAAC,eAAe,EAAE,uCAAuC,EAAE,OAAO,CAAC;SACzE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,aAAqB,EAAE,OAKrC,EAAE,EAAE;QACH,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,aAAa,OAAO,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAC3C;gBACE,aAAa;gBACb,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,IAAI,EAAE,OAAO,CAAC,IAAwC;aACvD,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0DAA0D;IAC1D,KAAK;SACF,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,WAAW,EAAE,uBAAuB,CAAC;SAC5C,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACrD,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAqE,EAAE,EAAE;QACtF,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;YAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE7C,kBAAkB;YAClB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YAED,2BAA2B;YAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,kEAAkE;YAClE,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuInC,CAAC;gBACQ,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,yCAAyC;YACzC,MAAM,QAAQ,GAAG;gBACf,GAAG,EAAE;oBACH,yBAAyB,EAAE,MAAM;oBACjC,0BAA0B,EAAE,KAAK;oBACjC,2BAA2B,EAAE,SAAS;oBACtC,4BAA4B,EAAE,MAAM;oBACpC,wBAAwB,EAAE,IAAI;iBAC/B;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV;4BACE,OAAO,EAAE,YAAY;4BACrB,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,yDAAyD;iCACnE;6BACF;yBACF;wBACD;4BACE,OAAO,EAAE,MAAM;4BACf,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,0DAA0D;iCACpE;6BACF;yBACF;qBACF;oBACD,WAAW,EAAE;wBACX;4BACE,OAAO,EAAE,YAAY;4BACrB,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,oEAAoE;iCAC9E;6BACF;yBACF;qBACF;oBACD,kBAAkB,EAAE;wBAClB;4BACE,OAAO,EAAE,YAAY;4BACrB,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,0FAA0F;iCACpG;6BACF;yBACF;qBACF;oBACD,YAAY,EAAE;wBACZ;4BACE,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,2CAA2C;iCACrD;6BACF;yBACF;wBACD;4BACE,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,qEAAqE;iCAC/E;6BACF;yBACF;qBACF;oBACD,UAAU,EAAE;wBACV;4BACE,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,+DAA+D;iCACzE;6BACF;yBACF;qBACF;oBACD,gBAAgB,EAAE;wBAChB;4BACE,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,IAAI;oCACb,OAAO,EAAE,2CAA2C;iCACrD;6BACF;yBACF;wBACD;4BACE,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,IAAI;oCACb,UAAU,EAAE,IAAI;oCAChB,OAAO,EAAE,4GAA4G;iCACtH;6BACF;yBACF;qBACF;iBACF;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,aAAa;wBACb,sBAAsB;wBACtB,iBAAiB;wBACjB,mBAAmB;wBACnB,kBAAkB;wBAClB,gBAAgB;qBACjB;iBACF;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC;oBACzC,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6BAA6B;iBACvC,CAAC,CAAC,CAAC,SAAS;aACd,CAAC;YAEF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+CAA+C;IAC/C,iCAAiC;IACjC,yCAAyC;IACzC,+CAA+C;IAE/C,uCAAuC;IACvC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC;SAC7C,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,uFAAuF,CAAC,CAAC;IAExG,6BAA6B;IAC7B,YAAY;SACT,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,mEAAmE,CAAC;SAChF,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;SAC3C,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC9D,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAK5B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAChD,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAC7E,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,IAAI,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,2BAA2B;IAC3B,YAAY;SACT,OAAO,CAAC,yBAAyB,CAAC;SAClC,WAAW,CAAC,kDAAkD,CAAC;SAC/D,cAAc,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;SACpD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAI5B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,OAAO,CAC1D,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EACxD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,YAAY;SACT,OAAO,CAAC,gCAAgC,CAAC;SACzC,WAAW,CAAC,sDAAsD,CAAC;SACnE,cAAc,CAAC,uBAAuB,EAAE,cAAc,CAAC;SACvD,cAAc,CAAC,kBAAkB,EAAE,yBAAyB,EAAE,UAAU,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,eAAe,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC5C,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAC9C,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,OAOpC,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,8BAA8B,CAAC,OAAO,CACzD;gBACE,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yBAAyB;IACzB,YAAY;SACT,OAAO,CAAC,+BAA+B,CAAC;SACxC,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;SAC7C,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,CAAC;SACnE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,OAKpC,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CACxD,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAC3E,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,wBAAwB;IACxB,YAAY;SACT,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,cAAc,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SACvD,cAAc,CAAC,yBAAyB,EAAE,qBAAqB,CAAC;SAChE,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,CAAC;SACjE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAKd,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,OAAO,CACvD,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,EAAE,EACpF,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yBAAyB;IACzB,YAAY;SACT,OAAO,CAAC,wBAAwB,CAAC;SACjC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC3D,MAAM,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,UAAU,CAAC;SACnE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAI7B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,CACxD,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,EAC3D,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;oBAChC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;wBAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAC5G,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,6BAA6B;IAC7B,YAAY;SACT,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;YAEpE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,kBAAkB,EAAE,CAAC,CAAC;gBACxF,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,qBAAqB,EAAE,CAAC,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,WAAW,EAAE,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1G,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,kBAAkB,IAAI,CAAC,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,WAAW,EAAE,UAAU,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,yBAAyB;IACzB,YAAY;SACT,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,8DAA8D,CAAC;SAC3E,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,OAA4C,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAChD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAC1B,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,4BAA4B;IAC5B,YAAY;SACT,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,kEAAkE,CAAC;SAC/E,cAAc,CAAC,6BAA6B,EAAE,0BAA0B,CAAC;SACzE,MAAM,CAAC,mBAAmB,EAAE,iDAAiD,EAAE,KAAK,CAAC;SACrF,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAI7B,EAAE,EAAE;QACH,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,OAAO,CACpD;gBACE,KAAK;gBACL,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,IAAyD;aACjF,EACD,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAChC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;oBAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uCAAuC;IACvC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAE/B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAe,kBAAkB,CAAC;AAElC,oCAAoC;AACpC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,IAAI,WAAW,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC","sourcesContent":["#!/usr/bin/env node\n/**\n * CLI Hooks Commands\n * Provides CLI interface for agentic-flow hook tools\n *\n * NOW WITH FULL RUVECTOR INTELLIGENCE:\n * - @ruvector/sona: Micro-LoRA (~0.05ms), EWC++, Trajectory tracking\n * - @ruvector/attention: MoE, Flash, Hyperbolic, Graph attention\n * - ruvector core: HNSW indexing (150x faster)\n *\n * Available as BOTH:\n * 1. CLI Commands (agentic-flow hooks ...)\n * 2. MCP Tools (via hooks-server.ts)\n */\n\nimport { Command } from 'commander';\nimport * as path from 'path';\n\n// Import hook tools\nimport { hookPreEditTool } from '../../mcp/fastmcp/tools/hooks/pre-edit.js';\nimport { hookPostEditTool } from '../../mcp/fastmcp/tools/hooks/post-edit.js';\nimport { hookPreCommandTool } from '../../mcp/fastmcp/tools/hooks/pre-command.js';\nimport { hookPostCommandTool } from '../../mcp/fastmcp/tools/hooks/post-command.js';\nimport { hookRouteTool } from '../../mcp/fastmcp/tools/hooks/route.js';\nimport { hookExplainTool } from '../../mcp/fastmcp/tools/hooks/explain.js';\nimport { hookPretrainTool } from '../../mcp/fastmcp/tools/hooks/pretrain.js';\nimport { hookBuildAgentsTool } from '../../mcp/fastmcp/tools/hooks/build-agents.js';\nimport { hookMetricsTool } from '../../mcp/fastmcp/tools/hooks/metrics.js';\nimport { hookTransferTool } from '../../mcp/fastmcp/tools/hooks/transfer.js';\n\n// Import intelligence tools (RuVector SONA + Attention + HNSW)\nimport {\n intelligenceRouteTool,\n intelligenceTrajectoryStartTool,\n intelligenceTrajectoryStepTool,\n intelligenceTrajectoryEndTool,\n intelligencePatternStoreTool,\n intelligencePatternSearchTool,\n intelligenceStatsTool,\n intelligenceLearnTool,\n intelligenceAttentionTool\n} from '../../mcp/fastmcp/tools/hooks/intelligence-tools.js';\n\nconst mockContext = {\n onProgress: (update: { progress: number; message: string }) => {\n if (process.env.VERBOSE) {\n console.log(`[${Math.round(update.progress * 100)}%] ${update.message}`);\n }\n }\n};\n\nexport function createHooksCommand(): Command {\n const hooks = new Command('hooks')\n .description('Self-learning intelligence hooks for agent routing and optimization')\n .addHelpCommand(true) // Enable 'hooks help <subcommand>'\n .action(() => {\n // Default action when no subcommand provided - show help\n hooks.outputHelp();\n });\n\n // Pre-edit hook\n hooks\n .command('pre-edit <filePath>')\n .description('Get context and agent suggestion before editing a file')\n .option('-t, --task <task>', 'Task description')\n .option('-j, --json', 'Output as JSON')\n .action(async (filePath: string, options: { task?: string; json?: boolean }) => {\n try {\n const result = await hookPreEditTool.execute(\n { filePath, task: options.task },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽÆ Suggested Agent: ${result.suggestedAgent}`);\n console.log(`šŸ“Š Confidence: ${(result.confidence * 100).toFixed(1)}%`);\n if (result.relatedFiles?.length > 0) {\n console.log(`šŸ“ Related Files:`);\n result.relatedFiles.forEach((f: string) => console.log(` - ${f}`));\n }\n console.log(`ā±ļø Latency: ${result.latencyMs}ms`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Post-edit hook\n hooks\n .command('post-edit <filePath>')\n .description('Record edit outcome for learning')\n .option('-s, --success', 'Mark as successful edit')\n .option('-f, --fail', 'Mark as failed edit')\n .option('-a, --agent <agent>', 'Agent that performed the edit')\n .option('-d, --duration <ms>', 'Edit duration in milliseconds', parseInt)\n .option('-e, --error <message>', 'Error message if failed')\n .option('-j, --json', 'Output as JSON')\n .action(async (filePath: string, options: {\n success?: boolean;\n fail?: boolean;\n agent?: string;\n duration?: number;\n error?: string;\n json?: boolean;\n }) => {\n try {\n const success = options.success || !options.fail;\n const result = await hookPostEditTool.execute(\n {\n filePath,\n success,\n agent: options.agent,\n duration: options.duration,\n errorMessage: options.error\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n${success ? 'āœ…' : 'āŒ'} Edit recorded: ${filePath}`);\n console.log(`šŸ“ˆ Pattern updated: ${result.newPatternValue?.toFixed(2) || 'N/A'}`);\n console.log(`šŸ“Š Routing accuracy: ${(result.routingAccuracy * 100).toFixed(1)}%`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pre-command hook\n hooks\n .command('pre-command <command>')\n .description('Assess command risk before execution')\n .option('-j, --json', 'Output as JSON')\n .action(async (command: string, options: { json?: boolean }) => {\n try {\n const result = await hookPreCommandTool.execute({ command }, mockContext);\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n const riskIcon = result.blocked ? '🚫' :\n result.riskCategory === 'safe' ? 'āœ…' :\n result.riskCategory === 'caution' ? 'āš ļø' : 'āŒ';\n console.log(`\\n${riskIcon} Risk Level: ${result.riskCategory.toUpperCase()} (${(result.riskLevel * 100).toFixed(0)}%)`);\n if (result.blocked) {\n console.log(`🚫 Command BLOCKED - dangerous operation detected`);\n } else if (result.approved) {\n console.log(`āœ… Command APPROVED`);\n }\n if (result.suggestions?.length > 0) {\n console.log(`šŸ’” Suggestions:`);\n result.suggestions.forEach((s: string) => console.log(` - ${s}`));\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Post-command hook\n hooks\n .command('post-command <command>')\n .description('Record command outcome for learning')\n .option('-c, --exit-code <code>', 'Exit code', parseInt, 0)\n .option('-o, --stdout <output>', 'Command stdout')\n .option('-e, --stderr <error>', 'Command stderr')\n .option('-j, --json', 'Output as JSON')\n .action(async (command: string, options: {\n exitCode?: number;\n stdout?: string;\n stderr?: string;\n json?: boolean;\n }) => {\n try {\n const result = await hookPostCommandTool.execute(\n {\n command,\n exitCode: options.exitCode ?? 0,\n stdout: options.stdout,\n stderr: options.stderr\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n${result.commandSuccess ? 'āœ…' : 'āŒ'} Command outcome recorded`);\n console.log(`šŸ“š Learned: ${result.learned ? 'Yes' : 'No'}`);\n if (result.errorType) {\n console.log(`šŸ” Error type: ${result.errorType}`);\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Route hook\n hooks\n .command('route <task>')\n .description('Route task to optimal agent using learned patterns')\n .option('-f, --file <filePath>', 'Context file path')\n .option('-e, --explore', 'Enable exploration mode')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n explore?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await hookRouteTool.execute(\n {\n task,\n context: options.file ? { file: options.file } : undefined,\n explore: options.explore\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽÆ Recommended Agent: ${result.agent}`);\n console.log(`šŸ“Š Confidence: ${(result.confidence * 100).toFixed(1)}%`);\n if (result.explored) {\n console.log(`šŸ” Exploration mode: Active`);\n }\n console.log(`\\nšŸ“‹ Routing Factors:`);\n result.factors.forEach((f: { name: string; score: number }) => {\n console.log(` • ${f.name}: ${(f.score * 100).toFixed(0)}%`);\n });\n if (result.alternatives?.length > 0) {\n console.log(`\\nšŸ”„ Alternatives:`);\n result.alternatives.forEach((a: { agent: string; score: number }) => {\n console.log(` - ${a.agent} (${(a.score * 100).toFixed(0)}%)`);\n });\n }\n console.log(`\\nā±ļø Latency: ${result.latencyMs}ms`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Explain hook\n hooks\n .command('explain <task>')\n .description('Explain routing decision with full transparency')\n .option('-f, --file <filePath>', 'Context file path')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n json?: boolean;\n }) => {\n try {\n const result = await hookExplainTool.execute(\n { task, file: options.file },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“ Summary: ${result.summary}`);\n console.log(`\\nšŸŽÆ Recommended: ${result.recommendedAgent}`);\n console.log(`\\nšŸ’” Reasons:`);\n result.reasons.forEach((r: string) => console.log(` • ${r}`));\n console.log(`\\nšŸ† Agent Ranking:`);\n result.ranking.forEach((r: { rank: number; agent: string; score: number }) => {\n console.log(` ${r.rank}. ${r.agent} - ${(r.score * 100).toFixed(1)}%`);\n });\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pretrain hook\n hooks\n .command('pretrain')\n .description('Analyze repository to bootstrap intelligence')\n .option('-d, --depth <n>', 'Git history depth', parseInt, 50)\n .option('--skip-git', 'Skip git history analysis')\n .option('--skip-files', 'Skip file structure analysis')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n depth?: number;\n skipGit?: boolean;\n skipFiles?: boolean;\n json?: boolean;\n }) => {\n try {\n console.log('🧠 Analyzing repository...\\n');\n const result = await hookPretrainTool.execute(\n {\n depth: options.depth ?? 50,\n skipGit: options.skipGit ?? false,\n skipFiles: options.skipFiles ?? false\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š Pretrain Complete!`);\n console.log(` šŸ“ Files analyzed: ${result.filesAnalyzed}`);\n console.log(` 🧩 Patterns created: ${result.patternsCreated}`);\n console.log(` šŸ’¾ Memories stored: ${result.memoriesStored}`);\n console.log(` šŸ”— Co-edits found: ${result.coEditsFound || 0}`);\n if (result.languages?.length > 0) {\n console.log(` 🌐 Languages: ${result.languages.join(', ')}`);\n }\n console.log(` ā±ļø Duration: ${result.durationMs}ms`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Build-agents hook\n hooks\n .command('build-agents')\n .description('Generate optimized agent configurations from pretrain data')\n .option('-f, --focus <mode>', 'Focus mode: quality|speed|security|testing|fullstack', 'quality')\n .option('-o, --output <dir>', 'Output directory', '.claude/agents')\n .option('--format <fmt>', 'Output format: yaml|json', 'yaml')\n .option('--no-prompts', 'Exclude system prompts')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n focus?: string;\n output?: string;\n format?: string;\n prompts?: boolean;\n json?: boolean;\n }) => {\n try {\n console.log(`šŸ—ļø Building agents with focus: ${options.focus}...\\n`);\n const result = await hookBuildAgentsTool.execute(\n {\n focus: options.focus as 'quality' | 'speed' | 'security' | 'testing' | 'fullstack',\n output: options.output,\n format: options.format as 'yaml' | 'json',\n includePrompts: options.prompts !== false\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nāœ… Agents Generated!`);\n console.log(` šŸ“¦ Total: ${result.agentsGenerated}`);\n console.log(` šŸ“‚ Output: ${result.outputDir}`);\n console.log(` šŸŽÆ Focus: ${result.focus}`);\n console.log(`\\n Agents created:`);\n result.agents.forEach((a: string) => console.log(` • ${a}`));\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Metrics hook\n hooks\n .command('metrics')\n .alias('stats')\n .description('View learning metrics and performance dashboard')\n .option('-t, --timeframe <period>', 'Timeframe: 1h|24h|7d|30d', '24h')\n .option('-d, --detailed', 'Show detailed metrics')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n timeframe?: string;\n detailed?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await hookMetricsTool.execute(\n {\n timeframe: options.timeframe as '1h' | '24h' | '7d' | '30d',\n detailed: options.detailed\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š Learning Metrics (${options.timeframe || '24h'})\\n`);\n console.log(`šŸŽÆ Routing:`);\n console.log(` Total routes: ${result.routing.total}`);\n console.log(` Successful: ${result.routing.successful}`);\n console.log(` Accuracy: ${(result.routing.accuracy * 100).toFixed(1)}%`);\n\n console.log(`\\nšŸ“š Learning:`);\n console.log(` Patterns: ${result.learning.patterns}`);\n console.log(` Memories: ${result.learning.memories}`);\n console.log(` Error patterns: ${result.learning.errorPatterns}`);\n\n console.log(`\\nšŸ’š Health: ${result.health.status.toUpperCase()}`);\n if (result.health.issues?.length > 0) {\n console.log(` Issues:`);\n result.health.issues.forEach((i: string) => console.log(` āš ļø ${i}`));\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Transfer hook\n hooks\n .command('transfer <sourceProject>')\n .description('Transfer learned patterns from another project')\n .option('-c, --min-confidence <n>', 'Minimum confidence threshold', parseFloat, 0.7)\n .option('-m, --max-patterns <n>', 'Maximum patterns to transfer', parseInt, 50)\n .option('--mode <mode>', 'Transfer mode: merge|replace|additive', 'merge')\n .option('-j, --json', 'Output as JSON')\n .action(async (sourceProject: string, options: {\n minConfidence?: number;\n maxPatterns?: number;\n mode?: string;\n json?: boolean;\n }) => {\n try {\n console.log(`šŸ“¤ Transferring patterns from: ${sourceProject}...\\n`);\n const result = await hookTransferTool.execute(\n {\n sourceProject,\n minConfidence: options.minConfidence,\n maxPatterns: options.maxPatterns,\n mode: options.mode as 'merge' | 'replace' | 'additive'\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nāœ… Transfer Complete!`);\n console.log(` šŸ“„ Patterns transferred: ${result.transferred}`);\n console.log(` šŸ”„ Patterns adapted: ${result.adapted}`);\n console.log(` šŸŽÆ Mode: ${result.mode}`);\n if (result.targetStack?.length > 0) {\n console.log(` šŸ› ļø Target stack: ${result.targetStack.join(', ')}`);\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Init command (creates .claude/settings.json with hooks)\n hooks\n .command('init')\n .description('Initialize hooks in project with .claude/settings.json')\n .option('--minimal', 'Minimal configuration')\n .option('--force', 'Overwrite existing configuration')\n .option('--no-statusline', 'Skip statusline generation')\n .action(async (options: { minimal?: boolean; force?: boolean; statusline?: boolean }) => {\n try {\n const fs = await import('fs');\n const settingsPath = path.join(process.cwd(), '.claude', 'settings.json');\n const statuslinePath = path.join(process.cwd(), '.claude', 'statusline.mjs');\n const claudeDir = path.dirname(settingsPath);\n\n // Check if exists\n if (fs.existsSync(settingsPath) && !options.force) {\n console.log('āš ļø Settings file already exists. Use --force to overwrite.');\n return;\n }\n\n // Create .claude directory\n if (!fs.existsSync(claudeDir)) {\n fs.mkdirSync(claudeDir, { recursive: true });\n }\n\n // Create statusline.mjs (compact colored format with agent stats)\n if (options.statusline !== false) {\n const statuslineContent = `#!/usr/bin/env node\n// Agentic Flow Intelligence Status Line - Compact Format with Colors\n// Works on Windows, Mac, and Linux - Queries SQLite for real stats\n\nimport { readFileSync, statSync, existsSync } from 'fs';\nimport { execSync } from 'child_process';\n\nconst INTEL_FILE = '.agentic-flow/intelligence.json';\nconst INTEL_DB = '.agentic-flow/intelligence.db';\n\n// Detect dark/light mode\nconst isDarkMode = (() => {\n const colorScheme = process.env.COLORFGBG || '';\n const termBg = process.env.TERM_BACKGROUND || '';\n const vscodeTheme = process.env.VSCODE_TERMINAL_COLOR_THEME || '';\n if (termBg === 'light') return false;\n if (vscodeTheme.toLowerCase().includes('light')) return false;\n if (colorScheme.startsWith('0;') || colorScheme.includes(';15')) return false;\n if (process.env.CLAUDE_CODE_THEME === 'light') return false;\n return true;\n})();\n\n// Color palettes\nconst colors = {\n dark: {\n reset: '\\\\x1b[0m', dim: '\\\\x1b[2m', bold: '\\\\x1b[1m',\n model: '\\\\x1b[38;5;208m', project: '\\\\x1b[38;5;39m', branch: '\\\\x1b[38;5;156m',\n brain: '\\\\x1b[38;5;213m', patterns: '\\\\x1b[38;5;220m', memory: '\\\\x1b[38;5;117m',\n trajectories: '\\\\x1b[38;5;183m', agents: '\\\\x1b[38;5;156m',\n target: '\\\\x1b[38;5;196m', learning: '\\\\x1b[38;5;226m', epsilon: '\\\\x1b[38;5;51m',\n success: '\\\\x1b[38;5;46m', symbol: '\\\\x1b[38;5;245m'\n },\n light: {\n reset: '\\\\x1b[0m', dim: '\\\\x1b[2m', bold: '\\\\x1b[1m',\n model: '\\\\x1b[38;5;166m', project: '\\\\x1b[38;5;27m', branch: '\\\\x1b[38;5;28m',\n brain: '\\\\x1b[38;5;129m', patterns: '\\\\x1b[38;5;136m', memory: '\\\\x1b[38;5;30m',\n trajectories: '\\\\x1b[38;5;91m', agents: '\\\\x1b[38;5;28m',\n target: '\\\\x1b[38;5;160m', learning: '\\\\x1b[38;5;136m', epsilon: '\\\\x1b[38;5;31m',\n success: '\\\\x1b[38;5;28m', symbol: '\\\\x1b[38;5;240m'\n }\n};\nconst c = isDarkMode ? colors.dark : colors.light;\n\nfunction readJson(file) {\n try { return JSON.parse(readFileSync(file, 'utf8')); } catch { return null; }\n}\n\nfunction querySqlite(db, sql) {\n try {\n return execSync(\\`sqlite3 \"\\${db}\" \"\\${sql}\"\\`, { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 1000 }).trim();\n } catch { return null; }\n}\n\nfunction getGitBranch() {\n try { return execSync('git branch --show-current', { encoding: 'utf8', stdio: ['pipe', 'pipe', 'pipe'] }).trim(); }\n catch { return ''; }\n}\n\nfunction getProjectName() {\n try { return process.cwd().split('/').pop() || 'project'; } catch { return 'project'; }\n}\n\nfunction formatSize(bytes) {\n if (bytes < 1024) return \\`\\${bytes}B\\`;\n if (bytes < 1024 * 1024) return \\`\\${Math.round(bytes / 1024)}K\\`;\n return \\`\\${(bytes / (1024 * 1024)).toFixed(1)}M\\`;\n}\n\nconst LEARNING_RATE = parseFloat(process.env.AGENTIC_FLOW_LEARNING_RATE || '0.1');\nconst EPSILON = parseFloat(process.env.AGENTIC_FLOW_EPSILON || '0.1');\n\nconst intel = readJson(INTEL_FILE);\nlet dbStats = { totalTrajectories: 0, successfulRoutings: 0, totalRoutings: 0, totalPatterns: 0, totalAgents: 0, activeAgents: 0 };\n\nif (existsSync(INTEL_DB)) {\n const statsRow = querySqlite(INTEL_DB, 'SELECT * FROM stats LIMIT 1');\n if (statsRow) {\n const cols = statsRow.split('|');\n dbStats.totalTrajectories = parseInt(cols[1]) || 0;\n dbStats.totalRoutings = parseInt(cols[3]) || 0;\n dbStats.successfulRoutings = parseInt(cols[4]) || 0;\n dbStats.totalPatterns = parseInt(cols[5]) || 0;\n }\n const trajCount = querySqlite(INTEL_DB, 'SELECT COUNT(*) FROM trajectories');\n if (trajCount) dbStats.totalTrajectories = parseInt(trajCount) || dbStats.totalTrajectories;\n const patternCount = querySqlite(INTEL_DB, 'SELECT COUNT(*) FROM patterns');\n if (patternCount) dbStats.totalPatterns = parseInt(patternCount) || 0;\n}\n\nconst routes = dbStats.totalRoutings > 0 ? dbStats.totalRoutings : (intel?.metrics?.totalRoutes || 0);\nconst patterns = dbStats.totalPatterns > 0 ? dbStats.totalPatterns : (intel?.patterns ? Object.keys(intel.patterns).length : 0);\nconst memories = intel?.memories?.length || 0;\nconst trajectories = dbStats.totalTrajectories;\n\nlet agents = intel?.agents ? Object.keys(intel.agents).length : 66;\nlet activeAgents = intel?.agents ? Object.values(intel.agents).filter(a => a.status === 'active').length : 0;\n\nconst branch = getGitBranch();\nconst project = getProjectName();\n\nlet dbSize = 0;\nif (existsSync(INTEL_DB)) {\n try { dbSize = statSync(INTEL_DB).size; } catch {}\n}\n\nconst lines = [];\n\n// Line 1: Model + project + branch (colored)\nlet line1 = \\`\\${c.model}\\${c.bold}Opus 4.5\\${c.reset}\\`;\nline1 += \\` \\${c.dim}in\\${c.reset} \\${c.project}\\${project}\\${c.reset}\\`;\nif (branch) line1 += \\` \\${c.dim}on\\${c.reset} \\${c.symbol}āŽ‡\\${c.reset} \\${c.branch}\\${branch}\\${c.reset}\\`;\nlines.push(line1);\n\n// Line 2: RuVector stats (compact with symbols)\nlet line2 = \\`\\${c.brain}🧠 RuVector\\${c.reset}\\`;\nline2 += \\` \\${c.symbol}ā—†\\${c.reset} \\${c.patterns}\\${patterns}\\${c.reset} \\${c.dim}patterns\\${c.reset}\\`;\nif (memories > 0 || dbSize > 0) {\n line2 += \\` \\${c.symbol}⬔\\${c.reset} \\${c.memory}\\${memories > 0 ? memories : formatSize(dbSize)}\\${c.reset} \\${c.dim}mem\\${c.reset}\\`;\n}\nif (trajectories > 0) line2 += \\` \\${c.symbol}ā†\\${c.reset}\\${c.trajectories}\\${trajectories}\\${c.reset}\\`;\nif (agents > 0) line2 += \\` \\${c.symbol}#\\${c.reset}\\${c.agents}\\${activeAgents > 0 ? activeAgents + '/' : ''}\\${agents}\\${c.reset}\\`;\nlines.push(line2);\n\n// Line 3: Routing info (compact)\nconst lrPercent = Math.round(LEARNING_RATE * 100);\nconst epsPercent = Math.round(EPSILON * 100);\nlet line3 = \\`\\${c.target}šŸŽÆ Routing\\${c.reset} \\${c.dim}q-learning\\${c.reset}\\`;\nline3 += \\` \\${c.learning}lr:\\${lrPercent}%\\${c.reset} \\${c.epsilon}ε:\\${epsPercent}%\\${c.reset}\\`;\nif (routes > 0) {\n const successRate = dbStats.successfulRoutings > 0 ? Math.round((dbStats.successfulRoutings / routes) * 100) : 100;\n line3 += \\` \\${c.symbol}|\\${c.reset} \\${c.success}\\${successRate}% āœ“\\${c.reset}\\`;\n}\nlines.push(line3);\n\nconsole.log(lines.join('\\\\n'));\n`;\n fs.writeFileSync(statuslinePath, statuslineContent);\n console.log(` šŸ“Š Created: ${statuslinePath}`);\n }\n\n // Create settings with full capabilities\n const settings = {\n env: {\n AGENTIC_FLOW_INTELLIGENCE: 'true',\n AGENTIC_FLOW_LEARNING_RATE: '0.1',\n AGENTIC_FLOW_MEMORY_BACKEND: 'agentdb',\n AGENTIC_FLOW_WORKERS_ENABLED: 'true',\n AGENTIC_FLOW_MAX_WORKERS: '10'\n },\n hooks: {\n PreToolUse: [\n {\n matcher: 'Edit|Write',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks pre-edit \"$TOOL_INPUT_file_path\"'\n }\n ]\n },\n {\n matcher: 'Bash',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks pre-command \"$TOOL_INPUT_command\"'\n }\n ]\n }\n ],\n PostToolUse: [\n {\n matcher: 'Edit|Write',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks post-edit \"$TOOL_INPUT_file_path\" --success'\n }\n ]\n }\n ],\n PostToolUseFailure: [\n {\n matcher: 'Edit|Write',\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks post-edit \"$TOOL_INPUT_file_path\" --fail --error \"$ERROR_MESSAGE\"'\n }\n ]\n }\n ],\n SessionStart: [\n {\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow hooks intelligence stats'\n }\n ]\n },\n {\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow workers status --active --json 2>/dev/null || true'\n }\n ]\n }\n ],\n SessionEnd: [\n {\n hooks: [\n {\n type: 'command',\n command: 'npx agentic-flow workers cleanup --age 24 2>/dev/null || true'\n }\n ]\n }\n ],\n UserPromptSubmit: [\n {\n hooks: [\n {\n type: 'command',\n timeout: 2000,\n command: 'npx agentic-flow hooks intelligence stats'\n }\n ]\n },\n {\n hooks: [\n {\n type: 'command',\n timeout: 5000,\n background: true,\n command: 'npx agentic-flow workers dispatch-prompt \"$USER_PROMPT\" --session \"$SESSION_ID\" --json 2>/dev/null || true'\n }\n ]\n }\n ]\n },\n permissions: {\n allow: [\n 'Bash(npx:*)',\n 'Bash(agentic-flow:*)',\n 'Bash(npm run:*)',\n 'mcp__agentic-flow',\n 'mcp__claude-flow',\n 'mcp__ruv-swarm'\n ]\n },\n statusLine: options.statusline !== false ? {\n type: 'command',\n command: 'node .claude/statusline.mjs'\n } : undefined\n };\n\n fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));\n console.log('āœ… Hooks initialized!');\n console.log(` šŸ“ Created: ${settingsPath}`);\n console.log('\\nšŸ’” Next steps:');\n console.log(' 1. Run: npx agentic-flow hooks pretrain');\n console.log(' 2. Run: npx agentic-flow hooks build-agents');\n console.log(' 3. Start using Claude Code with intelligent routing!');\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // ============================================\n // RUVECTOR INTELLIGENCE COMMANDS\n // SONA Micro-LoRA + MoE Attention + HNSW\n // ============================================\n\n // Create intelligence subcommand group\n const intelligence = new Command('intelligence')\n .alias('intel')\n .description('RuVector intelligence: SONA Micro-LoRA (~0.05ms) + MoE attention + HNSW (150x faster)');\n\n // Intelligence route command\n intelligence\n .command('route <task>')\n .description('Route task using SONA + MoE + HNSW (150x faster than brute force)')\n .option('-f, --file <path>', 'File context')\n .option('-e, --error <context>', 'Error context for debugging')\n .option('-k, --top-k <n>', 'Number of candidates', parseInt, 5)\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n file?: string;\n error?: string;\n topK?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceRouteTool.execute(\n { task, file: options.file, errorContext: options.error, topK: options.topK },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n⚔ RuVector Intelligence Route`);\n console.log(`šŸŽÆ Agent: ${result.agent}`);\n console.log(`šŸ“Š Confidence: ${((result.confidence || 0) * 100).toFixed(1)}%`);\n console.log(`šŸ”§ Engine: ${result.engine}`);\n console.log(`ā±ļø Latency: ${result.latencyMs?.toFixed(2)}ms`);\n if (result.features?.length > 0) {\n console.log(`🧠 Features: ${result.features.join(', ')}`);\n }\n if (result.alternatives?.length > 0) {\n console.log(`\\nšŸ”„ Alternatives:`);\n result.alternatives.forEach((a: any) => {\n console.log(` - ${a.agent} (${((a.confidence || 0) * 100).toFixed(1)}%)`);\n });\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory start command\n intelligence\n .command('trajectory-start <task>')\n .description('Begin SONA trajectory for reinforcement learning')\n .requiredOption('-a, --agent <name>', 'Agent executing the task')\n .option('-c, --context <text>', 'Additional context')\n .option('-j, --json', 'Output as JSON')\n .action(async (task: string, options: {\n agent: string;\n context?: string;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceTrajectoryStartTool.execute(\n { task, agent: options.agent, context: options.context },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽ¬ Trajectory Started`);\n console.log(`šŸ“ ID: ${result.trajectoryId}`);\n console.log(`šŸ¤– Agent: ${options.agent}`);\n console.log(`🧠 Features: ${result.features?.join(', ')}`);\n console.log(`\\nšŸ’” Use this ID with trajectory-step and trajectory-end commands`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory step command\n intelligence\n .command('trajectory-step <trajectoryId>')\n .description('Record step in trajectory for reinforcement learning')\n .requiredOption('-a, --action <action>', 'Action taken')\n .requiredOption('-r, --reward <n>', 'Reward signal (-1 to 1)', parseFloat)\n .option('-f, --file <path>', 'File involved')\n .option('--error-fixed', 'Mark as error fix')\n .option('--test-passed', 'Mark as test passed')\n .option('-j, --json', 'Output as JSON')\n .action(async (trajectoryId: string, options: {\n action: string;\n reward: number;\n file?: string;\n errorFixed?: boolean;\n testPassed?: boolean;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceTrajectoryStepTool.execute(\n {\n trajectoryId: parseInt(trajectoryId),\n action: options.action,\n reward: options.reward,\n file: options.file,\n errorFixed: options.errorFixed,\n testPassed: options.testPassed\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“ Step Recorded`);\n console.log(` Action: ${options.action}`);\n console.log(` Reward: ${options.reward}`);\n console.log(` Trajectory: ${trajectoryId}`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Trajectory end command\n intelligence\n .command('trajectory-end <trajectoryId>')\n .description('End trajectory and trigger SONA learning with EWC++')\n .option('-s, --success', 'Mark as successful')\n .option('-f, --fail', 'Mark as failed')\n .option('-q, --quality <n>', 'Quality score (0-1)', parseFloat, 0.8)\n .option('-j, --json', 'Output as JSON')\n .action(async (trajectoryId: string, options: {\n success?: boolean;\n fail?: boolean;\n quality?: number;\n json?: boolean;\n }) => {\n try {\n const success = options.success || !options.fail;\n const result = await intelligenceTrajectoryEndTool.execute(\n { trajectoryId: parseInt(trajectoryId), success, quality: options.quality },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ Trajectory Completed`);\n console.log(` ${success ? 'āœ… Success' : 'āŒ Failed'}`);\n console.log(` Quality: ${(options.quality || 0.8) * 100}%`);\n console.log(` Learning: EWC++ consolidation applied`);\n if (result.learningOutcome) {\n console.log(` Outcome: ${JSON.stringify(result.learningOutcome)}`);\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pattern store command\n intelligence\n .command('pattern-store')\n .description('Store pattern in ReasoningBank (HNSW-indexed)')\n .requiredOption('-t, --task <task>', 'Task description')\n .requiredOption('-r, --resolution <text>', 'How it was resolved')\n .option('-s, --score <n>', 'Success score (0-1)', parseFloat, 0.9)\n .option('-j, --json', 'Output as JSON')\n .action(async (options: {\n task: string;\n resolution: string;\n score?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligencePatternStoreTool.execute(\n { task: options.task, resolution: options.resolution, reward: options.score || 0.9 },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ’¾ Pattern Stored`);\n console.log(` Task: ${options.task.slice(0, 50)}...`);\n console.log(` Score: ${((options.score || 0.9) * 100).toFixed(0)}%`);\n console.log(` Index: HNSW (150x faster retrieval)`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Pattern search command\n intelligence\n .command('pattern-search <query>')\n .description('Search ReasoningBank using HNSW (150x faster)')\n .option('-k, --top-k <n>', 'Number of results', parseInt, 5)\n .option('-m, --min-reward <n>', 'Minimum reward filter', parseFloat)\n .option('-j, --json', 'Output as JSON')\n .action(async (query: string, options: {\n topK?: number;\n minReward?: number;\n json?: boolean;\n }) => {\n try {\n const result = await intelligencePatternSearchTool.execute(\n { query, topK: options.topK, minReward: options.minReward },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ” Pattern Search Results`);\n console.log(` Query: \"${query.slice(0, 50)}\"`);\n console.log(` Engine: ${result.searchEngine}`);\n console.log(` Found: ${result.count} patterns`);\n if (result.patterns?.length > 0) {\n console.log(`\\n šŸ“‹ Results:`);\n result.patterns.forEach((p: any, i: number) => {\n console.log(` ${i + 1}. [${((p.similarity || 0) * 100).toFixed(0)}%] ${p.resolution?.slice(0, 40)}...`);\n });\n }\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Intelligence stats command\n intelligence\n .command('stats')\n .description('Get RuVector intelligence layer statistics')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: { json?: boolean }) => {\n try {\n const result = await intelligenceStatsTool.execute({}, mockContext);\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸ“Š RuVector Intelligence Stats`);\n console.log(`\\n🧠 SONA Engine:`);\n console.log(` Micro-LoRA: ${result.features?.sona?.microLora || 'rank-1 (~0.05ms)'}`);\n console.log(` Base-LoRA: ${result.features?.sona?.baseLora || 'rank-8'}`);\n console.log(` EWC Lambda: ${result.features?.sona?.ewcLambda || 1000.0}`);\n console.log(`\\n⚔ Attention:`);\n console.log(` Type: ${result.features?.attention?.type || 'moe'}`);\n console.log(` Experts: ${result.features?.attention?.experts || 4}`);\n console.log(` Top-K: ${result.features?.attention?.topK || 2}`);\n console.log(`\\nšŸ” HNSW:`);\n console.log(` Enabled: ${result.features?.hnsw?.enabled ?? true}`);\n console.log(` Speedup: ${result.features?.hnsw?.speedup || '150x vs brute-force'}`);\n console.log(`\\nšŸ“ˆ Learning:`);\n console.log(` Trajectories: ${result.persistence?.trajectories ?? result.stats?.trajectoryCount ?? 0}`);\n console.log(` Active: ${result.stats?.activeTrajectories || 0}`);\n console.log(`\\nšŸ’¾ Persistence (SQLite):`);\n console.log(` Backend: ${result.persistence?.backend || 'sqlite'}`);\n console.log(` Routings: ${result.persistence?.routings ?? 0}`);\n console.log(` Patterns: ${result.persistence?.patterns ?? 0}`);\n console.log(` Operations: ${result.persistence?.operations ?? 0}`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Force learning command\n intelligence\n .command('learn')\n .description('Force immediate SONA learning cycle with EWC++ consolidation')\n .option('-r, --reason <text>', 'Reason for forcing learning')\n .option('-j, --json', 'Output as JSON')\n .action(async (options: { reason?: string; json?: boolean }) => {\n try {\n const result = await intelligenceLearnTool.execute(\n { reason: options.reason },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\nšŸŽ“ Learning Cycle Complete`);\n console.log(` ${result.success ? 'āœ…' : 'āŒ'} ${result.message}`);\n console.log(` Reason: ${result.reason || 'manual trigger'}`);\n console.log(` Features: ${result.features?.join(', ')}`);\n console.log(` Latency: ${result.latencyMs?.toFixed(2)}ms`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Attention compute command\n intelligence\n .command('attention <query>')\n .description('Compute attention-weighted similarity using MoE/Flash/Hyperbolic')\n .requiredOption('-c, --candidates <texts...>', 'Candidate texts to score')\n .option('-t, --type <type>', 'Attention type: moe|flash|hyperbolic|graph|dual', 'moe')\n .option('-j, --json', 'Output as JSON')\n .action(async (query: string, options: {\n candidates: string[];\n type?: string;\n json?: boolean;\n }) => {\n try {\n const result = await intelligenceAttentionTool.execute(\n {\n query,\n candidates: options.candidates,\n attentionType: options.type as 'moe' | 'flash' | 'hyperbolic' | 'graph' | 'dual'\n },\n mockContext\n );\n\n if (options.json) {\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(`\\n🧠 Attention Scores (${options.type || 'moe'})`);\n console.log(` Query: \"${query.slice(0, 40)}...\"`);\n console.log(`\\n šŸ“Š Results:`);\n result.results?.forEach((r: any, i: number) => {\n const bar = 'ā–ˆ'.repeat(Math.round(r.score * 20));\n console.log(` ${i + 1}. ${bar} ${(r.score * 100).toFixed(1)}% \"${r.text}\"`);\n });\n console.log(`\\n ā±ļø Latency: ${result.latencyMs?.toFixed(2)}ms`);\n }\n process.exit(0);\n } catch (error) {\n console.error('Error:', error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n // Add intelligence subcommand to hooks\n hooks.addCommand(intelligence);\n\n return hooks;\n}\n\nexport default createHooksCommand;\n\n// CLI entry point when run directly\nconst isDirectRun = import.meta.url === `file://${process.argv[1]}`;\nif (isDirectRun) {\n const hooks = createHooksCommand();\n hooks.parse(process.argv);\n}\n"]}
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLI Init Command
4
+ * Creates .claude/ folder structure and configuration files for Claude Code integration
5
+ * Copies all agents, commands, skills, and helpers from the package
6
+ */
7
+ export declare function handleInitCommand(args: string[]): Promise<void>;
8
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAuXH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoIrE"}