@phuetz/code-buddy 0.3.0 → 1.0.0-rc.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 (3605) hide show
  1. package/.codebuddy/README.md +18 -5
  2. package/LICENSE +1 -1
  3. package/README.md +179 -1372
  4. package/dist/advanced/selective-rollback.js +3 -2
  5. package/dist/advanced/selective-rollback.js.map +1 -1
  6. package/dist/advanced/session-replay.js +4 -1
  7. package/dist/advanced/session-replay.js.map +1 -1
  8. package/dist/advanced/three-way-diff.js +3 -1
  9. package/dist/advanced/three-way-diff.js.map +1 -1
  10. package/dist/agent/agent-loader.d.ts +64 -0
  11. package/dist/agent/agent-loader.js +177 -0
  12. package/dist/agent/agent-loader.js.map +1 -0
  13. package/dist/agent/agent-run-contract.d.ts +86 -0
  14. package/dist/agent/agent-run-contract.js +159 -0
  15. package/dist/agent/agent-run-contract.js.map +1 -0
  16. package/dist/agent/architect-mode.js +16 -6
  17. package/dist/agent/architect-mode.js.map +1 -1
  18. package/dist/agent/autonomous/agentic-coding-contract.d.ts +292 -0
  19. package/dist/agent/autonomous/agentic-coding-contract.js +240 -0
  20. package/dist/agent/autonomous/agentic-coding-contract.js.map +1 -0
  21. package/dist/agent/autonomous/agentic-coding-edits.d.ts +6 -0
  22. package/dist/agent/autonomous/agentic-coding-edits.js +229 -0
  23. package/dist/agent/autonomous/agentic-coding-edits.js.map +1 -0
  24. package/dist/agent/autonomous/agentic-coding-paths.d.ts +10 -0
  25. package/dist/agent/autonomous/agentic-coding-paths.js +39 -0
  26. package/dist/agent/autonomous/agentic-coding-paths.js.map +1 -0
  27. package/dist/agent/autonomous/agentic-coding-runner.d.ts +1710 -0
  28. package/dist/agent/autonomous/agentic-coding-runner.js +5851 -0
  29. package/dist/agent/autonomous/agentic-coding-runner.js.map +1 -0
  30. package/dist/agent/autonomous/checkpoint-manager.d.ts +20 -0
  31. package/dist/agent/autonomous/checkpoint-manager.js +30 -0
  32. package/dist/agent/autonomous/checkpoint-manager.js.map +1 -0
  33. package/dist/agent/autonomous/edit-proposal-producer.d.ts +42 -0
  34. package/dist/agent/autonomous/edit-proposal-producer.js +477 -0
  35. package/dist/agent/autonomous/edit-proposal-producer.js.map +1 -0
  36. package/dist/agent/autonomous/fleet-task-types.d.ts +164 -0
  37. package/dist/agent/autonomous/fleet-task-types.js +23 -0
  38. package/dist/agent/autonomous/fleet-task-types.js.map +1 -0
  39. package/dist/agent/autonomous/fleet-tick-handler.d.ts +147 -0
  40. package/dist/agent/autonomous/fleet-tick-handler.js +637 -0
  41. package/dist/agent/autonomous/fleet-tick-handler.js.map +1 -0
  42. package/dist/agent/autonomous/task-decomposer.d.ts +10 -0
  43. package/dist/agent/autonomous/task-decomposer.js +86 -0
  44. package/dist/agent/autonomous/task-decomposer.js.map +1 -0
  45. package/dist/agent/autonomous/verification-loop.d.ts +10 -0
  46. package/dist/agent/autonomous/verification-loop.js +439 -0
  47. package/dist/agent/autonomous/verification-loop.js.map +1 -0
  48. package/dist/agent/background-tasks.js +32 -5
  49. package/dist/agent/background-tasks.js.map +1 -1
  50. package/dist/agent/base-agent.d.ts +33 -0
  51. package/dist/agent/base-agent.js +33 -0
  52. package/dist/agent/base-agent.js.map +1 -1
  53. package/dist/agent/cache-trace.d.ts +1 -1
  54. package/dist/agent/cache-trace.js +8 -3
  55. package/dist/agent/cache-trace.js.map +1 -1
  56. package/dist/agent/codebuddy-agent.d.ts +59 -3
  57. package/dist/agent/codebuddy-agent.js +855 -79
  58. package/dist/agent/codebuddy-agent.js.map +1 -1
  59. package/dist/agent/context/memory-context-builder.js +1 -2
  60. package/dist/agent/context/memory-context-builder.js.map +1 -1
  61. package/dist/agent/council-lesson-proposer.d.ts +49 -0
  62. package/dist/agent/council-lesson-proposer.js +107 -0
  63. package/dist/agent/council-lesson-proposer.js.map +1 -0
  64. package/dist/agent/custom/custom-agent-loader.d.ts +6 -0
  65. package/dist/agent/custom/custom-agent-loader.js +68 -11
  66. package/dist/agent/custom/custom-agent-loader.js.map +1 -1
  67. package/dist/agent/custom/custom-agent-runtime.d.ts +26 -0
  68. package/dist/agent/custom/custom-agent-runtime.js +48 -0
  69. package/dist/agent/custom/custom-agent-runtime.js.map +1 -0
  70. package/dist/agent/custom/custom-agent-tool-filter.d.ts +11 -0
  71. package/dist/agent/custom/custom-agent-tool-filter.js +38 -0
  72. package/dist/agent/custom/custom-agent-tool-filter.js.map +1 -0
  73. package/dist/agent/execution/agent-executor.d.ts +141 -4
  74. package/dist/agent/execution/agent-executor.js +632 -266
  75. package/dist/agent/execution/agent-executor.js.map +1 -1
  76. package/dist/agent/execution/context-pipeline.d.ts +82 -0
  77. package/dist/agent/execution/context-pipeline.js +248 -0
  78. package/dist/agent/execution/context-pipeline.js.map +1 -0
  79. package/dist/agent/execution/post-tool-handlers.d.ts +38 -0
  80. package/dist/agent/execution/post-tool-handlers.js +52 -0
  81. package/dist/agent/execution/post-tool-handlers.js.map +1 -0
  82. package/dist/agent/execution/query-classifier.d.ts +22 -0
  83. package/dist/agent/execution/query-classifier.js +50 -0
  84. package/dist/agent/execution/query-classifier.js.map +1 -0
  85. package/dist/agent/execution/repair-coordinator.d.ts +4 -0
  86. package/dist/agent/execution/repair-coordinator.js +6 -0
  87. package/dist/agent/execution/repair-coordinator.js.map +1 -1
  88. package/dist/agent/execution/retry-fallback.d.ts +4 -7
  89. package/dist/agent/execution/retry-fallback.js +4 -1
  90. package/dist/agent/execution/retry-fallback.js.map +1 -1
  91. package/dist/agent/execution/tool-dependency-graph.js +10 -0
  92. package/dist/agent/execution/tool-dependency-graph.js.map +1 -1
  93. package/dist/agent/execution/tool-hooks.d.ts +73 -0
  94. package/dist/agent/execution/tool-hooks.js +120 -0
  95. package/dist/agent/execution/tool-hooks.js.map +1 -0
  96. package/dist/agent/execution/tool-selection-strategy.js +51 -1
  97. package/dist/agent/execution/tool-selection-strategy.js.map +1 -1
  98. package/dist/agent/execution/turn-signals.d.ts +25 -0
  99. package/dist/agent/execution/turn-signals.js +33 -0
  100. package/dist/agent/execution/turn-signals.js.map +1 -0
  101. package/dist/agent/execution/yield-coordinator.d.ts +32 -0
  102. package/dist/agent/execution/yield-coordinator.js +55 -0
  103. package/dist/agent/execution/yield-coordinator.js.map +1 -0
  104. package/dist/agent/facades/infrastructure-facade.d.ts +20 -0
  105. package/dist/agent/facades/infrastructure-facade.js +59 -0
  106. package/dist/agent/facades/infrastructure-facade.js.map +1 -1
  107. package/dist/agent/facades/message-history-manager.d.ts +43 -0
  108. package/dist/agent/facades/message-history-manager.js +58 -8
  109. package/dist/agent/facades/message-history-manager.js.map +1 -1
  110. package/dist/agent/facades/model-routing-facade.d.ts +64 -0
  111. package/dist/agent/facades/model-routing-facade.js +143 -0
  112. package/dist/agent/facades/model-routing-facade.js.map +1 -1
  113. package/dist/agent/facades/session-facade.d.ts +7 -1
  114. package/dist/agent/facades/session-facade.js +46 -2
  115. package/dist/agent/facades/session-facade.js.map +1 -1
  116. package/dist/agent/file-watcher-trigger.d.ts +65 -0
  117. package/dist/agent/file-watcher-trigger.js +190 -0
  118. package/dist/agent/file-watcher-trigger.js.map +1 -0
  119. package/dist/agent/flow/planning-flow.d.ts +93 -0
  120. package/dist/agent/flow/planning-flow.js +300 -0
  121. package/dist/agent/flow/planning-flow.js.map +1 -0
  122. package/dist/agent/hermes-agent-diagnostics.d.ts +89 -0
  123. package/dist/agent/hermes-agent-diagnostics.js +371 -0
  124. package/dist/agent/hermes-agent-diagnostics.js.map +1 -0
  125. package/dist/agent/hermes-agent-profile.d.ts +72 -0
  126. package/dist/agent/hermes-agent-profile.js +323 -0
  127. package/dist/agent/hermes-agent-profile.js.map +1 -0
  128. package/dist/agent/hermes-browser-backends.d.ts +103 -0
  129. package/dist/agent/hermes-browser-backends.js +641 -0
  130. package/dist/agent/hermes-browser-backends.js.map +1 -0
  131. package/dist/agent/hermes-claw-migrate.d.ts +109 -0
  132. package/dist/agent/hermes-claw-migrate.js +800 -0
  133. package/dist/agent/hermes-claw-migrate.js.map +1 -0
  134. package/dist/agent/hermes-learning-loop-status.d.ts +158 -0
  135. package/dist/agent/hermes-learning-loop-status.js +483 -0
  136. package/dist/agent/hermes-learning-loop-status.js.map +1 -0
  137. package/dist/agent/hermes-memory-providers.d.ts +84 -0
  138. package/dist/agent/hermes-memory-providers.js +375 -0
  139. package/dist/agent/hermes-memory-providers.js.map +1 -0
  140. package/dist/agent/hermes-parity-manifest.d.ts +68 -0
  141. package/dist/agent/hermes-parity-manifest.js +688 -0
  142. package/dist/agent/hermes-parity-manifest.js.map +1 -0
  143. package/dist/agent/hermes-portal-status.d.ts +54 -0
  144. package/dist/agent/hermes-portal-status.js +237 -0
  145. package/dist/agent/hermes-portal-status.js.map +1 -0
  146. package/dist/agent/hermes-protocol-gateways.d.ts +58 -0
  147. package/dist/agent/hermes-protocol-gateways.js +392 -0
  148. package/dist/agent/hermes-protocol-gateways.js.map +1 -0
  149. package/dist/agent/hermes-public-paths.d.ts +2 -0
  150. package/dist/agent/hermes-public-paths.js +16 -0
  151. package/dist/agent/hermes-public-paths.js.map +1 -0
  152. package/dist/agent/hermes-runtime-backends.d.ts +83 -0
  153. package/dist/agent/hermes-runtime-backends.js +710 -0
  154. package/dist/agent/hermes-runtime-backends.js.map +1 -0
  155. package/dist/agent/hermes-skill-package-summary.d.ts +127 -0
  156. package/dist/agent/hermes-skill-package-summary.js +463 -0
  157. package/dist/agent/hermes-skill-package-summary.js.map +1 -0
  158. package/dist/agent/hermes-tool-parity-local.d.ts +5 -0
  159. package/dist/agent/hermes-tool-parity-local.js +51 -0
  160. package/dist/agent/hermes-tool-parity-local.js.map +1 -0
  161. package/dist/agent/hermes-tool-parity-manifest.d.ts +43 -0
  162. package/dist/agent/hermes-tool-parity-manifest.js +682 -0
  163. package/dist/agent/hermes-tool-parity-manifest.js.map +1 -0
  164. package/dist/agent/hermes-toolset-catalog.d.ts +72 -0
  165. package/dist/agent/hermes-toolset-catalog.js +468 -0
  166. package/dist/agent/hermes-toolset-catalog.js.map +1 -0
  167. package/dist/agent/history-repair.js +6 -2
  168. package/dist/agent/history-repair.js.map +1 -1
  169. package/dist/agent/index.js +22 -15
  170. package/dist/agent/index.js.map +1 -1
  171. package/dist/agent/isolation/agent-config.js +4 -3
  172. package/dist/agent/isolation/agent-config.js.map +1 -1
  173. package/dist/agent/isolation/announcements.js +7 -3
  174. package/dist/agent/isolation/announcements.js.map +1 -1
  175. package/dist/agent/learning/background-review-agent.d.ts +140 -0
  176. package/dist/agent/learning/background-review-agent.js +344 -0
  177. package/dist/agent/learning/background-review-agent.js.map +1 -0
  178. package/dist/agent/learning/skill-background-writes.d.ts +98 -0
  179. package/dist/agent/learning/skill-background-writes.js +270 -0
  180. package/dist/agent/learning/skill-background-writes.js.map +1 -0
  181. package/dist/agent/learning/skill-paired-gate.d.ts +51 -0
  182. package/dist/agent/learning/skill-paired-gate.js +63 -0
  183. package/dist/agent/learning/skill-paired-gate.js.map +1 -0
  184. package/dist/agent/learning-agent.d.ts +186 -0
  185. package/dist/agent/learning-agent.js +957 -0
  186. package/dist/agent/learning-agent.js.map +1 -0
  187. package/dist/agent/learning-background-writes.d.ts +82 -0
  188. package/dist/agent/learning-background-writes.js +176 -0
  189. package/dist/agent/learning-background-writes.js.map +1 -0
  190. package/dist/agent/lesson-auto-proposer.d.ts +22 -0
  191. package/dist/agent/lesson-auto-proposer.js +117 -0
  192. package/dist/agent/lesson-auto-proposer.js.map +1 -0
  193. package/dist/agent/lesson-candidate-queue.d.ts +112 -0
  194. package/dist/agent/lesson-candidate-queue.js +250 -0
  195. package/dist/agent/lesson-candidate-queue.js.map +1 -0
  196. package/dist/agent/lesson-provenance.d.ts +58 -0
  197. package/dist/agent/lesson-provenance.js +137 -0
  198. package/dist/agent/lesson-provenance.js.map +1 -0
  199. package/dist/agent/lessons-tracker.d.ts +151 -2
  200. package/dist/agent/lessons-tracker.js +792 -15
  201. package/dist/agent/lessons-tracker.js.map +1 -1
  202. package/dist/agent/loop-detection.d.ts +64 -0
  203. package/dist/agent/loop-detection.js +212 -0
  204. package/dist/agent/loop-detection.js.map +1 -0
  205. package/dist/agent/message-processor.d.ts +4 -2
  206. package/dist/agent/message-processor.js +16 -17
  207. package/dist/agent/message-processor.js.map +1 -1
  208. package/dist/agent/message-queue.d.ts +1 -1
  209. package/dist/agent/message-queue.js +1 -1
  210. package/dist/agent/middleware/auto-observation.d.ts +1 -1
  211. package/dist/agent/middleware/auto-observation.js +10 -6
  212. package/dist/agent/middleware/auto-observation.js.map +1 -1
  213. package/dist/agent/middleware/auto-repair-middleware.d.ts +42 -0
  214. package/dist/agent/middleware/auto-repair-middleware.js +164 -0
  215. package/dist/agent/middleware/auto-repair-middleware.js.map +1 -0
  216. package/dist/agent/middleware/index.d.ts +5 -0
  217. package/dist/agent/middleware/index.js +3 -0
  218. package/dist/agent/middleware/index.js.map +1 -1
  219. package/dist/agent/middleware/learning-first-middleware.d.ts +79 -0
  220. package/dist/agent/middleware/learning-first-middleware.js +271 -0
  221. package/dist/agent/middleware/learning-first-middleware.js.map +1 -0
  222. package/dist/agent/middleware/quality-gate-middleware.d.ts +60 -0
  223. package/dist/agent/middleware/quality-gate-middleware.js +265 -0
  224. package/dist/agent/middleware/quality-gate-middleware.js.map +1 -0
  225. package/dist/agent/middleware/reasoning-middleware.d.ts +94 -0
  226. package/dist/agent/middleware/reasoning-middleware.js +316 -0
  227. package/dist/agent/middleware/reasoning-middleware.js.map +1 -0
  228. package/dist/agent/middleware/tool-filter-middleware.d.ts +45 -0
  229. package/dist/agent/middleware/tool-filter-middleware.js +122 -0
  230. package/dist/agent/middleware/tool-filter-middleware.js.map +1 -0
  231. package/dist/agent/middleware/types.d.ts +22 -0
  232. package/dist/agent/middleware/verification-enforcement.d.ts +42 -0
  233. package/dist/agent/middleware/verification-enforcement.js +143 -0
  234. package/dist/agent/middleware/verification-enforcement.js.map +1 -0
  235. package/dist/agent/middleware/workflow-guard.d.ts +9 -0
  236. package/dist/agent/middleware/workflow-guard.js +136 -4
  237. package/dist/agent/middleware/workflow-guard.js.map +1 -1
  238. package/dist/agent/model-tier.d.ts +75 -0
  239. package/dist/agent/model-tier.js +139 -0
  240. package/dist/agent/model-tier.js.map +1 -0
  241. package/dist/agent/modes/codeact-mode.d.ts +96 -0
  242. package/dist/agent/modes/codeact-mode.js +187 -0
  243. package/dist/agent/modes/codeact-mode.js.map +1 -0
  244. package/dist/agent/multi-agent/agent-memory-integration.d.ts +43 -0
  245. package/dist/agent/multi-agent/agent-memory-integration.js +123 -0
  246. package/dist/agent/multi-agent/agent-memory-integration.js.map +1 -0
  247. package/dist/agent/multi-agent/agent-roles.d.ts +57 -0
  248. package/dist/agent/multi-agent/agent-roles.js +153 -0
  249. package/dist/agent/multi-agent/agent-roles.js.map +1 -0
  250. package/dist/agent/multi-agent/agent-tools.d.ts +104 -0
  251. package/dist/agent/multi-agent/agent-tools.js +381 -0
  252. package/dist/agent/multi-agent/agent-tools.js.map +1 -0
  253. package/dist/agent/multi-agent/agents/coder-agent.d.ts +4 -3
  254. package/dist/agent/multi-agent/agents/coder-agent.js +5 -4
  255. package/dist/agent/multi-agent/agents/coder-agent.js.map +1 -1
  256. package/dist/agent/multi-agent/agents/orchestrator-agent.d.ts +10 -3
  257. package/dist/agent/multi-agent/agents/orchestrator-agent.js +20 -13
  258. package/dist/agent/multi-agent/agents/orchestrator-agent.js.map +1 -1
  259. package/dist/agent/multi-agent/agents/reviewer-agent.d.ts +4 -3
  260. package/dist/agent/multi-agent/agents/reviewer-agent.js +11 -4
  261. package/dist/agent/multi-agent/agents/reviewer-agent.js.map +1 -1
  262. package/dist/agent/multi-agent/agents/tester-agent.d.ts +4 -3
  263. package/dist/agent/multi-agent/agents/tester-agent.js +21 -19
  264. package/dist/agent/multi-agent/agents/tester-agent.js.map +1 -1
  265. package/dist/agent/multi-agent/base-agent.js +17 -1
  266. package/dist/agent/multi-agent/base-agent.js.map +1 -1
  267. package/dist/agent/multi-agent/enhanced-coordination.d.ts +103 -3
  268. package/dist/agent/multi-agent/enhanced-coordination.js +214 -12
  269. package/dist/agent/multi-agent/enhanced-coordination.js.map +1 -1
  270. package/dist/agent/multi-agent/index.d.ts +18 -11
  271. package/dist/agent/multi-agent/index.js +14 -9
  272. package/dist/agent/multi-agent/index.js.map +1 -1
  273. package/dist/agent/multi-agent/metrics-persistence.d.ts +83 -0
  274. package/dist/agent/multi-agent/metrics-persistence.js +152 -0
  275. package/dist/agent/multi-agent/metrics-persistence.js.map +1 -0
  276. package/dist/agent/multi-agent/multi-agent-system.d.ts +72 -6
  277. package/dist/agent/multi-agent/multi-agent-system.js +327 -24
  278. package/dist/agent/multi-agent/multi-agent-system.js.map +1 -1
  279. package/dist/agent/multi-agent/session-fleet-bridge.d.ts +48 -0
  280. package/dist/agent/multi-agent/session-fleet-bridge.js +110 -0
  281. package/dist/agent/multi-agent/session-fleet-bridge.js.map +1 -0
  282. package/dist/agent/multi-agent/session-registry.d.ts +5 -1
  283. package/dist/agent/multi-agent/session-registry.js +58 -1
  284. package/dist/agent/multi-agent/session-registry.js.map +1 -1
  285. package/dist/agent/multi-agent/session-tools.d.ts +5 -1
  286. package/dist/agent/multi-agent/session-tools.js +143 -2
  287. package/dist/agent/multi-agent/session-tools.js.map +1 -1
  288. package/dist/agent/multi-agent/team-manager.d.ts +169 -0
  289. package/dist/agent/multi-agent/team-manager.js +433 -0
  290. package/dist/agent/multi-agent/team-manager.js.map +1 -0
  291. package/dist/agent/multi-agent/types.d.ts +42 -1
  292. package/dist/agent/multi-agent/workflow-cost-manager.d.ts +68 -0
  293. package/dist/agent/multi-agent/workflow-cost-manager.js +153 -0
  294. package/dist/agent/multi-agent/workflow-cost-manager.js.map +1 -0
  295. package/dist/agent/multi-agent/workflow-event-streamer.d.ts +42 -0
  296. package/dist/agent/multi-agent/workflow-event-streamer.js +109 -0
  297. package/dist/agent/multi-agent/workflow-event-streamer.js.map +1 -0
  298. package/dist/agent/multi-agent/workflow-multi-persistence.d.ts +51 -0
  299. package/dist/agent/multi-agent/workflow-multi-persistence.js +188 -0
  300. package/dist/agent/multi-agent/workflow-multi-persistence.js.map +1 -0
  301. package/dist/agent/multi-agent/workflow-orchestrator.d.ts +151 -0
  302. package/dist/agent/multi-agent/workflow-orchestrator.js +494 -0
  303. package/dist/agent/multi-agent/workflow-orchestrator.js.map +1 -0
  304. package/dist/agent/multi-agent/workflow-persistence.d.ts +74 -0
  305. package/dist/agent/multi-agent/workflow-persistence.js +111 -0
  306. package/dist/agent/multi-agent/workflow-persistence.js.map +1 -0
  307. package/dist/agent/parallel/advanced-parallel-executor.js +9 -4
  308. package/dist/agent/parallel/advanced-parallel-executor.js.map +1 -1
  309. package/dist/agent/parallel/parallel-executor.js +20 -5
  310. package/dist/agent/parallel/parallel-executor.js.map +1 -1
  311. package/dist/agent/pipelines.js +7 -5
  312. package/dist/agent/pipelines.js.map +1 -1
  313. package/dist/agent/plan-mode.d.ts +111 -0
  314. package/dist/agent/plan-mode.js +225 -0
  315. package/dist/agent/plan-mode.js.map +1 -0
  316. package/dist/agent/planner/progress-default-sink.d.ts +31 -0
  317. package/dist/agent/planner/progress-default-sink.js +63 -0
  318. package/dist/agent/planner/progress-default-sink.js.map +1 -0
  319. package/dist/agent/proactive/notification-default-sink.d.ts +42 -0
  320. package/dist/agent/proactive/notification-default-sink.js +86 -0
  321. package/dist/agent/proactive/notification-default-sink.js.map +1 -0
  322. package/dist/agent/prompt-suggestions.d.ts +9 -7
  323. package/dist/agent/prompt-suggestions.js +63 -12
  324. package/dist/agent/prompt-suggestions.js.map +1 -1
  325. package/dist/agent/reasoning/index.d.ts +2 -0
  326. package/dist/agent/reasoning/index.js +2 -0
  327. package/dist/agent/reasoning/index.js.map +1 -1
  328. package/dist/agent/reasoning/mcts.d.ts +51 -4
  329. package/dist/agent/reasoning/mcts.js +338 -74
  330. package/dist/agent/reasoning/mcts.js.map +1 -1
  331. package/dist/agent/reasoning/reasoning-facade.d.ts +106 -0
  332. package/dist/agent/reasoning/reasoning-facade.js +274 -0
  333. package/dist/agent/reasoning/reasoning-facade.js.map +1 -0
  334. package/dist/agent/reasoning/tree-of-thought.d.ts +34 -2
  335. package/dist/agent/reasoning/tree-of-thought.js +187 -29
  336. package/dist/agent/reasoning/tree-of-thought.js.map +1 -1
  337. package/dist/agent/reasoning/types.d.ts +34 -0
  338. package/dist/agent/reasoning/types.js +9 -0
  339. package/dist/agent/reasoning/types.js.map +1 -1
  340. package/dist/agent/repair/fault-localization.d.ts +14 -2
  341. package/dist/agent/repair/fault-localization.js +145 -43
  342. package/dist/agent/repair/fault-localization.js.map +1 -1
  343. package/dist/agent/repair/iterative-repair.js +39 -15
  344. package/dist/agent/repair/iterative-repair.js.map +1 -1
  345. package/dist/agent/repair/repair-engine.d.ts +4 -0
  346. package/dist/agent/repair/repair-engine.js +121 -69
  347. package/dist/agent/repair/repair-engine.js.map +1 -1
  348. package/dist/agent/repo-profiler.d.ts +37 -0
  349. package/dist/agent/repo-profiler.js +198 -11
  350. package/dist/agent/repo-profiler.js.map +1 -1
  351. package/dist/agent/repo-profiling/cache.d.ts +8 -0
  352. package/dist/agent/repo-profiling/cache.js +53 -0
  353. package/dist/agent/repo-profiling/cache.js.map +1 -0
  354. package/dist/agent/repo-profiling/cartography.d.ts +100 -0
  355. package/dist/agent/repo-profiling/cartography.js +799 -0
  356. package/dist/agent/repo-profiling/cartography.js.map +1 -0
  357. package/dist/agent/repo-profiling/context-pack.d.ts +5 -0
  358. package/dist/agent/repo-profiling/context-pack.js +32 -0
  359. package/dist/agent/repo-profiling/context-pack.js.map +1 -0
  360. package/dist/agent/repo-profiling/fs-helpers.d.ts +10 -0
  361. package/dist/agent/repo-profiling/fs-helpers.js +50 -0
  362. package/dist/agent/repo-profiling/fs-helpers.js.map +1 -0
  363. package/dist/agent/repo-profiling/index.d.ts +7 -0
  364. package/dist/agent/repo-profiling/index.js +14 -0
  365. package/dist/agent/repo-profiling/index.js.map +1 -0
  366. package/dist/agent/repo-profiling/infrastructure/directory-profiler.d.ts +21 -0
  367. package/dist/agent/repo-profiling/infrastructure/directory-profiler.js +249 -0
  368. package/dist/agent/repo-profiling/infrastructure/directory-profiler.js.map +1 -0
  369. package/dist/agent/repo-profiling/infrastructure/index.d.ts +10 -0
  370. package/dist/agent/repo-profiling/infrastructure/index.js +32 -0
  371. package/dist/agent/repo-profiling/infrastructure/index.js.map +1 -0
  372. package/dist/agent/repo-profiling/infrastructure/project-meta.d.ts +20 -0
  373. package/dist/agent/repo-profiling/infrastructure/project-meta.js +360 -0
  374. package/dist/agent/repo-profiling/infrastructure/project-meta.js.map +1 -0
  375. package/dist/agent/repo-profiling/languages/dotnet-profiler.d.ts +5 -0
  376. package/dist/agent/repo-profiling/languages/dotnet-profiler.js +227 -0
  377. package/dist/agent/repo-profiling/languages/dotnet-profiler.js.map +1 -0
  378. package/dist/agent/repo-profiling/languages/flutter-profiler.d.ts +5 -0
  379. package/dist/agent/repo-profiling/languages/flutter-profiler.js +179 -0
  380. package/dist/agent/repo-profiling/languages/flutter-profiler.js.map +1 -0
  381. package/dist/agent/repo-profiling/languages/go-profiler.d.ts +5 -0
  382. package/dist/agent/repo-profiling/languages/go-profiler.js +36 -0
  383. package/dist/agent/repo-profiling/languages/go-profiler.js.map +1 -0
  384. package/dist/agent/repo-profiling/languages/index.d.ts +8 -0
  385. package/dist/agent/repo-profiling/languages/index.js +24 -0
  386. package/dist/agent/repo-profiling/languages/index.js.map +1 -0
  387. package/dist/agent/repo-profiling/languages/kotlin-profiler.d.ts +7 -0
  388. package/dist/agent/repo-profiling/languages/kotlin-profiler.js +261 -0
  389. package/dist/agent/repo-profiling/languages/kotlin-profiler.js.map +1 -0
  390. package/dist/agent/repo-profiling/languages/language-profiler.d.ts +12 -0
  391. package/dist/agent/repo-profiling/languages/language-profiler.js +5 -0
  392. package/dist/agent/repo-profiling/languages/language-profiler.js.map +1 -0
  393. package/dist/agent/repo-profiling/languages/node-profiler.d.ts +5 -0
  394. package/dist/agent/repo-profiling/languages/node-profiler.js +171 -0
  395. package/dist/agent/repo-profiling/languages/node-profiler.js.map +1 -0
  396. package/dist/agent/repo-profiling/languages/python-profiler.d.ts +5 -0
  397. package/dist/agent/repo-profiling/languages/python-profiler.js +268 -0
  398. package/dist/agent/repo-profiling/languages/python-profiler.js.map +1 -0
  399. package/dist/agent/repo-profiling/languages/rust-profiler.d.ts +5 -0
  400. package/dist/agent/repo-profiling/languages/rust-profiler.js +165 -0
  401. package/dist/agent/repo-profiling/languages/rust-profiler.js.map +1 -0
  402. package/dist/agent/repo-profiling/languages/swift-profiler.d.ts +7 -0
  403. package/dist/agent/repo-profiling/languages/swift-profiler.js +198 -0
  404. package/dist/agent/repo-profiling/languages/swift-profiler.js.map +1 -0
  405. package/dist/agent/repo-profiling/repo-profiler.d.ts +20 -0
  406. package/dist/agent/repo-profiling/repo-profiler.js +144 -0
  407. package/dist/agent/repo-profiling/repo-profiler.js.map +1 -0
  408. package/dist/agent/repo-profiling/types.d.ts +159 -0
  409. package/dist/agent/repo-profiling/types.js +26 -0
  410. package/dist/agent/repo-profiling/types.js.map +1 -0
  411. package/dist/agent/research-script-job-artifact.d.ts +74 -0
  412. package/dist/agent/research-script-job-artifact.js +237 -0
  413. package/dist/agent/research-script-job-artifact.js.map +1 -0
  414. package/dist/agent/research-script-job-materializer.d.ts +19 -0
  415. package/dist/agent/research-script-job-materializer.js +91 -0
  416. package/dist/agent/research-script-job-materializer.js.map +1 -0
  417. package/dist/agent/research-script-job-runner.d.ts +23 -0
  418. package/dist/agent/research-script-job-runner.js +271 -0
  419. package/dist/agent/research-script-job-runner.js.map +1 -0
  420. package/dist/agent/research-script-skill-candidate.d.ts +99 -0
  421. package/dist/agent/research-script-skill-candidate.js +540 -0
  422. package/dist/agent/research-script-skill-candidate.js.map +1 -0
  423. package/dist/agent/scope-awareness.d.ts +19 -0
  424. package/dist/agent/scope-awareness.js +221 -0
  425. package/dist/agent/scope-awareness.js.map +1 -0
  426. package/dist/agent/self-improvement/capability-benchmark.d.ts +38 -0
  427. package/dist/agent/self-improvement/capability-benchmark.js +81 -0
  428. package/dist/agent/self-improvement/capability-benchmark.js.map +1 -0
  429. package/dist/agent/self-improvement/empirical-gate.d.ts +44 -0
  430. package/dist/agent/self-improvement/empirical-gate.js +106 -0
  431. package/dist/agent/self-improvement/empirical-gate.js.map +1 -0
  432. package/dist/agent/self-improvement/engine.d.ts +56 -0
  433. package/dist/agent/self-improvement/engine.js +123 -0
  434. package/dist/agent/self-improvement/engine.js.map +1 -0
  435. package/dist/agent/self-improvement/evolutionary-archive.d.ts +33 -0
  436. package/dist/agent/self-improvement/evolutionary-archive.js +64 -0
  437. package/dist/agent/self-improvement/evolutionary-archive.js.map +1 -0
  438. package/dist/agent/self-improvement/execution-gate.d.ts +96 -0
  439. package/dist/agent/self-improvement/execution-gate.js +115 -0
  440. package/dist/agent/self-improvement/execution-gate.js.map +1 -0
  441. package/dist/agent/self-improvement/experience-source.d.ts +69 -0
  442. package/dist/agent/self-improvement/experience-source.js +92 -0
  443. package/dist/agent/self-improvement/experience-source.js.map +1 -0
  444. package/dist/agent/self-improvement/index.d.ts +56 -0
  445. package/dist/agent/self-improvement/index.js +107 -0
  446. package/dist/agent/self-improvement/index.js.map +1 -0
  447. package/dist/agent/self-improvement/learning-store.d.ts +102 -0
  448. package/dist/agent/self-improvement/learning-store.js +199 -0
  449. package/dist/agent/self-improvement/learning-store.js.map +1 -0
  450. package/dist/agent/self-improvement/llm-drafter.d.ts +11 -0
  451. package/dist/agent/self-improvement/llm-drafter.js +50 -0
  452. package/dist/agent/self-improvement/llm-drafter.js.map +1 -0
  453. package/dist/agent/self-improvement/paired-gate.d.ts +88 -0
  454. package/dist/agent/self-improvement/paired-gate.js +180 -0
  455. package/dist/agent/self-improvement/paired-gate.js.map +1 -0
  456. package/dist/agent/self-improvement/paired-runner.d.ts +17 -0
  457. package/dist/agent/self-improvement/paired-runner.js +71 -0
  458. package/dist/agent/self-improvement/paired-runner.js.map +1 -0
  459. package/dist/agent/self-improvement/proposer.d.ts +59 -0
  460. package/dist/agent/self-improvement/proposer.js +111 -0
  461. package/dist/agent/self-improvement/proposer.js.map +1 -0
  462. package/dist/agent/self-improvement/rule-engine.d.ts +66 -0
  463. package/dist/agent/self-improvement/rule-engine.js +131 -0
  464. package/dist/agent/self-improvement/rule-engine.js.map +1 -0
  465. package/dist/agent/self-improvement/rule-store.d.ts +61 -0
  466. package/dist/agent/self-improvement/rule-store.js +119 -0
  467. package/dist/agent/self-improvement/rule-store.js.map +1 -0
  468. package/dist/agent/self-improvement/types.d.ts +126 -0
  469. package/dist/agent/self-improvement/types.js +20 -0
  470. package/dist/agent/self-improvement/types.js.map +1 -0
  471. package/dist/agent/specialized/agent-registry.d.ts +2 -1
  472. package/dist/agent/specialized/agent-registry.js +33 -8
  473. package/dist/agent/specialized/agent-registry.js.map +1 -1
  474. package/dist/agent/specialized/archive-agent.js +23 -4
  475. package/dist/agent/specialized/archive-agent.js.map +1 -1
  476. package/dist/agent/specialized/code-guardian/agent.js +25 -15
  477. package/dist/agent/specialized/code-guardian/agent.js.map +1 -1
  478. package/dist/agent/specialized/code-guardian/formatters.js +2 -3
  479. package/dist/agent/specialized/code-guardian/formatters.js.map +1 -1
  480. package/dist/agent/specialized/data-analysis-agent.js +38 -13
  481. package/dist/agent/specialized/data-analysis-agent.js.map +1 -1
  482. package/dist/agent/specialized/excel-agent.js +25 -8
  483. package/dist/agent/specialized/excel-agent.js.map +1 -1
  484. package/dist/agent/specialized/pdf-agent.js +9 -2
  485. package/dist/agent/specialized/pdf-agent.js.map +1 -1
  486. package/dist/agent/specialized/security-review/agent.d.ts +28 -2
  487. package/dist/agent/specialized/security-review/agent.js +93 -5
  488. package/dist/agent/specialized/security-review/agent.js.map +1 -1
  489. package/dist/agent/specialized/security-review-agent.d.ts +1 -1
  490. package/dist/agent/specialized/security-review-agent.js +1 -1
  491. package/dist/agent/specialized/sql-agent.js +40 -16
  492. package/dist/agent/specialized/sql-agent.js.map +1 -1
  493. package/dist/agent/specialized/swe-agent-adapter.d.ts +14 -0
  494. package/dist/agent/specialized/swe-agent-adapter.js +98 -0
  495. package/dist/agent/specialized/swe-agent-adapter.js.map +1 -0
  496. package/dist/agent/specialized/swe-agent.d.ts +92 -0
  497. package/dist/agent/specialized/swe-agent.js +346 -0
  498. package/dist/agent/specialized/swe-agent.js.map +1 -0
  499. package/dist/agent/specialized/types.d.ts +4 -2
  500. package/dist/agent/specialized/types.js +7 -1
  501. package/dist/agent/specialized/types.js.map +1 -1
  502. package/dist/agent/state-machine.d.ts +84 -0
  503. package/dist/agent/state-machine.js +189 -0
  504. package/dist/agent/state-machine.js.map +1 -0
  505. package/dist/agent/state-privacy.d.ts +58 -0
  506. package/dist/agent/state-privacy.js +128 -0
  507. package/dist/agent/state-privacy.js.map +1 -0
  508. package/dist/agent/streaming/message-reducer.js +15 -3
  509. package/dist/agent/streaming/message-reducer.js.map +1 -1
  510. package/dist/agent/streaming/streaming-handler.js +17 -3
  511. package/dist/agent/streaming/streaming-handler.js.map +1 -1
  512. package/dist/agent/subagents.d.ts +14 -1
  513. package/dist/agent/subagents.js +96 -15
  514. package/dist/agent/subagents.js.map +1 -1
  515. package/dist/agent/teams/team-v2.d.ts +1 -1
  516. package/dist/agent/teams/team-v2.js +1 -1
  517. package/dist/agent/teams/tmux-manager.d.ts +84 -0
  518. package/dist/agent/teams/tmux-manager.js +229 -0
  519. package/dist/agent/teams/tmux-manager.js.map +1 -0
  520. package/dist/agent/thinking/extended-thinking.js +10 -9
  521. package/dist/agent/thinking/extended-thinking.js.map +1 -1
  522. package/dist/agent/thinking-keywords.d.ts +1 -1
  523. package/dist/agent/thinking-keywords.js +1 -1
  524. package/dist/agent/todo-tracker.d.ts +2 -0
  525. package/dist/agent/todo-tracker.js +59 -32
  526. package/dist/agent/todo-tracker.js.map +1 -1
  527. package/dist/agent/token-budget-reasoning.js +5 -1
  528. package/dist/agent/token-budget-reasoning.js.map +1 -1
  529. package/dist/agent/tool-executor.js +1 -0
  530. package/dist/agent/tool-executor.js.map +1 -1
  531. package/dist/agent/tool-gateway-router.d.ts +34 -0
  532. package/dist/agent/tool-gateway-router.js +107 -0
  533. package/dist/agent/tool-gateway-router.js.map +1 -0
  534. package/dist/agent/tool-handler.d.ts +23 -0
  535. package/dist/agent/tool-handler.js +276 -15
  536. package/dist/agent/tool-handler.js.map +1 -1
  537. package/dist/agent/wide-research.d.ts +11 -1
  538. package/dist/agent/wide-research.js +54 -14
  539. package/dist/agent/wide-research.js.map +1 -1
  540. package/dist/analytics/code-evolution.js +18 -7
  541. package/dist/analytics/code-evolution.js.map +1 -1
  542. package/dist/analytics/codebase-heatmap.js +9 -3
  543. package/dist/analytics/codebase-heatmap.js.map +1 -1
  544. package/dist/analytics/complexity-analyzer.js +11 -6
  545. package/dist/analytics/complexity-analyzer.js.map +1 -1
  546. package/dist/analytics/cost-predictor.js +10 -5
  547. package/dist/analytics/cost-predictor.js.map +1 -1
  548. package/dist/analytics/dashboard.js +15 -11
  549. package/dist/analytics/dashboard.js.map +1 -1
  550. package/dist/analytics/index.d.ts +1 -0
  551. package/dist/analytics/index.js +1 -0
  552. package/dist/analytics/index.js.map +1 -1
  553. package/dist/analytics/metrics-dashboard.js +2 -4
  554. package/dist/analytics/metrics-dashboard.js.map +1 -1
  555. package/dist/analytics/persistent-analytics.js +9 -8
  556. package/dist/analytics/persistent-analytics.js.map +1 -1
  557. package/dist/analytics/roi-tracker.js +3 -4
  558. package/dist/analytics/roi-tracker.js.map +1 -1
  559. package/dist/analytics/tool-analytics.js +2 -0
  560. package/dist/analytics/tool-analytics.js.map +1 -1
  561. package/dist/auth/oauth/model-profiles.js +8 -0
  562. package/dist/auth/oauth/model-profiles.js.map +1 -1
  563. package/dist/auth/profile-manager.d.ts +1 -1
  564. package/dist/auth/profile-manager.js +14 -3
  565. package/dist/auth/profile-manager.js.map +1 -1
  566. package/dist/automation/auth-monitoring.d.ts +58 -0
  567. package/dist/automation/auth-monitoring.js +175 -0
  568. package/dist/automation/auth-monitoring.js.map +1 -0
  569. package/dist/automation/gmail-trigger.d.ts +91 -0
  570. package/dist/automation/gmail-trigger.js +179 -0
  571. package/dist/automation/gmail-trigger.js.map +1 -0
  572. package/dist/automation/index.d.ts +6 -0
  573. package/dist/automation/index.js +7 -0
  574. package/dist/automation/index.js.map +1 -0
  575. package/dist/automation/polls.d.ts +53 -0
  576. package/dist/automation/polls.js +165 -0
  577. package/dist/automation/polls.js.map +1 -0
  578. package/dist/browser/controller.js +1 -1
  579. package/dist/browser/controller.js.map +1 -1
  580. package/dist/browser/embedded-browser.js +22 -12
  581. package/dist/browser/embedded-browser.js.map +1 -1
  582. package/dist/browser-automation/browser-manager.d.ts +27 -12
  583. package/dist/browser-automation/browser-manager.js +504 -66
  584. package/dist/browser-automation/browser-manager.js.map +1 -1
  585. package/dist/browser-automation/browser-operator-executor.d.ts +56 -0
  586. package/dist/browser-automation/browser-operator-executor.js +1192 -0
  587. package/dist/browser-automation/browser-operator-executor.js.map +1 -0
  588. package/dist/browser-automation/browser-operator-harness.d.ts +17 -0
  589. package/dist/browser-automation/browser-operator-harness.js +105 -0
  590. package/dist/browser-automation/browser-operator-harness.js.map +1 -0
  591. package/dist/browser-automation/browser-operator-session.d.ts +62 -0
  592. package/dist/browser-automation/browser-operator-session.js +163 -0
  593. package/dist/browser-automation/browser-operator-session.js.map +1 -0
  594. package/dist/browser-automation/browser-tool.d.ts +37 -2
  595. package/dist/browser-automation/browser-tool.js +488 -2
  596. package/dist/browser-automation/browser-tool.js.map +1 -1
  597. package/dist/browser-automation/builtin-profiles.d.ts +27 -0
  598. package/dist/browser-automation/builtin-profiles.js +40 -0
  599. package/dist/browser-automation/builtin-profiles.js.map +1 -0
  600. package/dist/browser-automation/chrome-discovery.d.ts +33 -0
  601. package/dist/browser-automation/chrome-discovery.js +93 -0
  602. package/dist/browser-automation/chrome-discovery.js.map +1 -0
  603. package/dist/browser-automation/index.d.ts +12 -1
  604. package/dist/browser-automation/index.js +7 -1
  605. package/dist/browser-automation/index.js.map +1 -1
  606. package/dist/browser-automation/internet-proof-plan.d.ts +46 -0
  607. package/dist/browser-automation/internet-proof-plan.js +219 -0
  608. package/dist/browser-automation/internet-proof-plan.js.map +1 -0
  609. package/dist/browser-automation/internet-scout-plan.d.ts +47 -0
  610. package/dist/browser-automation/internet-scout-plan.js +242 -0
  611. package/dist/browser-automation/internet-scout-plan.js.map +1 -0
  612. package/dist/browser-automation/internet-scout-runner.d.ts +53 -0
  613. package/dist/browser-automation/internet-scout-runner.js +446 -0
  614. package/dist/browser-automation/internet-scout-runner.js.map +1 -0
  615. package/dist/browser-automation/profile-manager.d.ts +1 -1
  616. package/dist/browser-automation/profile-manager.js +1 -1
  617. package/dist/browser-automation/route-interceptor.d.ts +1 -1
  618. package/dist/browser-automation/route-interceptor.js +1 -1
  619. package/dist/browser-automation/types.d.ts +15 -2
  620. package/dist/browser-automation/types.js +1 -1
  621. package/dist/browser-automation/types.js.map +1 -1
  622. package/dist/cache/cache-manager.js +3 -1
  623. package/dist/cache/cache-manager.js.map +1 -1
  624. package/dist/cache/llm-response-cache.d.ts +11 -3
  625. package/dist/cache/llm-response-cache.js +19 -7
  626. package/dist/cache/llm-response-cache.js.map +1 -1
  627. package/dist/canvas/a2ui-manager.d.ts +5 -1
  628. package/dist/canvas/a2ui-manager.js +33 -3
  629. package/dist/canvas/a2ui-manager.js.map +1 -1
  630. package/dist/canvas/a2ui-tool.js +6 -0
  631. package/dist/canvas/a2ui-tool.js.map +1 -1
  632. package/dist/canvas/a2ui-types.d.ts +1 -1
  633. package/dist/canvas/a2ui-types.js +1 -1
  634. package/dist/canvas/canvas-manager.d.ts +21 -0
  635. package/dist/canvas/canvas-manager.js +179 -10
  636. package/dist/canvas/canvas-manager.js.map +1 -1
  637. package/dist/canvas/canvas-server.js +14 -6
  638. package/dist/canvas/canvas-server.js.map +1 -1
  639. package/dist/canvas/index.js +14 -6
  640. package/dist/canvas/index.js.map +1 -1
  641. package/dist/canvas/visual-workspace.js +31 -14
  642. package/dist/canvas/visual-workspace.js.map +1 -1
  643. package/dist/capture/captured-bridge.d.ts +30 -0
  644. package/dist/capture/captured-bridge.js +125 -0
  645. package/dist/capture/captured-bridge.js.map +1 -0
  646. package/dist/capture/screen-error-watcher.d.ts +60 -0
  647. package/dist/capture/screen-error-watcher.js +126 -0
  648. package/dist/capture/screen-error-watcher.js.map +1 -0
  649. package/dist/capture/screen-recorder.d.ts +88 -0
  650. package/dist/capture/screen-recorder.js +149 -0
  651. package/dist/capture/screen-recorder.js.map +1 -0
  652. package/dist/capture/screen-watcher.d.ts +53 -0
  653. package/dist/capture/screen-watcher.js +111 -0
  654. package/dist/capture/screen-watcher.js.map +1 -0
  655. package/dist/channels/core.d.ts +454 -0
  656. package/dist/channels/core.js +539 -0
  657. package/dist/channels/core.js.map +1 -0
  658. package/dist/channels/dingtalk/index.d.ts +68 -0
  659. package/dist/channels/dingtalk/index.js +256 -0
  660. package/dist/channels/dingtalk/index.js.map +1 -0
  661. package/dist/channels/discord/client.d.ts +2 -2
  662. package/dist/channels/discord/client.js +2 -2
  663. package/dist/channels/discord/client.js.map +1 -1
  664. package/dist/channels/discord/types.d.ts +1 -1
  665. package/dist/channels/dm-pairing.d.ts +1 -1
  666. package/dist/channels/dm-pairing.js +10 -8
  667. package/dist/channels/dm-pairing.js.map +1 -1
  668. package/dist/channels/feishu/index.d.ts +126 -0
  669. package/dist/channels/feishu/index.js +242 -0
  670. package/dist/channels/feishu/index.js.map +1 -0
  671. package/dist/channels/google-chat/index.d.ts +2 -2
  672. package/dist/channels/google-chat/index.js +2 -2
  673. package/dist/channels/google-chat/index.js.map +1 -1
  674. package/dist/channels/group-security.d.ts +1 -1
  675. package/dist/channels/group-security.js +1 -1
  676. package/dist/channels/identity-links.d.ts +1 -1
  677. package/dist/channels/identity-links.js +1 -1
  678. package/dist/channels/imessage/index.d.ts +16 -0
  679. package/dist/channels/imessage/index.js +59 -1
  680. package/dist/channels/imessage/index.js.map +1 -1
  681. package/dist/channels/index.d.ts +32 -453
  682. package/dist/channels/index.js +33 -546
  683. package/dist/channels/index.js.map +1 -1
  684. package/dist/channels/irc/index.d.ts +59 -0
  685. package/dist/channels/irc/index.js +135 -0
  686. package/dist/channels/irc/index.js.map +1 -0
  687. package/dist/channels/line/index.d.ts +14 -1
  688. package/dist/channels/line/index.js +62 -1
  689. package/dist/channels/line/index.js.map +1 -1
  690. package/dist/channels/matrix/index.d.ts +2 -2
  691. package/dist/channels/matrix/index.js +12 -15
  692. package/dist/channels/matrix/index.js.map +1 -1
  693. package/dist/channels/mattermost/index.d.ts +14 -1
  694. package/dist/channels/mattermost/index.js +58 -1
  695. package/dist/channels/mattermost/index.js.map +1 -1
  696. package/dist/channels/message-preprocessing.d.ts +57 -0
  697. package/dist/channels/message-preprocessing.js +166 -0
  698. package/dist/channels/message-preprocessing.js.map +1 -0
  699. package/dist/channels/nextcloud-talk/index.d.ts +14 -1
  700. package/dist/channels/nextcloud-talk/index.js +56 -1
  701. package/dist/channels/nextcloud-talk/index.js.map +1 -1
  702. package/dist/channels/niche-channels.d.ts +39 -1
  703. package/dist/channels/niche-channels.js +71 -3
  704. package/dist/channels/niche-channels.js.map +1 -1
  705. package/dist/channels/nostr/index.d.ts +22 -1
  706. package/dist/channels/nostr/index.js +192 -2
  707. package/dist/channels/nostr/index.js.map +1 -1
  708. package/dist/channels/ntfy/index.d.ts +57 -0
  709. package/dist/channels/ntfy/index.js +252 -0
  710. package/dist/channels/ntfy/index.js.map +1 -0
  711. package/dist/channels/peer-routing.d.ts +1 -1
  712. package/dist/channels/peer-routing.js +3 -1
  713. package/dist/channels/peer-routing.js.map +1 -1
  714. package/dist/channels/pro/callback-router.js +5 -4
  715. package/dist/channels/pro/callback-router.js.map +1 -1
  716. package/dist/channels/qq/index.d.ts +51 -0
  717. package/dist/channels/qq/index.js +225 -0
  718. package/dist/channels/qq/index.js.map +1 -0
  719. package/dist/channels/send-message.d.ts +67 -0
  720. package/dist/channels/send-message.js +201 -0
  721. package/dist/channels/send-message.js.map +1 -0
  722. package/dist/channels/send-policy.d.ts +55 -0
  723. package/dist/channels/send-policy.js +116 -0
  724. package/dist/channels/send-policy.js.map +1 -0
  725. package/dist/channels/session-isolation.d.ts +1 -1
  726. package/dist/channels/session-isolation.js +1 -1
  727. package/dist/channels/signal/index.d.ts +2 -2
  728. package/dist/channels/signal/index.js +6 -4
  729. package/dist/channels/signal/index.js.map +1 -1
  730. package/dist/channels/slack/block-builder.d.ts +59 -0
  731. package/dist/channels/slack/block-builder.js +172 -0
  732. package/dist/channels/slack/block-builder.js.map +1 -0
  733. package/dist/channels/slack/client.d.ts +2 -2
  734. package/dist/channels/slack/client.js +35 -19
  735. package/dist/channels/slack/client.js.map +1 -1
  736. package/dist/channels/slack/types.d.ts +1 -1
  737. package/dist/channels/streaming-policy.d.ts +1 -1
  738. package/dist/channels/streaming-policy.js +1 -1
  739. package/dist/channels/synology-chat/index.d.ts +51 -0
  740. package/dist/channels/synology-chat/index.js +94 -0
  741. package/dist/channels/synology-chat/index.js.map +1 -0
  742. package/dist/channels/teams/index.d.ts +2 -2
  743. package/dist/channels/teams/index.js +3 -2
  744. package/dist/channels/teams/index.js.map +1 -1
  745. package/dist/channels/telegram/client.d.ts +2 -2
  746. package/dist/channels/telegram/client.js +20 -9
  747. package/dist/channels/telegram/client.js.map +1 -1
  748. package/dist/channels/telegram/types.d.ts +1 -1
  749. package/dist/channels/twilio-voice/index.d.ts +15 -1
  750. package/dist/channels/twilio-voice/index.js +58 -2
  751. package/dist/channels/twilio-voice/index.js.map +1 -1
  752. package/dist/channels/webchat/index.d.ts +2 -2
  753. package/dist/channels/webchat/index.js +5 -4
  754. package/dist/channels/webchat/index.js.map +1 -1
  755. package/dist/channels/webhook-server.js +5 -4
  756. package/dist/channels/webhook-server.js.map +1 -1
  757. package/dist/channels/wecom/index.d.ts +53 -0
  758. package/dist/channels/wecom/index.js +213 -0
  759. package/dist/channels/wecom/index.js.map +1 -0
  760. package/dist/channels/weixin/index.d.ts +47 -0
  761. package/dist/channels/weixin/index.js +191 -0
  762. package/dist/channels/weixin/index.js.map +1 -0
  763. package/dist/channels/whatsapp/index.d.ts +38 -2
  764. package/dist/channels/whatsapp/index.js +18 -7
  765. package/dist/channels/whatsapp/index.js.map +1 -1
  766. package/dist/channels/zalo/index.d.ts +14 -1
  767. package/dist/channels/zalo/index.js +62 -1
  768. package/dist/channels/zalo/index.js.map +1 -1
  769. package/dist/checkpoints/checkpoint-manager.d.ts +25 -1
  770. package/dist/checkpoints/checkpoint-manager.js +97 -13
  771. package/dist/checkpoints/checkpoint-manager.js.map +1 -1
  772. package/dist/checkpoints/ghost-snapshot.d.ts +75 -0
  773. package/dist/checkpoints/ghost-snapshot.js +220 -0
  774. package/dist/checkpoints/ghost-snapshot.js.map +1 -0
  775. package/dist/checkpoints/persistent-checkpoint-manager.js +7 -0
  776. package/dist/checkpoints/persistent-checkpoint-manager.js.map +1 -1
  777. package/dist/cli/headless-options.d.ts +6 -0
  778. package/dist/cli/headless-options.js +11 -0
  779. package/dist/cli/headless-options.js.map +1 -0
  780. package/dist/cli/list-commands.js +1 -1
  781. package/dist/cli/list-commands.js.map +1 -1
  782. package/dist/cli/model-listing.d.ts +17 -0
  783. package/dist/cli/model-listing.js +36 -0
  784. package/dist/cli/model-listing.js.map +1 -0
  785. package/dist/cli/session-commands.d.ts +9 -0
  786. package/dist/cli/session-commands.js +130 -6
  787. package/dist/cli/session-commands.js.map +1 -1
  788. package/dist/cloud/cloud-agent-runner.d.ts +103 -0
  789. package/dist/cloud/cloud-agent-runner.js +608 -0
  790. package/dist/cloud/cloud-agent-runner.js.map +1 -0
  791. package/dist/cloud/cloud-sessions.js +2 -1
  792. package/dist/cloud/cloud-sessions.js.map +1 -1
  793. package/dist/cloud/cloud-task-subprocess.d.ts +45 -0
  794. package/dist/cloud/cloud-task-subprocess.js +56 -0
  795. package/dist/cloud/cloud-task-subprocess.js.map +1 -0
  796. package/dist/cloud/headless-tool-executor.d.ts +17 -0
  797. package/dist/cloud/headless-tool-executor.js +76 -0
  798. package/dist/cloud/headless-tool-executor.js.map +1 -0
  799. package/dist/codebuddy/client.d.ts +145 -63
  800. package/dist/codebuddy/client.js +262 -949
  801. package/dist/codebuddy/client.js.map +1 -1
  802. package/dist/codebuddy/fleet-tool-defs.d.ts +14 -0
  803. package/dist/codebuddy/fleet-tool-defs.js +192 -0
  804. package/dist/codebuddy/fleet-tool-defs.js.map +1 -0
  805. package/dist/codebuddy/message-guards.d.ts +9 -0
  806. package/dist/codebuddy/message-guards.js +7 -0
  807. package/dist/codebuddy/message-guards.js.map +1 -0
  808. package/dist/codebuddy/providers/provider-chatgpt-responses.d.ts +179 -0
  809. package/dist/codebuddy/providers/provider-chatgpt-responses.js +608 -0
  810. package/dist/codebuddy/providers/provider-chatgpt-responses.js.map +1 -0
  811. package/dist/codebuddy/providers/provider-gemini-cli.d.ts +65 -0
  812. package/dist/codebuddy/providers/provider-gemini-cli.js +377 -0
  813. package/dist/codebuddy/providers/provider-gemini-cli.js.map +1 -0
  814. package/dist/codebuddy/providers/provider-gemini-native.d.ts +96 -0
  815. package/dist/codebuddy/providers/provider-gemini-native.js +902 -0
  816. package/dist/codebuddy/providers/provider-gemini-native.js.map +1 -0
  817. package/dist/codebuddy/providers/provider-interface.d.ts +25 -0
  818. package/dist/codebuddy/providers/provider-interface.js +15 -0
  819. package/dist/codebuddy/providers/provider-interface.js.map +1 -0
  820. package/dist/codebuddy/providers/provider-openai-compat-hooks.d.ts +39 -0
  821. package/dist/codebuddy/providers/provider-openai-compat-hooks.js +58 -0
  822. package/dist/codebuddy/providers/provider-openai-compat-hooks.js.map +1 -0
  823. package/dist/codebuddy/providers/provider-openai-compat.d.ts +103 -0
  824. package/dist/codebuddy/providers/provider-openai-compat.js +608 -0
  825. package/dist/codebuddy/providers/provider-openai-compat.js.map +1 -0
  826. package/dist/codebuddy/stream-retry.d.ts +84 -0
  827. package/dist/codebuddy/stream-retry.js +167 -0
  828. package/dist/codebuddy/stream-retry.js.map +1 -0
  829. package/dist/codebuddy/tool-definitions/advanced-tools.d.ts +5 -0
  830. package/dist/codebuddy/tool-definitions/advanced-tools.js +191 -21
  831. package/dist/codebuddy/tool-definitions/advanced-tools.js.map +1 -1
  832. package/dist/codebuddy/tool-definitions/advisor-tools.d.ts +12 -0
  833. package/dist/codebuddy/tool-definitions/advisor-tools.js +26 -0
  834. package/dist/codebuddy/tool-definitions/advisor-tools.js.map +1 -0
  835. package/dist/codebuddy/tool-definitions/agent-tools.d.ts +50 -0
  836. package/dist/codebuddy/tool-definitions/agent-tools.js +1275 -0
  837. package/dist/codebuddy/tool-definitions/agent-tools.js.map +1 -0
  838. package/dist/codebuddy/tool-definitions/ask-user-question-tools.d.ts +10 -0
  839. package/dist/codebuddy/tool-definitions/ask-user-question-tools.js +74 -0
  840. package/dist/codebuddy/tool-definitions/ask-user-question-tools.js.map +1 -0
  841. package/dist/codebuddy/tool-definitions/batch-tools.d.ts +10 -0
  842. package/dist/codebuddy/tool-definitions/batch-tools.js +46 -0
  843. package/dist/codebuddy/tool-definitions/batch-tools.js.map +1 -0
  844. package/dist/codebuddy/tool-definitions/browser-tools.d.ts +24 -1
  845. package/dist/codebuddy/tool-definitions/browser-tools.js +497 -5
  846. package/dist/codebuddy/tool-definitions/browser-tools.js.map +1 -1
  847. package/dist/codebuddy/tool-definitions/bug-finder-tools.d.ts +8 -0
  848. package/dist/codebuddy/tool-definitions/bug-finder-tools.js +29 -0
  849. package/dist/codebuddy/tool-definitions/bug-finder-tools.js.map +1 -0
  850. package/dist/codebuddy/tool-definitions/canvas-tools.js +8 -0
  851. package/dist/codebuddy/tool-definitions/canvas-tools.js.map +1 -1
  852. package/dist/codebuddy/tool-definitions/codebase-replace-tools.d.ts +8 -0
  853. package/dist/codebuddy/tool-definitions/codebase-replace-tools.js +46 -0
  854. package/dist/codebuddy/tool-definitions/codebase-replace-tools.js.map +1 -0
  855. package/dist/codebuddy/tool-definitions/computer-control-tools.d.ts +1 -1
  856. package/dist/codebuddy/tool-definitions/computer-control-tools.js +286 -4
  857. package/dist/codebuddy/tool-definitions/computer-control-tools.js.map +1 -1
  858. package/dist/codebuddy/tool-definitions/core-tools.d.ts +5 -0
  859. package/dist/codebuddy/tool-definitions/core-tools.js +116 -0
  860. package/dist/codebuddy/tool-definitions/core-tools.js.map +1 -1
  861. package/dist/codebuddy/tool-definitions/cron-tools.d.ts +3 -0
  862. package/dist/codebuddy/tool-definitions/cron-tools.js +93 -0
  863. package/dist/codebuddy/tool-definitions/cron-tools.js.map +1 -0
  864. package/dist/codebuddy/tool-definitions/document-tools.d.ts +9 -0
  865. package/dist/codebuddy/tool-definitions/document-tools.js +53 -0
  866. package/dist/codebuddy/tool-definitions/document-tools.js.map +1 -0
  867. package/dist/codebuddy/tool-definitions/exit-plan-mode-tools.d.ts +10 -0
  868. package/dist/codebuddy/tool-definitions/exit-plan-mode-tools.js +55 -0
  869. package/dist/codebuddy/tool-definitions/exit-plan-mode-tools.js.map +1 -0
  870. package/dist/codebuddy/tool-definitions/feishu-tools.d.ts +7 -0
  871. package/dist/codebuddy/tool-definitions/feishu-tools.js +152 -0
  872. package/dist/codebuddy/tool-definitions/feishu-tools.js.map +1 -0
  873. package/dist/codebuddy/tool-definitions/firecrawl-tools.d.ts +10 -0
  874. package/dist/codebuddy/tool-definitions/firecrawl-tools.js +62 -0
  875. package/dist/codebuddy/tool-definitions/firecrawl-tools.js.map +1 -0
  876. package/dist/codebuddy/tool-definitions/gitnexus-tools.d.ts +8 -0
  877. package/dist/codebuddy/tool-definitions/gitnexus-tools.js +24 -0
  878. package/dist/codebuddy/tool-definitions/gitnexus-tools.js.map +1 -0
  879. package/dist/codebuddy/tool-definitions/graph-tools.d.ts +13 -0
  880. package/dist/codebuddy/tool-definitions/graph-tools.js +78 -0
  881. package/dist/codebuddy/tool-definitions/graph-tools.js.map +1 -0
  882. package/dist/codebuddy/tool-definitions/homeassistant-tools.d.ts +6 -0
  883. package/dist/codebuddy/tool-definitions/homeassistant-tools.js +91 -0
  884. package/dist/codebuddy/tool-definitions/homeassistant-tools.js.map +1 -0
  885. package/dist/codebuddy/tool-definitions/index.d.ts +30 -6
  886. package/dist/codebuddy/tool-definitions/index.js +57 -9
  887. package/dist/codebuddy/tool-definitions/index.js.map +1 -1
  888. package/dist/codebuddy/tool-definitions/kanban-tools.d.ts +11 -0
  889. package/dist/codebuddy/tool-definitions/kanban-tools.js +260 -0
  890. package/dist/codebuddy/tool-definitions/kanban-tools.js.map +1 -0
  891. package/dist/codebuddy/tool-definitions/lsp-tools.d.ts +9 -0
  892. package/dist/codebuddy/tool-definitions/lsp-tools.js +72 -0
  893. package/dist/codebuddy/tool-definitions/lsp-tools.js.map +1 -0
  894. package/dist/codebuddy/tool-definitions/merge-conflict-tools.d.ts +8 -0
  895. package/dist/codebuddy/tool-definitions/merge-conflict-tools.js +33 -0
  896. package/dist/codebuddy/tool-definitions/merge-conflict-tools.js.map +1 -0
  897. package/dist/codebuddy/tool-definitions/messaging-tools.d.ts +5 -0
  898. package/dist/codebuddy/tool-definitions/messaging-tools.js +192 -0
  899. package/dist/codebuddy/tool-definitions/messaging-tools.js.map +1 -0
  900. package/dist/codebuddy/tool-definitions/moa-tools.d.ts +3 -0
  901. package/dist/codebuddy/tool-definitions/moa-tools.js +20 -0
  902. package/dist/codebuddy/tool-definitions/moa-tools.js.map +1 -0
  903. package/dist/codebuddy/tool-definitions/multimodal-tools.d.ts +6 -0
  904. package/dist/codebuddy/tool-definitions/multimodal-tools.js +243 -19
  905. package/dist/codebuddy/tool-definitions/multimodal-tools.js.map +1 -1
  906. package/dist/codebuddy/tool-definitions/search-tools.d.ts +1 -0
  907. package/dist/codebuddy/tool-definitions/search-tools.js +10 -0
  908. package/dist/codebuddy/tool-definitions/search-tools.js.map +1 -1
  909. package/dist/codebuddy/tool-definitions/secrets-tools.d.ts +8 -0
  910. package/dist/codebuddy/tool-definitions/secrets-tools.js +33 -0
  911. package/dist/codebuddy/tool-definitions/secrets-tools.js.map +1 -0
  912. package/dist/codebuddy/tool-definitions/session-tools.d.ts +13 -0
  913. package/dist/codebuddy/tool-definitions/session-tools.js +14 -0
  914. package/dist/codebuddy/tool-definitions/session-tools.js.map +1 -0
  915. package/dist/codebuddy/tool-definitions/spotify-tools.d.ts +9 -0
  916. package/dist/codebuddy/tool-definitions/spotify-tools.js +178 -0
  917. package/dist/codebuddy/tool-definitions/spotify-tools.js.map +1 -0
  918. package/dist/codebuddy/tool-definitions/vuln-scanner-tools.d.ts +8 -0
  919. package/dist/codebuddy/tool-definitions/vuln-scanner-tools.js +29 -0
  920. package/dist/codebuddy/tool-definitions/vuln-scanner-tools.js.map +1 -0
  921. package/dist/codebuddy/tool-definitions/web-tools.d.ts +1 -0
  922. package/dist/codebuddy/tool-definitions/web-tools.js +11 -1
  923. package/dist/codebuddy/tool-definitions/web-tools.js.map +1 -1
  924. package/dist/codebuddy/tool-definitions/x-search-tools.d.ts +3 -0
  925. package/dist/codebuddy/tool-definitions/x-search-tools.js +48 -0
  926. package/dist/codebuddy/tool-definitions/x-search-tools.js.map +1 -0
  927. package/dist/codebuddy/tool-definitions/yuanbao-tools.d.ts +7 -0
  928. package/dist/codebuddy/tool-definitions/yuanbao-tools.js +156 -0
  929. package/dist/codebuddy/tool-definitions/yuanbao-tools.js.map +1 -0
  930. package/dist/codebuddy/tools.d.ts +14 -1
  931. package/dist/codebuddy/tools.js +173 -9
  932. package/dist/codebuddy/tools.js.map +1 -1
  933. package/dist/collaboration/collaborative-mode.js +4 -1
  934. package/dist/collaboration/collaborative-mode.js.map +1 -1
  935. package/dist/collaboration/team-session.js +12 -7
  936. package/dist/collaboration/team-session.js.map +1 -1
  937. package/dist/commands/cli/acp-command.d.ts +15 -0
  938. package/dist/commands/cli/acp-command.js +55 -0
  939. package/dist/commands/cli/acp-command.js.map +1 -0
  940. package/dist/commands/cli/approvals-command.d.ts +45 -0
  941. package/dist/commands/cli/approvals-command.js +176 -0
  942. package/dist/commands/cli/approvals-command.js.map +1 -0
  943. package/dist/commands/cli/autonomous-code-command.d.ts +8 -0
  944. package/dist/commands/cli/autonomous-code-command.js +2082 -0
  945. package/dist/commands/cli/autonomous-code-command.js.map +1 -0
  946. package/dist/commands/cli/bundles-command.d.ts +20 -0
  947. package/dist/commands/cli/bundles-command.js +183 -0
  948. package/dist/commands/cli/bundles-command.js.map +1 -0
  949. package/dist/commands/cli/completions-command.d.ts +5 -0
  950. package/dist/commands/cli/completions-command.js +110 -0
  951. package/dist/commands/cli/completions-command.js.map +1 -0
  952. package/dist/commands/cli/daemon-commands.d.ts +2 -0
  953. package/dist/commands/cli/daemon-commands.js +177 -2
  954. package/dist/commands/cli/daemon-commands.js.map +1 -1
  955. package/dist/commands/cli/deploy-command.d.ts +13 -0
  956. package/dist/commands/cli/deploy-command.js +86 -0
  957. package/dist/commands/cli/deploy-command.js.map +1 -0
  958. package/dist/commands/cli/fleet-commands.d.ts +8 -0
  959. package/dist/commands/cli/fleet-commands.js +148 -0
  960. package/dist/commands/cli/fleet-commands.js.map +1 -0
  961. package/dist/commands/cli/gitnexus-commands.d.ts +7 -0
  962. package/dist/commands/cli/gitnexus-commands.js +42 -0
  963. package/dist/commands/cli/gitnexus-commands.js.map +1 -0
  964. package/dist/commands/cli/hermes-commands.d.ts +46 -0
  965. package/dist/commands/cli/hermes-commands.js +2893 -0
  966. package/dist/commands/cli/hermes-commands.js.map +1 -0
  967. package/dist/commands/cli/improve-command.d.ts +12 -0
  968. package/dist/commands/cli/improve-command.js +343 -0
  969. package/dist/commands/cli/improve-command.js.map +1 -0
  970. package/dist/commands/cli/insights-command.d.ts +22 -0
  971. package/dist/commands/cli/insights-command.js +276 -0
  972. package/dist/commands/cli/insights-command.js.map +1 -0
  973. package/dist/commands/cli/lsp-command.d.ts +20 -0
  974. package/dist/commands/cli/lsp-command.js +149 -0
  975. package/dist/commands/cli/lsp-command.js.map +1 -0
  976. package/dist/commands/cli/native-engine-commands.d.ts +17 -0
  977. package/dist/commands/cli/native-engine-commands.js +1670 -0
  978. package/dist/commands/cli/native-engine-commands.js.map +1 -0
  979. package/dist/commands/cli/node-commands.d.ts +16 -0
  980. package/dist/commands/cli/node-commands.js +186 -0
  981. package/dist/commands/cli/node-commands.js.map +1 -0
  982. package/dist/commands/cli/proxy-command.d.ts +20 -0
  983. package/dist/commands/cli/proxy-command.js +86 -0
  984. package/dist/commands/cli/proxy-command.js.map +1 -0
  985. package/dist/commands/cli/screen-commands.d.ts +15 -0
  986. package/dist/commands/cli/screen-commands.js +210 -0
  987. package/dist/commands/cli/screen-commands.js.map +1 -0
  988. package/dist/commands/cli/secrets-command.d.ts +16 -0
  989. package/dist/commands/cli/secrets-command.js +246 -0
  990. package/dist/commands/cli/secrets-command.js.map +1 -0
  991. package/dist/commands/cli/tools-commands.d.ts +8 -0
  992. package/dist/commands/cli/tools-commands.js +321 -0
  993. package/dist/commands/cli/tools-commands.js.map +1 -0
  994. package/dist/commands/cli/utility-commands.js +31 -5
  995. package/dist/commands/cli/utility-commands.js.map +1 -1
  996. package/dist/commands/client-dispatcher.d.ts +10 -4
  997. package/dist/commands/client-dispatcher.js +55 -147
  998. package/dist/commands/client-dispatcher.js.map +1 -1
  999. package/dist/commands/cron-cli/index.d.ts +78 -0
  1000. package/dist/commands/cron-cli/index.js +467 -0
  1001. package/dist/commands/cron-cli/index.js.map +1 -0
  1002. package/dist/commands/custom-commands.js +25 -13
  1003. package/dist/commands/custom-commands.js.map +1 -1
  1004. package/dist/commands/delegate.js +1 -1
  1005. package/dist/commands/delegate.js.map +1 -1
  1006. package/dist/commands/dev/index.js +152 -0
  1007. package/dist/commands/dev/index.js.map +1 -1
  1008. package/dist/commands/dev/issue-pipeline.d.ts +40 -0
  1009. package/dist/commands/dev/issue-pipeline.js +176 -0
  1010. package/dist/commands/dev/issue-pipeline.js.map +1 -0
  1011. package/dist/commands/dev/workflows.js +1 -1
  1012. package/dist/commands/dev/workflows.js.map +1 -1
  1013. package/dist/commands/enhanced-command-handler.d.ts +60 -15
  1014. package/dist/commands/enhanced-command-handler.js +462 -177
  1015. package/dist/commands/enhanced-command-handler.js.map +1 -1
  1016. package/dist/commands/flow.d.ts +11 -0
  1017. package/dist/commands/flow.js +95 -0
  1018. package/dist/commands/flow.js.map +1 -0
  1019. package/dist/commands/handlers/agent-handlers.js +19 -2
  1020. package/dist/commands/handlers/agent-handlers.js.map +1 -1
  1021. package/dist/commands/handlers/agents-handler.d.ts +51 -0
  1022. package/dist/commands/handlers/agents-handler.js +693 -0
  1023. package/dist/commands/handlers/agents-handler.js.map +1 -0
  1024. package/dist/commands/handlers/auth-handlers.d.ts +17 -0
  1025. package/dist/commands/handlers/auth-handlers.js +122 -0
  1026. package/dist/commands/handlers/auth-handlers.js.map +1 -0
  1027. package/dist/commands/handlers/backup-handlers.d.ts +14 -0
  1028. package/dist/commands/handlers/backup-handlers.js +275 -0
  1029. package/dist/commands/handlers/backup-handlers.js.map +1 -0
  1030. package/dist/commands/handlers/batch-handlers.d.ts +61 -0
  1031. package/dist/commands/handlers/batch-handlers.js +204 -0
  1032. package/dist/commands/handlers/batch-handlers.js.map +1 -0
  1033. package/dist/commands/handlers/branch-handlers.d.ts +19 -3
  1034. package/dist/commands/handlers/branch-handlers.js +309 -83
  1035. package/dist/commands/handlers/branch-handlers.js.map +1 -1
  1036. package/dist/commands/handlers/btw-handler.d.ts +14 -0
  1037. package/dist/commands/handlers/btw-handler.js +68 -0
  1038. package/dist/commands/handlers/btw-handler.js.map +1 -0
  1039. package/dist/commands/handlers/bug-handler.d.ts +13 -0
  1040. package/dist/commands/handlers/bug-handler.js +81 -0
  1041. package/dist/commands/handlers/bug-handler.js.map +1 -0
  1042. package/dist/commands/handlers/channel-handlers.d.ts +123 -0
  1043. package/dist/commands/handlers/channel-handlers.js +635 -0
  1044. package/dist/commands/handlers/channel-handlers.js.map +1 -0
  1045. package/dist/commands/handlers/clipboard-handler.d.ts +16 -0
  1046. package/dist/commands/handlers/clipboard-handler.js +128 -0
  1047. package/dist/commands/handlers/clipboard-handler.js.map +1 -0
  1048. package/dist/commands/handlers/cloud-handlers.d.ts +14 -0
  1049. package/dist/commands/handlers/cloud-handlers.js +252 -0
  1050. package/dist/commands/handlers/cloud-handlers.js.map +1 -0
  1051. package/dist/commands/handlers/colab-handler.js +5 -5
  1052. package/dist/commands/handlers/colab-handler.js.map +1 -1
  1053. package/dist/commands/handlers/companion-handler.d.ts +2 -0
  1054. package/dist/commands/handlers/companion-handler.js +335 -0
  1055. package/dist/commands/handlers/companion-handler.js.map +1 -0
  1056. package/dist/commands/handlers/conflicts-handler.d.ts +7 -0
  1057. package/dist/commands/handlers/conflicts-handler.js +67 -0
  1058. package/dist/commands/handlers/conflicts-handler.js.map +1 -0
  1059. package/dist/commands/handlers/core-handlers.d.ts +2 -2
  1060. package/dist/commands/handlers/core-handlers.js +171 -40
  1061. package/dist/commands/handlers/core-handlers.js.map +1 -1
  1062. package/dist/commands/handlers/daily-reset-handler.d.ts +29 -0
  1063. package/dist/commands/handlers/daily-reset-handler.js +161 -0
  1064. package/dist/commands/handlers/daily-reset-handler.js.map +1 -0
  1065. package/dist/commands/handlers/dev-handlers.d.ts +18 -0
  1066. package/dist/commands/handlers/dev-handlers.js +247 -0
  1067. package/dist/commands/handlers/dev-handlers.js.map +1 -0
  1068. package/dist/commands/handlers/export-handlers.js +3 -2
  1069. package/dist/commands/handlers/export-handlers.js.map +1 -1
  1070. package/dist/commands/handlers/extra-handlers.d.ts +22 -0
  1071. package/dist/commands/handlers/extra-handlers.js +168 -68
  1072. package/dist/commands/handlers/extra-handlers.js.map +1 -1
  1073. package/dist/commands/handlers/fast-mode-handler.d.ts +49 -0
  1074. package/dist/commands/handlers/fast-mode-handler.js +189 -0
  1075. package/dist/commands/handlers/fast-mode-handler.js.map +1 -0
  1076. package/dist/commands/handlers/fleet-handler.d.ts +43 -0
  1077. package/dist/commands/handlers/fleet-handler.js +1580 -0
  1078. package/dist/commands/handlers/fleet-handler.js.map +1 -0
  1079. package/dist/commands/handlers/graph-handlers.d.ts +20 -0
  1080. package/dist/commands/handlers/graph-handlers.js +245 -0
  1081. package/dist/commands/handlers/graph-handlers.js.map +1 -0
  1082. package/dist/commands/handlers/heartbeat-handler.d.ts +22 -0
  1083. package/dist/commands/handlers/heartbeat-handler.js +167 -0
  1084. package/dist/commands/handlers/heartbeat-handler.js.map +1 -0
  1085. package/dist/commands/handlers/index.d.ts +43 -6
  1086. package/dist/commands/handlers/index.js +85 -10
  1087. package/dist/commands/handlers/index.js.map +1 -1
  1088. package/dist/commands/handlers/infra-handlers.d.ts +17 -0
  1089. package/dist/commands/handlers/infra-handlers.js +164 -0
  1090. package/dist/commands/handlers/infra-handlers.js.map +1 -0
  1091. package/dist/commands/handlers/lightweight.d.ts +35 -0
  1092. package/dist/commands/handlers/lightweight.js +323 -0
  1093. package/dist/commands/handlers/lightweight.js.map +1 -0
  1094. package/dist/commands/handlers/memory-handlers.d.ts +2 -2
  1095. package/dist/commands/handlers/memory-handlers.js +139 -110
  1096. package/dist/commands/handlers/memory-handlers.js.map +1 -1
  1097. package/dist/commands/handlers/missing-handlers.d.ts +6 -2
  1098. package/dist/commands/handlers/missing-handlers.js +338 -132
  1099. package/dist/commands/handlers/missing-handlers.js.map +1 -1
  1100. package/dist/commands/handlers/permissions-handlers.d.ts +2 -2
  1101. package/dist/commands/handlers/permissions-handlers.js +2 -2
  1102. package/dist/commands/handlers/persona-handler.d.ts +11 -0
  1103. package/dist/commands/handlers/persona-handler.js +117 -0
  1104. package/dist/commands/handlers/persona-handler.js.map +1 -0
  1105. package/dist/commands/handlers/plugin-handlers.d.ts +7 -1
  1106. package/dist/commands/handlers/plugin-handlers.js +21 -0
  1107. package/dist/commands/handlers/plugin-handlers.js.map +1 -1
  1108. package/dist/commands/handlers/pr-handlers.d.ts +29 -0
  1109. package/dist/commands/handlers/pr-handlers.js +348 -0
  1110. package/dist/commands/handlers/pr-handlers.js.map +1 -0
  1111. package/dist/commands/handlers/replace-handler.d.ts +15 -0
  1112. package/dist/commands/handlers/replace-handler.js +128 -0
  1113. package/dist/commands/handlers/replace-handler.js.map +1 -0
  1114. package/dist/commands/handlers/research-handlers.js +1 -1
  1115. package/dist/commands/handlers/research-handlers.js.map +1 -1
  1116. package/dist/commands/handlers/security-handlers.d.ts +6 -1
  1117. package/dist/commands/handlers/security-handlers.js +202 -9
  1118. package/dist/commands/handlers/security-handlers.js.map +1 -1
  1119. package/dist/commands/handlers/session-handlers.d.ts +15 -0
  1120. package/dist/commands/handlers/session-handlers.js +205 -1
  1121. package/dist/commands/handlers/session-handlers.js.map +1 -1
  1122. package/dist/commands/handlers/starter-handlers.d.ts +9 -0
  1123. package/dist/commands/handlers/starter-handlers.js +151 -0
  1124. package/dist/commands/handlers/starter-handlers.js.map +1 -0
  1125. package/dist/commands/handlers/subagent-handler.d.ts +23 -0
  1126. package/dist/commands/handlers/subagent-handler.js +137 -0
  1127. package/dist/commands/handlers/subagent-handler.js.map +1 -0
  1128. package/dist/commands/handlers/suggest-handler.d.ts +13 -0
  1129. package/dist/commands/handlers/suggest-handler.js +90 -0
  1130. package/dist/commands/handlers/suggest-handler.js.map +1 -0
  1131. package/dist/commands/handlers/swarm-handler.d.ts +35 -0
  1132. package/dist/commands/handlers/swarm-handler.js +105 -0
  1133. package/dist/commands/handlers/swarm-handler.js.map +1 -0
  1134. package/dist/commands/handlers/switch-handler.d.ts +36 -0
  1135. package/dist/commands/handlers/switch-handler.js +186 -0
  1136. package/dist/commands/handlers/switch-handler.js.map +1 -0
  1137. package/dist/commands/handlers/team-handlers.d.ts +24 -0
  1138. package/dist/commands/handlers/team-handlers.js +177 -0
  1139. package/dist/commands/handlers/team-handlers.js.map +1 -0
  1140. package/dist/commands/handlers/team-session-handler.d.ts +50 -0
  1141. package/dist/commands/handlers/team-session-handler.js +326 -0
  1142. package/dist/commands/handlers/team-session-handler.js.map +1 -0
  1143. package/dist/commands/handlers/think-handlers.d.ts +24 -0
  1144. package/dist/commands/handlers/think-handlers.js +240 -0
  1145. package/dist/commands/handlers/think-handlers.js.map +1 -0
  1146. package/dist/commands/handlers/transform-handler.d.ts +24 -0
  1147. package/dist/commands/handlers/transform-handler.js +127 -0
  1148. package/dist/commands/handlers/transform-handler.js.map +1 -0
  1149. package/dist/commands/handlers/trigger-handlers.d.ts +19 -0
  1150. package/dist/commands/handlers/trigger-handlers.js +344 -0
  1151. package/dist/commands/handlers/trigger-handlers.js.map +1 -0
  1152. package/dist/commands/handlers/ultraplan-handler.d.ts +2 -0
  1153. package/dist/commands/handlers/ultraplan-handler.js +127 -0
  1154. package/dist/commands/handlers/ultraplan-handler.js.map +1 -0
  1155. package/dist/commands/handlers/vibe-handlers.js +142 -13
  1156. package/dist/commands/handlers/vibe-handlers.js.map +1 -1
  1157. package/dist/commands/handlers/voice-code-handler.d.ts +7 -0
  1158. package/dist/commands/handlers/voice-code-handler.js +45 -0
  1159. package/dist/commands/handlers/voice-code-handler.js.map +1 -0
  1160. package/dist/commands/handlers/watch-handler.d.ts +7 -0
  1161. package/dist/commands/handlers/watch-handler.js +63 -0
  1162. package/dist/commands/handlers/watch-handler.js.map +1 -0
  1163. package/dist/commands/handlers/worktree-handlers.d.ts +1 -1
  1164. package/dist/commands/handlers/worktree-handlers.js +14 -1
  1165. package/dist/commands/handlers/worktree-handlers.js.map +1 -1
  1166. package/dist/commands/headless-slash.d.ts +62 -0
  1167. package/dist/commands/headless-slash.js +73 -0
  1168. package/dist/commands/headless-slash.js.map +1 -0
  1169. package/dist/commands/lessons.d.ts +1 -1
  1170. package/dist/commands/lessons.js +282 -2
  1171. package/dist/commands/lessons.js.map +1 -1
  1172. package/dist/commands/pipeline.js +6 -0
  1173. package/dist/commands/pipeline.js.map +1 -1
  1174. package/dist/commands/provider.d.ts +8 -0
  1175. package/dist/commands/provider.js +25 -59
  1176. package/dist/commands/provider.js.map +1 -1
  1177. package/dist/commands/research/index.js +170 -7
  1178. package/dist/commands/research/index.js.map +1 -1
  1179. package/dist/commands/run-cli/index.d.ts +19 -0
  1180. package/dist/commands/run-cli/index.js +339 -0
  1181. package/dist/commands/run-cli/index.js.map +1 -1
  1182. package/dist/commands/skills-cli/index.d.ts +30 -0
  1183. package/dist/commands/skills-cli/index.js +736 -0
  1184. package/dist/commands/skills-cli/index.js.map +1 -0
  1185. package/dist/commands/slash/builtin-commands.js +549 -54
  1186. package/dist/commands/slash/builtin-commands.js.map +1 -1
  1187. package/dist/commands/slash/docs-command.d.ts +17 -0
  1188. package/dist/commands/slash/docs-command.js +335 -0
  1189. package/dist/commands/slash/docs-command.js.map +1 -0
  1190. package/dist/commands/slash/prompt-commands.d.ts +14 -0
  1191. package/dist/commands/slash/prompt-commands.js +94 -0
  1192. package/dist/commands/slash/prompt-commands.js.map +1 -0
  1193. package/dist/commands/slash-commands.d.ts +1 -1
  1194. package/dist/commands/slash-commands.js +23 -12
  1195. package/dist/commands/slash-commands.js.map +1 -1
  1196. package/dist/commands/spec-next.d.ts +20 -0
  1197. package/dist/commands/spec-next.js +231 -0
  1198. package/dist/commands/spec-next.js.map +1 -0
  1199. package/dist/commands/spec-plan.d.ts +25 -0
  1200. package/dist/commands/spec-plan.js +220 -0
  1201. package/dist/commands/spec-plan.js.map +1 -0
  1202. package/dist/commands/spec.d.ts +14 -0
  1203. package/dist/commands/spec.js +302 -0
  1204. package/dist/commands/spec.js.map +1 -0
  1205. package/dist/commands/update.d.ts +22 -0
  1206. package/dist/commands/update.js +115 -0
  1207. package/dist/commands/update.js.map +1 -0
  1208. package/dist/commands/user-model.d.ts +12 -0
  1209. package/dist/commands/user-model.js +251 -0
  1210. package/dist/commands/user-model.js.map +1 -0
  1211. package/dist/commands/watch-mode.js +7 -1
  1212. package/dist/commands/watch-mode.js.map +1 -1
  1213. package/dist/companion/camera.d.ts +134 -0
  1214. package/dist/companion/camera.js +539 -0
  1215. package/dist/companion/camera.js.map +1 -0
  1216. package/dist/companion/cards.d.ts +56 -0
  1217. package/dist/companion/cards.js +254 -0
  1218. package/dist/companion/cards.js.map +1 -0
  1219. package/dist/companion/check-in.d.ts +37 -0
  1220. package/dist/companion/check-in.js +207 -0
  1221. package/dist/companion/check-in.js.map +1 -0
  1222. package/dist/companion/companion-mode.d.ts +79 -0
  1223. package/dist/companion/companion-mode.js +191 -0
  1224. package/dist/companion/companion-mode.js.map +1 -0
  1225. package/dist/companion/competitive-radar.d.ts +40 -0
  1226. package/dist/companion/competitive-radar.js +272 -0
  1227. package/dist/companion/competitive-radar.js.map +1 -0
  1228. package/dist/companion/gateway-inbox.d.ts +239 -0
  1229. package/dist/companion/gateway-inbox.js +585 -0
  1230. package/dist/companion/gateway-inbox.js.map +1 -0
  1231. package/dist/companion/gateway.d.ts +237 -0
  1232. package/dist/companion/gateway.js +790 -0
  1233. package/dist/companion/gateway.js.map +1 -0
  1234. package/dist/companion/improvement-cycle.d.ts +26 -0
  1235. package/dist/companion/improvement-cycle.js +175 -0
  1236. package/dist/companion/improvement-cycle.js.map +1 -0
  1237. package/dist/companion/impulses.d.ts +39 -0
  1238. package/dist/companion/impulses.js +325 -0
  1239. package/dist/companion/impulses.js.map +1 -0
  1240. package/dist/companion/mission-board.d.ts +54 -0
  1241. package/dist/companion/mission-board.js +301 -0
  1242. package/dist/companion/mission-board.js.map +1 -0
  1243. package/dist/companion/mission-runner.d.ts +20 -0
  1244. package/dist/companion/mission-runner.js +252 -0
  1245. package/dist/companion/mission-runner.js.map +1 -0
  1246. package/dist/companion/percepts.d.ts +43 -0
  1247. package/dist/companion/percepts.js +222 -0
  1248. package/dist/companion/percepts.js.map +1 -0
  1249. package/dist/companion/privacy.d.ts +53 -0
  1250. package/dist/companion/privacy.js +169 -0
  1251. package/dist/companion/privacy.js.map +1 -0
  1252. package/dist/companion/safety-ledger.d.ts +56 -0
  1253. package/dist/companion/safety-ledger.js +191 -0
  1254. package/dist/companion/safety-ledger.js.map +1 -0
  1255. package/dist/companion/self-evaluation.d.ts +31 -0
  1256. package/dist/companion/self-evaluation.js +306 -0
  1257. package/dist/companion/self-evaluation.js.map +1 -0
  1258. package/dist/companion/skill-curator.d.ts +69 -0
  1259. package/dist/companion/skill-curator.js +517 -0
  1260. package/dist/companion/skill-curator.js.map +1 -0
  1261. package/dist/concurrency/index.d.ts +1 -1
  1262. package/dist/concurrency/index.js +1 -1
  1263. package/dist/concurrency/lane-queue.d.ts +1 -1
  1264. package/dist/concurrency/lane-queue.js +5 -2
  1265. package/dist/concurrency/lane-queue.js.map +1 -1
  1266. package/dist/config/advanced-config.d.ts +1 -1
  1267. package/dist/config/advanced-config.js +9 -6
  1268. package/dist/config/advanced-config.js.map +1 -1
  1269. package/dist/config/agent-defaults.d.ts +16 -0
  1270. package/dist/config/agent-defaults.js +33 -0
  1271. package/dist/config/agent-defaults.js.map +1 -0
  1272. package/dist/config/codebuddyrules.js +8 -6
  1273. package/dist/config/codebuddyrules.js.map +1 -1
  1274. package/dist/config/config-mutator.d.ts +40 -0
  1275. package/dist/config/config-mutator.js +261 -0
  1276. package/dist/config/config-mutator.js.map +1 -0
  1277. package/dist/config/constants.d.ts +88 -1
  1278. package/dist/config/constants.js +78 -1
  1279. package/dist/config/constants.js.map +1 -1
  1280. package/dist/config/env-schema.js +8 -2
  1281. package/dist/config/env-schema.js.map +1 -1
  1282. package/dist/config/feature-flags.js +13 -0
  1283. package/dist/config/feature-flags.js.map +1 -1
  1284. package/dist/config/hot-reload/diff.js +8 -4
  1285. package/dist/config/hot-reload/diff.js.map +1 -1
  1286. package/dist/config/hot-reload/index.js +9 -0
  1287. package/dist/config/hot-reload/index.js.map +1 -1
  1288. package/dist/config/index.d.ts +3 -0
  1289. package/dist/config/index.js +4 -0
  1290. package/dist/config/index.js.map +1 -1
  1291. package/dist/config/managed-settings.d.ts +109 -0
  1292. package/dist/config/managed-settings.js +181 -0
  1293. package/dist/config/managed-settings.js.map +1 -0
  1294. package/dist/config/model-defaults.d.ts +47 -0
  1295. package/dist/config/model-defaults.js +99 -0
  1296. package/dist/config/model-defaults.js.map +1 -0
  1297. package/dist/config/model-pricing.d.ts +37 -0
  1298. package/dist/config/model-pricing.js +55 -0
  1299. package/dist/config/model-pricing.js.map +1 -0
  1300. package/dist/config/model-registry.d.ts +68 -0
  1301. package/dist/config/model-registry.js +211 -0
  1302. package/dist/config/model-registry.js.map +1 -0
  1303. package/dist/config/model-tools.d.ts +13 -4
  1304. package/dist/config/model-tools.js +213 -12
  1305. package/dist/config/model-tools.js.map +1 -1
  1306. package/dist/config/resolve-model.d.ts +58 -0
  1307. package/dist/config/resolve-model.js +79 -0
  1308. package/dist/config/resolve-model.js.map +1 -0
  1309. package/dist/config/secret-ref.d.ts +24 -0
  1310. package/dist/config/secret-ref.js +121 -0
  1311. package/dist/config/secret-ref.js.map +1 -0
  1312. package/dist/config/settings-hierarchy.d.ts +85 -10
  1313. package/dist/config/settings-hierarchy.js +78 -12
  1314. package/dist/config/settings-hierarchy.js.map +1 -1
  1315. package/dist/config/toml-config.d.ts +385 -0
  1316. package/dist/config/toml-config.js +71 -3
  1317. package/dist/config/toml-config.js.map +1 -1
  1318. package/dist/context/auto-compact-threshold.d.ts +67 -0
  1319. package/dist/context/auto-compact-threshold.js +132 -0
  1320. package/dist/context/auto-compact-threshold.js.map +1 -0
  1321. package/dist/context/bootstrap-loader.d.ts +20 -3
  1322. package/dist/context/bootstrap-loader.js +120 -7
  1323. package/dist/context/bootstrap-loader.js.map +1 -1
  1324. package/dist/context/codebase-map.js +53 -17
  1325. package/dist/context/codebase-map.js.map +1 -1
  1326. package/dist/context/codebase-rag/chunker.js +12 -3
  1327. package/dist/context/codebase-rag/chunker.js.map +1 -1
  1328. package/dist/context/codebase-rag/codebase-rag.js +9 -3
  1329. package/dist/context/codebase-rag/codebase-rag.js.map +1 -1
  1330. package/dist/context/codebase-rag/embeddings.js +22 -11
  1331. package/dist/context/codebase-rag/embeddings.js.map +1 -1
  1332. package/dist/context/codebase-rag/hnsw-store.js +46 -17
  1333. package/dist/context/codebase-rag/hnsw-store.js.map +1 -1
  1334. package/dist/context/codebase-rag/ollama-embeddings.js +8 -3
  1335. package/dist/context/codebase-rag/ollama-embeddings.js.map +1 -1
  1336. package/dist/context/compaction/parallel-summarizer.js +4 -3
  1337. package/dist/context/compaction/parallel-summarizer.js.map +1 -1
  1338. package/dist/context/compaction-fork.d.ts +24 -0
  1339. package/dist/context/compaction-fork.js +33 -0
  1340. package/dist/context/compaction-fork.js.map +1 -0
  1341. package/dist/context/compression.js +7 -2
  1342. package/dist/context/compression.js.map +1 -1
  1343. package/dist/context/context-engine.d.ts +90 -0
  1344. package/dist/context/context-engine.js +8 -0
  1345. package/dist/context/context-engine.js.map +1 -0
  1346. package/dist/context/context-manager-v2.d.ts +71 -2
  1347. package/dist/context/context-manager-v2.js +262 -27
  1348. package/dist/context/context-manager-v2.js.map +1 -1
  1349. package/dist/context/cross-encoder-reranker.js +18 -4
  1350. package/dist/context/cross-encoder-reranker.js.map +1 -1
  1351. package/dist/context/default-context-engine.d.ts +28 -0
  1352. package/dist/context/default-context-engine.js +60 -0
  1353. package/dist/context/default-context-engine.js.map +1 -0
  1354. package/dist/context/enhanced-compression.d.ts +2 -2
  1355. package/dist/context/enhanced-compression.js +28 -9
  1356. package/dist/context/enhanced-compression.js.map +1 -1
  1357. package/dist/context/git-context.d.ts +50 -0
  1358. package/dist/context/git-context.js +198 -0
  1359. package/dist/context/git-context.js.map +1 -0
  1360. package/dist/context/guard/index.d.ts +1 -1
  1361. package/dist/context/guard/index.js +2 -2
  1362. package/dist/context/guard/index.js.map +1 -1
  1363. package/dist/context/import-directive-parser.d.ts +42 -0
  1364. package/dist/context/import-directive-parser.js +132 -0
  1365. package/dist/context/import-directive-parser.js.map +1 -0
  1366. package/dist/context/importance-scorer.d.ts +98 -0
  1367. package/dist/context/importance-scorer.js +213 -0
  1368. package/dist/context/importance-scorer.js.map +1 -0
  1369. package/dist/context/instruction-excludes.d.ts +25 -0
  1370. package/dist/context/instruction-excludes.js +73 -0
  1371. package/dist/context/instruction-excludes.js.map +1 -0
  1372. package/dist/context/jit-context.d.ts +27 -0
  1373. package/dist/context/jit-context.js +205 -0
  1374. package/dist/context/jit-context.js.map +1 -0
  1375. package/dist/context/multi-path-retrieval.js +15 -4
  1376. package/dist/context/multi-path-retrieval.js.map +1 -1
  1377. package/dist/context/observation-masking.js +2 -0
  1378. package/dist/context/observation-masking.js.map +1 -1
  1379. package/dist/context/observation-variator.js +14 -2
  1380. package/dist/context/observation-variator.js.map +1 -1
  1381. package/dist/context/precompaction-flush.d.ts +13 -3
  1382. package/dist/context/precompaction-flush.js +43 -7
  1383. package/dist/context/precompaction-flush.js.map +1 -1
  1384. package/dist/context/proactive-compaction.d.ts +37 -0
  1385. package/dist/context/proactive-compaction.js +161 -0
  1386. package/dist/context/proactive-compaction.js.map +1 -0
  1387. package/dist/context/progress-compaction-bridge.d.ts +22 -0
  1388. package/dist/context/progress-compaction-bridge.js +44 -0
  1389. package/dist/context/progress-compaction-bridge.js.map +1 -0
  1390. package/dist/context/repository-map.js +18 -7
  1391. package/dist/context/repository-map.js.map +1 -1
  1392. package/dist/context/restorable-compression.d.ts +13 -0
  1393. package/dist/context/restorable-compression.js +37 -5
  1394. package/dist/context/restorable-compression.js.map +1 -1
  1395. package/dist/context/rules-loader.d.ts +73 -0
  1396. package/dist/context/rules-loader.js +229 -0
  1397. package/dist/context/rules-loader.js.map +1 -0
  1398. package/dist/context/semantic-map/builder.js +37 -14
  1399. package/dist/context/semantic-map/builder.js.map +1 -1
  1400. package/dist/context/smart-compaction.d.ts +2 -2
  1401. package/dist/context/smart-compaction.js +54 -15
  1402. package/dist/context/smart-compaction.js.map +1 -1
  1403. package/dist/context/smart-preloader.js +13 -8
  1404. package/dist/context/smart-preloader.js.map +1 -1
  1405. package/dist/context/test-compaction.d.ts +1 -0
  1406. package/dist/context/test-compaction.js +32 -0
  1407. package/dist/context/test-compaction.js.map +1 -0
  1408. package/dist/context/token-counter.d.ts +26 -47
  1409. package/dist/context/token-counter.js +69 -145
  1410. package/dist/context/token-counter.js.map +1 -1
  1411. package/dist/context/tool-output-masking.d.ts +54 -0
  1412. package/dist/context/tool-output-masking.js +374 -0
  1413. package/dist/context/tool-output-masking.js.map +1 -0
  1414. package/dist/context/tool-pair-preserver.d.ts +27 -0
  1415. package/dist/context/tool-pair-preserver.js +73 -0
  1416. package/dist/context/tool-pair-preserver.js.map +1 -0
  1417. package/dist/context/transcript-repair.d.ts +19 -0
  1418. package/dist/context/transcript-repair.js +78 -0
  1419. package/dist/context/transcript-repair.js.map +1 -0
  1420. package/dist/context/two-phase-compaction.d.ts +46 -0
  1421. package/dist/context/two-phase-compaction.js +93 -0
  1422. package/dist/context/two-phase-compaction.js.map +1 -0
  1423. package/dist/context/web-search-grounding.js +9 -4
  1424. package/dist/context/web-search-grounding.js.map +1 -1
  1425. package/dist/context/workspace-context.d.ts +34 -0
  1426. package/dist/context/workspace-context.js +149 -0
  1427. package/dist/context/workspace-context.js.map +1 -0
  1428. package/dist/daemon/agent-task-executor.d.ts +66 -0
  1429. package/dist/daemon/agent-task-executor.js +139 -0
  1430. package/dist/daemon/agent-task-executor.js.map +1 -0
  1431. package/dist/daemon/autonomous-daemon.d.ts +104 -0
  1432. package/dist/daemon/autonomous-daemon.js +161 -0
  1433. package/dist/daemon/autonomous-daemon.js.map +1 -0
  1434. package/dist/daemon/autonomous-loop.d.ts +64 -0
  1435. package/dist/daemon/autonomous-loop.js +107 -0
  1436. package/dist/daemon/autonomous-loop.js.map +1 -0
  1437. package/dist/daemon/cron-agent-bridge.d.ts +51 -2
  1438. package/dist/daemon/cron-agent-bridge.js +270 -22
  1439. package/dist/daemon/cron-agent-bridge.js.map +1 -1
  1440. package/dist/daemon/daemon-manager.js +16 -1
  1441. package/dist/daemon/daemon-manager.js.map +1 -1
  1442. package/dist/daemon/daily-reset.d.ts +39 -4
  1443. package/dist/daemon/daily-reset.js +13 -5
  1444. package/dist/daemon/daily-reset.js.map +1 -1
  1445. package/dist/daemon/health-monitor.d.ts +15 -0
  1446. package/dist/daemon/health-monitor.js +36 -2
  1447. package/dist/daemon/health-monitor.js.map +1 -1
  1448. package/dist/daemon/heartbeat.d.ts +1 -1
  1449. package/dist/daemon/heartbeat.js +1 -1
  1450. package/dist/daemon/index.d.ts +1 -0
  1451. package/dist/daemon/index.js +1 -0
  1452. package/dist/daemon/index.js.map +1 -1
  1453. package/dist/daemon/learning-cron-job.d.ts +40 -0
  1454. package/dist/daemon/learning-cron-job.js +77 -0
  1455. package/dist/daemon/learning-cron-job.js.map +1 -0
  1456. package/dist/daemon/ollama-task-executor.d.ts +30 -0
  1457. package/dist/daemon/ollama-task-executor.js +82 -0
  1458. package/dist/daemon/ollama-task-executor.js.map +1 -0
  1459. package/dist/daemon/service-installer.d.ts +49 -0
  1460. package/dist/daemon/service-installer.js +317 -0
  1461. package/dist/daemon/service-installer.js.map +1 -0
  1462. package/dist/daemon/status-reports.d.ts +55 -0
  1463. package/dist/daemon/status-reports.js +93 -0
  1464. package/dist/daemon/status-reports.js.map +1 -0
  1465. package/dist/database/database-manager.js +14 -3
  1466. package/dist/database/database-manager.js.map +1 -1
  1467. package/dist/database/migration.js +1 -1
  1468. package/dist/database/migration.js.map +1 -1
  1469. package/dist/database/repositories/cache-repository.js +7 -3
  1470. package/dist/database/repositories/cache-repository.js.map +1 -1
  1471. package/dist/database/repositories/embedding-repository.js +24 -5
  1472. package/dist/database/repositories/embedding-repository.js.map +1 -1
  1473. package/dist/database/repositories/memory-repository.js +5 -3
  1474. package/dist/database/repositories/memory-repository.js.map +1 -1
  1475. package/dist/database/repositories/session-repository.d.ts +27 -1
  1476. package/dist/database/repositories/session-repository.js +217 -10
  1477. package/dist/database/repositories/session-repository.js.map +1 -1
  1478. package/dist/database/schema.d.ts +2 -1
  1479. package/dist/database/schema.js +78 -3
  1480. package/dist/database/schema.js.map +1 -1
  1481. package/dist/deploy/cloud-configs.d.ts +34 -0
  1482. package/dist/deploy/cloud-configs.js +194 -0
  1483. package/dist/deploy/cloud-configs.js.map +1 -0
  1484. package/dist/deploy/nix-config.d.ts +18 -0
  1485. package/dist/deploy/nix-config.js +97 -0
  1486. package/dist/deploy/nix-config.js.map +1 -0
  1487. package/dist/desktop/codebuddy-engine-adapter.d.ts +99 -0
  1488. package/dist/desktop/codebuddy-engine-adapter.js +484 -0
  1489. package/dist/desktop/codebuddy-engine-adapter.js.map +1 -0
  1490. package/dist/desktop/desktop-app.d.ts +1 -1
  1491. package/dist/desktop/desktop-app.js +8 -23
  1492. package/dist/desktop/desktop-app.js.map +1 -1
  1493. package/dist/desktop/electron-paths.d.ts +4 -0
  1494. package/dist/desktop/electron-paths.js +30 -0
  1495. package/dist/desktop/electron-paths.js.map +1 -0
  1496. package/dist/desktop/engine-adapter.d.ts +91 -0
  1497. package/dist/desktop/engine-adapter.js +11 -0
  1498. package/dist/desktop/engine-adapter.js.map +1 -0
  1499. package/dist/desktop/index.d.ts +16 -0
  1500. package/dist/desktop/index.js +16 -0
  1501. package/dist/desktop/index.js.map +1 -0
  1502. package/dist/desktop/installer.d.ts +16 -0
  1503. package/dist/desktop/installer.js +141 -0
  1504. package/dist/desktop/installer.js.map +1 -0
  1505. package/dist/desktop/launcher.d.ts +27 -0
  1506. package/dist/desktop/launcher.js +90 -0
  1507. package/dist/desktop/launcher.js.map +1 -0
  1508. package/dist/desktop/mcp-bridge.d.ts +73 -0
  1509. package/dist/desktop/mcp-bridge.js +95 -0
  1510. package/dist/desktop/mcp-bridge.js.map +1 -0
  1511. package/dist/desktop/permission-bridge.d.ts +58 -0
  1512. package/dist/desktop/permission-bridge.js +117 -0
  1513. package/dist/desktop/permission-bridge.js.map +1 -0
  1514. package/dist/desktop/sandbox-bridge.d.ts +55 -0
  1515. package/dist/desktop/sandbox-bridge.js +93 -0
  1516. package/dist/desktop/sandbox-bridge.js.map +1 -0
  1517. package/dist/desktop-automation/automation-manager.d.ts +6 -0
  1518. package/dist/desktop-automation/automation-manager.js +31 -2
  1519. package/dist/desktop-automation/automation-manager.js.map +1 -1
  1520. package/dist/desktop-automation/base-native-provider.js +18 -6
  1521. package/dist/desktop-automation/base-native-provider.js.map +1 -1
  1522. package/dist/desktop-automation/index.d.ts +1 -1
  1523. package/dist/desktop-automation/index.js +2 -2
  1524. package/dist/desktop-automation/index.js.map +1 -1
  1525. package/dist/desktop-automation/linux-native-provider.js +7 -7
  1526. package/dist/desktop-automation/linux-native-provider.js.map +1 -1
  1527. package/dist/desktop-automation/macos-native-provider.js +27 -24
  1528. package/dist/desktop-automation/macos-native-provider.js.map +1 -1
  1529. package/dist/desktop-automation/permission-manager.d.ts +1 -1
  1530. package/dist/desktop-automation/permission-manager.js +1 -1
  1531. package/dist/desktop-automation/screen-recorder.js +6 -5
  1532. package/dist/desktop-automation/screen-recorder.js.map +1 -1
  1533. package/dist/desktop-automation/smart-snapshot.d.ts +24 -3
  1534. package/dist/desktop-automation/smart-snapshot.js +371 -104
  1535. package/dist/desktop-automation/smart-snapshot.js.map +1 -1
  1536. package/dist/desktop-automation/system-control.d.ts +1 -1
  1537. package/dist/desktop-automation/system-control.js +9 -5
  1538. package/dist/desktop-automation/system-control.js.map +1 -1
  1539. package/dist/desktop-automation/windows-native-provider.d.ts +14 -19
  1540. package/dist/desktop-automation/windows-native-provider.js +629 -338
  1541. package/dist/desktop-automation/windows-native-provider.js.map +1 -1
  1542. package/dist/docs/blueprint-builder.d.ts +65 -0
  1543. package/dist/docs/blueprint-builder.js +195 -0
  1544. package/dist/docs/blueprint-builder.js.map +1 -0
  1545. package/dist/docs/config.d.ts +32 -0
  1546. package/dist/docs/config.js +46 -0
  1547. package/dist/docs/config.js.map +1 -0
  1548. package/dist/docs/discovery/project-discovery.d.ts +107 -0
  1549. package/dist/docs/discovery/project-discovery.js +539 -0
  1550. package/dist/docs/discovery/project-discovery.js.map +1 -0
  1551. package/dist/docs/doc-exporter.d.ts +38 -0
  1552. package/dist/docs/doc-exporter.js +91 -0
  1553. package/dist/docs/doc-exporter.js.map +1 -0
  1554. package/dist/docs/docs-context-provider.d.ts +33 -0
  1555. package/dist/docs/docs-context-provider.js +269 -0
  1556. package/dist/docs/docs-context-provider.js.map +1 -0
  1557. package/dist/docs/docs-pipeline.d.ts +42 -0
  1558. package/dist/docs/docs-pipeline.js +132 -0
  1559. package/dist/docs/docs-pipeline.js.map +1 -0
  1560. package/dist/docs/generation/page-generator.d.ts +22 -0
  1561. package/dist/docs/generation/page-generator.js +1011 -0
  1562. package/dist/docs/generation/page-generator.js.map +1 -0
  1563. package/dist/docs/linking/concept-linker.d.ts +29 -0
  1564. package/dist/docs/linking/concept-linker.js +263 -0
  1565. package/dist/docs/linking/concept-linker.js.map +1 -0
  1566. package/dist/docs/llm-docs-generator.d.ts +38 -0
  1567. package/dist/docs/llm-docs-generator.js +558 -0
  1568. package/dist/docs/llm-docs-generator.js.map +1 -0
  1569. package/dist/docs/llm-enricher.d.ts +43 -0
  1570. package/dist/docs/llm-enricher.js +401 -0
  1571. package/dist/docs/llm-enricher.js.map +1 -0
  1572. package/dist/docs/planning/plan-generator.d.ts +43 -0
  1573. package/dist/docs/planning/plan-generator.js +298 -0
  1574. package/dist/docs/planning/plan-generator.js.map +1 -0
  1575. package/dist/docs/renderers/html-theme.d.ts +49 -0
  1576. package/dist/docs/renderers/html-theme.js +728 -0
  1577. package/dist/docs/renderers/html-theme.js.map +1 -0
  1578. package/dist/docs/renderers/multi-format-renderer.d.ts +41 -0
  1579. package/dist/docs/renderers/multi-format-renderer.js +154 -0
  1580. package/dist/docs/renderers/multi-format-renderer.js.map +1 -0
  1581. package/dist/docs/renderers/types.d.ts +25 -0
  1582. package/dist/docs/renderers/types.js +12 -0
  1583. package/dist/docs/renderers/types.js.map +1 -0
  1584. package/dist/docs/renderers/wiki-generator.d.ts +36 -0
  1585. package/dist/docs/renderers/wiki-generator.js +435 -0
  1586. package/dist/docs/renderers/wiki-generator.js.map +1 -0
  1587. package/dist/docs/validation/page-validator.d.ts +21 -0
  1588. package/dist/docs/validation/page-validator.js +154 -0
  1589. package/dist/docs/validation/page-validator.js.map +1 -0
  1590. package/dist/doctor/index.d.ts +8 -0
  1591. package/dist/doctor/index.js +307 -7
  1592. package/dist/doctor/index.js.map +1 -1
  1593. package/dist/email/client.js +4 -2
  1594. package/dist/email/client.js.map +1 -1
  1595. package/dist/email/service.js +3 -0
  1596. package/dist/email/service.js.map +1 -1
  1597. package/dist/embeddings/embedding-provider.js +18 -7
  1598. package/dist/embeddings/embedding-provider.js.map +1 -1
  1599. package/dist/embeddings/index.d.ts +1 -0
  1600. package/dist/embeddings/index.js +2 -0
  1601. package/dist/embeddings/index.js.map +1 -1
  1602. package/dist/embeddings/multimodal-embedding-provider.d.ts +58 -0
  1603. package/dist/embeddings/multimodal-embedding-provider.js +148 -0
  1604. package/dist/embeddings/multimodal-embedding-provider.js.map +1 -0
  1605. package/dist/encoding/charset-handler.js +40 -18
  1606. package/dist/encoding/charset-handler.js.map +1 -1
  1607. package/dist/encoding/format-converter.js +43 -16
  1608. package/dist/encoding/format-converter.js.map +1 -1
  1609. package/dist/encoding/text-encoder.js +3 -3
  1610. package/dist/encoding/text-encoder.js.map +1 -1
  1611. package/dist/errors/crash-recovery.d.ts +36 -0
  1612. package/dist/errors/crash-recovery.js +202 -0
  1613. package/dist/errors/crash-recovery.js.map +1 -0
  1614. package/dist/errors/index.d.ts +23 -0
  1615. package/dist/errors/index.js +75 -1
  1616. package/dist/errors/index.js.map +1 -1
  1617. package/dist/export/knowledge-base-export.js +1 -1
  1618. package/dist/export/knowledge-base-export.js.map +1 -1
  1619. package/dist/features/index.d.ts +1 -1
  1620. package/dist/features/index.js +3 -3
  1621. package/dist/features/index.js.map +1 -1
  1622. package/dist/fleet/autonomous-tick-broadcaster.d.ts +58 -0
  1623. package/dist/fleet/autonomous-tick-broadcaster.js +110 -0
  1624. package/dist/fleet/autonomous-tick-broadcaster.js.map +1 -0
  1625. package/dist/fleet/capability-registry.d.ts +37 -0
  1626. package/dist/fleet/capability-registry.js +425 -0
  1627. package/dist/fleet/capability-registry.js.map +1 -0
  1628. package/dist/fleet/colab-store.d.ts +197 -0
  1629. package/dist/fleet/colab-store.js +379 -0
  1630. package/dist/fleet/colab-store.js.map +1 -0
  1631. package/dist/fleet/colab-swarm.d.ts +36 -0
  1632. package/dist/fleet/colab-swarm.js +41 -0
  1633. package/dist/fleet/colab-swarm.js.map +1 -0
  1634. package/dist/fleet/compaction-bridge.d.ts +36 -0
  1635. package/dist/fleet/compaction-bridge.js +116 -0
  1636. package/dist/fleet/compaction-bridge.js.map +1 -0
  1637. package/dist/fleet/cost-tracker.d.ts +82 -0
  1638. package/dist/fleet/cost-tracker.js +153 -0
  1639. package/dist/fleet/cost-tracker.js.map +1 -0
  1640. package/dist/fleet/dispatch-profile.d.ts +66 -0
  1641. package/dist/fleet/dispatch-profile.js +363 -0
  1642. package/dist/fleet/dispatch-profile.js.map +1 -0
  1643. package/dist/fleet/fleet-listener.d.ts +315 -0
  1644. package/dist/fleet/fleet-listener.js +741 -0
  1645. package/dist/fleet/fleet-listener.js.map +1 -0
  1646. package/dist/fleet/fleet-registry.d.ts +113 -0
  1647. package/dist/fleet/fleet-registry.js +51 -0
  1648. package/dist/fleet/fleet-registry.js.map +1 -0
  1649. package/dist/fleet/heartbeat-broadcaster.d.ts +38 -0
  1650. package/dist/fleet/heartbeat-broadcaster.js +86 -0
  1651. package/dist/fleet/heartbeat-broadcaster.js.map +1 -0
  1652. package/dist/fleet/peer-chat-bridge.d.ts +98 -0
  1653. package/dist/fleet/peer-chat-bridge.js +275 -0
  1654. package/dist/fleet/peer-chat-bridge.js.map +1 -0
  1655. package/dist/fleet/peer-chat-client-factory.d.ts +70 -0
  1656. package/dist/fleet/peer-chat-client-factory.js +296 -0
  1657. package/dist/fleet/peer-chat-client-factory.js.map +1 -0
  1658. package/dist/fleet/peer-session-bridge.d.ts +61 -0
  1659. package/dist/fleet/peer-session-bridge.js +563 -0
  1660. package/dist/fleet/peer-session-bridge.js.map +1 -0
  1661. package/dist/fleet/peer-session-store.d.ts +95 -0
  1662. package/dist/fleet/peer-session-store.js +183 -0
  1663. package/dist/fleet/peer-session-store.js.map +1 -0
  1664. package/dist/fleet/peer-tool-bridge.d.ts +29 -0
  1665. package/dist/fleet/peer-tool-bridge.js +422 -0
  1666. package/dist/fleet/peer-tool-bridge.js.map +1 -0
  1667. package/dist/fleet/permissions.d.ts +7 -0
  1668. package/dist/fleet/permissions.js +40 -0
  1669. package/dist/fleet/permissions.js.map +1 -0
  1670. package/dist/fleet/privacy-lint.d.ts +37 -0
  1671. package/dist/fleet/privacy-lint.js +167 -0
  1672. package/dist/fleet/privacy-lint.js.map +1 -0
  1673. package/dist/fleet/result-aggregator.d.ts +118 -0
  1674. package/dist/fleet/result-aggregator.js +292 -0
  1675. package/dist/fleet/result-aggregator.js.map +1 -0
  1676. package/dist/fleet/saga-store.d.ts +213 -0
  1677. package/dist/fleet/saga-store.js +453 -0
  1678. package/dist/fleet/saga-store.js.map +1 -0
  1679. package/dist/fleet/task-router.d.ts +150 -0
  1680. package/dist/fleet/task-router.js +329 -0
  1681. package/dist/fleet/task-router.js.map +1 -0
  1682. package/dist/fleet/types.d.ts +97 -0
  1683. package/dist/fleet/types.js +12 -0
  1684. package/dist/fleet/types.js.map +1 -0
  1685. package/dist/gateway/device-pairing.d.ts +146 -0
  1686. package/dist/gateway/device-pairing.js +258 -0
  1687. package/dist/gateway/device-pairing.js.map +1 -0
  1688. package/dist/gateway/index.d.ts +2 -2
  1689. package/dist/gateway/index.js +1 -1
  1690. package/dist/gateway/index.js.map +1 -1
  1691. package/dist/gateway/protocol.d.ts +63 -0
  1692. package/dist/gateway/protocol.js +65 -0
  1693. package/dist/gateway/protocol.js.map +1 -0
  1694. package/dist/gateway/server.d.ts +14 -0
  1695. package/dist/gateway/server.js +119 -8
  1696. package/dist/gateway/server.js.map +1 -1
  1697. package/dist/gateway/types.d.ts +126 -2
  1698. package/dist/gateway/types.js +5 -0
  1699. package/dist/gateway/types.js.map +1 -1
  1700. package/dist/gateway/ws-transport.d.ts +68 -3
  1701. package/dist/gateway/ws-transport.js +147 -16
  1702. package/dist/gateway/ws-transport.js.map +1 -1
  1703. package/dist/hardware/gpu-monitor.js +14 -11
  1704. package/dist/hardware/gpu-monitor.js.map +1 -1
  1705. package/dist/harness/contract.d.ts +866 -0
  1706. package/dist/harness/contract.js +202 -0
  1707. package/dist/harness/contract.js.map +1 -0
  1708. package/dist/harness/index.d.ts +2 -0
  1709. package/dist/harness/index.js +3 -0
  1710. package/dist/harness/index.js.map +1 -0
  1711. package/dist/harness/run-store-adapter.d.ts +12 -0
  1712. package/dist/harness/run-store-adapter.js +61 -0
  1713. package/dist/harness/run-store-adapter.js.map +1 -0
  1714. package/dist/hooks/advanced-hooks.d.ts +5 -4
  1715. package/dist/hooks/advanced-hooks.js +4 -3
  1716. package/dist/hooks/advanced-hooks.js.map +1 -1
  1717. package/dist/hooks/env-persistence.js +2 -3
  1718. package/dist/hooks/env-persistence.js.map +1 -1
  1719. package/dist/hooks/hermes-lifecycle-hooks.d.ts +38 -0
  1720. package/dist/hooks/hermes-lifecycle-hooks.js +124 -0
  1721. package/dist/hooks/hermes-lifecycle-hooks.js.map +1 -0
  1722. package/dist/hooks/hook-manager.d.ts +3 -1
  1723. package/dist/hooks/hook-manager.js.map +1 -1
  1724. package/dist/hooks/hook-runner.d.ts +108 -0
  1725. package/dist/hooks/hook-runner.js +349 -0
  1726. package/dist/hooks/hook-runner.js.map +1 -0
  1727. package/dist/hooks/hook-system.d.ts +1 -1
  1728. package/dist/hooks/hook-system.js +1 -1
  1729. package/dist/hooks/hook-types.d.ts +169 -0
  1730. package/dist/hooks/hook-types.js +13 -0
  1731. package/dist/hooks/hook-types.js.map +1 -0
  1732. package/dist/hooks/lifecycle-hooks.d.ts +3 -2
  1733. package/dist/hooks/lifecycle-hooks.js +1 -1
  1734. package/dist/hooks/lifecycle-hooks.js.map +1 -1
  1735. package/dist/hooks/tool-lifecycle-hooks.d.ts +1 -1
  1736. package/dist/hooks/tool-lifecycle-hooks.js +4 -2
  1737. package/dist/hooks/tool-lifecycle-hooks.js.map +1 -1
  1738. package/dist/hooks/use-input-handler.d.ts +6 -1
  1739. package/dist/hooks/use-input-handler.js +115 -70
  1740. package/dist/hooks/use-input-handler.js.map +1 -1
  1741. package/dist/hooks/use-input-history.js +4 -1
  1742. package/dist/hooks/use-input-history.js.map +1 -1
  1743. package/dist/hooks/user-hooks.d.ts +116 -0
  1744. package/dist/hooks/user-hooks.js +411 -0
  1745. package/dist/hooks/user-hooks.js.map +1 -0
  1746. package/dist/i18n/index.d.ts +37 -142
  1747. package/dist/i18n/index.js +116 -295
  1748. package/dist/i18n/index.js.map +1 -1
  1749. package/dist/ide/vscode-extension.js +5 -1
  1750. package/dist/ide/vscode-extension.js.map +1 -1
  1751. package/dist/identity/companion-identity.d.ts +10 -0
  1752. package/dist/identity/companion-identity.js +80 -0
  1753. package/dist/identity/companion-identity.js.map +1 -0
  1754. package/dist/identity/identity-manager.js +4 -0
  1755. package/dist/identity/identity-manager.js.map +1 -1
  1756. package/dist/identity/relationship-intelligence.d.ts +50 -0
  1757. package/dist/identity/relationship-intelligence.js +279 -0
  1758. package/dist/identity/relationship-intelligence.js.map +1 -0
  1759. package/dist/index.js +1070 -199
  1760. package/dist/index.js.map +1 -1
  1761. package/dist/inference/health-monitor.d.ts +76 -0
  1762. package/dist/inference/health-monitor.js +378 -0
  1763. package/dist/inference/health-monitor.js.map +1 -0
  1764. package/dist/inference/index.d.ts +2 -0
  1765. package/dist/inference/index.js +2 -0
  1766. package/dist/inference/index.js.map +1 -1
  1767. package/dist/inference/inference-optimizer.d.ts +116 -0
  1768. package/dist/inference/inference-optimizer.js +427 -0
  1769. package/dist/inference/inference-optimizer.js.map +1 -0
  1770. package/dist/inference/kv-cache-config.js +2 -1
  1771. package/dist/inference/kv-cache-config.js.map +1 -1
  1772. package/dist/inference/speculative-decoding.js +8 -4
  1773. package/dist/inference/speculative-decoding.js.map +1 -1
  1774. package/dist/input/context-mentions.d.ts +41 -1
  1775. package/dist/input/context-mentions.js +260 -6
  1776. package/dist/input/context-mentions.js.map +1 -1
  1777. package/dist/input/file-autocomplete.js +5 -3
  1778. package/dist/input/file-autocomplete.js.map +1 -1
  1779. package/dist/input/multimodal-input.js +12 -11
  1780. package/dist/input/multimodal-input.js.map +1 -1
  1781. package/dist/input/text-to-speech.d.ts +5 -1
  1782. package/dist/input/text-to-speech.js +47 -24
  1783. package/dist/input/text-to-speech.js.map +1 -1
  1784. package/dist/input/voice-control.js +2 -6
  1785. package/dist/input/voice-control.js.map +1 -1
  1786. package/dist/input/voice-input-enhanced.js +5 -8
  1787. package/dist/input/voice-input-enhanced.js.map +1 -1
  1788. package/dist/input/voice-input.js +24 -5
  1789. package/dist/input/voice-input.js.map +1 -1
  1790. package/dist/integrations/chrome-bridge.d.ts +111 -5
  1791. package/dist/integrations/chrome-bridge.js +282 -7
  1792. package/dist/integrations/chrome-bridge.js.map +1 -1
  1793. package/dist/integrations/ci-autofix-pipeline.d.ts +81 -0
  1794. package/dist/integrations/ci-autofix-pipeline.js +212 -0
  1795. package/dist/integrations/ci-autofix-pipeline.js.map +1 -0
  1796. package/dist/integrations/code-review.js +10 -2
  1797. package/dist/integrations/code-review.js.map +1 -1
  1798. package/dist/integrations/git-platform-integration.js +8 -4
  1799. package/dist/integrations/git-platform-integration.js.map +1 -1
  1800. package/dist/integrations/github-actions.js +9 -5
  1801. package/dist/integrations/github-actions.js.map +1 -1
  1802. package/dist/integrations/github-integration.d.ts +5 -0
  1803. package/dist/integrations/github-integration.js +60 -2
  1804. package/dist/integrations/github-integration.js.map +1 -1
  1805. package/dist/integrations/ide/server.d.ts +20 -0
  1806. package/dist/integrations/ide/server.js +328 -13
  1807. package/dist/integrations/ide/server.js.map +1 -1
  1808. package/dist/integrations/ide-protocol.js +4 -1
  1809. package/dist/integrations/ide-protocol.js.map +1 -1
  1810. package/dist/integrations/index.d.ts +1 -0
  1811. package/dist/integrations/index.js +2 -0
  1812. package/dist/integrations/index.js.map +1 -1
  1813. package/dist/integrations/json-rpc/server.js +4 -3
  1814. package/dist/integrations/json-rpc/server.js.map +1 -1
  1815. package/dist/integrations/notification-integrations.js +7 -3
  1816. package/dist/integrations/notification-integrations.js.map +1 -1
  1817. package/dist/integrations/opentelemetry-integration.js +16 -6
  1818. package/dist/integrations/opentelemetry-integration.js.map +1 -1
  1819. package/dist/integrations/pr-session-linker.d.ts +8 -1
  1820. package/dist/integrations/pr-session-linker.js +180 -35
  1821. package/dist/integrations/pr-session-linker.js.map +1 -1
  1822. package/dist/integrations/screenpipe/screenpipe-client.d.ts +58 -0
  1823. package/dist/integrations/screenpipe/screenpipe-client.js +82 -0
  1824. package/dist/integrations/screenpipe/screenpipe-client.js.map +1 -0
  1825. package/dist/integrations/sentry-integration.js +16 -8
  1826. package/dist/integrations/sentry-integration.js.map +1 -1
  1827. package/dist/integrations/server-runner.js +5 -1
  1828. package/dist/integrations/server-runner.js.map +1 -1
  1829. package/dist/integrations/tailscale.d.ts +53 -5
  1830. package/dist/integrations/tailscale.js +195 -42
  1831. package/dist/integrations/tailscale.js.map +1 -1
  1832. package/dist/integrations/task-management-integration.js +5 -2
  1833. package/dist/integrations/task-management-integration.js.map +1 -1
  1834. package/dist/intelligence/anomaly-detector.js +2 -0
  1835. package/dist/intelligence/anomaly-detector.js.map +1 -1
  1836. package/dist/intelligence/refactoring-recommender.js +2 -0
  1837. package/dist/intelligence/refactoring-recommender.js.map +1 -1
  1838. package/dist/intelligence/semantic-search.js +6 -2
  1839. package/dist/intelligence/semantic-search.js.map +1 -1
  1840. package/dist/intelligence/user-preferences.js +2 -2
  1841. package/dist/intelligence/user-preferences.js.map +1 -1
  1842. package/dist/interpreter/computer/browser.js +15 -4
  1843. package/dist/interpreter/computer/browser.js.map +1 -1
  1844. package/dist/interpreter/computer/files.js +3 -0
  1845. package/dist/interpreter/computer/files.js.map +1 -1
  1846. package/dist/interpreter/computer/os.js +15 -15
  1847. package/dist/interpreter/computer/os.js.map +1 -1
  1848. package/dist/interpreter/computer/skills.d.ts +4 -0
  1849. package/dist/interpreter/computer/skills.js +68 -9
  1850. package/dist/interpreter/computer/skills.js.map +1 -1
  1851. package/dist/interpreter/interpreter-service.js +5 -3
  1852. package/dist/interpreter/interpreter-service.js.map +1 -1
  1853. package/dist/kanban/kanban-board-registry.d.ts +66 -0
  1854. package/dist/kanban/kanban-board-registry.js +197 -0
  1855. package/dist/kanban/kanban-board-registry.js.map +1 -0
  1856. package/dist/kanban/kanban-store.d.ts +105 -0
  1857. package/dist/kanban/kanban-store.js +379 -0
  1858. package/dist/kanban/kanban-store.js.map +1 -0
  1859. package/dist/knowledge/code-graph-context-provider.d.ts +49 -0
  1860. package/dist/knowledge/code-graph-context-provider.js +412 -0
  1861. package/dist/knowledge/code-graph-context-provider.js.map +1 -0
  1862. package/dist/knowledge/code-graph-deep-populator.d.ts +21 -0
  1863. package/dist/knowledge/code-graph-deep-populator.js +296 -0
  1864. package/dist/knowledge/code-graph-deep-populator.js.map +1 -0
  1865. package/dist/knowledge/code-graph-persistence.d.ts +20 -0
  1866. package/dist/knowledge/code-graph-persistence.js +72 -0
  1867. package/dist/knowledge/code-graph-persistence.js.map +1 -0
  1868. package/dist/knowledge/code-graph-populator.d.ts +21 -0
  1869. package/dist/knowledge/code-graph-populator.js +131 -0
  1870. package/dist/knowledge/code-graph-populator.js.map +1 -0
  1871. package/dist/knowledge/community-detection.d.ts +47 -0
  1872. package/dist/knowledge/community-detection.js +293 -0
  1873. package/dist/knowledge/community-detection.js.map +1 -0
  1874. package/dist/knowledge/community-detector.d.ts +31 -0
  1875. package/dist/knowledge/community-detector.js +257 -0
  1876. package/dist/knowledge/community-detector.js.map +1 -0
  1877. package/dist/knowledge/graph-analytics.d.ts +80 -0
  1878. package/dist/knowledge/graph-analytics.js +374 -0
  1879. package/dist/knowledge/graph-analytics.js.map +1 -0
  1880. package/dist/knowledge/graph-drift.d.ts +80 -0
  1881. package/dist/knowledge/graph-drift.js +233 -0
  1882. package/dist/knowledge/graph-drift.js.map +1 -0
  1883. package/dist/knowledge/graph-embeddings.d.ts +35 -0
  1884. package/dist/knowledge/graph-embeddings.js +225 -0
  1885. package/dist/knowledge/graph-embeddings.js.map +1 -0
  1886. package/dist/knowledge/graph-pagerank.d.ts +33 -0
  1887. package/dist/knowledge/graph-pagerank.js +98 -0
  1888. package/dist/knowledge/graph-pagerank.js.map +1 -0
  1889. package/dist/knowledge/graph-updater.d.ts +18 -0
  1890. package/dist/knowledge/graph-updater.js +150 -0
  1891. package/dist/knowledge/graph-updater.js.map +1 -0
  1892. package/dist/knowledge/graph-visualizer.d.ts +28 -0
  1893. package/dist/knowledge/graph-visualizer.js +302 -0
  1894. package/dist/knowledge/graph-visualizer.js.map +1 -0
  1895. package/dist/knowledge/impact-analyzer.d.ts +26 -0
  1896. package/dist/knowledge/impact-analyzer.js +112 -0
  1897. package/dist/knowledge/impact-analyzer.js.map +1 -0
  1898. package/dist/knowledge/knowledge-graph.d.ts +144 -0
  1899. package/dist/knowledge/knowledge-graph.js +498 -0
  1900. package/dist/knowledge/knowledge-graph.js.map +1 -0
  1901. package/dist/knowledge/knowledge-manager.d.ts +5 -0
  1902. package/dist/knowledge/knowledge-manager.js +59 -4
  1903. package/dist/knowledge/knowledge-manager.js.map +1 -1
  1904. package/dist/knowledge/mermaid-generator.d.ts +53 -0
  1905. package/dist/knowledge/mermaid-generator.js +379 -0
  1906. package/dist/knowledge/mermaid-generator.js.map +1 -0
  1907. package/dist/knowledge/process-detector.d.ts +38 -0
  1908. package/dist/knowledge/process-detector.js +305 -0
  1909. package/dist/knowledge/process-detector.js.map +1 -0
  1910. package/dist/knowledge/scanners/framework-plugins.d.ts +47 -0
  1911. package/dist/knowledge/scanners/framework-plugins.js +164 -0
  1912. package/dist/knowledge/scanners/framework-plugins.js.map +1 -0
  1913. package/dist/knowledge/scanners/go.d.ts +9 -0
  1914. package/dist/knowledge/scanners/go.js +206 -0
  1915. package/dist/knowledge/scanners/go.js.map +1 -0
  1916. package/dist/knowledge/scanners/index.d.ts +25 -0
  1917. package/dist/knowledge/scanners/index.js +82 -0
  1918. package/dist/knowledge/scanners/index.js.map +1 -0
  1919. package/dist/knowledge/scanners/java.d.ts +9 -0
  1920. package/dist/knowledge/scanners/java.js +214 -0
  1921. package/dist/knowledge/scanners/java.js.map +1 -0
  1922. package/dist/knowledge/scanners/py-tree-sitter.d.ts +15 -0
  1923. package/dist/knowledge/scanners/py-tree-sitter.js +34 -0
  1924. package/dist/knowledge/scanners/py-tree-sitter.js.map +1 -0
  1925. package/dist/knowledge/scanners/python.d.ts +9 -0
  1926. package/dist/knowledge/scanners/python.js +274 -0
  1927. package/dist/knowledge/scanners/python.js.map +1 -0
  1928. package/dist/knowledge/scanners/rust.d.ts +9 -0
  1929. package/dist/knowledge/scanners/rust.js +227 -0
  1930. package/dist/knowledge/scanners/rust.js.map +1 -0
  1931. package/dist/knowledge/scanners/tree-sitter-scanner.d.ts +48 -0
  1932. package/dist/knowledge/scanners/tree-sitter-scanner.js +254 -0
  1933. package/dist/knowledge/scanners/tree-sitter-scanner.js.map +1 -0
  1934. package/dist/knowledge/scanners/ts-tree-sitter.d.ts +15 -0
  1935. package/dist/knowledge/scanners/ts-tree-sitter.js +35 -0
  1936. package/dist/knowledge/scanners/ts-tree-sitter.js.map +1 -0
  1937. package/dist/knowledge/scanners/types.d.ts +59 -0
  1938. package/dist/knowledge/scanners/types.js +126 -0
  1939. package/dist/knowledge/scanners/types.js.map +1 -0
  1940. package/dist/knowledge/scanners/typescript.d.ts +9 -0
  1941. package/dist/knowledge/scanners/typescript.js +231 -0
  1942. package/dist/knowledge/scanners/typescript.js.map +1 -0
  1943. package/dist/knowledge/workspace-indexer.d.ts +45 -0
  1944. package/dist/knowledge/workspace-indexer.js +261 -0
  1945. package/dist/knowledge/workspace-indexer.js.map +1 -0
  1946. package/dist/leads/index.d.ts +5 -0
  1947. package/dist/leads/index.js +6 -0
  1948. package/dist/leads/index.js.map +1 -0
  1949. package/dist/leads/lead-discovery-workflow-template.d.ts +61 -0
  1950. package/dist/leads/lead-discovery-workflow-template.js +351 -0
  1951. package/dist/leads/lead-discovery-workflow-template.js.map +1 -0
  1952. package/dist/leads/lead-scout-enrichment-plan.d.ts +64 -0
  1953. package/dist/leads/lead-scout-enrichment-plan.js +491 -0
  1954. package/dist/leads/lead-scout-enrichment-plan.js.map +1 -0
  1955. package/dist/leads/lead-scout-lessons.d.ts +48 -0
  1956. package/dist/leads/lead-scout-lessons.js +191 -0
  1957. package/dist/leads/lead-scout-lessons.js.map +1 -0
  1958. package/dist/leads/lead-scout-plan.d.ts +69 -0
  1959. package/dist/leads/lead-scout-plan.js +378 -0
  1960. package/dist/leads/lead-scout-plan.js.map +1 -0
  1961. package/dist/leads/lead-scout-runner.d.ts +61 -0
  1962. package/dist/leads/lead-scout-runner.js +517 -0
  1963. package/dist/leads/lead-scout-runner.js.map +1 -0
  1964. package/dist/learning/persistent-learning.js +4 -4
  1965. package/dist/learning/persistent-learning.js.map +1 -1
  1966. package/dist/location/index.js +1 -1
  1967. package/dist/location/index.js.map +1 -1
  1968. package/dist/logging/interaction-logger.js +9 -6
  1969. package/dist/logging/interaction-logger.js.map +1 -1
  1970. package/dist/lsp/ai-completion-provider.d.ts +126 -0
  1971. package/dist/lsp/ai-completion-provider.js +304 -0
  1972. package/dist/lsp/ai-completion-provider.js.map +1 -0
  1973. package/dist/lsp/completion-cache.d.ts +20 -0
  1974. package/dist/lsp/completion-cache.js +44 -0
  1975. package/dist/lsp/completion-cache.js.map +1 -0
  1976. package/dist/lsp/context-gatherer.d.ts +39 -0
  1977. package/dist/lsp/context-gatherer.js +133 -0
  1978. package/dist/lsp/context-gatherer.js.map +1 -0
  1979. package/dist/lsp/index.d.ts +10 -1
  1980. package/dist/lsp/index.js +6 -1
  1981. package/dist/lsp/index.js.map +1 -1
  1982. package/dist/lsp/inline-completion-handler.d.ts +101 -0
  1983. package/dist/lsp/inline-completion-handler.js +95 -0
  1984. package/dist/lsp/inline-completion-handler.js.map +1 -0
  1985. package/dist/lsp/lsp-client.d.ts +161 -11
  1986. package/dist/lsp/lsp-client.js +624 -62
  1987. package/dist/lsp/lsp-client.js.map +1 -1
  1988. package/dist/lsp/server.js +76 -24
  1989. package/dist/lsp/server.js.map +1 -1
  1990. package/dist/mcp/client.js +1 -1
  1991. package/dist/mcp/client.js.map +1 -1
  1992. package/dist/mcp/config.d.ts +1 -1
  1993. package/dist/mcp/config.js +3 -2
  1994. package/dist/mcp/config.js.map +1 -1
  1995. package/dist/mcp/mcp-client.js +7 -4
  1996. package/dist/mcp/mcp-client.js.map +1 -1
  1997. package/dist/mcp/mcp-oauth.d.ts +64 -0
  1998. package/dist/mcp/mcp-oauth.js +384 -0
  1999. package/dist/mcp/mcp-oauth.js.map +1 -0
  2000. package/dist/mcp/mcp-resources.js +9 -0
  2001. package/dist/mcp/mcp-resources.js.map +1 -1
  2002. package/dist/mcp/transports.js +13 -3
  2003. package/dist/mcp/transports.js.map +1 -1
  2004. package/dist/memory/adapters/cli-memory-adapters.d.ts +22 -0
  2005. package/dist/memory/adapters/cli-memory-adapters.js +180 -0
  2006. package/dist/memory/adapters/cli-memory-adapters.js.map +1 -0
  2007. package/dist/memory/adapters/network-memory-adapters.d.ts +127 -0
  2008. package/dist/memory/adapters/network-memory-adapters.js +565 -0
  2009. package/dist/memory/adapters/network-memory-adapters.js.map +1 -0
  2010. package/dist/memory/auto-capture.d.ts +5 -1
  2011. package/dist/memory/auto-capture.js +38 -1
  2012. package/dist/memory/auto-capture.js.map +1 -1
  2013. package/dist/memory/auto-memory.js +7 -2
  2014. package/dist/memory/auto-memory.js.map +1 -1
  2015. package/dist/memory/coding-style-analyzer.d.ts +72 -0
  2016. package/dist/memory/coding-style-analyzer.js +564 -0
  2017. package/dist/memory/coding-style-analyzer.js.map +1 -0
  2018. package/dist/memory/cross-modal-search.d.ts +42 -0
  2019. package/dist/memory/cross-modal-search.js +225 -0
  2020. package/dist/memory/cross-modal-search.js.map +1 -0
  2021. package/dist/memory/decision-memory.d.ts +61 -0
  2022. package/dist/memory/decision-memory.js +249 -0
  2023. package/dist/memory/decision-memory.js.map +1 -0
  2024. package/dist/memory/enhanced-memory.d.ts +13 -0
  2025. package/dist/memory/enhanced-memory.js +69 -5
  2026. package/dist/memory/enhanced-memory.js.map +1 -1
  2027. package/dist/memory/facts-memory.d.ts +75 -0
  2028. package/dist/memory/facts-memory.js +182 -0
  2029. package/dist/memory/facts-memory.js.map +1 -0
  2030. package/dist/memory/hybrid-search.d.ts +2 -2
  2031. package/dist/memory/hybrid-search.js +8 -5
  2032. package/dist/memory/hybrid-search.js.map +1 -1
  2033. package/dist/memory/index.d.ts +3 -0
  2034. package/dist/memory/index.js +7 -1
  2035. package/dist/memory/index.js.map +1 -1
  2036. package/dist/memory/knowledge-graph.d.ts +241 -0
  2037. package/dist/memory/knowledge-graph.js +887 -0
  2038. package/dist/memory/knowledge-graph.js.map +1 -0
  2039. package/dist/memory/local-memory-provider.d.ts +18 -0
  2040. package/dist/memory/local-memory-provider.js +33 -0
  2041. package/dist/memory/local-memory-provider.js.map +1 -0
  2042. package/dist/memory/memory-consolidation.d.ts +55 -0
  2043. package/dist/memory/memory-consolidation.js +213 -0
  2044. package/dist/memory/memory-consolidation.js.map +1 -0
  2045. package/dist/memory/memory-lifecycle-hooks.d.ts +1 -1
  2046. package/dist/memory/memory-lifecycle-hooks.js +14 -4
  2047. package/dist/memory/memory-lifecycle-hooks.js.map +1 -1
  2048. package/dist/memory/memory-provider.d.ts +55 -0
  2049. package/dist/memory/memory-provider.js +94 -0
  2050. package/dist/memory/memory-provider.js.map +1 -0
  2051. package/dist/memory/ocr-memory-pipeline.d.ts +63 -0
  2052. package/dist/memory/ocr-memory-pipeline.js +361 -0
  2053. package/dist/memory/ocr-memory-pipeline.js.map +1 -0
  2054. package/dist/memory/persistent-memory.d.ts +27 -1
  2055. package/dist/memory/persistent-memory.js +270 -61
  2056. package/dist/memory/persistent-memory.js.map +1 -1
  2057. package/dist/memory/presence-injector.d.ts +61 -0
  2058. package/dist/memory/presence-injector.js +128 -0
  2059. package/dist/memory/presence-injector.js.map +1 -0
  2060. package/dist/memory/semantic-memory-search.d.ts +1 -1
  2061. package/dist/memory/semantic-memory-search.js +13 -6
  2062. package/dist/memory/semantic-memory-search.js.map +1 -1
  2063. package/dist/memory/user-model.d.ts +139 -0
  2064. package/dist/memory/user-model.js +575 -0
  2065. package/dist/memory/user-model.js.map +1 -0
  2066. package/dist/metrics/metrics-collector.js +15 -3
  2067. package/dist/metrics/metrics-collector.js.map +1 -1
  2068. package/dist/ml/bayesian-qualifier.d.ts +69 -0
  2069. package/dist/ml/bayesian-qualifier.js +251 -0
  2070. package/dist/ml/bayesian-qualifier.js.map +1 -0
  2071. package/dist/modes/code-review.js +7 -2
  2072. package/dist/modes/code-review.js.map +1 -1
  2073. package/dist/networking/index.d.ts +4 -2
  2074. package/dist/networking/index.js +4 -2
  2075. package/dist/networking/index.js.map +1 -1
  2076. package/dist/nodes/device-node.d.ts +30 -1
  2077. package/dist/nodes/device-node.js +53 -6
  2078. package/dist/nodes/device-node.js.map +1 -1
  2079. package/dist/nodes/index.d.ts +97 -0
  2080. package/dist/nodes/index.js +258 -0
  2081. package/dist/nodes/index.js.map +1 -0
  2082. package/dist/nodes/transports/adb-transport.d.ts +57 -0
  2083. package/dist/nodes/transports/adb-transport.js +220 -1
  2084. package/dist/nodes/transports/adb-transport.js.map +1 -1
  2085. package/dist/nodes/transports/base-transport.d.ts +1 -1
  2086. package/dist/observability/golden-workflow-evals.d.ts +53 -0
  2087. package/dist/observability/golden-workflow-evals.js +316 -0
  2088. package/dist/observability/golden-workflow-evals.js.map +1 -0
  2089. package/dist/observability/hermes-trajectory-compatibility.d.ts +72 -0
  2090. package/dist/observability/hermes-trajectory-compatibility.js +288 -0
  2091. package/dist/observability/hermes-trajectory-compatibility.js.map +1 -0
  2092. package/dist/observability/index.d.ts +2 -0
  2093. package/dist/observability/index.js +31 -0
  2094. package/dist/observability/index.js.map +1 -1
  2095. package/dist/observability/mobile-supervision-approval-queue.d.ts +53 -0
  2096. package/dist/observability/mobile-supervision-approval-queue.js +100 -0
  2097. package/dist/observability/mobile-supervision-approval-queue.js.map +1 -0
  2098. package/dist/observability/mobile-supervision-gateway-contract.d.ts +47 -0
  2099. package/dist/observability/mobile-supervision-gateway-contract.js +111 -0
  2100. package/dist/observability/mobile-supervision-gateway-contract.js.map +1 -0
  2101. package/dist/observability/mobile-supervision-gateway-listener-shell.d.ts +44 -0
  2102. package/dist/observability/mobile-supervision-gateway-listener-shell.js +88 -0
  2103. package/dist/observability/mobile-supervision-gateway-listener-shell.js.map +1 -0
  2104. package/dist/observability/mobile-supervision-gateway-policy.d.ts +45 -0
  2105. package/dist/observability/mobile-supervision-gateway-policy.js +152 -0
  2106. package/dist/observability/mobile-supervision-gateway-policy.js.map +1 -0
  2107. package/dist/observability/mobile-supervision-pairing-acceptance-plan.d.ts +59 -0
  2108. package/dist/observability/mobile-supervision-pairing-acceptance-plan.js +153 -0
  2109. package/dist/observability/mobile-supervision-pairing-acceptance-plan.js.map +1 -0
  2110. package/dist/observability/mobile-supervision-pairing-state.d.ts +46 -0
  2111. package/dist/observability/mobile-supervision-pairing-state.js +110 -0
  2112. package/dist/observability/mobile-supervision-pairing-state.js.map +1 -0
  2113. package/dist/observability/mobile-supervision-snapshot.d.ts +55 -0
  2114. package/dist/observability/mobile-supervision-snapshot.js +125 -0
  2115. package/dist/observability/mobile-supervision-snapshot.js.map +1 -0
  2116. package/dist/observability/policy-evals.d.ts +46 -0
  2117. package/dist/observability/policy-evals.js +213 -0
  2118. package/dist/observability/policy-evals.js.map +1 -0
  2119. package/dist/observability/run-recall-pack.d.ts +104 -0
  2120. package/dist/observability/run-recall-pack.js +434 -0
  2121. package/dist/observability/run-recall-pack.js.map +1 -0
  2122. package/dist/observability/run-store.d.ts +152 -1
  2123. package/dist/observability/run-store.js +681 -4
  2124. package/dist/observability/run-store.js.map +1 -1
  2125. package/dist/observability/run-trajectory-batch.d.ts +60 -0
  2126. package/dist/observability/run-trajectory-batch.js +221 -0
  2127. package/dist/observability/run-trajectory-batch.js.map +1 -0
  2128. package/dist/observability/run-trajectory-export.d.ts +83 -0
  2129. package/dist/observability/run-trajectory-export.js +307 -0
  2130. package/dist/observability/run-trajectory-export.js.map +1 -0
  2131. package/dist/observability/run-viewer.d.ts +160 -1
  2132. package/dist/observability/run-viewer.js +681 -2
  2133. package/dist/observability/run-viewer.js.map +1 -1
  2134. package/dist/observability/tool-metrics.d.ts +61 -0
  2135. package/dist/observability/tool-metrics.js +122 -0
  2136. package/dist/observability/tool-metrics.js.map +1 -0
  2137. package/dist/observability/tracing.d.ts +6 -0
  2138. package/dist/observability/tracing.js +51 -0
  2139. package/dist/observability/tracing.js.map +1 -0
  2140. package/dist/offline/offline-mode.js +7 -3
  2141. package/dist/offline/offline-mode.js.map +1 -1
  2142. package/dist/openclaw/gateway-bridge.d.ts +494 -0
  2143. package/dist/openclaw/gateway-bridge.js +1748 -0
  2144. package/dist/openclaw/gateway-bridge.js.map +1 -0
  2145. package/dist/openclaw/index.d.ts +7 -6
  2146. package/dist/openclaw/index.js +7 -6
  2147. package/dist/openclaw/index.js.map +1 -1
  2148. package/dist/optimization/cache-breakpoints.d.ts +1 -1
  2149. package/dist/optimization/cache-breakpoints.js +8 -5
  2150. package/dist/optimization/cache-breakpoints.js.map +1 -1
  2151. package/dist/optimization/latency-optimizer.js +11 -13
  2152. package/dist/optimization/latency-optimizer.js.map +1 -1
  2153. package/dist/optimization/model-routing.js +4 -1
  2154. package/dist/optimization/model-routing.js.map +1 -1
  2155. package/dist/orchestration/orchestrator.d.ts +5 -0
  2156. package/dist/orchestration/orchestrator.js +74 -5
  2157. package/dist/orchestration/orchestrator.js.map +1 -1
  2158. package/dist/orchestration/types.d.ts +17 -1
  2159. package/dist/output/json-schema-output.d.ts +4 -4
  2160. package/dist/output/json-schema-output.js +26 -20
  2161. package/dist/output/json-schema-output.js.map +1 -1
  2162. package/dist/performance/benchmark-suite.js +18 -7
  2163. package/dist/performance/benchmark-suite.js.map +1 -1
  2164. package/dist/persistence/conversation-branches.js +1 -2
  2165. package/dist/persistence/conversation-branches.js.map +1 -1
  2166. package/dist/persistence/session-export.js +3 -0
  2167. package/dist/persistence/session-export.js.map +1 -1
  2168. package/dist/persistence/session-lock.d.ts +3 -1
  2169. package/dist/persistence/session-lock.js +12 -1
  2170. package/dist/persistence/session-lock.js.map +1 -1
  2171. package/dist/persistence/session-store.d.ts +45 -3
  2172. package/dist/persistence/session-store.js +338 -52
  2173. package/dist/persistence/session-store.js.map +1 -1
  2174. package/dist/personas/persona-manager.d.ts +6 -1
  2175. package/dist/personas/persona-manager.js +85 -1
  2176. package/dist/personas/persona-manager.js.map +1 -1
  2177. package/dist/plugin-sdk/channel.d.ts +127 -0
  2178. package/dist/plugin-sdk/channel.js +47 -0
  2179. package/dist/plugin-sdk/channel.js.map +1 -0
  2180. package/dist/plugin-sdk/core.d.ts +71 -0
  2181. package/dist/plugin-sdk/core.js +70 -0
  2182. package/dist/plugin-sdk/core.js.map +1 -0
  2183. package/dist/plugin-sdk/index.d.ts +43 -0
  2184. package/dist/plugin-sdk/index.js +43 -0
  2185. package/dist/plugin-sdk/index.js.map +1 -0
  2186. package/dist/plugin-sdk/llm.d.ts +112 -0
  2187. package/dist/plugin-sdk/llm.js +46 -0
  2188. package/dist/plugin-sdk/llm.js.map +1 -0
  2189. package/dist/plugin-sdk/testing.d.ts +137 -0
  2190. package/dist/plugin-sdk/testing.js +192 -0
  2191. package/dist/plugin-sdk/testing.js.map +1 -0
  2192. package/dist/plugin-sdk/tool.d.ts +113 -0
  2193. package/dist/plugin-sdk/tool.js +52 -0
  2194. package/dist/plugin-sdk/tool.js.map +1 -0
  2195. package/dist/plugins/bundled/azure-provider.d.ts +17 -0
  2196. package/dist/plugins/bundled/azure-provider.js +240 -0
  2197. package/dist/plugins/bundled/azure-provider.js.map +1 -0
  2198. package/dist/plugins/bundled/bedrock-provider.d.ts +17 -0
  2199. package/dist/plugins/bundled/bedrock-provider.js +331 -0
  2200. package/dist/plugins/bundled/bedrock-provider.js.map +1 -0
  2201. package/dist/plugins/bundled/copilot-provider.d.ts +11 -0
  2202. package/dist/plugins/bundled/copilot-provider.js +55 -0
  2203. package/dist/plugins/bundled/copilot-provider.js.map +1 -0
  2204. package/dist/plugins/bundled/fireworks-provider.d.ts +20 -0
  2205. package/dist/plugins/bundled/fireworks-provider.js +119 -0
  2206. package/dist/plugins/bundled/fireworks-provider.js.map +1 -0
  2207. package/dist/plugins/bundled/gemma-provider.d.ts +27 -0
  2208. package/dist/plugins/bundled/gemma-provider.js +142 -0
  2209. package/dist/plugins/bundled/gemma-provider.js.map +1 -0
  2210. package/dist/plugins/bundled/groq-provider.d.ts +20 -0
  2211. package/dist/plugins/bundled/groq-provider.js +128 -0
  2212. package/dist/plugins/bundled/groq-provider.js.map +1 -0
  2213. package/dist/plugins/bundled/index.d.ts +15 -0
  2214. package/dist/plugins/bundled/index.js +62 -0
  2215. package/dist/plugins/bundled/index.js.map +1 -0
  2216. package/dist/plugins/bundled/ollama-provider.d.ts +16 -0
  2217. package/dist/plugins/bundled/ollama-provider.js +159 -0
  2218. package/dist/plugins/bundled/ollama-provider.js.map +1 -0
  2219. package/dist/plugins/bundled/openrouter-provider.d.ts +11 -0
  2220. package/dist/plugins/bundled/openrouter-provider.js +57 -0
  2221. package/dist/plugins/bundled/openrouter-provider.js.map +1 -0
  2222. package/dist/plugins/bundled/together-provider.d.ts +20 -0
  2223. package/dist/plugins/bundled/together-provider.js +119 -0
  2224. package/dist/plugins/bundled/together-provider.js.map +1 -0
  2225. package/dist/plugins/bundled/turboquant-plugin.d.ts +38 -0
  2226. package/dist/plugins/bundled/turboquant-plugin.js +164 -0
  2227. package/dist/plugins/bundled/turboquant-plugin.js.map +1 -0
  2228. package/dist/plugins/bundled/vllm-provider.d.ts +16 -0
  2229. package/dist/plugins/bundled/vllm-provider.js +114 -0
  2230. package/dist/plugins/bundled/vllm-provider.js.map +1 -0
  2231. package/dist/plugins/conflict-detection.d.ts +1 -1
  2232. package/dist/plugins/conflict-detection.js +1 -1
  2233. package/dist/plugins/gitnexus/GitNexusMCPClient.d.ts +129 -0
  2234. package/dist/plugins/gitnexus/GitNexusMCPClient.js +143 -0
  2235. package/dist/plugins/gitnexus/GitNexusMCPClient.js.map +1 -0
  2236. package/dist/plugins/gitnexus/GitNexusManager.d.ts +66 -0
  2237. package/dist/plugins/gitnexus/GitNexusManager.js +192 -0
  2238. package/dist/plugins/gitnexus/GitNexusManager.js.map +1 -0
  2239. package/dist/plugins/gitnexus/index.d.ts +9 -0
  2240. package/dist/plugins/gitnexus/index.js +8 -0
  2241. package/dist/plugins/gitnexus/index.js.map +1 -0
  2242. package/dist/plugins/isolated-plugin-runner.d.ts +1 -1
  2243. package/dist/plugins/isolated-plugin-runner.js +23 -1
  2244. package/dist/plugins/isolated-plugin-runner.js.map +1 -1
  2245. package/dist/plugins/plugin-manager.d.ts +45 -0
  2246. package/dist/plugins/plugin-manager.js +268 -1
  2247. package/dist/plugins/plugin-manager.js.map +1 -1
  2248. package/dist/plugins/plugin-manifest.d.ts +10 -2
  2249. package/dist/plugins/plugin-manifest.js +72 -5
  2250. package/dist/plugins/plugin-manifest.js.map +1 -1
  2251. package/dist/plugins/plugin-system.js +14 -0
  2252. package/dist/plugins/plugin-system.js.map +1 -1
  2253. package/dist/plugins/plugin-worker.js +59 -5
  2254. package/dist/plugins/plugin-worker.js.map +1 -1
  2255. package/dist/plugins/provider-onboarding.d.ts +23 -0
  2256. package/dist/plugins/provider-onboarding.js +116 -0
  2257. package/dist/plugins/provider-onboarding.js.map +1 -0
  2258. package/dist/plugins/types.d.ts +45 -0
  2259. package/dist/plugins/types.js.map +1 -1
  2260. package/dist/prompts/index.d.ts +1 -1
  2261. package/dist/prompts/index.js.map +1 -1
  2262. package/dist/prompts/prompt-manager.d.ts +15 -0
  2263. package/dist/prompts/prompt-manager.js +75 -12
  2264. package/dist/prompts/prompt-manager.js.map +1 -1
  2265. package/dist/prompts/system-base.d.ts +1 -1
  2266. package/dist/prompts/system-base.js +15 -6
  2267. package/dist/prompts/system-base.js.map +1 -1
  2268. package/dist/prompts/variation-injector.js +7 -2
  2269. package/dist/prompts/variation-injector.js.map +1 -1
  2270. package/dist/prompts/workflow-rules.d.ts +8 -1
  2271. package/dist/prompts/workflow-rules.js +88 -11
  2272. package/dist/prompts/workflow-rules.js.map +1 -1
  2273. package/dist/protocols/a2a/codebuddy-executor.d.ts +38 -0
  2274. package/dist/protocols/a2a/codebuddy-executor.js +219 -0
  2275. package/dist/protocols/a2a/codebuddy-executor.js.map +1 -0
  2276. package/dist/protocols/a2a/index.d.ts +217 -0
  2277. package/dist/protocols/a2a/index.js +393 -0
  2278. package/dist/protocols/a2a/index.js.map +1 -0
  2279. package/dist/protocols/acp/acp-agentic-runner.d.ts +54 -0
  2280. package/dist/protocols/acp/acp-agentic-runner.js +407 -0
  2281. package/dist/protocols/acp/acp-agentic-runner.js.map +1 -0
  2282. package/dist/protocols/acp/acp-server.d.ts +89 -0
  2283. package/dist/protocols/acp/acp-server.js +172 -0
  2284. package/dist/protocols/acp/acp-server.js.map +1 -0
  2285. package/dist/protocols/acp/acp-stdio-server.d.ts +115 -0
  2286. package/dist/protocols/acp/acp-stdio-server.js +525 -0
  2287. package/dist/protocols/acp/acp-stdio-server.js.map +1 -0
  2288. package/dist/providers/_shared/base-provider.d.ts +78 -0
  2289. package/dist/providers/_shared/base-provider.js +79 -0
  2290. package/dist/providers/_shared/base-provider.js.map +1 -0
  2291. package/dist/providers/_shared/circuit-breaker.d.ts +81 -0
  2292. package/dist/providers/_shared/circuit-breaker.js +192 -0
  2293. package/dist/providers/_shared/circuit-breaker.js.map +1 -0
  2294. package/dist/providers/_shared/index.d.ts +20 -0
  2295. package/dist/providers/_shared/index.js +20 -0
  2296. package/dist/providers/_shared/index.js.map +1 -0
  2297. package/dist/providers/_shared/retry.d.ts +87 -0
  2298. package/dist/providers/_shared/retry.js +169 -0
  2299. package/dist/providers/_shared/retry.js.map +1 -0
  2300. package/dist/providers/_shared/tool-format.d.ts +100 -0
  2301. package/dist/providers/_shared/tool-format.js +172 -0
  2302. package/dist/providers/_shared/tool-format.js.map +1 -0
  2303. package/dist/providers/_shared/types.d.ts +222 -0
  2304. package/dist/providers/_shared/types.js +8 -0
  2305. package/dist/providers/_shared/types.js.map +1 -0
  2306. package/dist/providers/additional-providers.d.ts +41 -0
  2307. package/dist/providers/additional-providers.js +171 -0
  2308. package/dist/providers/additional-providers.js.map +1 -0
  2309. package/dist/providers/base-provider.d.ts +6 -0
  2310. package/dist/providers/base-provider.js +6 -0
  2311. package/dist/providers/base-provider.js.map +1 -1
  2312. package/dist/providers/circuit-breaker.d.ts +118 -0
  2313. package/dist/providers/circuit-breaker.js +254 -0
  2314. package/dist/providers/circuit-breaker.js.map +1 -0
  2315. package/dist/providers/codex-oauth.d.ts +126 -0
  2316. package/dist/providers/codex-oauth.js +524 -0
  2317. package/dist/providers/codex-oauth.js.map +1 -0
  2318. package/dist/providers/fallback-chain.js +6 -0
  2319. package/dist/providers/fallback-chain.js.map +1 -1
  2320. package/dist/providers/gemini-oauth.d.ts +7 -0
  2321. package/dist/providers/gemini-oauth.js +148 -0
  2322. package/dist/providers/gemini-oauth.js.map +1 -0
  2323. package/dist/providers/gemini-provider.d.ts +1 -0
  2324. package/dist/providers/gemini-provider.js +62 -9
  2325. package/dist/providers/gemini-provider.js.map +1 -1
  2326. package/dist/providers/grok-provider.js +1 -1
  2327. package/dist/providers/grok-provider.js.map +1 -1
  2328. package/dist/providers/index.d.ts +2 -0
  2329. package/dist/providers/index.js +2 -0
  2330. package/dist/providers/index.js.map +1 -1
  2331. package/dist/providers/openai-provider.js +24 -1
  2332. package/dist/providers/openai-provider.js.map +1 -1
  2333. package/dist/providers/smart-router.d.ts +1 -1
  2334. package/dist/providers/smart-router.js +17 -7
  2335. package/dist/providers/smart-router.js.map +1 -1
  2336. package/dist/providers/turboquant-provider.d.ts +92 -0
  2337. package/dist/providers/turboquant-provider.js +421 -0
  2338. package/dist/providers/turboquant-provider.js.map +1 -0
  2339. package/dist/providers/types.d.ts +20 -71
  2340. package/dist/providers/types.js +6 -3
  2341. package/dist/providers/types.js.map +1 -1
  2342. package/dist/queue/persistent-queue.d.ts +1 -1
  2343. package/dist/queue/persistent-queue.js +1 -1
  2344. package/dist/queue/persistent-queue.js.map +1 -1
  2345. package/dist/queue/priority-queue.d.ts +1 -1
  2346. package/dist/queue/priority-queue.js +13 -8
  2347. package/dist/queue/priority-queue.js.map +1 -1
  2348. package/dist/queue/queue-singleton.d.ts +3 -3
  2349. package/dist/queue/queue-singleton.js +3 -3
  2350. package/dist/queue/queue-singleton.js.map +1 -1
  2351. package/dist/renderers/charts/sparkline.js +4 -1
  2352. package/dist/renderers/charts/sparkline.js.map +1 -1
  2353. package/dist/renderers/code-structure-renderer.js +2 -4
  2354. package/dist/renderers/code-structure-renderer.js.map +1 -1
  2355. package/dist/renderers/diff-renderer.js +4 -5
  2356. package/dist/renderers/diff-renderer.js.map +1 -1
  2357. package/dist/renderers/table-renderer.js +6 -7
  2358. package/dist/renderers/table-renderer.js.map +1 -1
  2359. package/dist/renderers/tree-renderer.js +6 -10
  2360. package/dist/renderers/tree-renderer.js.map +1 -1
  2361. package/dist/rules/rules-loader.d.ts +56 -0
  2362. package/dist/rules/rules-loader.js +173 -0
  2363. package/dist/rules/rules-loader.js.map +1 -0
  2364. package/dist/sandbox/docker-sandbox.d.ts +15 -2
  2365. package/dist/sandbox/docker-sandbox.js +71 -1
  2366. package/dist/sandbox/docker-sandbox.js.map +1 -1
  2367. package/dist/sandbox/e2b-sandbox.d.ts +111 -0
  2368. package/dist/sandbox/e2b-sandbox.js +358 -0
  2369. package/dist/sandbox/e2b-sandbox.js.map +1 -0
  2370. package/dist/sandbox/index.d.ts +6 -0
  2371. package/dist/sandbox/index.js +6 -0
  2372. package/dist/sandbox/index.js.map +1 -1
  2373. package/dist/sandbox/openshell-backend.d.ts +34 -0
  2374. package/dist/sandbox/openshell-backend.js +154 -0
  2375. package/dist/sandbox/openshell-backend.js.map +1 -0
  2376. package/dist/sandbox/os-sandbox.d.ts +19 -3
  2377. package/dist/sandbox/os-sandbox.js +62 -10
  2378. package/dist/sandbox/os-sandbox.js.map +1 -1
  2379. package/dist/sandbox/python-sandbox.d.ts +52 -0
  2380. package/dist/sandbox/python-sandbox.js +60 -0
  2381. package/dist/sandbox/python-sandbox.js.map +1 -0
  2382. package/dist/sandbox/sandbox-backend.d.ts +42 -0
  2383. package/dist/sandbox/sandbox-backend.js +8 -0
  2384. package/dist/sandbox/sandbox-backend.js.map +1 -0
  2385. package/dist/sandbox/sandbox-registry.d.ts +33 -0
  2386. package/dist/sandbox/sandbox-registry.js +87 -0
  2387. package/dist/sandbox/sandbox-registry.js.map +1 -0
  2388. package/dist/scheduler/cron-scheduler.d.ts +75 -5
  2389. package/dist/scheduler/cron-scheduler.js +122 -16
  2390. package/dist/scheduler/cron-scheduler.js.map +1 -1
  2391. package/dist/scheduler/pre-check-runner.d.ts +61 -0
  2392. package/dist/scheduler/pre-check-runner.js +0 -0
  2393. package/dist/scheduler/pre-check-runner.js.map +1 -0
  2394. package/dist/scheduler/scheduled-delivery.d.ts +75 -0
  2395. package/dist/scheduler/scheduled-delivery.js +106 -0
  2396. package/dist/scheduler/scheduled-delivery.js.map +1 -0
  2397. package/dist/scheduler/script-runner.d.ts +37 -0
  2398. package/dist/scheduler/script-runner.js +111 -0
  2399. package/dist/scheduler/script-runner.js.map +1 -0
  2400. package/dist/scheduler/watchdog-handlers.d.ts +70 -0
  2401. package/dist/scheduler/watchdog-handlers.js +355 -0
  2402. package/dist/scheduler/watchdog-handlers.js.map +1 -0
  2403. package/dist/scripting/builtins.js +8 -8
  2404. package/dist/scripting/builtins.js.map +1 -1
  2405. package/dist/scripting/codebuddy-bindings.js +38 -12
  2406. package/dist/scripting/codebuddy-bindings.js.map +1 -1
  2407. package/dist/scripting/lexer.js +13 -10
  2408. package/dist/scripting/lexer.js.map +1 -1
  2409. package/dist/scripting/parser.d.ts +1 -0
  2410. package/dist/scripting/parser.js +25 -5
  2411. package/dist/scripting/parser.js.map +1 -1
  2412. package/dist/scripting/runtime.js +16 -6
  2413. package/dist/scripting/runtime.js.map +1 -1
  2414. package/dist/scripting/sync-bindings.js +1 -1
  2415. package/dist/scripting/sync-bindings.js.map +1 -1
  2416. package/dist/sdk/agent-sdk.d.ts +6 -0
  2417. package/dist/sdk/agent-sdk.js +111 -6
  2418. package/dist/sdk/agent-sdk.js.map +1 -1
  2419. package/dist/search/bm25.js +2 -0
  2420. package/dist/search/bm25.js.map +1 -1
  2421. package/dist/search/usearch-index.d.ts +2 -0
  2422. package/dist/search/usearch-index.js +52 -7
  2423. package/dist/search/usearch-index.js.map +1 -1
  2424. package/dist/security/approval-modes.js +3 -3
  2425. package/dist/security/approval-modes.js.map +1 -1
  2426. package/dist/security/audit-logger.d.ts +1 -1
  2427. package/dist/security/audit-logger.js.map +1 -1
  2428. package/dist/security/bash-allowlist/allowlist-store.js +3 -0
  2429. package/dist/security/bash-allowlist/allowlist-store.js.map +1 -1
  2430. package/dist/security/bash-allowlist/pattern-matcher.js +2 -1
  2431. package/dist/security/bash-allowlist/pattern-matcher.js.map +1 -1
  2432. package/dist/security/bash-parser.js +66 -32
  2433. package/dist/security/bash-parser.js.map +1 -1
  2434. package/dist/security/code-validator.js +1 -2
  2435. package/dist/security/code-validator.js.map +1 -1
  2436. package/dist/security/credential-manager.js +21 -2
  2437. package/dist/security/credential-manager.js.map +1 -1
  2438. package/dist/security/csrf-protection.d.ts +3 -0
  2439. package/dist/security/csrf-protection.js +15 -0
  2440. package/dist/security/csrf-protection.js.map +1 -1
  2441. package/dist/security/dangerous-patterns.js +2 -2
  2442. package/dist/security/dangerous-patterns.js.map +1 -1
  2443. package/dist/security/data-redaction.js +1 -1
  2444. package/dist/security/data-redaction.js.map +1 -1
  2445. package/dist/security/declarative-rules.d.ts +51 -0
  2446. package/dist/security/declarative-rules.js +281 -0
  2447. package/dist/security/declarative-rules.js.map +1 -0
  2448. package/dist/security/dependency-vuln-scanner.d.ts +51 -0
  2449. package/dist/security/dependency-vuln-scanner.js +380 -0
  2450. package/dist/security/dependency-vuln-scanner.js.map +1 -0
  2451. package/dist/security/docker-sandbox/manager.js +5 -2
  2452. package/dist/security/docker-sandbox/manager.js.map +1 -1
  2453. package/dist/security/env-blocklist.d.ts +24 -0
  2454. package/dist/security/env-blocklist.js +67 -0
  2455. package/dist/security/env-blocklist.js.map +1 -0
  2456. package/dist/security/guardian-agent.d.ts +64 -0
  2457. package/dist/security/guardian-agent.js +288 -0
  2458. package/dist/security/guardian-agent.js.map +1 -0
  2459. package/dist/security/permission-config.js +5 -2
  2460. package/dist/security/permission-config.js.map +1 -1
  2461. package/dist/security/permission-modes.d.ts +2 -0
  2462. package/dist/security/permission-modes.js +22 -1
  2463. package/dist/security/permission-modes.js.map +1 -1
  2464. package/dist/security/permission-patterns.js +4 -1
  2465. package/dist/security/permission-patterns.js.map +1 -1
  2466. package/dist/security/policy-amendments.d.ts +61 -0
  2467. package/dist/security/policy-amendments.js +201 -0
  2468. package/dist/security/policy-amendments.js.map +1 -0
  2469. package/dist/security/policy-engine.d.ts +24 -0
  2470. package/dist/security/policy-engine.js +111 -0
  2471. package/dist/security/policy-engine.js.map +1 -0
  2472. package/dist/security/remote-approval.d.ts +1 -1
  2473. package/dist/security/remote-approval.js +1 -1
  2474. package/dist/security/safe-binaries.js +6 -3
  2475. package/dist/security/safe-binaries.js.map +1 -1
  2476. package/dist/security/sandbox.js +11 -4
  2477. package/dist/security/sandbox.js.map +1 -1
  2478. package/dist/security/secrets-detector.d.ts +54 -0
  2479. package/dist/security/secrets-detector.js +348 -0
  2480. package/dist/security/secrets-detector.js.map +1 -0
  2481. package/dist/security/security-audit.d.ts +1 -1
  2482. package/dist/security/security-audit.js +3 -3
  2483. package/dist/security/security-audit.js.map +1 -1
  2484. package/dist/security/security-modes.js +2 -2
  2485. package/dist/security/security-modes.js.map +1 -1
  2486. package/dist/security/shell-env-policy.js +19 -6
  2487. package/dist/security/shell-env-policy.js.map +1 -1
  2488. package/dist/security/skill-scanner.d.ts +24 -1
  2489. package/dist/security/skill-scanner.js +111 -24
  2490. package/dist/security/skill-scanner.js.map +1 -1
  2491. package/dist/security/ssrf-guard.d.ts +1 -1
  2492. package/dist/security/ssrf-guard.js +69 -40
  2493. package/dist/security/ssrf-guard.js.map +1 -1
  2494. package/dist/security/syntax-validator.js +26 -17
  2495. package/dist/security/syntax-validator.js.map +1 -1
  2496. package/dist/security/tool-policy/groups.d.ts +1 -1
  2497. package/dist/security/tool-policy/groups.js +9 -3
  2498. package/dist/security/tool-policy/groups.js.map +1 -1
  2499. package/dist/security/tool-policy/policy-resolver.js.map +1 -1
  2500. package/dist/security/tool-policy/tool-groups.js +40 -0
  2501. package/dist/security/tool-policy/tool-groups.js.map +1 -1
  2502. package/dist/security/tool-policy/types.d.ts +1 -1
  2503. package/dist/security/tool-policy/types.js +1 -1
  2504. package/dist/security/tool-policy.d.ts +1 -1
  2505. package/dist/security/tool-policy.js +1 -1
  2506. package/dist/security/trust-folders.d.ts +15 -0
  2507. package/dist/security/trust-folders.js +43 -0
  2508. package/dist/security/trust-folders.js.map +1 -1
  2509. package/dist/server/agent-adapter.d.ts +42 -0
  2510. package/dist/server/agent-adapter.js +173 -0
  2511. package/dist/server/agent-adapter.js.map +1 -0
  2512. package/dist/server/auth/jwt.js +11 -2
  2513. package/dist/server/auth/jwt.js.map +1 -1
  2514. package/dist/server/channel-a2a-bridge.d.ts +46 -0
  2515. package/dist/server/channel-a2a-bridge.js +199 -0
  2516. package/dist/server/channel-a2a-bridge.js.map +1 -0
  2517. package/dist/server/heartbeat-monitor.d.ts +10 -0
  2518. package/dist/server/heartbeat-monitor.js +99 -0
  2519. package/dist/server/heartbeat-monitor.js.map +1 -0
  2520. package/dist/server/index.d.ts +1 -0
  2521. package/dist/server/index.js +451 -39
  2522. package/dist/server/index.js.map +1 -1
  2523. package/dist/server/middleware/logging.d.ts +12 -0
  2524. package/dist/server/middleware/logging.js +28 -0
  2525. package/dist/server/middleware/logging.js.map +1 -1
  2526. package/dist/server/middleware/rate-limit.js +23 -19
  2527. package/dist/server/middleware/rate-limit.js.map +1 -1
  2528. package/dist/server/origin-check.d.ts +19 -0
  2529. package/dist/server/origin-check.js +37 -0
  2530. package/dist/server/origin-check.js.map +1 -0
  2531. package/dist/server/routes/a2a-protocol.d.ts +12 -0
  2532. package/dist/server/routes/a2a-protocol.js +264 -0
  2533. package/dist/server/routes/a2a-protocol.js.map +1 -0
  2534. package/dist/server/routes/acp.d.ts +20 -0
  2535. package/dist/server/routes/acp.js +483 -0
  2536. package/dist/server/routes/acp.js.map +1 -0
  2537. package/dist/server/routes/canvas.d.ts +49 -0
  2538. package/dist/server/routes/canvas.js +211 -0
  2539. package/dist/server/routes/canvas.js.map +1 -0
  2540. package/dist/server/routes/chat.js +310 -81
  2541. package/dist/server/routes/chat.js.map +1 -1
  2542. package/dist/server/routes/cloud-tasks.d.ts +16 -0
  2543. package/dist/server/routes/cloud-tasks.js +279 -0
  2544. package/dist/server/routes/cloud-tasks.js.map +1 -0
  2545. package/dist/server/routes/dashboard.d.ts +12 -0
  2546. package/dist/server/routes/dashboard.js +1074 -0
  2547. package/dist/server/routes/dashboard.js.map +1 -0
  2548. package/dist/server/routes/health.d.ts +6 -0
  2549. package/dist/server/routes/health.js +114 -34
  2550. package/dist/server/routes/health.js.map +1 -1
  2551. package/dist/server/routes/index.d.ts +9 -1
  2552. package/dist/server/routes/index.js +9 -1
  2553. package/dist/server/routes/index.js.map +1 -1
  2554. package/dist/server/routes/memory.js +47 -45
  2555. package/dist/server/routes/memory.js.map +1 -1
  2556. package/dist/server/routes/metrics.js +6 -4
  2557. package/dist/server/routes/metrics.js.map +1 -1
  2558. package/dist/server/routes/mobile.d.ts +48 -0
  2559. package/dist/server/routes/mobile.js +380 -0
  2560. package/dist/server/routes/mobile.js.map +1 -0
  2561. package/dist/server/routes/sessions.js +98 -64
  2562. package/dist/server/routes/sessions.js.map +1 -1
  2563. package/dist/server/routes/tools.js +39 -38
  2564. package/dist/server/routes/tools.js.map +1 -1
  2565. package/dist/server/routes/webhooks.d.ts +16 -0
  2566. package/dist/server/routes/webhooks.js +176 -0
  2567. package/dist/server/routes/webhooks.js.map +1 -0
  2568. package/dist/server/routes/workflow-builder.d.ts +74 -0
  2569. package/dist/server/routes/workflow-builder.js +1381 -0
  2570. package/dist/server/routes/workflow-builder.js.map +1 -0
  2571. package/dist/server/types.d.ts +21 -1
  2572. package/dist/server/types.js +7 -6
  2573. package/dist/server/types.js.map +1 -1
  2574. package/dist/server/websocket/desktop-handler.d.ts +181 -0
  2575. package/dist/server/websocket/desktop-handler.js +533 -0
  2576. package/dist/server/websocket/desktop-handler.js.map +1 -0
  2577. package/dist/server/websocket/fleet-bridge.d.ts +133 -0
  2578. package/dist/server/websocket/fleet-bridge.js +170 -0
  2579. package/dist/server/websocket/fleet-bridge.js.map +1 -0
  2580. package/dist/server/websocket/handler.d.ts +96 -3
  2581. package/dist/server/websocket/handler.js +260 -31
  2582. package/dist/server/websocket/handler.js.map +1 -1
  2583. package/dist/server/websocket/index.d.ts +1 -0
  2584. package/dist/server/websocket/index.js +2 -0
  2585. package/dist/server/websocket/index.js.map +1 -1
  2586. package/dist/server/websocket/peer-method-registry.d.ts +32 -0
  2587. package/dist/server/websocket/peer-method-registry.js +27 -0
  2588. package/dist/server/websocket/peer-method-registry.js.map +1 -0
  2589. package/dist/server/websocket/peer-rpc.d.ts +87 -0
  2590. package/dist/server/websocket/peer-rpc.js +274 -0
  2591. package/dist/server/websocket/peer-rpc.js.map +1 -0
  2592. package/dist/services/analysis/code-analyzer.js +14 -4
  2593. package/dist/services/analysis/code-analyzer.js.map +1 -1
  2594. package/dist/services/codebase-explorer.js +3 -1
  2595. package/dist/services/codebase-explorer.js.map +1 -1
  2596. package/dist/services/plan-generator.d.ts +1 -1
  2597. package/dist/services/plan-generator.js +3 -5
  2598. package/dist/services/plan-generator.js.map +1 -1
  2599. package/dist/services/prompt-builder.d.ts +55 -4
  2600. package/dist/services/prompt-builder.js +542 -46
  2601. package/dist/services/prompt-builder.js.map +1 -1
  2602. package/dist/services/vfs/memory-vfs-provider.d.ts +65 -0
  2603. package/dist/services/vfs/memory-vfs-provider.js +223 -0
  2604. package/dist/services/vfs/memory-vfs-provider.js.map +1 -0
  2605. package/dist/shared/engine-types.d.ts +126 -0
  2606. package/dist/shared/engine-types.js +11 -0
  2607. package/dist/shared/engine-types.js.map +1 -0
  2608. package/dist/sidecar/sidecar-bridge.d.ts +97 -0
  2609. package/dist/sidecar/sidecar-bridge.js +193 -0
  2610. package/dist/sidecar/sidecar-bridge.js.map +1 -0
  2611. package/dist/skills/adapters/legacy-skill-adapter.js +9 -5
  2612. package/dist/skills/adapters/legacy-skill-adapter.js.map +1 -1
  2613. package/dist/skills/bash-injection.d.ts +25 -0
  2614. package/dist/skills/bash-injection.js +56 -0
  2615. package/dist/skills/bash-injection.js.map +1 -0
  2616. package/dist/skills/eligibility.js +7 -1
  2617. package/dist/skills/eligibility.js.map +1 -1
  2618. package/dist/skills/executor.js +36 -5
  2619. package/dist/skills/executor.js.map +1 -1
  2620. package/dist/skills/hub-signing.d.ts +116 -0
  2621. package/dist/skills/hub-signing.js +189 -0
  2622. package/dist/skills/hub-signing.js.map +1 -0
  2623. package/dist/skills/hub.d.ts +445 -3
  2624. package/dist/skills/hub.js +1464 -14
  2625. package/dist/skills/hub.js.map +1 -1
  2626. package/dist/skills/index.d.ts +2 -1
  2627. package/dist/skills/index.js +10 -1
  2628. package/dist/skills/index.js.map +1 -1
  2629. package/dist/skills/parser.js +43 -12
  2630. package/dist/skills/parser.js.map +1 -1
  2631. package/dist/skills/registry.js +67 -9
  2632. package/dist/skills/registry.js.map +1 -1
  2633. package/dist/skills/skill-enhancements.js +4 -3
  2634. package/dist/skills/skill-enhancements.js.map +1 -1
  2635. package/dist/skills/skill-loader.js +3 -0
  2636. package/dist/skills/skill-loader.js.map +1 -1
  2637. package/dist/skills/skill-manager.d.ts +1 -4
  2638. package/dist/skills/skill-manager.js +46 -9
  2639. package/dist/skills/skill-manager.js.map +1 -1
  2640. package/dist/skills/starter-packs.d.ts +21 -0
  2641. package/dist/skills/starter-packs.js +99 -0
  2642. package/dist/skills/starter-packs.js.map +1 -0
  2643. package/dist/skills/types.d.ts +8 -4
  2644. package/dist/skills/types.js +1 -1
  2645. package/dist/skills/types.js.map +1 -1
  2646. package/dist/spec/spec-plan-runner.d.ts +36 -0
  2647. package/dist/spec/spec-plan-runner.js +121 -0
  2648. package/dist/spec/spec-plan-runner.js.map +1 -0
  2649. package/dist/spec/spec-planner.d.ts +38 -0
  2650. package/dist/spec/spec-planner.js +174 -0
  2651. package/dist/spec/spec-planner.js.map +1 -0
  2652. package/dist/spec/spec-store.d.ts +170 -0
  2653. package/dist/spec/spec-store.js +510 -0
  2654. package/dist/spec/spec-store.js.map +1 -0
  2655. package/dist/streaming/chunk-processor.js +2 -3
  2656. package/dist/streaming/chunk-processor.js.map +1 -1
  2657. package/dist/streaming/index.js +2 -2
  2658. package/dist/streaming/index.js.map +1 -1
  2659. package/dist/streaming/markdown-chunker.js +5 -1
  2660. package/dist/streaming/markdown-chunker.js.map +1 -1
  2661. package/dist/streaming/progress-tracker.js +14 -5
  2662. package/dist/streaming/progress-tracker.js.map +1 -1
  2663. package/dist/streaming/stream-transformer.js +12 -4
  2664. package/dist/streaming/stream-transformer.js.map +1 -1
  2665. package/dist/streaming/tool-throttle.js +5 -3
  2666. package/dist/streaming/tool-throttle.js.map +1 -1
  2667. package/dist/sync/cloud/backup-manager.js +5 -2
  2668. package/dist/sync/cloud/backup-manager.js.map +1 -1
  2669. package/dist/sync/cloud/storage.d.ts +4 -0
  2670. package/dist/sync/cloud/storage.js +9 -4
  2671. package/dist/sync/cloud/storage.js.map +1 -1
  2672. package/dist/sync/index.d.ts +1 -0
  2673. package/dist/sync/index.js +13 -2
  2674. package/dist/sync/index.js.map +1 -1
  2675. package/dist/talk-mode/providers/edge-tts.d.ts +5 -8
  2676. package/dist/talk-mode/providers/edge-tts.js +42 -26
  2677. package/dist/talk-mode/providers/edge-tts.js.map +1 -1
  2678. package/dist/talk-mode/tts-manager.js +6 -3
  2679. package/dist/talk-mode/tts-manager.js.map +1 -1
  2680. package/dist/tasks/background-tasks.js +4 -1
  2681. package/dist/tasks/background-tasks.js.map +1 -1
  2682. package/dist/templates/project-scaffolding.js +2 -0
  2683. package/dist/templates/project-scaffolding.js.map +1 -1
  2684. package/dist/testing/ai-integration-tests.js +2 -2
  2685. package/dist/testing/ai-integration-tests.js.map +1 -1
  2686. package/dist/testing/auto-test.js +2 -2
  2687. package/dist/testing/auto-test.js.map +1 -1
  2688. package/dist/testing/coverage-targets.d.ts +35 -0
  2689. package/dist/testing/coverage-targets.js +196 -0
  2690. package/dist/testing/coverage-targets.js.map +1 -0
  2691. package/dist/testing/tdd-mode.js +5 -2
  2692. package/dist/testing/tdd-mode.js.map +1 -1
  2693. package/dist/themes/theme-schema.d.ts +42 -42
  2694. package/dist/tools/advanced/operation-history.js +9 -9
  2695. package/dist/tools/advanced/operation-history.js.map +1 -1
  2696. package/dist/tools/advisor-tool.d.ts +42 -0
  2697. package/dist/tools/advisor-tool.js +136 -0
  2698. package/dist/tools/advisor-tool.js.map +1 -0
  2699. package/dist/tools/application-profiles.d.ts +17 -0
  2700. package/dist/tools/application-profiles.js +117 -0
  2701. package/dist/tools/application-profiles.js.map +1 -0
  2702. package/dist/tools/apply-patch.d.ts +54 -44
  2703. package/dist/tools/apply-patch.js +263 -278
  2704. package/dist/tools/apply-patch.js.map +1 -1
  2705. package/dist/tools/archive-tool.js +23 -5
  2706. package/dist/tools/archive-tool.js.map +1 -1
  2707. package/dist/tools/ask-user-question-readline-provider.d.ts +18 -0
  2708. package/dist/tools/ask-user-question-readline-provider.js +145 -0
  2709. package/dist/tools/ask-user-question-readline-provider.js.map +1 -0
  2710. package/dist/tools/ask-user-question-tool.d.ts +76 -0
  2711. package/dist/tools/ask-user-question-tool.js +117 -0
  2712. package/dist/tools/ask-user-question-tool.js.map +1 -0
  2713. package/dist/tools/audio-tool.js +7 -3
  2714. package/dist/tools/audio-tool.js.map +1 -1
  2715. package/dist/tools/auto-commit.d.ts +49 -0
  2716. package/dist/tools/auto-commit.js +301 -0
  2717. package/dist/tools/auto-commit.js.map +1 -0
  2718. package/dist/tools/bash/bash-tool.js +64 -27
  2719. package/dist/tools/bash/bash-tool.js.map +1 -1
  2720. package/dist/tools/bash/command-validator.js +2 -0
  2721. package/dist/tools/bash/command-validator.js.map +1 -1
  2722. package/dist/tools/bash/env-overrides.d.ts +2 -0
  2723. package/dist/tools/bash/env-overrides.js +24 -0
  2724. package/dist/tools/bash/env-overrides.js.map +1 -0
  2725. package/dist/tools/bash/security-patterns.js +3 -1
  2726. package/dist/tools/bash/security-patterns.js.map +1 -1
  2727. package/dist/tools/bash/streaming-executor.js +16 -15
  2728. package/dist/tools/bash/streaming-executor.js.map +1 -1
  2729. package/dist/tools/batch-tool.d.ts +50 -0
  2730. package/dist/tools/batch-tool.js +161 -0
  2731. package/dist/tools/batch-tool.js.map +1 -0
  2732. package/dist/tools/browser/playwright-tool.d.ts +76 -0
  2733. package/dist/tools/browser/playwright-tool.js +329 -0
  2734. package/dist/tools/browser/playwright-tool.js.map +1 -0
  2735. package/dist/tools/browser-tool.d.ts +5 -0
  2736. package/dist/tools/browser-tool.js +22 -9
  2737. package/dist/tools/browser-tool.js.map +1 -1
  2738. package/dist/tools/bug-finder-tool.d.ts +34 -0
  2739. package/dist/tools/bug-finder-tool.js +530 -0
  2740. package/dist/tools/bug-finder-tool.js.map +1 -0
  2741. package/dist/tools/changelog-generator.js +33 -16
  2742. package/dist/tools/changelog-generator.js.map +1 -1
  2743. package/dist/tools/code-exec-tool.d.ts +39 -0
  2744. package/dist/tools/code-exec-tool.js +154 -0
  2745. package/dist/tools/code-exec-tool.js.map +1 -0
  2746. package/dist/tools/code-formatter.js +1 -1
  2747. package/dist/tools/code-formatter.js.map +1 -1
  2748. package/dist/tools/code-quality-scorer.js +6 -3
  2749. package/dist/tools/code-quality-scorer.js.map +1 -1
  2750. package/dist/tools/code-review.js +6 -1
  2751. package/dist/tools/code-review.js.map +1 -1
  2752. package/dist/tools/codebase-replace-tool.d.ts +42 -0
  2753. package/dist/tools/codebase-replace-tool.js +186 -0
  2754. package/dist/tools/codebase-replace-tool.js.map +1 -0
  2755. package/dist/tools/comment-watcher.js +11 -2
  2756. package/dist/tools/comment-watcher.js.map +1 -1
  2757. package/dist/tools/computer-control-harness.d.ts +36 -0
  2758. package/dist/tools/computer-control-harness.js +236 -0
  2759. package/dist/tools/computer-control-harness.js.map +1 -0
  2760. package/dist/tools/computer-control-tool.d.ts +213 -3
  2761. package/dist/tools/computer-control-tool.js +4976 -280
  2762. package/dist/tools/computer-control-tool.js.map +1 -1
  2763. package/dist/tools/create-skill-tool.d.ts +1 -1
  2764. package/dist/tools/create-skill-tool.js +10 -1
  2765. package/dist/tools/create-skill-tool.js.map +1 -1
  2766. package/dist/tools/cronjob-tool.d.ts +20 -0
  2767. package/dist/tools/cronjob-tool.js +160 -0
  2768. package/dist/tools/cronjob-tool.js.map +1 -0
  2769. package/dist/tools/dead-code-detector.js +30 -11
  2770. package/dist/tools/dead-code-detector.js.map +1 -1
  2771. package/dist/tools/dependency-analyzer.js +7 -1
  2772. package/dist/tools/dependency-analyzer.js.map +1 -1
  2773. package/dist/tools/deploy-tool.d.ts +31 -0
  2774. package/dist/tools/deploy-tool.js +186 -0
  2775. package/dist/tools/deploy-tool.js.map +1 -0
  2776. package/dist/tools/diagram-tool.js +12 -6
  2777. package/dist/tools/diagram-tool.js.map +1 -1
  2778. package/dist/tools/discord-platform-tool.d.ts +21 -0
  2779. package/dist/tools/discord-platform-tool.js +547 -0
  2780. package/dist/tools/discord-platform-tool.js.map +1 -0
  2781. package/dist/tools/doc-generator.js +33 -12
  2782. package/dist/tools/doc-generator.js.map +1 -1
  2783. package/dist/tools/docs-search-tool.d.ts +28 -0
  2784. package/dist/tools/docs-search-tool.js +52 -0
  2785. package/dist/tools/docs-search-tool.js.map +1 -0
  2786. package/dist/tools/document-generator.d.ts +54 -0
  2787. package/dist/tools/document-generator.js +652 -0
  2788. package/dist/tools/document-generator.js.map +1 -0
  2789. package/dist/tools/document-tool.d.ts +24 -0
  2790. package/dist/tools/document-tool.js +326 -21
  2791. package/dist/tools/document-tool.js.map +1 -1
  2792. package/dist/tools/enhanced-search.js +6 -4
  2793. package/dist/tools/enhanced-search.js.map +1 -1
  2794. package/dist/tools/env-tool.js +8 -1
  2795. package/dist/tools/env-tool.js.map +1 -1
  2796. package/dist/tools/execute-code-rpc-invoker.d.ts +50 -0
  2797. package/dist/tools/execute-code-rpc-invoker.js +195 -0
  2798. package/dist/tools/execute-code-rpc-invoker.js.map +1 -0
  2799. package/dist/tools/execute-code-runner.d.ts +51 -0
  2800. package/dist/tools/execute-code-runner.js +421 -0
  2801. package/dist/tools/execute-code-runner.js.map +1 -0
  2802. package/dist/tools/exit-plan-mode-readline-provider.d.ts +23 -0
  2803. package/dist/tools/exit-plan-mode-readline-provider.js +153 -0
  2804. package/dist/tools/exit-plan-mode-readline-provider.js.map +1 -0
  2805. package/dist/tools/exit-plan-mode-tool.d.ts +74 -0
  2806. package/dist/tools/exit-plan-mode-tool.js +133 -0
  2807. package/dist/tools/exit-plan-mode-tool.js.map +1 -0
  2808. package/dist/tools/export-tool.js +9 -2
  2809. package/dist/tools/export-tool.js.map +1 -1
  2810. package/dist/tools/feishu-tool.d.ts +12 -0
  2811. package/dist/tools/feishu-tool.js +344 -0
  2812. package/dist/tools/feishu-tool.js.map +1 -0
  2813. package/dist/tools/fetch-tool.js +1 -1
  2814. package/dist/tools/fetch-tool.js.map +1 -1
  2815. package/dist/tools/firecrawl-tool.d.ts +50 -0
  2816. package/dist/tools/firecrawl-tool.js +118 -0
  2817. package/dist/tools/firecrawl-tool.js.map +1 -0
  2818. package/dist/tools/git-tool.d.ts +15 -0
  2819. package/dist/tools/git-tool.js +69 -8
  2820. package/dist/tools/git-tool.js.map +1 -1
  2821. package/dist/tools/gitnexus-tool.d.ts +45 -0
  2822. package/dist/tools/gitnexus-tool.js +124 -0
  2823. package/dist/tools/gitnexus-tool.js.map +1 -0
  2824. package/dist/tools/gui-tool.d.ts +73 -0
  2825. package/dist/tools/gui-tool.js +342 -0
  2826. package/dist/tools/gui-tool.js.map +1 -0
  2827. package/dist/tools/homeassistant-tool.d.ts +19 -0
  2828. package/dist/tools/homeassistant-tool.js +268 -0
  2829. package/dist/tools/homeassistant-tool.js.map +1 -0
  2830. package/dist/tools/hooks/index.d.ts +1 -1
  2831. package/dist/tools/hooks/index.js +1 -1
  2832. package/dist/tools/hooks/result-sanitizer.d.ts +1 -1
  2833. package/dist/tools/hooks/result-sanitizer.js +3 -3
  2834. package/dist/tools/hooks/result-sanitizer.js.map +1 -1
  2835. package/dist/tools/hooks/session-lanes.d.ts +2 -2
  2836. package/dist/tools/hooks/session-lanes.js +6 -4
  2837. package/dist/tools/hooks/session-lanes.js.map +1 -1
  2838. package/dist/tools/hooks/tool-hooks.d.ts +1 -1
  2839. package/dist/tools/hooks/tool-hooks.js +1 -1
  2840. package/dist/tools/image-input.js +1 -1
  2841. package/dist/tools/image-input.js.map +1 -1
  2842. package/dist/tools/image-tool.js +11 -2
  2843. package/dist/tools/image-tool.js.map +1 -1
  2844. package/dist/tools/index.d.ts +2 -0
  2845. package/dist/tools/index.js +3 -0
  2846. package/dist/tools/index.js.map +1 -1
  2847. package/dist/tools/intelligence/ast-parser.d.ts +1 -0
  2848. package/dist/tools/intelligence/ast-parser.js +64 -32
  2849. package/dist/tools/intelligence/ast-parser.js.map +1 -1
  2850. package/dist/tools/intelligence/dependency-analyzer.js +3 -2
  2851. package/dist/tools/intelligence/dependency-analyzer.js.map +1 -1
  2852. package/dist/tools/intelligence/refactoring-assistant.d.ts +15 -0
  2853. package/dist/tools/intelligence/refactoring-assistant.js +171 -26
  2854. package/dist/tools/intelligence/refactoring-assistant.js.map +1 -1
  2855. package/dist/tools/intelligence/symbol-search.js +10 -7
  2856. package/dist/tools/intelligence/symbol-search.js.map +1 -1
  2857. package/dist/tools/interactive-shell-tool.d.ts +9 -0
  2858. package/dist/tools/interactive-shell-tool.js +30 -0
  2859. package/dist/tools/interactive-shell-tool.js.map +1 -0
  2860. package/dist/tools/lint-runner.d.ts +61 -0
  2861. package/dist/tools/lint-runner.js +445 -0
  2862. package/dist/tools/lint-runner.js.map +1 -0
  2863. package/dist/tools/list-peers-tool.d.ts +51 -0
  2864. package/dist/tools/list-peers-tool.js +103 -0
  2865. package/dist/tools/list-peers-tool.js.map +1 -0
  2866. package/dist/tools/ls-tool.d.ts +25 -0
  2867. package/dist/tools/ls-tool.js +243 -0
  2868. package/dist/tools/ls-tool.js.map +1 -0
  2869. package/dist/tools/lsp-rename-tool.d.ts +46 -0
  2870. package/dist/tools/lsp-rename-tool.js +231 -0
  2871. package/dist/tools/lsp-rename-tool.js.map +1 -0
  2872. package/dist/tools/macro-manager.d.ts +20 -0
  2873. package/dist/tools/macro-manager.js +75 -0
  2874. package/dist/tools/macro-manager.js.map +1 -0
  2875. package/dist/tools/mcp/mcp-manager.d.ts +13 -0
  2876. package/dist/tools/mcp/mcp-manager.js +58 -0
  2877. package/dist/tools/mcp/mcp-manager.js.map +1 -0
  2878. package/dist/tools/mcp/mcp-tool-adapter.d.ts +12 -0
  2879. package/dist/tools/mcp/mcp-tool-adapter.js +45 -0
  2880. package/dist/tools/mcp/mcp-tool-adapter.js.map +1 -0
  2881. package/dist/tools/media-generation-tool.d.ts +60 -0
  2882. package/dist/tools/media-generation-tool.js +558 -0
  2883. package/dist/tools/media-generation-tool.js.map +1 -0
  2884. package/dist/tools/merge-conflict-tool.d.ts +46 -0
  2885. package/dist/tools/merge-conflict-tool.js +242 -0
  2886. package/dist/tools/merge-conflict-tool.js.map +1 -0
  2887. package/dist/tools/metadata.js +1082 -82
  2888. package/dist/tools/metadata.js.map +1 -1
  2889. package/dist/tools/mixture-of-agents-tool.d.ts +28 -0
  2890. package/dist/tools/mixture-of-agents-tool.js +301 -0
  2891. package/dist/tools/mixture-of-agents-tool.js.map +1 -0
  2892. package/dist/tools/multi-edit.d.ts +30 -22
  2893. package/dist/tools/multi-edit.js +119 -200
  2894. package/dist/tools/multi-edit.js.map +1 -1
  2895. package/dist/tools/multimodal-index.d.ts +33 -22
  2896. package/dist/tools/multimodal-index.js +33 -22
  2897. package/dist/tools/multimodal-index.js.map +1 -1
  2898. package/dist/tools/notebook-tool.d.ts +39 -1
  2899. package/dist/tools/notebook-tool.js +281 -6
  2900. package/dist/tools/notebook-tool.js.map +1 -1
  2901. package/dist/tools/ocr-tool.d.ts +8 -0
  2902. package/dist/tools/ocr-tool.js +113 -20
  2903. package/dist/tools/ocr-tool.js.map +1 -1
  2904. package/dist/tools/omission-placeholder-detector.d.ts +30 -0
  2905. package/dist/tools/omission-placeholder-detector.js +165 -0
  2906. package/dist/tools/omission-placeholder-detector.js.map +1 -0
  2907. package/dist/tools/pdf-tool.js +9 -9
  2908. package/dist/tools/pdf-tool.js.map +1 -1
  2909. package/dist/tools/peer-chain-tool.d.ts +21 -0
  2910. package/dist/tools/peer-chain-tool.js +192 -0
  2911. package/dist/tools/peer-chain-tool.js.map +1 -0
  2912. package/dist/tools/peer-delegate-tool.d.ts +38 -0
  2913. package/dist/tools/peer-delegate-tool.js +202 -0
  2914. package/dist/tools/peer-delegate-tool.js.map +1 -0
  2915. package/dist/tools/plan-tool.d.ts +19 -0
  2916. package/dist/tools/plan-tool.js +148 -6
  2917. package/dist/tools/plan-tool.js.map +1 -1
  2918. package/dist/tools/process-tool.d.ts +1 -1
  2919. package/dist/tools/process-tool.js +1 -1
  2920. package/dist/tools/qr-tool.js +30 -13
  2921. package/dist/tools/qr-tool.js.map +1 -1
  2922. package/dist/tools/registry/advanced-tools.d.ts +53 -0
  2923. package/dist/tools/registry/advanced-tools.js +584 -0
  2924. package/dist/tools/registry/advanced-tools.js.map +1 -0
  2925. package/dist/tools/registry/advisor-tools.d.ts +28 -0
  2926. package/dist/tools/registry/advisor-tools.js +63 -0
  2927. package/dist/tools/registry/advisor-tools.js.map +1 -0
  2928. package/dist/tools/registry/ask-user-question-tools.d.ts +18 -0
  2929. package/dist/tools/registry/ask-user-question-tools.js +63 -0
  2930. package/dist/tools/registry/ask-user-question-tools.js.map +1 -0
  2931. package/dist/tools/registry/bash-tools.js +2 -0
  2932. package/dist/tools/registry/bash-tools.js.map +1 -1
  2933. package/dist/tools/registry/batch-tools.d.ts +36 -0
  2934. package/dist/tools/registry/batch-tools.js +135 -0
  2935. package/dist/tools/registry/batch-tools.js.map +1 -0
  2936. package/dist/tools/registry/browser-operator-tools.d.ts +29 -0
  2937. package/dist/tools/registry/browser-operator-tools.js +186 -0
  2938. package/dist/tools/registry/browser-operator-tools.js.map +1 -0
  2939. package/dist/tools/registry/browser-tools.d.ts +84 -0
  2940. package/dist/tools/registry/browser-tools.js +531 -0
  2941. package/dist/tools/registry/browser-tools.js.map +1 -0
  2942. package/dist/tools/registry/bug-finder-tools.d.ts +28 -0
  2943. package/dist/tools/registry/bug-finder-tools.js +82 -0
  2944. package/dist/tools/registry/bug-finder-tools.js.map +1 -0
  2945. package/dist/tools/registry/canvas-tools.d.ts +33 -0
  2946. package/dist/tools/registry/canvas-tools.js +312 -0
  2947. package/dist/tools/registry/canvas-tools.js.map +1 -0
  2948. package/dist/tools/registry/code-graph-tools.d.ts +51 -0
  2949. package/dist/tools/registry/code-graph-tools.js +636 -0
  2950. package/dist/tools/registry/code-graph-tools.js.map +1 -0
  2951. package/dist/tools/registry/codebase-replace-tools.d.ts +28 -0
  2952. package/dist/tools/registry/codebase-replace-tools.js +111 -0
  2953. package/dist/tools/registry/codebase-replace-tools.js.map +1 -0
  2954. package/dist/tools/registry/control-tools.d.ts +40 -0
  2955. package/dist/tools/registry/control-tools.js +39 -0
  2956. package/dist/tools/registry/control-tools.js.map +1 -0
  2957. package/dist/tools/registry/cronjob-tools.d.ts +12 -0
  2958. package/dist/tools/registry/cronjob-tools.js +56 -0
  2959. package/dist/tools/registry/cronjob-tools.js.map +1 -0
  2960. package/dist/tools/registry/discord-tools.d.ts +26 -0
  2961. package/dist/tools/registry/discord-tools.js +135 -0
  2962. package/dist/tools/registry/discord-tools.js.map +1 -0
  2963. package/dist/tools/registry/document-generator-tools.d.ts +29 -0
  2964. package/dist/tools/registry/document-generator-tools.js +140 -0
  2965. package/dist/tools/registry/document-generator-tools.js.map +1 -0
  2966. package/dist/tools/registry/execute-code-tools.d.ts +15 -0
  2967. package/dist/tools/registry/execute-code-tools.js +130 -0
  2968. package/dist/tools/registry/execute-code-tools.js.map +1 -0
  2969. package/dist/tools/registry/exit-plan-mode-tools.d.ts +18 -0
  2970. package/dist/tools/registry/exit-plan-mode-tools.js +66 -0
  2971. package/dist/tools/registry/exit-plan-mode-tools.js.map +1 -0
  2972. package/dist/tools/registry/feishu-tools.d.ts +15 -0
  2973. package/dist/tools/registry/feishu-tools.js +81 -0
  2974. package/dist/tools/registry/feishu-tools.js.map +1 -0
  2975. package/dist/tools/registry/firecrawl-tools.d.ts +43 -0
  2976. package/dist/tools/registry/firecrawl-tools.js +166 -0
  2977. package/dist/tools/registry/firecrawl-tools.js.map +1 -0
  2978. package/dist/tools/registry/fleet-tools.d.ts +47 -0
  2979. package/dist/tools/registry/fleet-tools.js +483 -0
  2980. package/dist/tools/registry/fleet-tools.js.map +1 -0
  2981. package/dist/tools/registry/gitnexus-tools.d.ts +18 -0
  2982. package/dist/tools/registry/gitnexus-tools.js +80 -0
  2983. package/dist/tools/registry/gitnexus-tools.js.map +1 -0
  2984. package/dist/tools/registry/graph-tools.d.ts +45 -0
  2985. package/dist/tools/registry/graph-tools.js +283 -0
  2986. package/dist/tools/registry/graph-tools.js.map +1 -0
  2987. package/dist/tools/registry/gui-tools.d.ts +18 -0
  2988. package/dist/tools/registry/gui-tools.js +145 -0
  2989. package/dist/tools/registry/gui-tools.js.map +1 -0
  2990. package/dist/tools/registry/homeassistant-tools.d.ts +15 -0
  2991. package/dist/tools/registry/homeassistant-tools.js +82 -0
  2992. package/dist/tools/registry/homeassistant-tools.js.map +1 -0
  2993. package/dist/tools/registry/index.d.ts +61 -3
  2994. package/dist/tools/registry/index.js +287 -3
  2995. package/dist/tools/registry/index.js.map +1 -1
  2996. package/dist/tools/registry/internet-scout-tools.d.ts +21 -0
  2997. package/dist/tools/registry/internet-scout-tools.js +350 -0
  2998. package/dist/tools/registry/internet-scout-tools.js.map +1 -0
  2999. package/dist/tools/registry/kanban-tools.d.ts +4 -0
  3000. package/dist/tools/registry/kanban-tools.js +189 -0
  3001. package/dist/tools/registry/kanban-tools.js.map +1 -0
  3002. package/dist/tools/registry/knowledge-tools.js +2 -0
  3003. package/dist/tools/registry/knowledge-tools.js.map +1 -1
  3004. package/dist/tools/registry/lead-scout-tools.d.ts +39 -0
  3005. package/dist/tools/registry/lead-scout-tools.js +656 -0
  3006. package/dist/tools/registry/lead-scout-tools.js.map +1 -0
  3007. package/dist/tools/registry/lessons-tools.d.ts +26 -7
  3008. package/dist/tools/registry/lessons-tools.js +236 -13
  3009. package/dist/tools/registry/lessons-tools.js.map +1 -1
  3010. package/dist/tools/registry/ls-tools.d.ts +27 -0
  3011. package/dist/tools/registry/ls-tools.js +92 -0
  3012. package/dist/tools/registry/ls-tools.js.map +1 -0
  3013. package/dist/tools/registry/lsp-tools.d.ts +39 -0
  3014. package/dist/tools/registry/lsp-tools.js +205 -0
  3015. package/dist/tools/registry/lsp-tools.js.map +1 -0
  3016. package/dist/tools/registry/mcp-tools.d.ts +2 -0
  3017. package/dist/tools/registry/mcp-tools.js +6 -0
  3018. package/dist/tools/registry/mcp-tools.js.map +1 -0
  3019. package/dist/tools/registry/memory-tools.d.ts +38 -0
  3020. package/dist/tools/registry/memory-tools.js +274 -0
  3021. package/dist/tools/registry/memory-tools.js.map +1 -0
  3022. package/dist/tools/registry/merge-conflict-tools.d.ts +28 -0
  3023. package/dist/tools/registry/merge-conflict-tools.js +84 -0
  3024. package/dist/tools/registry/merge-conflict-tools.js.map +1 -0
  3025. package/dist/tools/registry/misc-tools.d.ts +69 -3
  3026. package/dist/tools/registry/misc-tools.js +734 -10
  3027. package/dist/tools/registry/misc-tools.js.map +1 -1
  3028. package/dist/tools/registry/moa-tools.d.ts +15 -0
  3029. package/dist/tools/registry/moa-tools.js +60 -0
  3030. package/dist/tools/registry/moa-tools.js.map +1 -0
  3031. package/dist/tools/registry/multimodal-tools.d.ts +155 -0
  3032. package/dist/tools/registry/multimodal-tools.js +1121 -0
  3033. package/dist/tools/registry/multimodal-tools.js.map +1 -0
  3034. package/dist/tools/registry/parallel-tools.d.ts +18 -0
  3035. package/dist/tools/registry/parallel-tools.js +129 -0
  3036. package/dist/tools/registry/parallel-tools.js.map +1 -0
  3037. package/dist/tools/registry/plan-tools.d.ts +5 -0
  3038. package/dist/tools/registry/plan-tools.js +15 -3
  3039. package/dist/tools/registry/plan-tools.js.map +1 -1
  3040. package/dist/tools/registry/relationship-intelligence-tools.d.ts +12 -0
  3041. package/dist/tools/registry/relationship-intelligence-tools.js +197 -0
  3042. package/dist/tools/registry/relationship-intelligence-tools.js.map +1 -0
  3043. package/dist/tools/registry/screenpipe-tools.d.ts +25 -0
  3044. package/dist/tools/registry/screenpipe-tools.js +96 -0
  3045. package/dist/tools/registry/screenpipe-tools.js.map +1 -0
  3046. package/dist/tools/registry/script-tools.js +2 -0
  3047. package/dist/tools/registry/script-tools.js.map +1 -1
  3048. package/dist/tools/registry/send-message-tools.d.ts +15 -0
  3049. package/dist/tools/registry/send-message-tools.js +97 -0
  3050. package/dist/tools/registry/send-message-tools.js.map +1 -0
  3051. package/dist/tools/registry/session-tools.d.ts +23 -0
  3052. package/dist/tools/registry/session-tools.js +92 -0
  3053. package/dist/tools/registry/session-tools.js.map +1 -0
  3054. package/dist/tools/registry/skills-inspection-tools.d.ts +12 -0
  3055. package/dist/tools/registry/skills-inspection-tools.js +847 -0
  3056. package/dist/tools/registry/skills-inspection-tools.js.map +1 -0
  3057. package/dist/tools/registry/spotify-tools.d.ts +15 -0
  3058. package/dist/tools/registry/spotify-tools.js +92 -0
  3059. package/dist/tools/registry/spotify-tools.js.map +1 -0
  3060. package/dist/tools/registry/text-editor-tools.js +76 -11
  3061. package/dist/tools/registry/text-editor-tools.js.map +1 -1
  3062. package/dist/tools/registry/tool-aliases.js +7 -0
  3063. package/dist/tools/registry/tool-aliases.js.map +1 -1
  3064. package/dist/tools/registry/tool-registry.d.ts +17 -1
  3065. package/dist/tools/registry/tool-registry.js +21 -2
  3066. package/dist/tools/registry/tool-registry.js.map +1 -1
  3067. package/dist/tools/registry/types.d.ts +13 -1
  3068. package/dist/tools/registry/user-model-tools.d.ts +35 -0
  3069. package/dist/tools/registry/user-model-tools.js +222 -0
  3070. package/dist/tools/registry/user-model-tools.js.map +1 -0
  3071. package/dist/tools/registry/vision-tools.d.ts +60 -0
  3072. package/dist/tools/registry/vision-tools.js +473 -0
  3073. package/dist/tools/registry/vision-tools.js.map +1 -0
  3074. package/dist/tools/registry/vuln-scanner-tools.d.ts +28 -0
  3075. package/dist/tools/registry/vuln-scanner-tools.js +79 -0
  3076. package/dist/tools/registry/vuln-scanner-tools.js.map +1 -0
  3077. package/dist/tools/registry/x-search-tools.d.ts +15 -0
  3078. package/dist/tools/registry/x-search-tools.js +50 -0
  3079. package/dist/tools/registry/x-search-tools.js.map +1 -0
  3080. package/dist/tools/registry/yuanbao-tools.d.ts +15 -0
  3081. package/dist/tools/registry/yuanbao-tools.js +94 -0
  3082. package/dist/tools/registry/yuanbao-tools.js.map +1 -0
  3083. package/dist/tools/registry.d.ts +30 -6
  3084. package/dist/tools/registry.js +37 -6
  3085. package/dist/tools/registry.js.map +1 -1
  3086. package/dist/tools/request-permissions-tool.d.ts +47 -0
  3087. package/dist/tools/request-permissions-tool.js +136 -0
  3088. package/dist/tools/request-permissions-tool.js.map +1 -0
  3089. package/dist/tools/route-peer-tool.d.ts +21 -0
  3090. package/dist/tools/route-peer-tool.js +239 -0
  3091. package/dist/tools/route-peer-tool.js.map +1 -0
  3092. package/dist/tools/run-script-tool.js +20 -3
  3093. package/dist/tools/run-script-tool.js.map +1 -1
  3094. package/dist/tools/screenshot-tool.js +7 -6
  3095. package/dist/tools/screenshot-tool.js.map +1 -1
  3096. package/dist/tools/semantic-diff.js +2 -0
  3097. package/dist/tools/semantic-diff.js.map +1 -1
  3098. package/dist/tools/semantic-search.d.ts +9 -0
  3099. package/dist/tools/semantic-search.js +42 -0
  3100. package/dist/tools/semantic-search.js.map +1 -0
  3101. package/dist/tools/skill-discovery-tool.d.ts +3 -2
  3102. package/dist/tools/skill-discovery-tool.js +17 -5
  3103. package/dist/tools/skill-discovery-tool.js.map +1 -1
  3104. package/dist/tools/skills-inspection-tool.d.ts +11 -0
  3105. package/dist/tools/skills-inspection-tool.js +57 -0
  3106. package/dist/tools/skills-inspection-tool.js.map +1 -0
  3107. package/dist/tools/spotify-tool.d.ts +24 -0
  3108. package/dist/tools/spotify-tool.js +624 -0
  3109. package/dist/tools/spotify-tool.js.map +1 -0
  3110. package/dist/tools/streaming-adapter.d.ts +42 -0
  3111. package/dist/tools/streaming-adapter.js +130 -0
  3112. package/dist/tools/streaming-adapter.js.map +1 -0
  3113. package/dist/tools/submit-plan-tool.d.ts +9 -0
  3114. package/dist/tools/submit-plan-tool.js +37 -0
  3115. package/dist/tools/submit-plan-tool.js.map +1 -0
  3116. package/dist/tools/terminate-tool.d.ts +44 -0
  3117. package/dist/tools/terminate-tool.js +46 -0
  3118. package/dist/tools/terminate-tool.js.map +1 -0
  3119. package/dist/tools/test-generator.d.ts +13 -0
  3120. package/dist/tools/test-generator.js +81 -7
  3121. package/dist/tools/test-generator.js.map +1 -1
  3122. package/dist/tools/text-editor.d.ts +2 -0
  3123. package/dist/tools/text-editor.js +65 -14
  3124. package/dist/tools/text-editor.js.map +1 -1
  3125. package/dist/tools/text-to-speech-tool.d.ts +37 -0
  3126. package/dist/tools/text-to-speech-tool.js +292 -0
  3127. package/dist/tools/text-to-speech-tool.js.map +1 -0
  3128. package/dist/tools/todo-tool.js +8 -2
  3129. package/dist/tools/todo-tool.js.map +1 -1
  3130. package/dist/tools/tool-search.d.ts +54 -0
  3131. package/dist/tools/tool-search.js +170 -0
  3132. package/dist/tools/tool-search.js.map +1 -0
  3133. package/dist/tools/tool-selector.d.ts +7 -2
  3134. package/dist/tools/tool-selector.js +9 -4
  3135. package/dist/tools/tool-selector.js.map +1 -1
  3136. package/dist/tools/tools-md-generator.d.ts +14 -0
  3137. package/dist/tools/tools-md-generator.js +249 -0
  3138. package/dist/tools/tools-md-generator.js.map +1 -0
  3139. package/dist/tools/types.d.ts +15 -0
  3140. package/dist/tools/unified-diff-editor.js +8 -2
  3141. package/dist/tools/unified-diff-editor.js.map +1 -1
  3142. package/dist/tools/video-analysis-tool.d.ts +19 -0
  3143. package/dist/tools/video-analysis-tool.js +210 -0
  3144. package/dist/tools/video-analysis-tool.js.map +1 -0
  3145. package/dist/tools/video-tool.js +4 -3
  3146. package/dist/tools/video-tool.js.map +1 -1
  3147. package/dist/tools/vision/image-processor.d.ts +37 -0
  3148. package/dist/tools/vision/image-processor.js +128 -0
  3149. package/dist/tools/vision/image-processor.js.map +1 -0
  3150. package/dist/tools/vision/ocr-tool.d.ts +12 -0
  3151. package/dist/tools/vision/ocr-tool.js +42 -0
  3152. package/dist/tools/vision/ocr-tool.js.map +1 -0
  3153. package/dist/tools/vision/vision-analysis.d.ts +47 -0
  3154. package/dist/tools/vision/vision-analysis.js +96 -0
  3155. package/dist/tools/vision/vision-analysis.js.map +1 -0
  3156. package/dist/tools/web-search.d.ts +1 -1
  3157. package/dist/tools/web-search.js +27 -12
  3158. package/dist/tools/web-search.js.map +1 -1
  3159. package/dist/tools/x-search-tool.d.ts +12 -0
  3160. package/dist/tools/x-search-tool.js +360 -0
  3161. package/dist/tools/x-search-tool.js.map +1 -0
  3162. package/dist/tools/yuanbao-tool.d.ts +23 -0
  3163. package/dist/tools/yuanbao-tool.js +525 -0
  3164. package/dist/tools/yuanbao-tool.js.map +1 -0
  3165. package/dist/tracks/track-commands.js +9 -6
  3166. package/dist/tracks/track-commands.js.map +1 -1
  3167. package/dist/tracks/track-manager.js +8 -5
  3168. package/dist/tracks/track-manager.js.map +1 -1
  3169. package/dist/triggers/generic-webhook.d.ts +40 -0
  3170. package/dist/triggers/generic-webhook.js +150 -0
  3171. package/dist/triggers/generic-webhook.js.map +1 -0
  3172. package/dist/triggers/github-webhook.d.ts +130 -0
  3173. package/dist/triggers/github-webhook.js +214 -0
  3174. package/dist/triggers/github-webhook.js.map +1 -0
  3175. package/dist/triggers/index.d.ts +9 -0
  3176. package/dist/triggers/index.js +10 -0
  3177. package/dist/triggers/index.js.map +1 -0
  3178. package/dist/triggers/webhook-trigger.d.ts +120 -0
  3179. package/dist/triggers/webhook-trigger.js +556 -0
  3180. package/dist/triggers/webhook-trigger.js.map +1 -0
  3181. package/dist/types/index.d.ts +5 -2
  3182. package/dist/types/index.js +3 -10
  3183. package/dist/types/index.js.map +1 -1
  3184. package/dist/ui/cli-enhancements.js +1 -1
  3185. package/dist/ui/cli-enhancements.js.map +1 -1
  3186. package/dist/ui/clipboard-manager.js +8 -3
  3187. package/dist/ui/clipboard-manager.js.map +1 -1
  3188. package/dist/ui/compact-mode.js +7 -2
  3189. package/dist/ui/compact-mode.js.map +1 -1
  3190. package/dist/ui/components/AccessibleOutput.js +2 -2
  3191. package/dist/ui/components/AccessibleOutput.js.map +1 -1
  3192. package/dist/ui/components/ApiKeyInput.d.ts +1 -1
  3193. package/dist/ui/components/ApiKeyInput.js +5 -3
  3194. package/dist/ui/components/ApiKeyInput.js.map +1 -1
  3195. package/dist/ui/components/ChatHistory.js +64 -50
  3196. package/dist/ui/components/ChatHistory.js.map +1 -1
  3197. package/dist/ui/components/ChatInput.js +3 -2
  3198. package/dist/ui/components/ChatInput.js.map +1 -1
  3199. package/dist/ui/components/ChatInterface.js +53 -14
  3200. package/dist/ui/components/ChatInterface.js.map +1 -1
  3201. package/dist/ui/components/CommandPalette.d.ts +48 -0
  3202. package/dist/ui/components/CommandPalette.js +276 -0
  3203. package/dist/ui/components/CommandPalette.js.map +1 -0
  3204. package/dist/ui/components/CommandSuggestions.js +3 -2
  3205. package/dist/ui/components/CommandSuggestions.js.map +1 -1
  3206. package/dist/ui/components/DiffRenderer.js +7 -2
  3207. package/dist/ui/components/DiffRenderer.js.map +1 -1
  3208. package/dist/ui/components/EnhancedChatInput.d.ts +1 -1
  3209. package/dist/ui/components/EnhancedChatInput.js +6 -7
  3210. package/dist/ui/components/EnhancedChatInput.js.map +1 -1
  3211. package/dist/ui/components/EnhancedSpinners.js +4 -1
  3212. package/dist/ui/components/EnhancedSpinners.js.map +1 -1
  3213. package/dist/ui/components/EnhancedToolResults.js +2 -4
  3214. package/dist/ui/components/EnhancedToolResults.js.map +1 -1
  3215. package/dist/ui/components/FileAutocomplete.js +3 -1
  3216. package/dist/ui/components/FileAutocomplete.js.map +1 -1
  3217. package/dist/ui/components/HelpSystem.js +10 -7
  3218. package/dist/ui/components/HelpSystem.js.map +1 -1
  3219. package/dist/ui/components/InkTable.js +24 -18
  3220. package/dist/ui/components/InkTable.js.map +1 -1
  3221. package/dist/ui/components/KeyboardHelp.js +3 -4
  3222. package/dist/ui/components/KeyboardHelp.js.map +1 -1
  3223. package/dist/ui/components/LoadingSpinner.d.ts +2 -0
  3224. package/dist/ui/components/LoadingSpinner.js +14 -38
  3225. package/dist/ui/components/LoadingSpinner.js.map +1 -1
  3226. package/dist/ui/components/MultiStepProgress.js +3 -1
  3227. package/dist/ui/components/MultiStepProgress.js.map +1 -1
  3228. package/dist/ui/components/ReasoningBlock.js +21 -10
  3229. package/dist/ui/components/ReasoningBlock.js.map +1 -1
  3230. package/dist/ui/components/SessionTimeline.d.ts +19 -0
  3231. package/dist/ui/components/SessionTimeline.js +158 -0
  3232. package/dist/ui/components/SessionTimeline.js.map +1 -0
  3233. package/dist/ui/components/Sidebar.d.ts +26 -0
  3234. package/dist/ui/components/Sidebar.js +50 -0
  3235. package/dist/ui/components/Sidebar.js.map +1 -0
  3236. package/dist/ui/components/StatusBar.js +5 -5
  3237. package/dist/ui/components/StatusBar.js.map +1 -1
  3238. package/dist/ui/components/StatusBlock.d.ts +12 -0
  3239. package/dist/ui/components/StatusBlock.js +106 -0
  3240. package/dist/ui/components/StatusBlock.js.map +1 -0
  3241. package/dist/ui/components/TabbedQuestion.js +5 -2
  3242. package/dist/ui/components/TabbedQuestion.js.map +1 -1
  3243. package/dist/ui/cost-indicator.js +8 -4
  3244. package/dist/ui/cost-indicator.js.map +1 -1
  3245. package/dist/ui/dashboard/dashboard.js +3 -1
  3246. package/dist/ui/dashboard/dashboard.js.map +1 -1
  3247. package/dist/ui/metrics-dashboard.js +2 -2
  3248. package/dist/ui/metrics-dashboard.js.map +1 -1
  3249. package/dist/ui/modification-preview.js +4 -4
  3250. package/dist/ui/modification-preview.js.map +1 -1
  3251. package/dist/ui/navigable-history.js +20 -8
  3252. package/dist/ui/navigable-history.js.map +1 -1
  3253. package/dist/ui/path-autocomplete.js +11 -3
  3254. package/dist/ui/path-autocomplete.js.map +1 -1
  3255. package/dist/ui/session-summary.js +1 -1
  3256. package/dist/ui/session-summary.js.map +1 -1
  3257. package/dist/ui/sound-notifications.js +7 -1
  3258. package/dist/ui/sound-notifications.js.map +1 -1
  3259. package/dist/ui/split-screen-diff.js +14 -4
  3260. package/dist/ui/split-screen-diff.js.map +1 -1
  3261. package/dist/ui/status-line.d.ts +5 -1
  3262. package/dist/ui/status-line.js +19 -3
  3263. package/dist/ui/status-line.js.map +1 -1
  3264. package/dist/ui/terminal-enhancements.js +1 -0
  3265. package/dist/ui/terminal-enhancements.js.map +1 -1
  3266. package/dist/ui/themes.js +10 -2
  3267. package/dist/ui/themes.js.map +1 -1
  3268. package/dist/ui/ui-enhancements.js +1 -1
  3269. package/dist/ui/ui-enhancements.js.map +1 -1
  3270. package/dist/ui/usage-statistics.js +1 -1
  3271. package/dist/ui/usage-statistics.js.map +1 -1
  3272. package/dist/ui/utils/accessibility.js +21 -11
  3273. package/dist/ui/utils/accessibility.js.map +1 -1
  3274. package/dist/ui/utils/markdown-renderer.js +30 -13
  3275. package/dist/ui/utils/markdown-renderer.js.map +1 -1
  3276. package/dist/undo/checkpoint-manager.js +11 -0
  3277. package/dist/undo/checkpoint-manager.js.map +1 -1
  3278. package/dist/utils/approval-pattern-tracker.d.ts +52 -0
  3279. package/dist/utils/approval-pattern-tracker.js +134 -0
  3280. package/dist/utils/approval-pattern-tracker.js.map +1 -0
  3281. package/dist/utils/ascii-banner.js +3 -2
  3282. package/dist/utils/ascii-banner.js.map +1 -1
  3283. package/dist/utils/audio-player.d.ts +1 -0
  3284. package/dist/utils/audio-player.js +50 -0
  3285. package/dist/utils/audio-player.js.map +1 -0
  3286. package/dist/utils/autonomy-manager.d.ts +68 -6
  3287. package/dist/utils/autonomy-manager.js +228 -7
  3288. package/dist/utils/autonomy-manager.js.map +1 -1
  3289. package/dist/utils/base-url.d.ts +2 -0
  3290. package/dist/utils/base-url.js +28 -0
  3291. package/dist/utils/base-url.js.map +1 -0
  3292. package/dist/utils/batch-review-service.d.ts +95 -0
  3293. package/dist/utils/batch-review-service.js +191 -0
  3294. package/dist/utils/batch-review-service.js.map +1 -0
  3295. package/dist/utils/clipboard.d.ts +25 -0
  3296. package/dist/utils/clipboard.js +118 -0
  3297. package/dist/utils/clipboard.js.map +1 -0
  3298. package/dist/utils/codebuddy-home.d.ts +21 -16
  3299. package/dist/utils/codebuddy-home.js +44 -34
  3300. package/dist/utils/codebuddy-home.js.map +1 -1
  3301. package/dist/utils/color-contrast.js +12 -5
  3302. package/dist/utils/color-contrast.js.map +1 -1
  3303. package/dist/utils/command-exists.d.ts +15 -0
  3304. package/dist/utils/command-exists.js +66 -0
  3305. package/dist/utils/command-exists.js.map +1 -0
  3306. package/dist/utils/config-validation/schema.d.ts +154 -46
  3307. package/dist/utils/config-validation/schema.js +41 -2
  3308. package/dist/utils/config-validation/schema.js.map +1 -1
  3309. package/dist/utils/confirmation-service.js +105 -17
  3310. package/dist/utils/confirmation-service.js.map +1 -1
  3311. package/dist/utils/conversation-title.d.ts +16 -0
  3312. package/dist/utils/conversation-title.js +123 -0
  3313. package/dist/utils/conversation-title.js.map +1 -0
  3314. package/dist/utils/cost-tracker.d.ts +9 -2
  3315. package/dist/utils/cost-tracker.js +72 -13
  3316. package/dist/utils/cost-tracker.js.map +1 -1
  3317. package/dist/utils/custom-commands.js +9 -4
  3318. package/dist/utils/custom-commands.js.map +1 -1
  3319. package/dist/utils/debug-logger.d.ts +1 -1
  3320. package/dist/utils/diff-generator.js +18 -18
  3321. package/dist/utils/diff-generator.js.map +1 -1
  3322. package/dist/utils/errors/error-formatters.js +6 -1
  3323. package/dist/utils/errors/error-formatters.js.map +1 -1
  3324. package/dist/utils/errors.d.ts +3 -2
  3325. package/dist/utils/errors.js +3 -10
  3326. package/dist/utils/errors.js.map +1 -1
  3327. package/dist/utils/export-manager.js +3 -3
  3328. package/dist/utils/export-manager.js.map +1 -1
  3329. package/dist/utils/fuzzy-match.js +1 -1
  3330. package/dist/utils/fuzzy-match.js.map +1 -1
  3331. package/dist/utils/glob-utils.d.ts +41 -0
  3332. package/dist/utils/glob-utils.js +126 -0
  3333. package/dist/utils/glob-utils.js.map +1 -0
  3334. package/dist/utils/head-tail-truncation.js +6 -1
  3335. package/dist/utils/head-tail-truncation.js.map +1 -1
  3336. package/dist/utils/headless-output.d.ts +1 -1
  3337. package/dist/utils/headless-output.js +1 -1
  3338. package/dist/utils/history-manager.js +5 -5
  3339. package/dist/utils/history-manager.js.map +1 -1
  3340. package/dist/utils/index.d.ts +1 -1
  3341. package/dist/utils/index.js +1 -1
  3342. package/dist/utils/index.js.map +1 -1
  3343. package/dist/utils/init-project.d.ts +65 -4
  3344. package/dist/utils/init-project.js +764 -62
  3345. package/dist/utils/init-project.js.map +1 -1
  3346. package/dist/utils/input-validation/index.d.ts +16 -16
  3347. package/dist/utils/installation-id.d.ts +21 -0
  3348. package/dist/utils/installation-id.js +76 -0
  3349. package/dist/utils/installation-id.js.map +1 -0
  3350. package/dist/utils/kitty-keyboard.d.ts +53 -0
  3351. package/dist/utils/kitty-keyboard.js +90 -0
  3352. package/dist/utils/kitty-keyboard.js.map +1 -0
  3353. package/dist/utils/kokoro-tts.d.ts +8 -0
  3354. package/dist/utils/kokoro-tts.js +67 -0
  3355. package/dist/utils/kokoro-tts.js.map +1 -0
  3356. package/dist/utils/llm-retry.d.ts +10 -0
  3357. package/dist/utils/llm-retry.js +146 -0
  3358. package/dist/utils/llm-retry.js.map +1 -0
  3359. package/dist/utils/logger.d.ts +26 -0
  3360. package/dist/utils/logger.js +117 -0
  3361. package/dist/utils/logger.js.map +1 -1
  3362. package/dist/utils/memory-monitor.js +8 -1
  3363. package/dist/utils/memory-monitor.js.map +1 -1
  3364. package/dist/utils/model-router.js +10 -2
  3365. package/dist/utils/model-router.js.map +1 -1
  3366. package/dist/utils/model-utils.d.ts +1 -1
  3367. package/dist/utils/multi-strategy-match.d.ts +26 -0
  3368. package/dist/utils/multi-strategy-match.js +243 -0
  3369. package/dist/utils/multi-strategy-match.js.map +1 -0
  3370. package/dist/utils/output-sanitizer.d.ts +35 -0
  3371. package/dist/utils/output-sanitizer.js +118 -0
  3372. package/dist/utils/output-sanitizer.js.map +1 -0
  3373. package/dist/utils/performance.js +6 -2
  3374. package/dist/utils/performance.js.map +1 -1
  3375. package/dist/utils/progress/duration-estimator.d.ts +33 -0
  3376. package/dist/utils/progress/duration-estimator.js +55 -0
  3377. package/dist/utils/progress/duration-estimator.js.map +1 -0
  3378. package/dist/utils/progress/index.d.ts +15 -0
  3379. package/dist/utils/progress/index.js +5 -0
  3380. package/dist/utils/progress/index.js.map +1 -0
  3381. package/dist/utils/progress/progress-manager.d.ts +43 -0
  3382. package/dist/utils/progress/progress-manager.js +135 -0
  3383. package/dist/utils/progress/progress-manager.js.map +1 -0
  3384. package/dist/utils/progress/progress-task.d.ts +46 -0
  3385. package/dist/utils/progress/progress-task.js +147 -0
  3386. package/dist/utils/progress/progress-task.js.map +1 -0
  3387. package/dist/utils/progress/render.d.ts +57 -0
  3388. package/dist/utils/progress/render.js +107 -0
  3389. package/dist/utils/progress/render.js.map +1 -0
  3390. package/dist/utils/progress/types.d.ts +83 -0
  3391. package/dist/utils/progress/types.js +18 -0
  3392. package/dist/utils/progress/types.js.map +1 -0
  3393. package/dist/utils/provider-detector.d.ts +25 -0
  3394. package/dist/utils/provider-detector.js +97 -0
  3395. package/dist/utils/provider-detector.js.map +1 -0
  3396. package/dist/utils/proxy-support.d.ts +43 -0
  3397. package/dist/utils/proxy-support.js +129 -0
  3398. package/dist/utils/proxy-support.js.map +1 -0
  3399. package/dist/utils/qr-pairing.d.ts +27 -0
  3400. package/dist/utils/qr-pairing.js +86 -0
  3401. package/dist/utils/qr-pairing.js.map +1 -0
  3402. package/dist/utils/rate-limit-display.d.ts +46 -0
  3403. package/dist/utils/rate-limit-display.js +150 -0
  3404. package/dist/utils/rate-limit-display.js.map +1 -0
  3405. package/dist/utils/rate-limiter.js +2 -0
  3406. package/dist/utils/rate-limiter.js.map +1 -1
  3407. package/dist/utils/response-cache.js +2 -2
  3408. package/dist/utils/response-cache.js.map +1 -1
  3409. package/dist/utils/retry.d.ts +6 -106
  3410. package/dist/utils/retry.js +6 -292
  3411. package/dist/utils/retry.js.map +1 -1
  3412. package/dist/utils/rtk-compressor.js +7 -1
  3413. package/dist/utils/rtk-compressor.js.map +1 -1
  3414. package/dist/utils/runtime-flags.d.ts +8 -0
  3415. package/dist/utils/runtime-flags.js +14 -0
  3416. package/dist/utils/runtime-flags.js.map +1 -0
  3417. package/dist/utils/sanitize.d.ts +6 -2
  3418. package/dist/utils/sanitize.js +20 -12
  3419. package/dist/utils/sanitize.js.map +1 -1
  3420. package/dist/utils/schema-validator.js +7 -5
  3421. package/dist/utils/schema-validator.js.map +1 -1
  3422. package/dist/utils/semantic-cache.d.ts +5 -2
  3423. package/dist/utils/semantic-cache.js +58 -32
  3424. package/dist/utils/semantic-cache.js.map +1 -1
  3425. package/dist/utils/session-enhancements.d.ts +4 -0
  3426. package/dist/utils/session-enhancements.js +69 -8
  3427. package/dist/utils/session-enhancements.js.map +1 -1
  3428. package/dist/utils/settings-manager.d.ts +4 -2
  3429. package/dist/utils/settings-manager.js +44 -16
  3430. package/dist/utils/settings-manager.js.map +1 -1
  3431. package/dist/utils/shell-snapshot.js +8 -2
  3432. package/dist/utils/shell-snapshot.js.map +1 -1
  3433. package/dist/utils/stable-json.d.ts +1 -1
  3434. package/dist/utils/stable-json.js +1 -1
  3435. package/dist/utils/stream-helpers.js +9 -3
  3436. package/dist/utils/stream-helpers.js.map +1 -1
  3437. package/dist/utils/telemetry-config.d.ts +35 -0
  3438. package/dist/utils/telemetry-config.js +114 -0
  3439. package/dist/utils/telemetry-config.js.map +1 -0
  3440. package/dist/utils/terminal-background.d.ts +24 -0
  3441. package/dist/utils/terminal-background.js +103 -0
  3442. package/dist/utils/terminal-background.js.map +1 -0
  3443. package/dist/utils/terminal-notifications.d.ts +1 -1
  3444. package/dist/utils/terminal-notifications.js +1 -1
  3445. package/dist/utils/test-output-parser.js +45 -22
  3446. package/dist/utils/test-output-parser.js.map +1 -1
  3447. package/dist/utils/text-utils.js +6 -1
  3448. package/dist/utils/text-utils.js.map +1 -1
  3449. package/dist/utils/token-counter.d.ts +21 -6
  3450. package/dist/utils/token-counter.js +27 -8
  3451. package/dist/utils/token-counter.js.map +1 -1
  3452. package/dist/utils/token-display.d.ts +29 -0
  3453. package/dist/utils/token-display.js +63 -0
  3454. package/dist/utils/token-display.js.map +1 -0
  3455. package/dist/utils/tool-filter.d.ts +10 -0
  3456. package/dist/utils/tool-filter.js +29 -0
  3457. package/dist/utils/tool-filter.js.map +1 -1
  3458. package/dist/utils/validators.js +1 -1
  3459. package/dist/utils/validators.js.map +1 -1
  3460. package/dist/utils/workspace-detector.js +8 -6
  3461. package/dist/utils/workspace-detector.js.map +1 -1
  3462. package/dist/versioning/config-migrator.js +10 -3
  3463. package/dist/versioning/config-migrator.js.map +1 -1
  3464. package/dist/versioning/migration-manager.js +13 -5
  3465. package/dist/versioning/migration-manager.js.map +1 -1
  3466. package/dist/voice/speech-recognition.d.ts +13 -1
  3467. package/dist/voice/speech-recognition.js +145 -10
  3468. package/dist/voice/speech-recognition.js.map +1 -1
  3469. package/dist/voice/types.d.ts +15 -0
  3470. package/dist/voice/types.js.map +1 -1
  3471. package/dist/voice/voice-activity.js +7 -6
  3472. package/dist/voice/voice-activity.js.map +1 -1
  3473. package/dist/voice/voice-to-code.d.ts +62 -0
  3474. package/dist/voice/voice-to-code.js +191 -0
  3475. package/dist/voice/voice-to-code.js.map +1 -0
  3476. package/dist/wizard/onboarding.js +2 -1
  3477. package/dist/wizard/onboarding.js.map +1 -1
  3478. package/dist/wizard/provider-onboarding.d.ts +55 -0
  3479. package/dist/wizard/provider-onboarding.js +310 -0
  3480. package/dist/wizard/provider-onboarding.js.map +1 -0
  3481. package/dist/workflows/aflow-optimizer.d.ts +110 -0
  3482. package/dist/workflows/aflow-optimizer.js +388 -0
  3483. package/dist/workflows/aflow-optimizer.js.map +1 -0
  3484. package/dist/workflows/lobster-engine.d.ts +67 -1
  3485. package/dist/workflows/lobster-engine.js +230 -7
  3486. package/dist/workflows/lobster-engine.js.map +1 -1
  3487. package/dist/workflows/pipeline.d.ts +1 -1
  3488. package/dist/workflows/pipeline.js +7 -5
  3489. package/dist/workflows/pipeline.js.map +1 -1
  3490. package/dist/workflows/step-manager.js +4 -0
  3491. package/dist/workflows/step-manager.js.map +1 -1
  3492. package/dist/workflows/workflow-engine.js +3 -0
  3493. package/dist/workflows/workflow-engine.js.map +1 -1
  3494. package/dist/workspace/workspace-manager.js +4 -3
  3495. package/dist/workspace/workspace-manager.js.map +1 -1
  3496. package/package.json +86 -20
  3497. package/.codebuddy/skills/bundled/ableton-live/SKILL.md +0 -562
  3498. package/.codebuddy/skills/bundled/blender/SKILL.md +0 -340
  3499. package/.codebuddy/skills/bundled/blog-watcher/SKILL.md +0 -81
  3500. package/.codebuddy/skills/bundled/brave-search/SKILL.md +0 -490
  3501. package/.codebuddy/skills/bundled/coding-agent/SKILL.md +0 -91
  3502. package/.codebuddy/skills/bundled/csharp-avalonia/SKILL.md +0 -401
  3503. package/.codebuddy/skills/bundled/databases/SKILL.md +0 -852
  3504. package/.codebuddy/skills/bundled/davinci-resolve/SKILL.md +0 -524
  3505. package/.codebuddy/skills/bundled/email-tools/SKILL.md +0 -104
  3506. package/.codebuddy/skills/bundled/exa-search/SKILL.md +0 -1122
  3507. package/.codebuddy/skills/bundled/figma/SKILL.md +0 -412
  3508. package/.codebuddy/skills/bundled/game-engines/SKILL.md +0 -956
  3509. package/.codebuddy/skills/bundled/gif-search/SKILL.md +0 -55
  3510. package/.codebuddy/skills/bundled/gimp/SKILL.md +0 -585
  3511. package/.codebuddy/skills/bundled/github/SKILL.md +0 -114
  3512. package/.codebuddy/skills/bundled/gitlab/SKILL.md +0 -994
  3513. package/.codebuddy/skills/bundled/grafana-prometheus/SKILL.md +0 -927
  3514. package/.codebuddy/skills/bundled/healthcheck/SKILL.md +0 -98
  3515. package/.codebuddy/skills/bundled/image-gen/SKILL.md +0 -72
  3516. package/.codebuddy/skills/bundled/inkscape/SKILL.md +0 -687
  3517. package/.codebuddy/skills/bundled/jenkins-ci/SKILL.md +0 -1068
  3518. package/.codebuddy/skills/bundled/kubernetes/SKILL.md +0 -537
  3519. package/.codebuddy/skills/bundled/merge-pr/SKILL.md +0 -71
  3520. package/.codebuddy/skills/bundled/model-usage/SKILL.md +0 -73
  3521. package/.codebuddy/skills/bundled/n8n/SKILL.md +0 -576
  3522. package/.codebuddy/skills/bundled/notion/SKILL.md +0 -98
  3523. package/.codebuddy/skills/bundled/pdf-tools/SKILL.md +0 -109
  3524. package/.codebuddy/skills/bundled/perplexity/SKILL.md +0 -748
  3525. package/.codebuddy/skills/bundled/playwright/SKILL.md +0 -520
  3526. package/.codebuddy/skills/bundled/prepare-pr/SKILL.md +0 -67
  3527. package/.codebuddy/skills/bundled/project-best-practices/SKILL.md +0 -123
  3528. package/.codebuddy/skills/bundled/puppeteer/SKILL.md +0 -708
  3529. package/.codebuddy/skills/bundled/review-pr/SKILL.md +0 -99
  3530. package/.codebuddy/skills/bundled/screenshot/SKILL.md +0 -91
  3531. package/.codebuddy/skills/bundled/session-logs/SKILL.md +0 -65
  3532. package/.codebuddy/skills/bundled/skill-creator/SKILL.md +0 -106
  3533. package/.codebuddy/skills/bundled/smart-home/SKILL.md +0 -87
  3534. package/.codebuddy/skills/bundled/spotify/SKILL.md +0 -89
  3535. package/.codebuddy/skills/bundled/summarize/SKILL.md +0 -84
  3536. package/.codebuddy/skills/bundled/terraform-ansible/SKILL.md +0 -991
  3537. package/.codebuddy/skills/bundled/tmux-sessions/SKILL.md +0 -87
  3538. package/.codebuddy/skills/bundled/unreal-engine/SKILL.md +0 -460
  3539. package/.codebuddy/skills/bundled/video-tools/SKILL.md +0 -108
  3540. package/.codebuddy/skills/bundled/weather/SKILL.md +0 -72
  3541. package/.codebuddy/skills/bundled/web-fetch/SKILL.md +0 -1003
  3542. package/.codebuddy/skills/bundled/whisper-transcribe/SKILL.md +0 -78
  3543. package/dist/agent/orchestrator/checkpoint-rollback.d.ts +0 -62
  3544. package/dist/agent/orchestrator/checkpoint-rollback.js +0 -146
  3545. package/dist/agent/orchestrator/checkpoint-rollback.js.map +0 -1
  3546. package/dist/agent/orchestrator/index.d.ts +0 -7
  3547. package/dist/agent/orchestrator/index.js +0 -8
  3548. package/dist/agent/orchestrator/index.js.map +0 -1
  3549. package/dist/agent/orchestrator/self-healing.d.ts +0 -53
  3550. package/dist/agent/orchestrator/self-healing.js +0 -157
  3551. package/dist/agent/orchestrator/self-healing.js.map +0 -1
  3552. package/dist/agent/orchestrator/shared-context.d.ts +0 -63
  3553. package/dist/agent/orchestrator/shared-context.js +0 -125
  3554. package/dist/agent/orchestrator/shared-context.js.map +0 -1
  3555. package/dist/agent/orchestrator/supervisor-agent.d.ts +0 -76
  3556. package/dist/agent/orchestrator/supervisor-agent.js +0 -198
  3557. package/dist/agent/orchestrator/supervisor-agent.js.map +0 -1
  3558. package/dist/agent/system-prompt-builder.d.ts +0 -211
  3559. package/dist/agent/system-prompt-builder.js +0 -440
  3560. package/dist/agent/system-prompt-builder.js.map +0 -1
  3561. package/dist/commands/cli/openclaw-commands.d.ts +0 -12
  3562. package/dist/commands/cli/openclaw-commands.js +0 -446
  3563. package/dist/commands/cli/openclaw-commands.js.map +0 -1
  3564. package/dist/commands/handlers/lessons-handler.d.ts +0 -2
  3565. package/dist/commands/handlers/lessons-handler.js +0 -63
  3566. package/dist/commands/handlers/lessons-handler.js.map +0 -1
  3567. package/dist/commands/handlers/track-handlers.d.ts +0 -10
  3568. package/dist/commands/handlers/track-handlers.js +0 -51
  3569. package/dist/commands/handlers/track-handlers.js.map +0 -1
  3570. package/dist/fcs/builtins.d.ts +0 -4
  3571. package/dist/fcs/builtins.js +0 -5
  3572. package/dist/fcs/builtins.js.map +0 -1
  3573. package/dist/fcs/codebuddy-bindings.d.ts +0 -5
  3574. package/dist/fcs/codebuddy-bindings.js +0 -5
  3575. package/dist/fcs/codebuddy-bindings.js.map +0 -1
  3576. package/dist/fcs/index.d.ts +0 -4
  3577. package/dist/fcs/index.js +0 -5
  3578. package/dist/fcs/index.js.map +0 -1
  3579. package/dist/fcs/lexer.d.ts +0 -4
  3580. package/dist/fcs/lexer.js +0 -5
  3581. package/dist/fcs/lexer.js.map +0 -1
  3582. package/dist/fcs/parser.d.ts +0 -4
  3583. package/dist/fcs/parser.js +0 -5
  3584. package/dist/fcs/parser.js.map +0 -1
  3585. package/dist/fcs/runtime.d.ts +0 -4
  3586. package/dist/fcs/runtime.js +0 -5
  3587. package/dist/fcs/runtime.js.map +0 -1
  3588. package/dist/fcs/script-registry.d.ts +0 -5
  3589. package/dist/fcs/script-registry.js +0 -5
  3590. package/dist/fcs/script-registry.js.map +0 -1
  3591. package/dist/fcs/sync-bindings.d.ts +0 -5
  3592. package/dist/fcs/sync-bindings.js +0 -5
  3593. package/dist/fcs/sync-bindings.js.map +0 -1
  3594. package/dist/fcs/types.d.ts +0 -4
  3595. package/dist/fcs/types.js +0 -5
  3596. package/dist/fcs/types.js.map +0 -1
  3597. package/dist/networking/circuit-breaker.d.ts +0 -117
  3598. package/dist/networking/circuit-breaker.js +0 -253
  3599. package/dist/networking/circuit-breaker.js.map +0 -1
  3600. package/dist/tools/browser-stub.d.ts +0 -61
  3601. package/dist/tools/browser-stub.js +0 -184
  3602. package/dist/tools/browser-stub.js.map +0 -1
  3603. package/dist/tools/image-stub.d.ts +0 -32
  3604. package/dist/tools/image-stub.js +0 -97
  3605. package/dist/tools/image-stub.js.map +0 -1
@@ -0,0 +1,2893 @@
1
+ /**
2
+ * Hermes Agent CLI diagnostics.
3
+ *
4
+ * Exposes the native Code Buddy profile that maps Hermes Agent ideas
5
+ * onto Fleet toolsets, skills, memory, session search, scheduling and
6
+ * delegation.
7
+ */
8
+ import fs from 'fs';
9
+ import os from 'os';
10
+ import path from 'path';
11
+ import { buildChannelStatusReport } from '../handlers/channel-handlers.js';
12
+ import { DEFAULT_DISPATCH_POLICY_PREVIEW_TOOLS, FLEET_DISPATCH_PROFILES, buildDispatchToolFilter, buildHermesToolsetDescriptor, normalizeDispatchProfile, } from '../../fleet/dispatch-profile.js';
13
+ import { buildHermesAgentProfile, buildHermesIntegrationPlan, buildHermesAgentSystemPrompt, renderHermesIntegrationPlanMarkdown, } from '../../agent/hermes-agent-profile.js';
14
+ import { buildHermesAgentDiagnostics, buildHermesProviderReadiness, } from '../../agent/hermes-agent-diagnostics.js';
15
+ import { runClawMigration, renderClawMigrationReport, } from '../../agent/hermes-claw-migrate.js';
16
+ import { attachOpenClawGateway, approveOpenClawPendingNode, buildOpenClawNodeDescriptor, discoverOpenClawGateway, callOpenClawGatewayWebSocket, listOpenClawPendingNodes, prepareOpenClawFleetHandoffDraft, probeOpenClawGatewayWebSocket, rejectOpenClawPendingNode, sendOpenClawResponse, validateOpenClawUpstreamCompatibility, } from '../../openclaw/gateway-bridge.js';
17
+ import { buildHermesProtocolGatewayReadiness, renderHermesProtocolGatewayReadiness, renderHermesProtocolGatewaySmoke, runHermesProtocolGatewaySmoke, } from '../../agent/hermes-protocol-gateways.js';
18
+ import { buildHermesParityManifest, buildHermesParityTodo, renderHermesParityManifestMarkdown, } from '../../agent/hermes-parity-manifest.js';
19
+ import { renderHermesToolParityManifestMarkdown, } from '../../agent/hermes-tool-parity-manifest.js';
20
+ import { buildLocalHermesToolParityManifest, collectOfflineBuiltinTools, collectOfflineBuiltinToolNames, } from '../../agent/hermes-tool-parity-local.js';
21
+ import { buildHermesToolsetCatalog, } from '../../agent/hermes-toolset-catalog.js';
22
+ import { buildHermesHookLifecycleManifest, renderHermesHookLifecycleManifest, } from '../../hooks/hermes-lifecycle-hooks.js';
23
+ import { buildHermesPortalStatus, renderHermesPortalStatus, } from '../../agent/hermes-portal-status.js';
24
+ import { buildHermesRuntimeBackendsReadiness, renderHermesRuntimeBackendsReadiness, runHermesRuntimeBackendSmoke, } from '../../agent/hermes-runtime-backends.js';
25
+ import { buildHermesBrowserBackendsReadiness, renderHermesBrowserBackendsReadiness, renderHermesBrowserSmoke, runHermesBrowserBackendSmoke, } from '../../agent/hermes-browser-backends.js';
26
+ import { buildHermesMemoryProvidersReadiness, renderHermesMemoryProvidersReadiness, probeMemoryProvider, renderHermesMemoryProbe, } from '../../agent/hermes-memory-providers.js';
27
+ import { buildHermesLearningLoopStatus, renderHermesLearningLoopStatus, } from '../../agent/hermes-learning-loop-status.js';
28
+ import { buildHermesSkillPackageSummary, renderHermesSkillPackageSummary, } from '../../agent/hermes-skill-package-summary.js';
29
+ import { buildMobileSupervisionGatewayContract, } from '../../observability/mobile-supervision-gateway-contract.js';
30
+ import { buildMobileSupervisionGatewayListenerShell, } from '../../observability/mobile-supervision-gateway-listener-shell.js';
31
+ import { buildMobileSupervisionPairingState, MOBILE_SUPERVISION_DEVICE_LABEL_MAX_CHARS, } from '../../observability/mobile-supervision-pairing-state.js';
32
+ import { buildMobileSupervisionApprovalQueue, } from '../../observability/mobile-supervision-approval-queue.js';
33
+ import { buildHermesTrajectoryCompatibilityReport, renderHermesTrajectoryCompatibilityReport, } from '../../observability/hermes-trajectory-compatibility.js';
34
+ import { KanbanStore, } from '../../kanban/kanban-store.js';
35
+ import { KanbanBoardRegistry } from '../../kanban/kanban-board-registry.js';
36
+ import { isFeatureEnabled } from '../../config/feature-flags.js';
37
+ import { getUserModel } from '../../memory/user-model.js';
38
+ import { filterTools } from '../../utils/tool-filter.js';
39
+ function formatList(values) {
40
+ return values.length > 0 ? values.join(', ') : 'none';
41
+ }
42
+ function formatLimitedList(values, limit = 8) {
43
+ const visible = values.slice(0, limit);
44
+ const hiddenCount = values.length - visible.length;
45
+ return `${formatList(visible)}${hiddenCount > 0 ? ` (+${hiddenCount} more)` : ''}`;
46
+ }
47
+ function formatAllowList(values) {
48
+ return values.length > 0 ? values.join(', ') : 'all';
49
+ }
50
+ function formatOk(ok) {
51
+ return ok ? 'ok' : 'needs attention';
52
+ }
53
+ function sanitizeCredentialSource(source) {
54
+ if (path.isAbsolute(source) || source.includes('/') || source.includes('\\')) {
55
+ return source.replace(/\\/g, '/').split('/').pop() ?? 'credential-file';
56
+ }
57
+ return source;
58
+ }
59
+ function sanitizeSmokeCommand(command) {
60
+ if (!command)
61
+ return null;
62
+ if (path.isAbsolute(command) || command.includes('/') || command.includes('\\')) {
63
+ return path.basename(command) || 'runtime-command';
64
+ }
65
+ return command;
66
+ }
67
+ function redactLocalSmokeText(value) {
68
+ return value
69
+ .replace(/trace=([^;\r\n]+)/g, 'trace=[redacted-local-path]')
70
+ .replace(/[A-Za-z]:\\[^\r\n;]+/g, '[redacted-local-path]')
71
+ .replace(/\/(?:Users|home|tmp|var\/folders)\/[^\r\n;]+/g, '[redacted-local-path]');
72
+ }
73
+ function sanitizeRuntimeSmokeResult(result) {
74
+ return {
75
+ ...result,
76
+ command: sanitizeSmokeCommand(result.command),
77
+ output: redactLocalSmokeText(result.output),
78
+ stderr: redactLocalSmokeText(result.stderr),
79
+ stdout: redactLocalSmokeText(result.stdout),
80
+ };
81
+ }
82
+ function sanitizeBrowserSmokeResult(result) {
83
+ return {
84
+ ...result,
85
+ artifacts: result.artifacts?.map((artifact) => ({
86
+ ...artifact,
87
+ path: path.basename(artifact.path) || '[redacted-local-path]',
88
+ })),
89
+ command: sanitizeSmokeCommand(result.command),
90
+ output: redactLocalSmokeText(result.output),
91
+ stderr: redactLocalSmokeText(result.stderr),
92
+ stdout: redactLocalSmokeText(result.stdout),
93
+ };
94
+ }
95
+ function parseOptionalPositiveInteger(value, label) {
96
+ if (value === undefined)
97
+ return undefined;
98
+ const parsed = Number.parseInt(value, 10);
99
+ if (!Number.isFinite(parsed) || parsed < 1) {
100
+ throw new Error(`${label} must be a positive integer`);
101
+ }
102
+ return parsed;
103
+ }
104
+ function inferHermesPlanOutputFormat(options) {
105
+ if (options.json)
106
+ return 'json';
107
+ if (options.markdown)
108
+ return 'markdown';
109
+ const ext = options.planOutput ? path.extname(options.planOutput).toLowerCase() : '';
110
+ if (ext === '.json')
111
+ return 'json';
112
+ if (ext === '.md' || ext === '.markdown')
113
+ return 'markdown';
114
+ return 'text';
115
+ }
116
+ function renderHermesPlanJson(profileArg, plan) {
117
+ return JSON.stringify({
118
+ requestedProfile: profileArg,
119
+ plan,
120
+ }, null, 2);
121
+ }
122
+ function renderHermesPlanText(plan) {
123
+ const lines = [
124
+ `Hermes integration plan (${plan.dispatchProfile}, ${plan.toolsetId}):`,
125
+ ` ${plan.summary}`,
126
+ ` Plan schema version: ${plan.planSchemaVersion}`,
127
+ ` Generated: ${plan.generatedAt}`,
128
+ ` Recommended next command: ${plan.recommendedNextCommand}`,
129
+ ` Surfaces: ${formatList(plan.surfaceIds)}`,
130
+ ];
131
+ lines.push('');
132
+ lines.push('Interaction surfaces:');
133
+ for (const surface of plan.interactionSurfaces) {
134
+ lines.push(` ${surface.label}: ${surface.entrypoint}`);
135
+ lines.push(` Primary action: ${surface.primaryAction}`);
136
+ lines.push(` Consumes: ${formatList(surface.consumes)}`);
137
+ lines.push(` Produces: ${formatList(surface.produces)}`);
138
+ if (surface.secondaryActions.length > 0) {
139
+ lines.push(` Secondary actions: ${formatList(surface.secondaryActions)}`);
140
+ }
141
+ }
142
+ for (const item of plan.items) {
143
+ lines.push('');
144
+ lines.push(item.title);
145
+ lines.push(` Kind: ${item.kind}`);
146
+ lines.push(` Risk: ${item.risk}`);
147
+ lines.push(` Surface: ${item.nativeSurfaceId}`);
148
+ lines.push(` Command: ${item.command}`);
149
+ if (item.expectedArtifacts.length > 0) {
150
+ lines.push(` Expected artifacts: ${formatList(item.expectedArtifacts)}`);
151
+ }
152
+ lines.push(` Acceptance criteria: ${formatList(item.acceptanceCriteria)}`);
153
+ lines.push(` Purpose: ${item.purpose}`);
154
+ lines.push(` Done when: ${item.doneWhen}`);
155
+ }
156
+ return lines.join('\n');
157
+ }
158
+ function renderHermesPlanOutput(profileArg, plan, format) {
159
+ if (format === 'json')
160
+ return renderHermesPlanJson(profileArg, plan);
161
+ if (format === 'markdown')
162
+ return renderHermesIntegrationPlanMarkdown(plan);
163
+ return renderHermesPlanText(plan);
164
+ }
165
+ function writeHermesPlanOutput(outputPath, content) {
166
+ const outputDir = path.dirname(path.resolve(outputPath));
167
+ fs.mkdirSync(outputDir, { recursive: true });
168
+ fs.writeFileSync(outputPath, content, 'utf-8');
169
+ }
170
+ function byteLength(value) {
171
+ return Buffer.byteLength(value, 'utf8');
172
+ }
173
+ function countLines(value) {
174
+ if (value.length === 0)
175
+ return 0;
176
+ return value.split(/\r\n|\r|\n/).length;
177
+ }
178
+ function sectionFromText(id, label, text) {
179
+ return {
180
+ id,
181
+ label,
182
+ bytes: byteLength(text),
183
+ chars: text.length,
184
+ lines: countLines(text),
185
+ };
186
+ }
187
+ function stableJson(value) {
188
+ return JSON.stringify(value, null, 2);
189
+ }
190
+ function buildHermesIdentityStatus(profileArg) {
191
+ const diagnostics = buildHermesAgentDiagnostics({ dispatchProfile: profileArg });
192
+ const profileSuffix = diagnostics.dispatchProfile === 'balanced' ? '' : ` ${diagnostics.dispatchProfile}`;
193
+ return {
194
+ commands: {
195
+ doctor: `buddy hermes doctor${profileSuffix} --json`,
196
+ profile: `buddy hermes profile${profileSuffix} --json`,
197
+ prompt: `buddy hermes agent${profileSuffix}`,
198
+ run: 'buddy --agent hermes',
199
+ },
200
+ identity: {
201
+ activeToolset: diagnostics.activeToolset.toolsetId,
202
+ agentDescription: diagnostics.agentDescription,
203
+ agentFound: diagnostics.agentFound,
204
+ agentName: diagnostics.agentName,
205
+ agentPath: diagnostics.agentPath,
206
+ dispatchProfile: diagnostics.dispatchProfile,
207
+ disabledTools: diagnostics.disabledTools,
208
+ effectiveAllow: diagnostics.effectiveToolFilter.enabledPatterns,
209
+ effectiveDeny: diagnostics.effectiveToolFilter.disabledPatterns,
210
+ fleetDispatchProfile: diagnostics.fleetDispatchProfile,
211
+ nativeSurfaces: diagnostics.nativeSurfaceIds,
212
+ promptChecks: diagnostics.promptChecks,
213
+ requireExplicitDispatchProfile: diagnostics.requireExplicitDispatchProfile,
214
+ runtimeMapping: diagnostics.runtimeMapping,
215
+ source: diagnostics.source,
216
+ userOverride: diagnostics.userOverride,
217
+ },
218
+ kind: 'hermes_agent_identity_status',
219
+ ok: diagnostics.ok,
220
+ requestedProfile: profileArg,
221
+ schemaVersion: 1,
222
+ };
223
+ }
224
+ function renderHermesIdentityStatus(status) {
225
+ return [
226
+ `Hermes Agent identity: ${formatOk(status.ok)}`,
227
+ ` Source: ${status.identity.source}`,
228
+ ` User override: ${status.identity.userOverride ? 'yes' : 'no'}`,
229
+ ` Agent path: ${status.identity.agentPath ?? 'none'}`,
230
+ ` Name: ${status.identity.agentName ?? 'none'}`,
231
+ ` Requested profile: ${status.requestedProfile}`,
232
+ ` Active dispatch profile: ${status.identity.dispatchProfile}`,
233
+ ` Agent default dispatch profile: ${status.identity.fleetDispatchProfile ?? 'none'}`,
234
+ ` Requires explicit delegation profile: ${status.identity.requireExplicitDispatchProfile ? 'yes' : 'no'}`,
235
+ ` Runtime mapping: ${status.identity.runtimeMapping.implementation} ` +
236
+ `(${status.identity.runtimeMapping.codeBuddyRuntime}; upstream ${status.identity.runtimeMapping.upstreamLanguage} ` +
237
+ `${status.identity.runtimeMapping.upstreamRuntime})`,
238
+ ` Active toolset: ${status.identity.activeToolset}`,
239
+ ` Native surfaces: ${formatList(status.identity.nativeSurfaces)}`,
240
+ ' Prompt checks:',
241
+ ` Code Buddy runtime: ${status.identity.promptChecks.mentionsCodeBuddyRuntime ? 'yes' : 'no'}`,
242
+ ` External runtime boundary: ${status.identity.promptChecks.mentionsExternalRuntimeBoundary ? 'yes' : 'no'}`,
243
+ ` Default toolset: ${status.identity.promptChecks.mentionsDefaultToolset ? 'yes' : 'no'}`,
244
+ ' Guardrails:',
245
+ ` Agent disabled tools: ${formatList(status.identity.disabledTools)}`,
246
+ ` Effective allow: ${formatAllowList(status.identity.effectiveAllow)}`,
247
+ ` Effective deny: ${formatList(status.identity.effectiveDeny)}`,
248
+ '',
249
+ 'Commands:',
250
+ ` Run: ${status.commands.run}`,
251
+ ` Prompt: ${status.commands.prompt}`,
252
+ ` Profile: ${status.commands.profile}`,
253
+ ` Doctor: ${status.commands.doctor}`,
254
+ ].join('\n');
255
+ }
256
+ async function buildHermesOverviewStatus(profileArg) {
257
+ const diagnostics = buildHermesAgentDiagnostics({ dispatchProfile: profileArg });
258
+ const toolParity = buildLocalHermesToolParityManifest();
259
+ const todo = buildHermesParityTodo({ limit: 5 });
260
+ const protocols = buildHermesProtocolGatewayReadiness();
261
+ const memory = buildHermesMemoryProvidersReadiness();
262
+ const learning = buildHermesLearningLoopStatus({ limit: 5 });
263
+ const skills = buildHermesSkillPackageSummary(process.cwd(), { limit: 5, previewChars: 0 });
264
+ const messaging = await buildHermesMessagingGatewayStatus();
265
+ const mobile = await buildHermesMobileSupervisionStatus();
266
+ const trajectories = buildHermesTrajectoryCompatibilityReport();
267
+ const profileSuffix = diagnostics.dispatchProfile === 'balanced' ? '' : ` ${diagnostics.dispatchProfile}`;
268
+ const recommendations = [
269
+ ...diagnostics.recommendations,
270
+ ...diagnostics.providerReadiness.recommendations,
271
+ ...diagnostics.runtimeBackends.recommendations,
272
+ ...diagnostics.browserBackends.recommendations,
273
+ ...protocols.recommendations,
274
+ ...messaging.recommendations,
275
+ ...mobile.recommendations,
276
+ ...trajectories.recommendations,
277
+ ...memory.recommendations,
278
+ ...learning.recommendations,
279
+ ...(skills.health.ok ? [] : [`Run ${skills.health.nextCommand} to inspect skill package health.`]),
280
+ ...(skills.candidateReview.eligibleCount > 0
281
+ ? [`Review ${skills.candidateReview.eligibleCount} eligible skill candidate(s) with ${skills.candidateReview.listCommand}.`]
282
+ : []),
283
+ ...(skills.candidateReview.eligibleCount === 0 && skills.candidateReview.ineligibleCount > 0
284
+ ? [`Inspect ${skills.candidateReview.ineligibleCount} not-yet-eligible skill candidate(s) with ${skills.candidateReview.listCommand}.`]
285
+ : []),
286
+ ].filter((recommendation, index, all) => all.indexOf(recommendation) === index);
287
+ const skillsNextCommand = skills.candidateReview.nextInspectCommand ??
288
+ (skills.candidateReview.totalCount > 0 ? skills.candidateReview.listCommand : skills.health.nextCommand);
289
+ const skillsNextCandidate = skills.candidateReview.samples[0];
290
+ const todoFullCommand = todo.summary.hiddenTodoCount > 0
291
+ ? `buddy hermes todo --limit ${todo.summary.selectedTodoCount} --json`
292
+ : 'buddy hermes todo --json';
293
+ const ok = diagnostics.ok &&
294
+ diagnostics.providerReadiness.ok &&
295
+ diagnostics.runtimeBackends.ok &&
296
+ diagnostics.browserBackends.ok &&
297
+ protocols.ok &&
298
+ trajectories.ok &&
299
+ memory.ok &&
300
+ learning.ok &&
301
+ mobile.ok &&
302
+ skills.health.ok &&
303
+ toolParity.summary.gaps === 0;
304
+ return {
305
+ kind: 'hermes_overview_status',
306
+ schemaVersion: 1,
307
+ generatedAt: new Date().toISOString(),
308
+ ok,
309
+ requestedProfile: profileArg,
310
+ dispatchProfile: diagnostics.dispatchProfile,
311
+ summary: {
312
+ featureParity: todo.summary,
313
+ toolParity: toolParity.summary,
314
+ readiness: {
315
+ agentIdentity: diagnostics.ok,
316
+ browser: diagnostics.browserBackends.ok,
317
+ learning: learning.ok,
318
+ memory: memory.ok,
319
+ messaging: messaging.hermes.missingPlatformCount === 0,
320
+ mobile: mobile.ok,
321
+ protocols: protocols.ok,
322
+ provider: diagnostics.providerReadiness.ok,
323
+ runtime: diagnostics.runtimeBackends.ok,
324
+ skills: skills.health.ok,
325
+ trajectories: trajectories.ok,
326
+ },
327
+ },
328
+ readiness: {
329
+ provider: {
330
+ ok: diagnostics.providerReadiness.ok,
331
+ model: diagnostics.providerReadiness.activeModel.model,
332
+ modelSource: diagnostics.providerReadiness.activeModel.source,
333
+ provider: diagnostics.providerReadiness.activeProvider.provider,
334
+ label: diagnostics.providerReadiness.activeProvider.label,
335
+ configured: diagnostics.providerReadiness.activeProvider.configured,
336
+ credentialSources: diagnostics.providerReadiness.activeProvider.credentialSources.map(sanitizeCredentialSource),
337
+ configuredProviderCount: diagnostics.providerReadiness.providers.filter((provider) => provider.configured).length,
338
+ configuredProviderIds: diagnostics.providerReadiness.providers
339
+ .filter((provider) => provider.configured)
340
+ .map((provider) => provider.provider),
341
+ localProviderIds: diagnostics.providerReadiness.providers
342
+ .filter((provider) => provider.local)
343
+ .map((provider) => provider.provider),
344
+ missingProviderIds: diagnostics.providerReadiness.providers
345
+ .filter((provider) => !provider.configured)
346
+ .map((provider) => provider.provider),
347
+ supportsReasoning: diagnostics.providerReadiness.activeModel.supportsReasoning,
348
+ supportsToolCalls: diagnostics.providerReadiness.activeModel.supportsToolCalls,
349
+ supportsVision: diagnostics.providerReadiness.activeModel.supportsVision,
350
+ portalLoggedIn: diagnostics.providerReadiness.portal.portal.loggedIn,
351
+ portalToolGatewayConfigured: diagnostics.providerReadiness.portal.portal.toolGatewayConfigured,
352
+ portalToolGatewayConfiguredToolKeys: diagnostics.providerReadiness.portal.toolGateway.tools
353
+ .filter((tool) => tool.configured)
354
+ .map((tool) => tool.key),
355
+ portalToolGatewayManagedToolKeys: diagnostics.providerReadiness.portal.toolGateway.tools
356
+ .filter((tool) => tool.managedByNous)
357
+ .map((tool) => tool.key),
358
+ portalToolGatewayMissingToolKeys: diagnostics.providerReadiness.portal.toolGateway.tools
359
+ .filter((tool) => !tool.configured)
360
+ .map((tool) => tool.key),
361
+ },
362
+ runtime: {
363
+ ok: diagnostics.runtimeBackends.ok,
364
+ availableCount: diagnostics.runtimeBackends.availableCount,
365
+ configuredRemoteCount: diagnostics.runtimeBackends.configuredRemoteCount,
366
+ runnableCount: diagnostics.runtimeBackends.runnableCount,
367
+ autoEligibleBackendIds: diagnostics.runtimeBackends.routePlan.autoEligibleBackendIds ?? [],
368
+ primaryBackendId: diagnostics.runtimeBackends.routePlan.primaryBackendId,
369
+ fallbackBackendIds: diagnostics.runtimeBackends.routePlan.fallbackBackendIds,
370
+ gatedBackendCount: diagnostics.runtimeBackends.routePlan.gatedBackendIds?.length ?? 0,
371
+ gatedBackendIds: diagnostics.runtimeBackends.routePlan.gatedBackendIds ?? [],
372
+ smokeCommand: diagnostics.runtimeBackends.routePlan.smokeCommand,
373
+ issueCount: diagnostics.runtimeBackends.issues.length,
374
+ },
375
+ browser: {
376
+ ok: diagnostics.browserBackends.ok,
377
+ localRunnableCount: diagnostics.browserBackends.localRunnableCount,
378
+ managedConfiguredCount: diagnostics.browserBackends.managedConfiguredCount,
379
+ autoEligibleBackendIds: diagnostics.browserBackends.routePlan.autoEligibleBackendIds ?? [],
380
+ primaryBackendId: diagnostics.browserBackends.routePlan.primaryBackendId,
381
+ fallbackBackendIds: diagnostics.browserBackends.routePlan.fallbackBackendIds,
382
+ gatedBackendCount: diagnostics.browserBackends.routePlan.gatedBackendIds?.length ?? 0,
383
+ gatedBackendIds: diagnostics.browserBackends.routePlan.gatedBackendIds ?? [],
384
+ smokeCommand: diagnostics.browserBackends.routePlan.smokeCommand,
385
+ issueCount: diagnostics.browserBackends.issues.length,
386
+ },
387
+ messaging: {
388
+ ok: messaging.hermes.missingPlatformCount === 0,
389
+ configuredPlatformCount: messaging.hermes.configuredPlatformCount,
390
+ configuredPlatformNames: messaging.hermes.configuredPlatformNames,
391
+ runtimePlatformCount: messaging.hermes.runtimePlatformCount,
392
+ runtimePlatformNames: messaging.hermes.runtimePlatformNames,
393
+ promptToolPlatformNames: messaging.hermes.promptToolPlatformNames,
394
+ missingPlatformNames: messaging.hermes.missingPlatformNames,
395
+ nextConfigPlatformNames: messaging.hermes.nextConfigPlatformNames,
396
+ statusCommand: 'buddy hermes messaging status --json',
397
+ },
398
+ mobile: {
399
+ ok: mobile.ok,
400
+ routeBasePath: mobile.routeMount.basePath,
401
+ routeStatus: mobile.routeMount.status,
402
+ readOnlyEndpoints: mobile.summary.readOnlyEndpoints,
403
+ draftOnlyEndpoints: mobile.summary.draftOnlyEndpoints,
404
+ blockedOperations: mobile.summary.blockedOperations,
405
+ pendingLocalApproval: mobile.summary.pendingLocalApproval,
406
+ remoteExecutionDisabled: mobile.approvalQueue.remoteExecutionDisabled,
407
+ listenerStatus: mobile.listener.listener,
408
+ networkExposure: mobile.listener.bind.networkExposure,
409
+ pairingStatus: mobile.pairing.status,
410
+ statusCommand: mobile.commands.status,
411
+ gatewayCheckCommand: mobile.commands.gatewayCheck,
412
+ serverCommand: mobile.commands.server,
413
+ },
414
+ protocols: {
415
+ ok: protocols.ok,
416
+ availableCount: protocols.summary.availableCount,
417
+ availableCapabilityIds: protocols.capabilities
418
+ .filter((capability) => capability.status === 'available')
419
+ .map((capability) => capability.id),
420
+ partialCount: protocols.summary.partialCount,
421
+ partialCapabilityIds: protocols.capabilities
422
+ .filter((capability) => capability.status === 'partial')
423
+ .map((capability) => capability.id),
424
+ missingCount: protocols.summary.missingCount,
425
+ missingCapabilityIds: protocols.capabilities
426
+ .filter((capability) => capability.status === 'missing')
427
+ .map((capability) => capability.id),
428
+ smokeCommand: protocols.smokeCommand,
429
+ },
430
+ trajectories: {
431
+ ok: trajectories.ok,
432
+ total: trajectories.summary.total,
433
+ availableCount: trajectories.summary.availableCount,
434
+ availableCapabilityIds: trajectories.capabilities
435
+ .filter((capability) => capability.status === 'available')
436
+ .map((capability) => capability.id),
437
+ partialCount: trajectories.summary.partialCount,
438
+ partialCapabilityIds: trajectories.capabilities
439
+ .filter((capability) => capability.status === 'partial')
440
+ .map((capability) => capability.id),
441
+ missingCount: trajectories.summary.missingCount,
442
+ missingCapabilityIds: trajectories.capabilities
443
+ .filter((capability) => capability.status === 'missing')
444
+ .map((capability) => capability.id),
445
+ goldenFixtureCount: trajectories.summary.goldenFixtureCount,
446
+ policyEvalCount: trajectories.summary.policyEvalCount,
447
+ statusCommand: 'buddy hermes trajectories status --json',
448
+ runProbeCommand: 'buddy hermes trajectories status --run-id <run-id> --json',
449
+ },
450
+ memory: {
451
+ ok: memory.ok,
452
+ activeProviderId: memory.activeProviderId,
453
+ configuredRemoteCount: memory.configuredRemoteCount,
454
+ configuredRemoteProviderIds: memory.configuredRemoteProviderIds,
455
+ fallbackProviderIds: memory.fallbackProviderIds,
456
+ missingOfficialCount: memory.missingOfficialCount,
457
+ missingOfficialProviderIds: memory.missingOfficialProviderIds,
458
+ registeredCount: memory.registeredCount,
459
+ issueCount: memory.issues.length,
460
+ },
461
+ learning: {
462
+ ok: learning.ok,
463
+ inspectedRunLimit: learning.summary.inspectedRunLimit,
464
+ pendingReviewCount: learning.summary.pendingReviewCount,
465
+ pendingLessonCandidateCount: learning.summary.pendingLessonCandidateCount,
466
+ retrospectiveCoveragePercent: learning.summary.retrospectiveCoveragePercent,
467
+ retrospectiveEligibleRunCount: learning.summary.retrospectiveEligibleRunCount,
468
+ runningRunCount: learning.summary.runningRunCount,
469
+ staleRunningRunCount: learning.summary.staleRunningRunCount,
470
+ nextActionCommand: learning.nextAction.command,
471
+ nextActionKind: learning.nextAction.kind,
472
+ },
473
+ skills: {
474
+ ok: skills.health.ok,
475
+ installedCount: skills.installedCount,
476
+ enabledCount: skills.enabledCount,
477
+ healthIssueCount: skills.health.issueCount,
478
+ eligibleCandidateCount: skills.candidateReview.eligibleCount,
479
+ ineligibleCandidateCount: skills.candidateReview.ineligibleCount,
480
+ totalCandidateCount: skills.candidateReview.totalCount,
481
+ candidateListCommand: skills.candidateReview.listCommand,
482
+ nextCandidate: skillsNextCandidate
483
+ ? {
484
+ candidateId: skillsNextCandidate.candidateId,
485
+ candidatePath: skillsNextCandidate.candidatePath,
486
+ eligible: skillsNextCandidate.eligible,
487
+ inspectCommand: skillsNextCandidate.inspectCommand,
488
+ installCommand: skillsNextCandidate.installCommand ?? null,
489
+ reviewManifestPath: skillsNextCandidate.reviewManifestPath,
490
+ skillName: skillsNextCandidate.skillName,
491
+ }
492
+ : null,
493
+ nextInspectCommand: skills.candidateReview.nextInspectCommand ?? null,
494
+ nextCommand: skillsNextCommand,
495
+ },
496
+ },
497
+ nextActions: todo.todos.map((item) => ({
498
+ area: item.area,
499
+ nextWork: item.nextWork,
500
+ priority: item.priority,
501
+ status: item.status,
502
+ verificationCommand: item.verificationCommand,
503
+ })),
504
+ commands: {
505
+ browser: 'buddy hermes browser status --json',
506
+ doctor: `buddy hermes doctor${profileSuffix} --json`,
507
+ learning: 'buddy hermes learning status --json',
508
+ memory: 'buddy hermes memory status --json',
509
+ messaging: 'buddy hermes messaging status --json',
510
+ mobile: 'buddy hermes mobile status --json',
511
+ parity: 'buddy hermes parity --json',
512
+ portal: 'buddy hermes portal status --json',
513
+ providers: 'buddy hermes providers status --json',
514
+ protocols: 'buddy hermes protocols status --json',
515
+ runDoctor: learning.commands.runDoctor,
516
+ runtime: 'buddy hermes runtime status --json',
517
+ skills: 'buddy hermes skills status --json',
518
+ smoke: 'buddy hermes smoke --json',
519
+ todo: 'buddy hermes todo --json',
520
+ todoFull: todoFullCommand,
521
+ toolsets: `buddy hermes toolsets ${diagnostics.dispatchProfile} --json`,
522
+ tools: 'buddy hermes tools --json',
523
+ trajectories: 'buddy hermes trajectories status --json',
524
+ },
525
+ recommendations,
526
+ };
527
+ }
528
+ function renderHermesOverviewStatus(status) {
529
+ const readiness = status.readiness;
530
+ const rows = [
531
+ ['Agent identity', status.summary.readiness.agentIdentity],
532
+ ['Provider/model', status.summary.readiness.provider],
533
+ ['Runtime route', status.summary.readiness.runtime],
534
+ ['Browser route', status.summary.readiness.browser],
535
+ ['Messaging gateway', status.summary.readiness.messaging],
536
+ ['Mobile supervision', status.summary.readiness.mobile],
537
+ ['Protocols', status.summary.readiness.protocols],
538
+ ['Trajectory recall', status.summary.readiness.trajectories],
539
+ ['Memory', status.summary.readiness.memory],
540
+ ['Learning loop', status.summary.readiness.learning],
541
+ ['Skills', status.summary.readiness.skills],
542
+ ];
543
+ const lines = [
544
+ `Hermes status: ${formatOk(status.ok)}`,
545
+ ` Requested profile: ${status.requestedProfile}`,
546
+ ` Active dispatch profile: ${status.dispatchProfile}`,
547
+ ` Feature parity: ${status.summary.featureParity.total} tracked, ` +
548
+ `${status.summary.featureParity.activeTodoCount} active todo(s), ` +
549
+ `${status.summary.featureParity.deferredCount} deferred`,
550
+ ` Tool parity: ${status.summary.toolParity.total} tracked, ` +
551
+ `${status.summary.toolParity.gaps} gap(s), ${status.summary.toolParity.partial} partial`,
552
+ '',
553
+ 'Readiness:',
554
+ ];
555
+ for (const [label, ok] of rows) {
556
+ lines.push(` - ${label}: ${formatOk(ok)}`);
557
+ }
558
+ lines.push('', 'Routes:', ` Provider: ${readiness.provider.label} / ${readiness.provider.model} ` +
559
+ `(${readiness.provider.configured ? 'configured' : 'missing'})`, ` Providers: configured ${formatList(readiness.provider.configuredProviderIds)} ` +
560
+ `(local: ${formatList(readiness.provider.localProviderIds)}, ` +
561
+ `missing: ${formatList(readiness.provider.missingProviderIds)})`, ` Tool Gateway: configured ${formatList(readiness.provider.portalToolGatewayConfiguredToolKeys)} ` +
562
+ `(via Nous: ${formatList(readiness.provider.portalToolGatewayManagedToolKeys)}, ` +
563
+ `missing: ${formatList(readiness.provider.portalToolGatewayMissingToolKeys)})`, ` Runtime: ${readiness.runtime.primaryBackendId ?? 'none'} ` +
564
+ `-> ${formatList(readiness.runtime.fallbackBackendIds)} ` +
565
+ `(auto: ${formatList(readiness.runtime.autoEligibleBackendIds)}, gated: ${formatList(readiness.runtime.gatedBackendIds)})`, ` Browser: ${readiness.browser.primaryBackendId ?? 'none'} ` +
566
+ `-> ${formatList(readiness.browser.fallbackBackendIds)} ` +
567
+ `(auto: ${formatList(readiness.browser.autoEligibleBackendIds)}, gated: ${formatList(readiness.browser.gatedBackendIds)})`, ` Messaging: configured ${formatLimitedList(readiness.messaging.configuredPlatformNames, 6)} ` +
568
+ `(runtime: ${formatLimitedList(readiness.messaging.runtimePlatformNames, 6)}, ` +
569
+ `prompt-tools: ${formatLimitedList(readiness.messaging.promptToolPlatformNames, 6)}, ` +
570
+ `next: ${formatLimitedList(readiness.messaging.nextConfigPlatformNames, 6)})`, ` Mobile: ${readiness.mobile.routeBasePath} ${readiness.mobile.routeStatus} ` +
571
+ `(read=${readiness.mobile.readOnlyEndpoints}, draft=${readiness.mobile.draftOnlyEndpoints}, ` +
572
+ `pending=${readiness.mobile.pendingLocalApproval}, remoteExecDisabled=${readiness.mobile.remoteExecutionDisabled ? 'yes' : 'no'})`, ` Memory: ${readiness.memory.activeProviderId} ` +
573
+ `(remote: ${formatList(readiness.memory.configuredRemoteProviderIds)}, ` +
574
+ `fallback: ${formatList(readiness.memory.fallbackProviderIds)}, ` +
575
+ `missing: ${formatList(readiness.memory.missingOfficialProviderIds)})`, ` Learning: ${readiness.learning.pendingReviewCount} review item(s), ` +
576
+ `${readiness.learning.retrospectiveCoveragePercent}% retrospective coverage, ` +
577
+ `${readiness.learning.runningRunCount} running / ` +
578
+ `${readiness.learning.staleRunningRunCount} stale ` +
579
+ `(limit ${readiness.learning.inspectedRunLimit})`, ` Protocols: available ${formatList(readiness.protocols.availableCapabilityIds)} ` +
580
+ `(partial: ${formatList(readiness.protocols.partialCapabilityIds)}, ` +
581
+ `missing: ${formatList(readiness.protocols.missingCapabilityIds)})`, ` Trajectories: available ${formatLimitedList(readiness.trajectories.availableCapabilityIds, 5)} ` +
582
+ `(partial: ${formatLimitedList(readiness.trajectories.partialCapabilityIds, 5)}, ` +
583
+ `missing: ${formatLimitedList(readiness.trajectories.missingCapabilityIds, 5)}, ` +
584
+ `golden=${readiness.trajectories.goldenFixtureCount}, policy=${readiness.trajectories.policyEvalCount})`, ` Skills: ${readiness.skills.enabledCount}/${readiness.skills.installedCount} enabled, ` +
585
+ `candidates ${readiness.skills.eligibleCandidateCount} eligible / ` +
586
+ `${readiness.skills.ineligibleCandidateCount} not eligible`, ` Protocol smoke: ${readiness.protocols.smokeCommand}`);
587
+ if (readiness.skills.nextCandidate) {
588
+ lines.push(` Next skill candidate: ${readiness.skills.nextCandidate.inspectCommand}`);
589
+ }
590
+ if (status.nextActions.length > 0) {
591
+ lines.push('', 'Next actions:');
592
+ if (status.summary.featureParity.hiddenTodoCount > 0) {
593
+ lines.push(` Showing top ${status.summary.featureParity.shownTodoCount}/` +
594
+ `${status.summary.featureParity.selectedTodoCount} active todo(s); ` +
595
+ `run ${status.commands.todoFull} for the full active backlog.`);
596
+ }
597
+ for (const item of status.nextActions) {
598
+ lines.push(`${item.priority}. ${item.area} [${item.status}]`);
599
+ lines.push(` Next: ${item.nextWork}`);
600
+ lines.push(` Verify: ${item.verificationCommand}`);
601
+ }
602
+ }
603
+ if (status.recommendations.length > 0) {
604
+ lines.push('', 'Recommendations:');
605
+ for (const recommendation of status.recommendations.slice(0, 8)) {
606
+ lines.push(` - ${recommendation}`);
607
+ }
608
+ }
609
+ lines.push('', 'Commands:', ` Doctor: ${status.commands.doctor}`, ` Todo: ${status.commands.todo}`, ` Toolsets: ${status.commands.toolsets}`, ` Portal: ${status.commands.portal}`, ` Messaging: ${status.commands.messaging}`, ` Mobile: ${status.commands.mobile}`, ` Trajectories: ${status.commands.trajectories}`, ` Run doctor: ${status.commands.runDoctor}`, ` Aggregate local smoke: ${status.commands.smoke}`, ` Real runtime smoke: ${readiness.runtime.smokeCommand ?? 'n/a'}`, ` Real browser smoke: ${readiness.browser.smokeCommand ?? 'n/a'}`);
610
+ return lines.join('\n');
611
+ }
612
+ async function runHermesLocalSmokeSuite() {
613
+ const [runtime, browser, protocols] = await Promise.all([
614
+ Promise.resolve(runHermesRuntimeBackendSmoke({ backendId: 'auto' })),
615
+ runHermesBrowserBackendSmoke({ backendId: 'auto' }),
616
+ runHermesProtocolGatewaySmoke(),
617
+ ]);
618
+ return {
619
+ kind: 'hermes_local_smoke_suite',
620
+ schemaVersion: 1,
621
+ generatedAt: new Date().toISOString(),
622
+ ok: runtime.ok && browser.ok && protocols.ok,
623
+ results: {
624
+ browser: sanitizeBrowserSmokeResult(browser),
625
+ protocols,
626
+ runtime: sanitizeRuntimeSmokeResult(runtime),
627
+ },
628
+ commands: {
629
+ browser: 'buddy hermes browser-smoke auto --json',
630
+ protocols: 'buddy hermes protocols-smoke local --json',
631
+ runtime: 'buddy hermes runtime-smoke auto --json',
632
+ },
633
+ notes: [
634
+ 'Runs only the safe local-first Hermes smoke path: local runtime route, local Playwright route, and local protocol gateways.',
635
+ 'Remote providers, Docker image pulls, and managed browser backends are intentionally not invoked by this suite.',
636
+ ],
637
+ };
638
+ }
639
+ function renderHermesLocalSmokeSuite(suite) {
640
+ return [
641
+ `Hermes local smoke: ${formatOk(suite.ok)}`,
642
+ ` Runtime: ${suite.results.runtime.status} (${suite.results.runtime.backendId}, ${suite.results.runtime.durationMs}ms)`,
643
+ ` Browser: ${suite.results.browser.status} (${suite.results.browser.backendId}, ${suite.results.browser.durationMs}ms)`,
644
+ ` Protocols: ${suite.results.protocols.ok ? 'passed' : 'failed'} (${suite.results.protocols.durationMs}ms)`,
645
+ ` MCP stdio: ${suite.results.protocols.mcpStdio.ok ? 'ok' : 'failed'} (${suite.results.protocols.mcpStdio.toolCount} tools)`,
646
+ ` HTTP routes: ${suite.results.protocols.httpRoutes.ok ? 'ok' : 'failed'}`,
647
+ '',
648
+ 'Commands:',
649
+ ` Runtime: ${suite.commands.runtime}`,
650
+ ` Browser: ${suite.commands.browser}`,
651
+ ` Protocols: ${suite.commands.protocols}`,
652
+ '',
653
+ 'Notes:',
654
+ ...suite.notes.map((note) => ` - ${note}`),
655
+ ].join('\n');
656
+ }
657
+ function readFileSizeIfPresent(filePath) {
658
+ try {
659
+ const stat = fs.statSync(filePath);
660
+ return stat.isFile() ? stat.size : 0;
661
+ }
662
+ catch {
663
+ return 0;
664
+ }
665
+ }
666
+ function buildLocalMemoryFootprint(cwd) {
667
+ return {
668
+ projectMemoryMarkdownBytes: readFileSizeIfPresent(path.join(cwd, '.codebuddy', 'CODEBUDDY_MEMORY.md')),
669
+ projectUserModelBytes: readFileSizeIfPresent(path.join(cwd, '.codebuddy', 'user-model.json')),
670
+ userMemoryMarkdownBytes: readFileSizeIfPresent(path.join(os.homedir(), '.codebuddy', 'memory.md')),
671
+ };
672
+ }
673
+ function buildInjectedUserModelContext(cwd) {
674
+ if (!isFeatureEnabled('USER_MODEL_INJECTION')) {
675
+ return '';
676
+ }
677
+ try {
678
+ const summary = getUserModel(cwd).summarize();
679
+ return summary ? `<user_model_context>\n${summary}\n</user_model_context>` : '';
680
+ }
681
+ catch {
682
+ return '';
683
+ }
684
+ }
685
+ function buildInstalledSkillsIndexFootprint() {
686
+ const lockfilePath = path.join(os.homedir(), '.codebuddy', 'hub', 'lock.json');
687
+ try {
688
+ if (!fs.existsSync(lockfilePath)) {
689
+ return { lockfilePath, installedSkillCount: 0, enabledSkillCount: 0, skills: [] };
690
+ }
691
+ const parsed = JSON.parse(fs.readFileSync(lockfilePath, 'utf-8'));
692
+ const skills = Object.entries(parsed.skills ?? {})
693
+ .map(([name, skill]) => ({
694
+ name,
695
+ version: skill.version ?? 'unknown',
696
+ source: skill.source ?? 'unknown',
697
+ enabled: skill.enabled !== false,
698
+ path: skill.path ?? '',
699
+ }))
700
+ .sort((a, b) => a.name.localeCompare(b.name));
701
+ return {
702
+ lockfilePath,
703
+ installedSkillCount: skills.length,
704
+ enabledSkillCount: skills.filter((skill) => skill.enabled).length,
705
+ skills,
706
+ };
707
+ }
708
+ catch (err) {
709
+ return {
710
+ lockfilePath,
711
+ error: err instanceof Error ? err.message : String(err),
712
+ };
713
+ }
714
+ }
715
+ export function buildHermesPromptSizeDiagnostic(profileArg = 'balanced', cwd = process.cwd()) {
716
+ const dispatchProfile = normalizeDispatchProfile(profileArg);
717
+ const systemPrompt = buildHermesAgentSystemPrompt(dispatchProfile);
718
+ const profile = buildHermesAgentProfile(dispatchProfile);
719
+ const toolset = buildHermesToolsetDescriptor(dispatchProfile);
720
+ const plan = buildHermesIntegrationPlan(dispatchProfile);
721
+ const allTools = collectOfflineBuiltinTools();
722
+ const profileFilter = buildDispatchToolFilter(dispatchProfile, allTools.map((tool) => tool.function.name));
723
+ const filterResult = filterTools(allTools, profileFilter);
724
+ const activeTools = filterResult.tools;
725
+ const toolSchemas = stableJson(activeTools);
726
+ const skillsIndex = stableJson(buildInstalledSkillsIndexFootprint());
727
+ const memoryFootprint = stableJson(buildLocalMemoryFootprint(cwd));
728
+ const userModelContext = buildInjectedUserModelContext(cwd);
729
+ const profileJson = stableJson(profile);
730
+ const toolsetJson = stableJson(toolset);
731
+ const planJson = stableJson(plan);
732
+ const sections = [
733
+ sectionFromText('systemPrompt', 'Hermes system prompt', systemPrompt),
734
+ sectionFromText('profile', 'Hermes profile JSON', profileJson),
735
+ sectionFromText('toolset', 'Hermes toolset descriptor JSON', toolsetJson),
736
+ sectionFromText('integrationPlan', 'Hermes integration plan JSON', planJson),
737
+ sectionFromText('skillsIndex', 'Installed skills index footprint', skillsIndex),
738
+ sectionFromText('memoryFootprint', 'Memory/profile file footprint', memoryFootprint),
739
+ sectionFromText('userModelContext', 'Injected accepted user-model context size', userModelContext),
740
+ sectionFromText('toolSchemas', 'Active built-in tool schemas JSON', toolSchemas),
741
+ ];
742
+ const totals = sections.reduce((acc, section) => ({
743
+ bytes: acc.bytes + section.bytes,
744
+ chars: acc.chars + section.chars,
745
+ lines: acc.lines + section.lines,
746
+ }), { bytes: 0, chars: 0, lines: 0 });
747
+ const largestSchemas = activeTools
748
+ .map((tool) => ({
749
+ name: tool.function.name,
750
+ bytes: byteLength(stableJson(tool)),
751
+ }))
752
+ .sort((a, b) => b.bytes - a.bytes)
753
+ .slice(0, 10);
754
+ return {
755
+ kind: 'hermes_prompt_size_diagnostic',
756
+ schemaVersion: 1,
757
+ generatedAt: new Date().toISOString(),
758
+ requestedProfile: profileArg,
759
+ dispatchProfile,
760
+ toolsetId: `fleet.hermes.${dispatchProfile}`,
761
+ source: 'offline-built-in',
762
+ totals,
763
+ tools: {
764
+ totalBuiltinTools: allTools.length,
765
+ activeToolSchemas: activeTools.length,
766
+ filteredToolSchemas: filterResult.filtered.length,
767
+ activeToolNames: activeTools.map((tool) => tool.function.name),
768
+ filteredToolNames: filterResult.filtered,
769
+ largestSchemas,
770
+ },
771
+ sections,
772
+ notes: [
773
+ 'Runs offline: no LLM call, no MCP startup, no remote provider request.',
774
+ 'Tool schemas are built-in Code Buddy definitions after Hermes dispatch-profile filtering.',
775
+ 'Skills and memory are reported as local footprint metadata only; their content is not printed.',
776
+ 'Accepted user-model context is counted when USER_MODEL_INJECTION is enabled, but its content is not printed.',
777
+ ],
778
+ };
779
+ }
780
+ function renderHermesPromptSizeDiagnostic(diagnostic) {
781
+ const lines = [
782
+ `Hermes prompt size (${diagnostic.dispatchProfile}, ${diagnostic.toolsetId}):`,
783
+ ` Total: ${diagnostic.totals.bytes} bytes, ${diagnostic.totals.chars} chars, ${diagnostic.totals.lines} lines`,
784
+ ` Tool schemas: ${diagnostic.tools.activeToolSchemas}/${diagnostic.tools.totalBuiltinTools} active (${diagnostic.tools.filteredToolSchemas} filtered)`,
785
+ ` Source: ${diagnostic.source}`,
786
+ '',
787
+ 'Sections:',
788
+ ];
789
+ for (const section of diagnostic.sections) {
790
+ lines.push(` ${section.id}: ${section.bytes} bytes, ${section.chars} chars, ${section.lines} lines - ${section.label}`);
791
+ }
792
+ lines.push('');
793
+ lines.push('Largest active tool schemas:');
794
+ for (const tool of diagnostic.tools.largestSchemas) {
795
+ lines.push(` ${tool.name}: ${tool.bytes} bytes`);
796
+ }
797
+ if (diagnostic.tools.filteredToolNames.length > 0) {
798
+ lines.push('');
799
+ lines.push(`Filtered by Hermes profile: ${diagnostic.tools.filteredToolNames.slice(0, 20).join(', ')}`);
800
+ if (diagnostic.tools.filteredToolNames.length > 20) {
801
+ lines.push(` (+${diagnostic.tools.filteredToolNames.length - 20} more)`);
802
+ }
803
+ }
804
+ lines.push('');
805
+ lines.push('Notes:');
806
+ for (const note of diagnostic.notes) {
807
+ lines.push(` - ${note}`);
808
+ }
809
+ return lines.join('\n');
810
+ }
811
+ function buildHermesToolsetsCatalog(profileArg) {
812
+ const activeProfile = normalizeDispatchProfile(profileArg);
813
+ const previewTools = [...DEFAULT_DISPATCH_POLICY_PREVIEW_TOOLS];
814
+ const toolsets = FLEET_DISPATCH_PROFILES.map((profile) => buildHermesToolsetDescriptor(profile, previewTools));
815
+ return {
816
+ kind: 'hermes_toolsets_catalog',
817
+ schemaVersion: 1,
818
+ generatedAt: new Date().toISOString(),
819
+ requestedProfile: profileArg,
820
+ activeProfile,
821
+ officialSource: {
822
+ repository: 'https://github.com/NousResearch/hermes-agent',
823
+ inspectedCommit: '5921d667',
824
+ sourceFiles: ['toolsets.py::TOOLSETS', 'toolsets.py::_HERMES_CORE_TOOLS'],
825
+ },
826
+ previewTools,
827
+ summary: {
828
+ totalToolsets: toolsets.length,
829
+ profiles: [...FLEET_DISPATCH_PROFILES],
830
+ },
831
+ guidance: buildHermesAgentProfile(activeProfile).dispatchProfileGuidance,
832
+ activeToolset: buildHermesToolsetDescriptor(activeProfile, previewTools),
833
+ toolsets,
834
+ officialToolsets: buildHermesToolsetCatalog(collectOfflineBuiltinToolNames()),
835
+ notes: [
836
+ 'This is the Code Buddy native Fleet/Hermes toolset mapping, not the upstream Python runtime.',
837
+ 'Decisions are policy previews for representative tools; model-facing schemas are filtered again at runtime.',
838
+ 'officialToolsets enumerates the upstream Hermes named-toolset catalog with per-toolset readiness sourced from the official tool parity manifest.',
839
+ ],
840
+ };
841
+ }
842
+ function renderHermesToolsetsCatalog(catalog) {
843
+ const lines = [
844
+ `Hermes toolsets catalog: ${catalog.summary.totalToolsets} Fleet profiles`,
845
+ ` Active profile: ${catalog.activeProfile}`,
846
+ ` Active toolset: ${catalog.activeToolset.toolsetId}`,
847
+ ` Preview tools: ${formatList(catalog.previewTools)}`,
848
+ ];
849
+ if (catalog.requestedProfile !== catalog.activeProfile) {
850
+ lines.push(` Requested: ${catalog.requestedProfile} (normalized to balanced)`);
851
+ }
852
+ lines.push('');
853
+ lines.push('Profiles:');
854
+ for (const guidance of catalog.guidance) {
855
+ lines.push(` ${guidance.profile}: ${guidance.useWhen}`);
856
+ lines.push(` ${guidance.policySummary}`);
857
+ }
858
+ lines.push('');
859
+ lines.push('Toolsets:');
860
+ for (const toolset of catalog.toolsets) {
861
+ lines.push(` ${toolset.toolsetId}`);
862
+ lines.push(` Intent: ${toolset.intent}`);
863
+ lines.push(` Default: ${toolset.defaultAction}`);
864
+ lines.push(` Allow groups: ${formatList(toolset.allowGroups)}`);
865
+ lines.push(` Confirm groups: ${formatList(toolset.confirmGroups)}`);
866
+ lines.push(` Deny groups: ${formatList(toolset.denyGroups)}`);
867
+ lines.push(` Allowed preview tools: ${formatList(toolset.allowedTools)}`);
868
+ lines.push(` Confirm preview tools: ${formatList(toolset.confirmTools)}`);
869
+ lines.push(` Denied preview tools: ${formatList(toolset.deniedTools)}`);
870
+ }
871
+ const official = catalog.officialToolsets;
872
+ lines.push('');
873
+ lines.push(`Official Hermes toolsets: ${official.summary.totalOfficialToolsets} tracked ` +
874
+ `(${official.summary.present} present, ${official.summary.partial} partial, ${official.summary.absent} absent)`);
875
+ for (const toolset of official.toolsets) {
876
+ const counts = toolset.composedOf.length > 0 ? ` composed-of=${formatList(toolset.composedOf)}` : '';
877
+ lines.push(` [${toolset.group}] ${toolset.id} (${toolset.readiness}) ` +
878
+ `${toolset.presentToolCount}/${toolset.expectedToolCount}${counts}`);
879
+ if (toolset.missingToolNames.length > 0) {
880
+ lines.push(` Missing: ${formatList(toolset.missingToolNames)}`);
881
+ }
882
+ }
883
+ lines.push('');
884
+ lines.push('Notes:');
885
+ for (const note of catalog.notes) {
886
+ lines.push(` - ${note}`);
887
+ }
888
+ return lines.join('\n');
889
+ }
890
+ function renderHermesToolParityManifest(manifest) {
891
+ const lines = [
892
+ `Hermes tool parity: ${manifest.summary.total} official tools tracked ` +
893
+ `(${manifest.summary.exact} exact, ${manifest.summary.nativeEquivalent} native equivalents, ` +
894
+ `${manifest.summary.partial} partial, ${manifest.summary.gaps} gaps)`,
895
+ `Official source: ${manifest.officialSource.repository} @ ${manifest.officialSource.inspectedCommit}`,
896
+ `Local tool schemas: ${manifest.codeBuddySource.localToolCount}`,
897
+ `Command: ${manifest.command}`,
898
+ '',
899
+ ];
900
+ for (const tool of manifest.tools) {
901
+ lines.push(`${tool.status.padEnd(17)} ${tool.name} (${tool.toolset})`);
902
+ if (tool.detectedCodeBuddyTools.length > 0) {
903
+ lines.push(` Code Buddy: ${formatList(tool.detectedCodeBuddyTools)}`);
904
+ }
905
+ if (tool.nextWork) {
906
+ lines.push(` Next: ${tool.nextWork}`);
907
+ }
908
+ }
909
+ return lines.join('\n');
910
+ }
911
+ function renderHermesParityTodo(todo) {
912
+ const selectedLabel = todo.summary.includedDeferred ? 'active/deferred' : 'active';
913
+ const lines = [
914
+ `Hermes TODO: ${todo.summary.activeTodoCount} active feature items ` +
915
+ `(${todo.summary.partial} partial, ${todo.summary.gaps} gaps in full manifest)`,
916
+ `Official source: ${todo.officialSource.repository} @ ${todo.officialSource.inspectedCommit}`,
917
+ `Audit: ${todo.officialSource.auditDocument}`,
918
+ `Showing: ${todo.summary.shownTodoCount}/${todo.summary.selectedTodoCount} ${selectedLabel} item(s)`,
919
+ ];
920
+ if (todo.summary.hiddenTodoCount > 0) {
921
+ lines.push(`Hidden by --limit ${todo.summary.todoLimit}: ${todo.summary.hiddenTodoCount}; ` +
922
+ `rerun with --limit ${todo.summary.selectedTodoCount} to show all selected items.`);
923
+ }
924
+ lines.push('', todo.summary.includedDeferred ? 'Next selected work:' : 'Next active work:');
925
+ for (const item of todo.todos) {
926
+ lines.push(`${item.priority}. ${item.area} [${item.status}]`);
927
+ lines.push(` Next: ${item.nextWork}`);
928
+ lines.push(` Verify: ${item.verificationCommand}`);
929
+ }
930
+ if (todo.deferred.length > 0 && !todo.summary.includedDeferred) {
931
+ lines.push('');
932
+ lines.push('Deferred by decision:');
933
+ for (const item of todo.deferred) {
934
+ lines.push(`- ${item.area} [${item.status}]`);
935
+ lines.push(` Next: ${item.nextWork}`);
936
+ }
937
+ }
938
+ lines.push('');
939
+ lines.push('Notes:');
940
+ for (const note of todo.notes) {
941
+ lines.push(` - ${note}`);
942
+ }
943
+ return lines.join('\n');
944
+ }
945
+ function renderHermesRuntimeSmoke(result) {
946
+ const lines = [
947
+ `Hermes runtime smoke (${result.backendId}): ${result.status}`,
948
+ ` Backend: ${result.label ?? result.backendId}`,
949
+ ` Command: ${result.command ?? 'none'}`,
950
+ ` Exit: ${result.exitCode ?? 'n/a'}`,
951
+ ` Duration: ${result.durationMs}ms`,
952
+ ];
953
+ if (result.output) {
954
+ lines.push(` Output: ${result.output}`);
955
+ }
956
+ return lines.join('\n');
957
+ }
958
+ function buildKanbanStore(boardSlug) {
959
+ const registry = new KanbanBoardRegistry({ rootDir: process.cwd() });
960
+ const slug = registry.resolveSlug(boardSlug);
961
+ return new KanbanStore({ boardPath: registry.boardPath(slug) });
962
+ }
963
+ function parseKanbanStatus(value) {
964
+ if (!value)
965
+ return undefined;
966
+ if (value === 'todo' ||
967
+ value === 'in_progress' ||
968
+ value === 'blocked' ||
969
+ value === 'done' ||
970
+ value === 'archived') {
971
+ return value;
972
+ }
973
+ throw new Error('status must be one of: todo, in_progress, blocked, done, archived');
974
+ }
975
+ function parseKanbanPriority(value) {
976
+ if (!value)
977
+ return undefined;
978
+ if (value === 'low' || value === 'medium' || value === 'high' || value === 'urgent') {
979
+ return value;
980
+ }
981
+ throw new Error('priority must be one of: low, medium, high, urgent');
982
+ }
983
+ function coerceKanbanTagValues(values) {
984
+ if (!values)
985
+ return [];
986
+ return Array.isArray(values) ? values : [values];
987
+ }
988
+ function parseKanbanTags(values) {
989
+ return coerceKanbanTagValues(values)
990
+ .flatMap((value) => value.split(','))
991
+ .map((tag) => tag.trim())
992
+ .filter(Boolean);
993
+ }
994
+ function parseKanbanCreateInput(title, options) {
995
+ const status = parseKanbanStatus(options.status);
996
+ const priority = parseKanbanPriority(options.priority);
997
+ return {
998
+ title,
999
+ ...(options.id ? { id: options.id } : {}),
1000
+ ...(options.description ? { description: options.description } : {}),
1001
+ ...(status ? { status } : {}),
1002
+ ...(priority ? { priority } : {}),
1003
+ ...(options.assignee ? { assignee: options.assignee } : {}),
1004
+ tags: parseKanbanTags(options.tag),
1005
+ };
1006
+ }
1007
+ function parseKanbanListFilter(options) {
1008
+ const status = parseKanbanStatus(options.status);
1009
+ const priority = parseKanbanPriority(options.priority);
1010
+ const [tag] = parseKanbanTags(options.tag);
1011
+ return {
1012
+ ...(status ? { status } : {}),
1013
+ ...(priority ? { priority } : {}),
1014
+ ...(options.assignee ? { assignee: options.assignee } : {}),
1015
+ ...(tag ? { tag } : {}),
1016
+ ...(options.active ? { includeDone: false } : {}),
1017
+ };
1018
+ }
1019
+ function renderKanbanCardSummary(card) {
1020
+ return `${card.status.padEnd(11)} ${card.priority.padEnd(6)} ${card.id} - ${card.title}`;
1021
+ }
1022
+ function printKanbanResult(payload, options, text) {
1023
+ if (options.json) {
1024
+ console.log(stableJson(payload));
1025
+ return;
1026
+ }
1027
+ console.log(text);
1028
+ }
1029
+ function renderHermesPortalTools(status) {
1030
+ const lines = [
1031
+ 'Hermes Nous Portal Tool Gateway tools:',
1032
+ ` Configured: ${status.toolGateway.configuredCount}/${status.toolGateway.tools.length}`,
1033
+ ` Via Nous: ${status.toolGateway.managedByNousCount}/${status.toolGateway.tools.length}`,
1034
+ '',
1035
+ ];
1036
+ for (const tool of status.toolGateway.tools) {
1037
+ const state = tool.managedByNous
1038
+ ? 'via Nous Portal'
1039
+ : tool.currentProvider ?? 'not configured';
1040
+ const readinessFlags = `configured=${tool.configured ? 'yes' : 'no'}, viaNous=${tool.managedByNous ? 'yes' : 'no'}`;
1041
+ lines.push(`${tool.label.padEnd(22)} ${tool.partner.padEnd(28)} ${state} | ${readinessFlags}`);
1042
+ if (tool.notes.length > 0) {
1043
+ lines.push(` ${tool.notes.join(' ')}`);
1044
+ }
1045
+ }
1046
+ return lines.join('\n');
1047
+ }
1048
+ function printHermesPortalStatus(status, options, toolsOnly = false, command) {
1049
+ const payload = command ? { command, ...status } : status;
1050
+ if (options.json) {
1051
+ console.log(stableJson(payload));
1052
+ return;
1053
+ }
1054
+ if (command) {
1055
+ console.log(`Command: ${command}`);
1056
+ }
1057
+ console.log(toolsOnly ? renderHermesPortalTools(status) : renderHermesPortalStatus(status));
1058
+ }
1059
+ async function buildHermesMessagingGatewayStatus(configPath) {
1060
+ const { getChannelManager } = await import('../../channels/index.js');
1061
+ const manager = getChannelManager();
1062
+ return buildChannelStatusReport(manager.getStatus(), configPath);
1063
+ }
1064
+ function renderHermesMessagingGatewayStatus(report) {
1065
+ const nextTargets = report.hermes.nextConfigPlatformNames;
1066
+ const visibleNextTargets = nextTargets.slice(0, 8);
1067
+ const hiddenNextTargetCount = nextTargets.length - visibleNextTargets.length;
1068
+ const lines = [
1069
+ 'Hermes messaging gateway:',
1070
+ ` Configured: ${report.config.configuredCount} (${report.config.enabledCount} enabled, ${report.config.disabledCount} disabled)`,
1071
+ ` Runtime: ${report.runtime.connectedCount}/${report.runtime.registeredCount} connected`,
1072
+ ` Authenticated: ${report.runtime.authenticatedCount}`,
1073
+ ` Official platforms: ${report.hermes.locallyCoveredCount}/${report.hermes.officialPlatformCount} covered, ` +
1074
+ `${report.hermes.configuredPlatformCount} configured, ${report.hermes.runtimePlatformCount} runtime`,
1075
+ ` Configured platforms: ${formatList(report.hermes.configuredPlatformNames)}`,
1076
+ ` Runtime platforms: ${formatList(report.hermes.runtimePlatformNames)}`,
1077
+ ` Prompt-tool platforms: ${formatList(report.hermes.promptToolPlatformNames)}`,
1078
+ ` Next config targets: ${formatList(visibleNextTargets)}${hiddenNextTargetCount > 0 ? ` (+${hiddenNextTargetCount} more)` : ''}`,
1079
+ ];
1080
+ if (report.config.path) {
1081
+ lines.push(` Config path: ${report.config.path}`);
1082
+ }
1083
+ if (report.config.channels.length > 0) {
1084
+ lines.push('');
1085
+ lines.push('Configured channels:');
1086
+ for (const channel of report.config.channels) {
1087
+ const credentials = [channel.hasToken ? 'token' : '', channel.hasWebhookUrl ? 'webhook' : ''].filter(Boolean);
1088
+ lines.push(` - ${channel.type}: ${channel.enabled ? 'enabled' : 'disabled'}` +
1089
+ `${credentials.length > 0 ? ` (${credentials.join(', ')})` : ''}`);
1090
+ }
1091
+ }
1092
+ if (report.runtime.channels.length > 0) {
1093
+ lines.push('');
1094
+ lines.push('Runtime channels:');
1095
+ for (const channel of report.runtime.channels) {
1096
+ lines.push(` - ${channel.type}: ${channel.connected ? 'connected' : 'disconnected'}, ` +
1097
+ `auth=${channel.authenticated ? 'yes' : 'no'}` +
1098
+ `${channel.error ? `, error=${channel.error}` : ''}`);
1099
+ }
1100
+ }
1101
+ if (report.hermes.platforms.length > 0) {
1102
+ lines.push('');
1103
+ lines.push('Hermes platform coverage:');
1104
+ for (const platform of report.hermes.platforms.slice(0, 12)) {
1105
+ const channelSuffix = platform.channelTypes.length > 0 ? ` (${platform.channelTypes.join(', ')})` : '';
1106
+ const readinessFlags = `configured=${platform.configured ? 'yes' : 'no'}, runtime=${platform.runtimeRegistered ? 'yes' : 'no'}`;
1107
+ lines.push(` - ${platform.platform}: ${platform.status}/${platform.localSurface}${channelSuffix} | ${readinessFlags}`);
1108
+ }
1109
+ if (report.hermes.platforms.length > 12) {
1110
+ lines.push(` ... ${report.hermes.platforms.length - 12} more`);
1111
+ }
1112
+ }
1113
+ if (report.recommendations.length > 0) {
1114
+ lines.push('');
1115
+ lines.push('Recommendations:');
1116
+ for (const recommendation of report.recommendations) {
1117
+ lines.push(` - ${recommendation}`);
1118
+ }
1119
+ }
1120
+ return lines.join('\n');
1121
+ }
1122
+ function renderHermesProviderReadiness(readiness) {
1123
+ const lines = [
1124
+ `Hermes provider readiness: ${readiness.ok ? 'ok' : 'needs attention'}`,
1125
+ ` Model: ${readiness.activeModel.model} (${readiness.activeModel.source})`,
1126
+ ` Provider: ${readiness.activeProvider.label}`,
1127
+ ` Credentials/endpoint: ${readiness.activeProvider.configured ? 'configured' : 'missing'}`,
1128
+ ` Capabilities: tool-calls=${readiness.activeModel.supportsToolCalls ? 'yes' : 'no'}, reasoning=${readiness.activeModel.supportsReasoning ? 'yes' : 'no'}, vision=${readiness.activeModel.supportsVision ? 'yes' : 'no'}`,
1129
+ ` Context/output: ${readiness.activeModel.contextWindow ?? 'unknown'} / ${readiness.activeModel.maxOutputTokens ?? 'unknown'} tokens`,
1130
+ ` Configured providers: ${readiness.providers.filter((provider) => provider.configured).length}/${readiness.providers.length}`,
1131
+ ` Nous Tool Gateway: ${readiness.portal.portal.toolGatewayConfigured ? 'configured' : 'not configured'}`,
1132
+ ];
1133
+ if (readiness.activeProvider.credentialSources.length > 0) {
1134
+ lines.push(` Credential sources: ${readiness.activeProvider.credentialSources.join(', ')}`);
1135
+ }
1136
+ if (readiness.providers.length > 0) {
1137
+ lines.push('');
1138
+ lines.push('Providers:');
1139
+ for (const provider of readiness.providers) {
1140
+ const state = provider.configured ? 'configured' : provider.local ? 'local fallback' : 'missing';
1141
+ const readinessFlags = `configured=${provider.configured ? 'yes' : 'no'}, local=${provider.local ? 'yes' : 'no'}`;
1142
+ lines.push(` - ${provider.label}: ${state} | ${readinessFlags}`);
1143
+ for (const note of provider.notes) {
1144
+ lines.push(` note: ${note}`);
1145
+ }
1146
+ }
1147
+ }
1148
+ if (readiness.issues.length > 0) {
1149
+ lines.push('');
1150
+ lines.push('Issues:');
1151
+ for (const issue of readiness.issues) {
1152
+ lines.push(` - ${issue}`);
1153
+ }
1154
+ }
1155
+ if (readiness.recommendations.length > 0) {
1156
+ lines.push('');
1157
+ lines.push('Recommendations:');
1158
+ for (const recommendation of readiness.recommendations) {
1159
+ lines.push(` - ${recommendation}`);
1160
+ }
1161
+ }
1162
+ return lines.join('\n');
1163
+ }
1164
+ function buildHermesModelStatus(readiness = buildHermesProviderReadiness()) {
1165
+ const configuredProviderCount = readiness.providers.filter((provider) => provider.configured).length;
1166
+ const setupHints = readiness.ok
1167
+ ? [...readiness.recommendations]
1168
+ : [
1169
+ ...readiness.activeProvider.remediation,
1170
+ ...readiness.recommendations,
1171
+ ];
1172
+ const nextSteps = setupHints.length > 0 ? setupHints : [
1173
+ 'Run buddy whoami to confirm the current ChatGPT/Codex account when OAuth is the active credential source.',
1174
+ 'Run buddy hermes providers status --json when you need the full provider matrix.',
1175
+ ];
1176
+ return {
1177
+ kind: 'hermes_model_status',
1178
+ schemaVersion: 1,
1179
+ ok: readiness.ok,
1180
+ active: {
1181
+ model: readiness.activeModel.model,
1182
+ provider: readiness.activeModel.provider,
1183
+ providerLabel: readiness.activeProvider.label,
1184
+ source: readiness.activeModel.source,
1185
+ configured: readiness.activeProvider.configured,
1186
+ credentialSources: [...readiness.activeProvider.credentialSources],
1187
+ contextWindow: readiness.activeModel.contextWindow,
1188
+ maxOutputTokens: readiness.activeModel.maxOutputTokens,
1189
+ capabilities: {
1190
+ toolCalls: readiness.activeModel.supportsToolCalls,
1191
+ reasoning: readiness.activeModel.supportsReasoning,
1192
+ vision: readiness.activeModel.supportsVision,
1193
+ },
1194
+ },
1195
+ setup: {
1196
+ loginCommand: 'buddy login',
1197
+ accountCommand: 'buddy whoami',
1198
+ providerMatrixCommand: 'buddy hermes providers status --json',
1199
+ doctorCommand: 'buddy hermes doctor safe --json',
1200
+ nextSteps: Array.from(new Set(nextSteps)).slice(0, 8),
1201
+ },
1202
+ alternatives: readiness.providers
1203
+ .filter((provider) => provider.provider !== readiness.activeModel.provider)
1204
+ .map((provider) => ({
1205
+ provider: provider.provider,
1206
+ label: provider.label,
1207
+ configured: provider.configured,
1208
+ local: provider.local,
1209
+ credentialSources: [...provider.credentialSources],
1210
+ setupHints: [...provider.remediation],
1211
+ })),
1212
+ issues: [
1213
+ ...readiness.issues,
1214
+ ...(configuredProviderCount === 0 ? ['No configured providers were detected.'] : []),
1215
+ ],
1216
+ recommendations: [...readiness.recommendations],
1217
+ };
1218
+ }
1219
+ function renderHermesModelStatus(status) {
1220
+ const credentials = status.active.credentialSources.length > 0
1221
+ ? status.active.credentialSources.join(', ')
1222
+ : status.active.configured
1223
+ ? 'local/configured endpoint'
1224
+ : 'missing';
1225
+ const configuredAlternatives = status.alternatives.filter((provider) => provider.configured);
1226
+ const lines = [
1227
+ `Hermes model: ${status.ok ? 'ok' : 'needs attention'}`,
1228
+ ` Active: ${status.active.model} via ${status.active.providerLabel} (${status.active.source})`,
1229
+ ` Credentials/endpoint: ${credentials}`,
1230
+ ` Capabilities: tool-calls=${status.active.capabilities.toolCalls ? 'yes' : 'no'}, reasoning=${status.active.capabilities.reasoning ? 'yes' : 'no'}, vision=${status.active.capabilities.vision ? 'yes' : 'no'}`,
1231
+ ` Context/output: ${status.active.contextWindow ?? 'unknown'} / ${status.active.maxOutputTokens ?? 'unknown'} tokens`,
1232
+ ` Full provider matrix: ${status.setup.providerMatrixCommand}`,
1233
+ ];
1234
+ if (configuredAlternatives.length > 0) {
1235
+ lines.push(` Configured alternatives: ${configuredAlternatives.map((provider) => provider.label).join(', ')}`);
1236
+ }
1237
+ if (status.issues.length > 0) {
1238
+ lines.push('');
1239
+ lines.push('Issues:');
1240
+ for (const issue of status.issues) {
1241
+ lines.push(` - ${issue}`);
1242
+ }
1243
+ }
1244
+ if (status.setup.nextSteps.length > 0) {
1245
+ lines.push('');
1246
+ lines.push('Next steps:');
1247
+ for (const step of status.setup.nextSteps) {
1248
+ lines.push(` - ${step}`);
1249
+ }
1250
+ }
1251
+ lines.push('');
1252
+ lines.push(`Account check: ${status.setup.accountCommand}`);
1253
+ lines.push(`Safe doctor: ${status.setup.doctorCommand}`);
1254
+ return lines.join('\n');
1255
+ }
1256
+ async function buildHermesMobileSupervisionStatus(queryParts = [], options = {}) {
1257
+ const query = normalizeHermesMobileQuery(queryParts);
1258
+ const limit = parseOptionalPositiveInteger(options.limit, '--limit') ?? 20;
1259
+ const contract = await buildMobileSupervisionGatewayContract(query, {
1260
+ includeAllContext: false,
1261
+ includeSnapshot: false,
1262
+ limit,
1263
+ sources: options.source ?? [],
1264
+ });
1265
+ const listenerShell = buildMobileSupervisionGatewayListenerShell(contract);
1266
+ const pairingState = buildMobileSupervisionPairingState(listenerShell, {
1267
+ deviceLabel: 'Cowork mobile supervisor',
1268
+ });
1269
+ const approvalQueue = buildMobileSupervisionApprovalQueue(contract, pairingState);
1270
+ const readOnlyEndpoints = contract.endpoints.filter((endpoint) => endpoint.sideEffects === 'none');
1271
+ const draftOnlyEndpoints = contract.endpoints.filter((endpoint) => endpoint.sideEffects === 'draft_only');
1272
+ const gatewayCheckCommand = `buddy run mobile-gateway-check "${contract.query}" --action view_run_summary --method GET --path /api/mobile/snapshot --json`;
1273
+ return {
1274
+ kind: 'hermes_mobile_supervision_status',
1275
+ schemaVersion: 1,
1276
+ generatedAt: new Date().toISOString(),
1277
+ ok: true,
1278
+ query: contract.query,
1279
+ routeMount: {
1280
+ basePath: contract.basePath,
1281
+ module: 'src/server/routes/mobile.ts',
1282
+ mountedBy: 'src/server/index.ts',
1283
+ serverCommand: 'buddy server --port 3000',
1284
+ status: 'implemented_not_probed',
1285
+ },
1286
+ summary: {
1287
+ readOnlyEndpoints: readOnlyEndpoints.length,
1288
+ draftOnlyEndpoints: draftOnlyEndpoints.length,
1289
+ blockedOperations: contract.blockedOperations.length,
1290
+ readyReadOnly: approvalQueue.counts.ready,
1291
+ pendingLocalApproval: approvalQueue.counts.pending,
1292
+ blockedQueueItems: approvalQueue.counts.blocked,
1293
+ totalQueueItems: approvalQueue.counts.total,
1294
+ },
1295
+ auth: contract.auth,
1296
+ transport: contract.transport,
1297
+ listener: {
1298
+ bind: listenerShell.bind,
1299
+ mode: listenerShell.mode,
1300
+ listener: listenerShell.transport.listener,
1301
+ safety: listenerShell.safety,
1302
+ },
1303
+ endpoints: contract.endpoints.map((endpoint) => ({
1304
+ action: endpoint.action,
1305
+ id: endpoint.id,
1306
+ localApprovalRequired: endpoint.localApprovalRequired,
1307
+ method: endpoint.method,
1308
+ path: endpoint.path,
1309
+ sideEffects: endpoint.sideEffects,
1310
+ })),
1311
+ blockedOperations: contract.blockedOperations.map((operation) => ({
1312
+ action: operation.action,
1313
+ reason: operation.policy.reason,
1314
+ })),
1315
+ approvalQueue: {
1316
+ counts: approvalQueue.counts,
1317
+ localOnly: approvalQueue.safety.localOnly,
1318
+ autoDispatch: approvalQueue.safety.autoDispatch,
1319
+ remoteExecutionDisabled: approvalQueue.safety.remoteExecutionDisabled,
1320
+ },
1321
+ pairing: {
1322
+ deviceLabel: pairingState.pairing.deviceLabel,
1323
+ deviceLabelMaxChars: pairingState.pairing.deviceLabelMaxChars,
1324
+ scopes: pairingState.pairing.scopes,
1325
+ status: pairingState.pairing.status,
1326
+ tokenIssued: pairingState.pairing.tokenIssued,
1327
+ ttlSeconds: pairingState.pairing.ttlSeconds,
1328
+ },
1329
+ commands: {
1330
+ status: 'buddy hermes mobile status --json',
1331
+ server: 'buddy server --port 3000',
1332
+ snapshot: `buddy run mobile-snapshot "${contract.query}" --json`,
1333
+ contract: `buddy run mobile-gateway-contract "${contract.query}" --json`,
1334
+ gatewayCheck: gatewayCheckCommand,
1335
+ pairing: `buddy run mobile-pairing-state "${contract.query}" --json`,
1336
+ approvals: `buddy run mobile-approval-queue "${contract.query}" --json`,
1337
+ },
1338
+ recommendations: [
1339
+ 'Start the local server before using a phone: buddy server --port 3000.',
1340
+ 'Pairing-code and approval routes are local-operator-only; do not expose them directly over LAN.',
1341
+ `Keep mobile pairing device labels at or below ${MOBILE_SUPERVISION_DEVICE_LABEL_MAX_CHARS} characters.`,
1342
+ 'Mobile devices may read snapshots and submit draft prompts, but execution and file mutations remain local.',
1343
+ `Use ${gatewayCheckCommand} as a safe GET policy smoke before implementing any new route.`,
1344
+ ],
1345
+ };
1346
+ }
1347
+ function renderHermesMobileSupervisionStatus(status) {
1348
+ const lines = [
1349
+ `Hermes mobile supervision: ${status.ok ? 'ready for local server' : 'needs attention'}`,
1350
+ ` Query: ${status.query || '(empty)'}`,
1351
+ ` Route mount: ${status.routeMount.basePath} (${status.routeMount.status})`,
1352
+ ` Server: ${status.routeMount.serverCommand}`,
1353
+ ` Auth: ${status.auth.scheme}, scopes=${status.auth.scopes.join(', ')}, ttl=${status.auth.ttlSeconds}s`,
1354
+ ` Transport: ${status.transport.exposure}, remote execution ${status.transport.remoteExecution}, TLS required off-device`,
1355
+ ` Listener: ${status.listener.listener}, bind ${status.listener.bind.host}:${status.listener.bind.port} (${status.listener.bind.networkExposure})`,
1356
+ ` Pairing label limit: ${status.pairing.deviceLabelMaxChars} characters`,
1357
+ ` Routes: ${status.summary.readOnlyEndpoints} read-only, ${status.summary.draftOnlyEndpoints} draft-only, ${status.summary.blockedOperations} blocked`,
1358
+ ` Approval queue: ready=${status.summary.readyReadOnly}, pending=${status.summary.pendingLocalApproval}, blocked=${status.summary.blockedQueueItems}`,
1359
+ ` Safety: autoDispatch=${status.approvalQueue.autoDispatch}; remoteExecutionDisabled=${status.approvalQueue.remoteExecutionDisabled}`,
1360
+ '',
1361
+ 'Endpoints:',
1362
+ ];
1363
+ for (const endpoint of status.endpoints) {
1364
+ lines.push(` - ${endpoint.method} ${endpoint.path} -> ${endpoint.action}` +
1365
+ ` (${endpoint.sideEffects}, localApprovalRequired=${endpoint.localApprovalRequired})`);
1366
+ }
1367
+ lines.push('', 'Commands:');
1368
+ lines.push(` - ${status.commands.status}`);
1369
+ lines.push(` - ${status.commands.server}`);
1370
+ lines.push(` - ${status.commands.snapshot}`);
1371
+ lines.push(` - ${status.commands.contract}`);
1372
+ lines.push(` - ${status.commands.gatewayCheck}`);
1373
+ lines.push(` - ${status.commands.pairing}`);
1374
+ lines.push(` - ${status.commands.approvals}`);
1375
+ if (status.recommendations.length > 0) {
1376
+ lines.push('', 'Recommendations:');
1377
+ for (const recommendation of status.recommendations) {
1378
+ lines.push(` - ${recommendation}`);
1379
+ }
1380
+ }
1381
+ return lines.join('\n');
1382
+ }
1383
+ function normalizeHermesMobileQuery(queryParts) {
1384
+ const query = queryParts.join(' ').trim();
1385
+ return query || 'mobile supervision';
1386
+ }
1387
+ function collectHermesOption(value, previous) {
1388
+ return [...previous, value];
1389
+ }
1390
+ function registerHermesPortalCommands(hermes) {
1391
+ const portal = hermes
1392
+ .command('portal')
1393
+ .description('Inspect Nous Portal auth, subscription, and Tool Gateway routing readiness');
1394
+ portal
1395
+ .command('status')
1396
+ .description('Show Nous Portal auth and Tool Gateway routing readiness')
1397
+ .option('--json', 'output JSON')
1398
+ .action((options) => {
1399
+ printHermesPortalStatus(buildHermesPortalStatus(), options, false, 'buddy hermes portal status --json');
1400
+ });
1401
+ portal
1402
+ .command('tools')
1403
+ .description('List Tool Gateway tools and whether Code Buddy routes them via Nous or direct providers')
1404
+ .option('--json', 'output JSON')
1405
+ .action((options) => {
1406
+ printHermesPortalStatus(buildHermesPortalStatus(), options, true, 'buddy hermes portal tools --json');
1407
+ });
1408
+ portal
1409
+ .command('open')
1410
+ .description('Print the Nous Portal subscription URL')
1411
+ .option('--json', 'output JSON')
1412
+ .action((options) => {
1413
+ const status = buildHermesPortalStatus();
1414
+ const payload = {
1415
+ kind: 'hermes_portal_open',
1416
+ url: status.portal.subscriptionUrl,
1417
+ docsUrl: status.portal.docsUrl,
1418
+ };
1419
+ if (options.json) {
1420
+ console.log(stableJson(payload));
1421
+ return;
1422
+ }
1423
+ console.log(status.portal.subscriptionUrl);
1424
+ });
1425
+ }
1426
+ function renderOpenClawBridgeResult(value) {
1427
+ const lines = [`OpenClaw bridge: ${value.kind}`];
1428
+ if (typeof value.found === 'boolean')
1429
+ lines.push(`Detected: ${value.found ? 'yes' : 'no'}`);
1430
+ if (value.discovery) {
1431
+ const endpoint = value.discovery.daemon.rpcUrl || value.discovery.daemon.httpUrl || value.discovery.daemon.endpoint || value.discovery.daemon.wsUrl || 'not configured';
1432
+ lines.push(`Gateway: ${value.discovery.found ? endpoint : 'not found'}`);
1433
+ lines.push(`Token present: ${value.discovery.safety.tokenPresent ? 'yes' : 'no'}`);
1434
+ if (value.discovery.nodeHost) {
1435
+ const nodeLabel = value.discovery.nodeHost.displayName || value.discovery.nodeHost.nodeId || 'not found';
1436
+ lines.push(`Node host: ${value.discovery.nodeHost.found ? nodeLabel : 'not found'}`);
1437
+ lines.push(`Node token present: ${value.discovery.safety.nodeTokenPresent ? 'yes' : 'no'}`);
1438
+ }
1439
+ }
1440
+ if (value.record) {
1441
+ lines.push(`Status: ${value.record.status || 'unknown'}`);
1442
+ lines.push(`Endpoint: ${value.record.endpoint || value.record.endpointPath || 'n/a'}`);
1443
+ }
1444
+ if (value.draftFile)
1445
+ lines.push(`Draft: ${value.draftFile}`);
1446
+ if (value.attachLogPath)
1447
+ lines.push(`Attach log: ${value.attachLogPath}`);
1448
+ if (value.sendLogPath)
1449
+ lines.push(`Send log: ${value.sendLogPath}`);
1450
+ if (value.recommendations?.length)
1451
+ lines.push(`Next: ${value.recommendations[0]}`);
1452
+ return lines.join('\n');
1453
+ }
1454
+ function registerHermesClawCommands(hermes) {
1455
+ const claw = hermes
1456
+ .command('claw')
1457
+ .description('Migrate a legacy OpenClaw installation into Code Buddy');
1458
+ claw
1459
+ .command('migrate')
1460
+ .description('Migrate OpenClaw config/data into Code Buddy (dry-run by default; --apply to write)')
1461
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw, ~/.clawdbot, ~/.moltbot)')
1462
+ .option('--workspace-target <path>', 'workspace target for identity files and .codebuddy (default: cwd)')
1463
+ .option('--preset <preset>', 'full | user-data', 'full')
1464
+ .option('--migrate-secrets', 'archive API keys/secrets to a 0600 review file (never injected into live config)')
1465
+ .option('--overwrite', 'overwrite existing Code Buddy files on conflicts')
1466
+ .option('--skill-conflict <mode>', 'skip | overwrite | rename', 'skip')
1467
+ .option('--no-backup', 'skip the pre-migration snapshot')
1468
+ .option('--apply', 'actually write changes (otherwise dry-run)')
1469
+ .option('--yes', 'skip confirmation when applying')
1470
+ .option('--json', 'output JSON')
1471
+ .action(async (options) => {
1472
+ const preset = options.preset === 'user-data' ? 'user-data' : 'full';
1473
+ const skillConflict = options.skillConflict === 'overwrite'
1474
+ ? 'overwrite'
1475
+ : options.skillConflict === 'rename'
1476
+ ? 'rename'
1477
+ : 'skip';
1478
+ const report = await runClawMigration({
1479
+ source: options.source,
1480
+ workspaceTarget: options.workspaceTarget,
1481
+ preset,
1482
+ migrateSecrets: options.migrateSecrets === true,
1483
+ overwrite: options.overwrite === true,
1484
+ skillConflict,
1485
+ backup: options.backup !== false,
1486
+ apply: options.apply === true,
1487
+ });
1488
+ if (options.json) {
1489
+ console.log(stableJson(report));
1490
+ return;
1491
+ }
1492
+ console.log(renderClawMigrationReport(report));
1493
+ });
1494
+ claw
1495
+ .command('status')
1496
+ .description('Report whether an OpenClaw installation is detected, with a dry-run plan summary')
1497
+ .option('--source <path>', 'OpenClaw home to probe')
1498
+ .option('--json', 'output JSON')
1499
+ .action(async (options) => {
1500
+ const report = await runClawMigration({ source: options.source, apply: false });
1501
+ if (options.json) {
1502
+ console.log(stableJson(report));
1503
+ return;
1504
+ }
1505
+ console.log(renderClawMigrationReport(report));
1506
+ });
1507
+ const bridge = claw
1508
+ .command('bridge')
1509
+ .description('Operate the Code Buddy OpenClaw gateway bridge (dry-run by default)');
1510
+ bridge
1511
+ .command('status')
1512
+ .description('Discover OpenClaw Gateway and show the Code Buddy node descriptor')
1513
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1514
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1515
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1516
+ .option('--json', 'output JSON')
1517
+ .action(async (options) => {
1518
+ const discovery = await discoverOpenClawGateway({
1519
+ home: options.source,
1520
+ nodeLockfilePath: options.nodeLockfile,
1521
+ cwd: options.workspaceTarget,
1522
+ });
1523
+ const descriptor = buildOpenClawNodeDescriptor({
1524
+ nodeId: discovery.daemon.nodeId || discovery.nodeHost.nodeId,
1525
+ });
1526
+ const payload = {
1527
+ kind: 'openclaw_bridge_status',
1528
+ discovery,
1529
+ descriptor,
1530
+ };
1531
+ if (options.json) {
1532
+ console.log(stableJson(payload));
1533
+ return;
1534
+ }
1535
+ console.log(renderOpenClawBridgeResult({
1536
+ kind: payload.kind,
1537
+ found: discovery.found,
1538
+ discovery,
1539
+ recommendations: discovery.recommendations,
1540
+ }));
1541
+ });
1542
+ bridge
1543
+ .command('call-ws <method>')
1544
+ .description('Call an OpenClaw Gateway WebSocket RPC method (--apply --yes required for live call)')
1545
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1546
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1547
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1548
+ .option('--params <json>', 'JSON object params to send in live mode', '{}')
1549
+ .option('--timeout-ms <ms>', 'WebSocket call timeout', '5000')
1550
+ .option('--approved-by <name>', 'operator approving live WebSocket call')
1551
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1552
+ .option('--yes', 'confirm live call when used with --apply')
1553
+ .option('--json', 'output JSON')
1554
+ .action(async (method, options) => {
1555
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1556
+ let params = {};
1557
+ if (options.params?.trim()) {
1558
+ const parsed = JSON.parse(options.params);
1559
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
1560
+ throw new Error('--params must be a JSON object');
1561
+ }
1562
+ params = parsed;
1563
+ }
1564
+ const result = await callOpenClawGatewayWebSocket({
1565
+ method,
1566
+ params,
1567
+ dryRun: options.apply !== true,
1568
+ approvedBy: options.approvedBy,
1569
+ liveCallConfirmed: options.apply === true && options.yes === true,
1570
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1571
+ }, {
1572
+ home: options.source,
1573
+ nodeLockfilePath: options.nodeLockfile,
1574
+ cwd: options.workspaceTarget,
1575
+ });
1576
+ if (options.json) {
1577
+ console.log(stableJson(result));
1578
+ return;
1579
+ }
1580
+ console.log(renderOpenClawBridgeResult({
1581
+ kind: result.kind,
1582
+ ok: result.ok,
1583
+ discovery: result.discovery,
1584
+ record: {
1585
+ status: result.record.status,
1586
+ endpoint: result.record.wsUrl,
1587
+ },
1588
+ recommendations: result.error ? [result.error] : undefined,
1589
+ }));
1590
+ });
1591
+ bridge
1592
+ .command('nodes-pending')
1593
+ .description('List pending OpenClaw node pairing requests (--apply --yes required for live call)')
1594
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1595
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1596
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1597
+ .option('--timeout-ms <ms>', 'WebSocket call timeout', '5000')
1598
+ .option('--approved-by <name>', 'operator approving live WebSocket call')
1599
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1600
+ .option('--yes', 'confirm live call when used with --apply')
1601
+ .option('--json', 'output JSON')
1602
+ .action(async (options) => {
1603
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1604
+ const result = await listOpenClawPendingNodes({
1605
+ dryRun: options.apply !== true,
1606
+ approvedBy: options.approvedBy,
1607
+ liveCallConfirmed: options.apply === true && options.yes === true,
1608
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1609
+ }, {
1610
+ home: options.source,
1611
+ nodeLockfilePath: options.nodeLockfile,
1612
+ cwd: options.workspaceTarget,
1613
+ });
1614
+ if (options.json) {
1615
+ console.log(stableJson(result));
1616
+ return;
1617
+ }
1618
+ console.log(renderOpenClawBridgeResult({
1619
+ kind: result.kind,
1620
+ ok: result.ok,
1621
+ discovery: result.discovery,
1622
+ record: {
1623
+ status: result.record.status,
1624
+ endpoint: result.record.wsUrl,
1625
+ },
1626
+ recommendations: result.error ? [result.error] : undefined,
1627
+ }));
1628
+ });
1629
+ bridge
1630
+ .command('node-approve')
1631
+ .description('Approve an OpenClaw node pairing request (--apply --yes required for live approval)')
1632
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1633
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1634
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1635
+ .option('--node-id <id>', 'pending OpenClaw node id to approve')
1636
+ .option('--code <code>', 'pending OpenClaw pairing code to approve; never echoed in output')
1637
+ .option('--timeout-ms <ms>', 'WebSocket call timeout', '5000')
1638
+ .option('--approved-by <name>', 'operator approving live WebSocket approval')
1639
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1640
+ .option('--yes', 'confirm live approval when used with --apply')
1641
+ .option('--json', 'output JSON')
1642
+ .action(async (options) => {
1643
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1644
+ const result = await approveOpenClawPendingNode({
1645
+ nodeId: options.nodeId,
1646
+ code: options.code,
1647
+ dryRun: options.apply !== true,
1648
+ approvedBy: options.approvedBy,
1649
+ liveCallConfirmed: options.apply === true && options.yes === true,
1650
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1651
+ }, {
1652
+ home: options.source,
1653
+ nodeLockfilePath: options.nodeLockfile,
1654
+ cwd: options.workspaceTarget,
1655
+ });
1656
+ if (options.json) {
1657
+ console.log(stableJson(result));
1658
+ return;
1659
+ }
1660
+ console.log(renderOpenClawBridgeResult({
1661
+ kind: result.kind,
1662
+ ok: result.ok,
1663
+ discovery: result.discovery,
1664
+ record: {
1665
+ status: result.record.status,
1666
+ endpoint: result.record.wsUrl,
1667
+ },
1668
+ recommendations: result.error ? [result.error] : undefined,
1669
+ }));
1670
+ });
1671
+ bridge
1672
+ .command('node-reject')
1673
+ .description('Reject an OpenClaw node pairing request (--apply --yes required for live rejection)')
1674
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1675
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1676
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1677
+ .option('--node-id <id>', 'pending OpenClaw node id to reject')
1678
+ .option('--code <code>', 'pending OpenClaw pairing code to reject; never echoed in output')
1679
+ .option('--reason <text>', 'optional rejection reason; never echoed in logs')
1680
+ .option('--timeout-ms <ms>', 'WebSocket call timeout', '5000')
1681
+ .option('--approved-by <name>', 'operator approving live WebSocket rejection')
1682
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1683
+ .option('--yes', 'confirm live rejection when used with --apply')
1684
+ .option('--json', 'output JSON')
1685
+ .action(async (options) => {
1686
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1687
+ const result = await rejectOpenClawPendingNode({
1688
+ nodeId: options.nodeId,
1689
+ code: options.code,
1690
+ reason: options.reason,
1691
+ dryRun: options.apply !== true,
1692
+ approvedBy: options.approvedBy,
1693
+ liveCallConfirmed: options.apply === true && options.yes === true,
1694
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1695
+ }, {
1696
+ home: options.source,
1697
+ nodeLockfilePath: options.nodeLockfile,
1698
+ cwd: options.workspaceTarget,
1699
+ });
1700
+ if (options.json) {
1701
+ console.log(stableJson(result));
1702
+ return;
1703
+ }
1704
+ console.log(renderOpenClawBridgeResult({
1705
+ kind: result.kind,
1706
+ ok: result.ok,
1707
+ discovery: result.discovery,
1708
+ record: {
1709
+ status: result.record.status,
1710
+ endpoint: result.record.wsUrl,
1711
+ },
1712
+ recommendations: result.error ? [result.error] : undefined,
1713
+ }));
1714
+ });
1715
+ bridge
1716
+ .command('probe-ws')
1717
+ .description('Probe the OpenClaw Gateway WebSocket handshake (--apply --yes required for live probe)')
1718
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1719
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1720
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1721
+ .option('--status-method <method>', 'OpenClaw status RPC method to call after hello-ok', 'status')
1722
+ .option('--timeout-ms <ms>', 'WebSocket probe timeout', '5000')
1723
+ .option('--approved-by <name>', 'operator approving live WebSocket probe')
1724
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1725
+ .option('--yes', 'confirm live probe when used with --apply')
1726
+ .option('--json', 'output JSON')
1727
+ .action(async (options) => {
1728
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1729
+ const result = await probeOpenClawGatewayWebSocket({
1730
+ dryRun: options.apply !== true,
1731
+ approvedBy: options.approvedBy,
1732
+ liveProbeConfirmed: options.apply === true && options.yes === true,
1733
+ statusMethod: options.statusMethod,
1734
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1735
+ }, {
1736
+ home: options.source,
1737
+ nodeLockfilePath: options.nodeLockfile,
1738
+ cwd: options.workspaceTarget,
1739
+ });
1740
+ if (options.json) {
1741
+ console.log(stableJson(result));
1742
+ return;
1743
+ }
1744
+ console.log(renderOpenClawBridgeResult({
1745
+ kind: result.kind,
1746
+ ok: result.ok,
1747
+ discovery: result.discovery,
1748
+ record: {
1749
+ status: result.record.status,
1750
+ endpoint: result.record.wsUrl,
1751
+ },
1752
+ recommendations: result.error ? [result.error] : undefined,
1753
+ }));
1754
+ });
1755
+ bridge
1756
+ .command('validate-upstream')
1757
+ .description('Run a read-only OpenClaw upstream daemon validation checklist (--apply --yes required for live)')
1758
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1759
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1760
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1761
+ .option('--status-method <method>', 'OpenClaw status RPC method to call after hello-ok', 'status')
1762
+ .option('--timeout-ms <ms>', 'WebSocket validation timeout', '5000')
1763
+ .option('--openclaw-bin <path>', 'OpenClaw CLI binary path used for local install evidence')
1764
+ .option('--skip-cli-status', 'skip openclaw gateway status --json validation')
1765
+ .option('--skip-pending-nodes', 'skip the nodes.pending read-only validation call')
1766
+ .option('--approved-by <name>', 'operator approving live upstream validation')
1767
+ .option('--apply', 'contact the OpenClaw Gateway WebSocket (otherwise dry-run)')
1768
+ .option('--yes', 'confirm live validation when used with --apply')
1769
+ .option('--json', 'output JSON')
1770
+ .action(async (options) => {
1771
+ const timeoutMs = Number.parseInt(options.timeoutMs || '5000', 10);
1772
+ const result = await validateOpenClawUpstreamCompatibility({
1773
+ approvedBy: options.approvedBy,
1774
+ dryRun: options.apply !== true,
1775
+ includePendingNodes: options.skipPendingNodes !== true,
1776
+ liveValidationConfirmed: options.apply === true && options.yes === true,
1777
+ openclawBinaryPath: options.openclawBin,
1778
+ runCliStatus: options.skipCliStatus !== true,
1779
+ statusMethod: options.statusMethod,
1780
+ timeoutMs: Number.isFinite(timeoutMs) && timeoutMs > 0 ? timeoutMs : 5000,
1781
+ }, {
1782
+ home: options.source,
1783
+ nodeLockfilePath: options.nodeLockfile,
1784
+ cwd: options.workspaceTarget,
1785
+ });
1786
+ if (options.json) {
1787
+ console.log(stableJson(result));
1788
+ return;
1789
+ }
1790
+ console.log(renderOpenClawBridgeResult({
1791
+ kind: result.kind,
1792
+ ok: result.ok,
1793
+ discovery: result.discovery,
1794
+ record: {
1795
+ status: result.status,
1796
+ endpoint: result.discovery.daemon.wsUrl,
1797
+ },
1798
+ recommendations: result.error ? [result.error] : undefined,
1799
+ }));
1800
+ });
1801
+ bridge
1802
+ .command('attach')
1803
+ .description('Register the Code Buddy bridge with OpenClaw Gateway (--apply --yes required for live attach)')
1804
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1805
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1806
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1807
+ .option('--endpoint-path <path>', 'OpenClaw attach endpoint path', 'nodes/register')
1808
+ .option('--approved-by <name>', 'operator approving live attach')
1809
+ .option('--apply', 'contact the OpenClaw daemon (otherwise dry-run)')
1810
+ .option('--yes', 'confirm live attach when used with --apply')
1811
+ .option('--json', 'output JSON')
1812
+ .action(async (options) => {
1813
+ const result = await attachOpenClawGateway({
1814
+ dryRun: options.apply !== true,
1815
+ approvedBy: options.approvedBy,
1816
+ liveAttachConfirmed: options.apply === true && options.yes === true,
1817
+ endpointPath: options.endpointPath,
1818
+ }, {
1819
+ home: options.source,
1820
+ nodeLockfilePath: options.nodeLockfile,
1821
+ cwd: options.workspaceTarget,
1822
+ });
1823
+ if (options.json) {
1824
+ console.log(stableJson(result));
1825
+ return;
1826
+ }
1827
+ console.log(renderOpenClawBridgeResult({
1828
+ kind: result.kind,
1829
+ ok: result.ok,
1830
+ discovery: result.discovery,
1831
+ record: result.record,
1832
+ attachLogPath: result.attachLogPath,
1833
+ }));
1834
+ });
1835
+ bridge
1836
+ .command('draft')
1837
+ .description('Create a safe Fleet handoff draft from an OpenClaw inbound message')
1838
+ .requiredOption('--message-id <id>', 'OpenClaw message id')
1839
+ .requiredOption('--channel <channel>', 'OpenClaw channel name')
1840
+ .requiredOption('--sender-id <id>', 'OpenClaw sender id')
1841
+ .requiredOption('--text <text>', 'message text; stored only as a redacted preview')
1842
+ .option('--thread-id <id>', 'thread id')
1843
+ .option('--sender-name <name>', 'sender display name')
1844
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1845
+ .option('--json', 'output JSON')
1846
+ .action(async (options) => {
1847
+ const draft = await prepareOpenClawFleetHandoffDraft({
1848
+ id: options.messageId,
1849
+ channel: options.channel,
1850
+ senderId: options.senderId,
1851
+ senderName: options.senderName,
1852
+ threadId: options.threadId,
1853
+ text: options.text,
1854
+ }, {
1855
+ cwd: options.workspaceTarget,
1856
+ });
1857
+ if (options.json) {
1858
+ console.log(stableJson(draft));
1859
+ return;
1860
+ }
1861
+ console.log(renderOpenClawBridgeResult({
1862
+ kind: draft.kind,
1863
+ draftFile: draft.draftFile,
1864
+ }));
1865
+ });
1866
+ bridge
1867
+ .command('send')
1868
+ .description('Send or preview an approved OpenClaw response (--apply --yes required for live send)')
1869
+ .requiredOption('--message-id <id>', 'OpenClaw source message id')
1870
+ .requiredOption('--channel <channel>', 'OpenClaw channel name')
1871
+ .requiredOption('--thread-id <id>', 'OpenClaw thread id')
1872
+ .requiredOption('--text <text>', 'response text')
1873
+ .option('--source <path>', 'OpenClaw home (default: ~/.openclaw)')
1874
+ .option('--node-lockfile <path>', 'OpenClaw node host lockfile (default: <source>/node.json)')
1875
+ .option('--workspace-target <path>', 'workspace for bridge artifacts (default: cwd)')
1876
+ .option('--endpoint-path <path>', 'OpenClaw response endpoint path', 'messages/reply')
1877
+ .option('--approved-by <name>', 'operator approving live response send')
1878
+ .option('--apply', 'contact the OpenClaw daemon (otherwise dry-run)')
1879
+ .option('--yes', 'confirm live send when used with --apply')
1880
+ .option('--json', 'output JSON')
1881
+ .action(async (options) => {
1882
+ const result = await sendOpenClawResponse({
1883
+ openclawMessageId: options.messageId,
1884
+ channel: options.channel,
1885
+ threadId: options.threadId,
1886
+ text: options.text,
1887
+ dryRun: options.apply !== true,
1888
+ approvedBy: options.approvedBy,
1889
+ liveSendConfirmed: options.apply === true && options.yes === true,
1890
+ endpointPath: options.endpointPath,
1891
+ }, {
1892
+ home: options.source,
1893
+ nodeLockfilePath: options.nodeLockfile,
1894
+ cwd: options.workspaceTarget,
1895
+ });
1896
+ if (options.json) {
1897
+ console.log(stableJson(result));
1898
+ return;
1899
+ }
1900
+ console.log(renderOpenClawBridgeResult({
1901
+ kind: result.kind,
1902
+ ok: result.ok,
1903
+ discovery: result.discovery,
1904
+ record: result.record,
1905
+ sendLogPath: result.sendLogPath,
1906
+ }));
1907
+ });
1908
+ }
1909
+ function registerHermesKanbanCommands(hermes) {
1910
+ const kanban = hermes
1911
+ .command('kanban')
1912
+ .description('Manage the persistent Hermes-compatible Kanban board for this workspace');
1913
+ kanban
1914
+ .command('list')
1915
+ .description('List Kanban cards')
1916
+ .option('--json', 'output JSON')
1917
+ .option('--status <status>', 'filter by todo, in_progress, blocked, or done')
1918
+ .option('--priority <priority>', 'filter by low, medium, high, or urgent')
1919
+ .option('--assignee <assignee>', 'filter by assignee')
1920
+ .option('--tag <tag>', 'filter by tag')
1921
+ .option('--active', 'hide done cards')
1922
+ .action(async (options) => {
1923
+ const store = buildKanbanStore(options.board);
1924
+ const cards = await store.listCards(parseKanbanListFilter(options));
1925
+ printKanbanResult({ kind: 'hermes_kanban_list', boardPath: store.path, count: cards.length, cards }, options, cards.length > 0
1926
+ ? cards.map(renderKanbanCardSummary).join('\n')
1927
+ : `No Kanban cards in ${store.path}`);
1928
+ });
1929
+ kanban
1930
+ .command('show')
1931
+ .description('Show one Kanban card')
1932
+ .argument('<id>', 'card id')
1933
+ .option('--json', 'output JSON')
1934
+ .action(async (id, options) => {
1935
+ const store = buildKanbanStore(options.board);
1936
+ const card = await store.showCard(id);
1937
+ printKanbanResult({ kind: 'hermes_kanban_show', boardPath: store.path, card }, options, [
1938
+ renderKanbanCardSummary(card),
1939
+ card.description ? `Description: ${card.description}` : '',
1940
+ card.assignee ? `Assignee: ${card.assignee}` : '',
1941
+ card.blockedReason ? `Blocked: ${card.blockedReason}` : '',
1942
+ card.tags.length > 0 ? `Tags: ${card.tags.join(', ')}` : '',
1943
+ card.comments.length > 0 ? `Comments: ${card.comments.length}` : '',
1944
+ card.heartbeats.length > 0 ? `Heartbeats: ${card.heartbeats.length}` : '',
1945
+ card.links.length > 0 ? `Links: ${card.links.length}` : '',
1946
+ ].filter(Boolean).join('\n'));
1947
+ });
1948
+ kanban
1949
+ .command('create')
1950
+ .description('Create a Kanban card')
1951
+ .argument('<title>', 'card title')
1952
+ .option('--json', 'output JSON')
1953
+ .option('--id <id>', 'stable card id')
1954
+ .option('--description <description>', 'detailed description')
1955
+ .option('--status <status>', 'initial status')
1956
+ .option('--priority <priority>', 'initial priority')
1957
+ .option('--assignee <assignee>', 'assignee')
1958
+ .option('--tag <tag...>', 'tag list, repeated or comma-separated')
1959
+ .action(async (title, options) => {
1960
+ const store = buildKanbanStore(options.board);
1961
+ const card = await store.createCard(parseKanbanCreateInput(title, options));
1962
+ printKanbanResult({ kind: 'hermes_kanban_create', boardPath: store.path, card }, options, `Created ${renderKanbanCardSummary(card)}`);
1963
+ });
1964
+ kanban
1965
+ .command('complete')
1966
+ .description('Mark a Kanban card as done')
1967
+ .argument('<id>', 'card id')
1968
+ .option('--json', 'output JSON')
1969
+ .option('--comment <comment>', 'completion note')
1970
+ .option('--author <author>', 'note author')
1971
+ .action(async (id, options) => {
1972
+ const store = buildKanbanStore(options.board);
1973
+ const card = await store.completeCard(id, options.comment, options.author);
1974
+ printKanbanResult({ kind: 'hermes_kanban_complete', boardPath: store.path, card }, options, `Completed ${renderKanbanCardSummary(card)}`);
1975
+ });
1976
+ kanban
1977
+ .command('block')
1978
+ .description('Mark a Kanban card as blocked')
1979
+ .argument('<id>', 'card id')
1980
+ .requiredOption('--reason <reason>', 'blocking reason')
1981
+ .option('--json', 'output JSON')
1982
+ .option('--author <author>', 'note author')
1983
+ .action(async (id, options) => {
1984
+ const store = buildKanbanStore(options.board);
1985
+ const card = await store.blockCard(id, options.reason ?? '', options.author);
1986
+ printKanbanResult({ kind: 'hermes_kanban_block', boardPath: store.path, card }, options, `Blocked ${renderKanbanCardSummary(card)}\nReason: ${card.blockedReason ?? ''}`);
1987
+ });
1988
+ kanban
1989
+ .command('unblock')
1990
+ .description('Clear a Kanban card block')
1991
+ .argument('<id>', 'card id')
1992
+ .option('--json', 'output JSON')
1993
+ .option('--comment <comment>', 'unblock note')
1994
+ .option('--author <author>', 'note author')
1995
+ .action(async (id, options) => {
1996
+ const store = buildKanbanStore(options.board);
1997
+ const card = await store.unblockCard(id, options.comment, options.author);
1998
+ printKanbanResult({ kind: 'hermes_kanban_unblock', boardPath: store.path, card }, options, `Unblocked ${renderKanbanCardSummary(card)}`);
1999
+ });
2000
+ kanban
2001
+ .command('comment')
2002
+ .description('Append a comment to a Kanban card')
2003
+ .argument('<id>', 'card id')
2004
+ .argument('<text>', 'comment text')
2005
+ .option('--json', 'output JSON')
2006
+ .option('--author <author>', 'comment author')
2007
+ .action(async (id, text, options) => {
2008
+ const store = buildKanbanStore(options.board);
2009
+ const card = await store.commentCard(id, text, options.author);
2010
+ printKanbanResult({ kind: 'hermes_kanban_comment', boardPath: store.path, card }, options, `Commented ${renderKanbanCardSummary(card)}`);
2011
+ });
2012
+ kanban
2013
+ .command('heartbeat')
2014
+ .description('Record progress heartbeat on a Kanban card')
2015
+ .argument('<id>', 'card id')
2016
+ .option('--json', 'output JSON')
2017
+ .option('--comment <comment>', 'progress note')
2018
+ .option('--author <author>', 'heartbeat author')
2019
+ .action(async (id, options) => {
2020
+ const store = buildKanbanStore(options.board);
2021
+ const card = await store.heartbeatCard(id, options.comment, options.author);
2022
+ printKanbanResult({ kind: 'hermes_kanban_heartbeat', boardPath: store.path, card }, options, `Heartbeat ${renderKanbanCardSummary(card)}`);
2023
+ });
2024
+ kanban
2025
+ .command('link')
2026
+ .description('Attach an artifact, URL, commit, issue, or related reference')
2027
+ .argument('<id>', 'card id')
2028
+ .argument('<target>', 'target reference')
2029
+ .option('--json', 'output JSON')
2030
+ .option('--label <label>', 'link label')
2031
+ .action(async (id, target, options) => {
2032
+ const store = buildKanbanStore(options.board);
2033
+ const card = await store.linkCard(id, target, options.label);
2034
+ printKanbanResult({ kind: 'hermes_kanban_link', boardPath: store.path, card }, options, `Linked ${renderKanbanCardSummary(card)} -> ${target}`);
2035
+ });
2036
+ kanban
2037
+ .command('unlink')
2038
+ .description('Remove a link from a Kanban card by link id or target')
2039
+ .argument('<id>', 'card id')
2040
+ .argument('<linkRef>', 'link id or target reference to remove')
2041
+ .option('--json', 'output JSON')
2042
+ .action(async (id, linkRef, options) => {
2043
+ const store = buildKanbanStore(options.board);
2044
+ const card = await store.unlinkCard(id, linkRef);
2045
+ printKanbanResult({ kind: 'hermes_kanban_unlink', boardPath: store.path, card }, options, `Unlinked ${renderKanbanCardSummary(card)} -/-> ${linkRef}`);
2046
+ });
2047
+ kanban
2048
+ .command('assign')
2049
+ .description('Assign a Kanban card to a profile (or clear with --clear)')
2050
+ .argument('<id>', 'card id')
2051
+ .argument('[assignee]', 'profile/assignee name')
2052
+ .option('--json', 'output JSON')
2053
+ .option('--clear', 'clear the assignee')
2054
+ .option('--author <author>', 'comment author')
2055
+ .action(async (id, assignee, options) => {
2056
+ const store = buildKanbanStore(options.board);
2057
+ const card = await store.assignCard(id, options.clear ? null : assignee ?? null, options.author);
2058
+ printKanbanResult({ kind: 'hermes_kanban_assign', boardPath: store.path, card }, options, `Assigned ${renderKanbanCardSummary(card)} -> ${card.assignee ?? '(unassigned)'}`);
2059
+ });
2060
+ kanban
2061
+ .command('archive')
2062
+ .description('Archive a Kanban card (hidden from default lists)')
2063
+ .argument('<id>', 'card id')
2064
+ .option('--json', 'output JSON')
2065
+ .option('--comment <comment>', 'archive note')
2066
+ .option('--author <author>', 'comment author')
2067
+ .action(async (id, options) => {
2068
+ const store = buildKanbanStore(options.board);
2069
+ const card = await store.archiveCard(id, options.comment, options.author);
2070
+ printKanbanResult({ kind: 'hermes_kanban_archive', boardPath: store.path, card }, options, `Archived ${renderKanbanCardSummary(card)}`);
2071
+ });
2072
+ kanban
2073
+ .command('stats')
2074
+ .description('Show per-status, per-priority, and per-assignee Kanban counts')
2075
+ .option('--json', 'output JSON')
2076
+ .action(async (options) => {
2077
+ const store = buildKanbanStore(options.board);
2078
+ const stats = await store.stats();
2079
+ const text = [
2080
+ `Board: ${store.path}`,
2081
+ `Total: ${stats.total} (unassigned: ${stats.unassigned})`,
2082
+ `Status: ${Object.entries(stats.byStatus).map(([k, v]) => `${k}=${v}`).join(', ')}`,
2083
+ `Priority: ${Object.entries(stats.byPriority).map(([k, v]) => `${k}=${v}`).join(', ')}`,
2084
+ ].join('\n');
2085
+ printKanbanResult({ kind: 'hermes_kanban_stats', boardPath: store.path, ...stats }, options, text);
2086
+ });
2087
+ // Every card command can target a specific board with --board (else
2088
+ // CODEBUDDY_KANBAN_BOARD / the active board / default).
2089
+ for (const cmd of kanban.commands) {
2090
+ cmd.option('--board <slug>', 'target board slug (else CODEBUDDY_KANBAN_BOARD, active board, or default)');
2091
+ }
2092
+ // --- Multi-board management: `hermes kanban boards …` ---
2093
+ const boards = kanban.command('boards').description('Manage multiple Kanban boards');
2094
+ boards
2095
+ .command('list')
2096
+ .description('List Kanban boards with card counts and the active board')
2097
+ .option('--json', 'output JSON')
2098
+ .option('--include-archived', 'include archived boards')
2099
+ .action((options) => {
2100
+ const registry = new KanbanBoardRegistry({ rootDir: process.cwd() });
2101
+ const list = registry.list(options.includeArchived === true);
2102
+ const text = list
2103
+ .map((b) => `${b.current ? '*' : ' '} ${b.slug} — ${b.name} (${b.cardCount} cards)${b.archived ? ' [archived]' : ''}`)
2104
+ .join('\n');
2105
+ printKanbanResult({ kind: 'hermes_kanban_boards_list', boards: list }, options, text || 'No boards.');
2106
+ });
2107
+ boards
2108
+ .command('create')
2109
+ .description('Create a new board and switch to it')
2110
+ .argument('<slug>', 'board slug (lowercase letters, digits, hyphens)')
2111
+ .option('--json', 'output JSON')
2112
+ .option('--name <name>', 'human-readable board name')
2113
+ .action((slug, options) => {
2114
+ const registry = new KanbanBoardRegistry({ rootDir: process.cwd() });
2115
+ const board = registry.create(slug, options.name);
2116
+ printKanbanResult({ kind: 'hermes_kanban_boards_create', board }, options, `Created and switched to board "${board.slug}".`);
2117
+ });
2118
+ boards
2119
+ .command('switch')
2120
+ .description('Switch the active board')
2121
+ .argument('<slug>', 'board slug')
2122
+ .option('--json', 'output JSON')
2123
+ .action((slug, options) => {
2124
+ const registry = new KanbanBoardRegistry({ rootDir: process.cwd() });
2125
+ const board = registry.switch(slug);
2126
+ printKanbanResult({ kind: 'hermes_kanban_boards_switch', board }, options, `Switched to board "${board.slug}".`);
2127
+ });
2128
+ boards
2129
+ .command('rm')
2130
+ .description('Archive a board, or hard-delete it with --delete (the default board cannot be removed)')
2131
+ .argument('<slug>', 'board slug')
2132
+ .option('--json', 'output JSON')
2133
+ .option('--delete', 'permanently delete the board file instead of archiving')
2134
+ .action((slug, options) => {
2135
+ const registry = new KanbanBoardRegistry({ rootDir: process.cwd() });
2136
+ registry.remove(slug, { hardDelete: options.delete === true });
2137
+ printKanbanResult({ kind: 'hermes_kanban_boards_rm', slug, deleted: options.delete === true }, options, options.delete ? `Deleted board "${slug}".` : `Archived board "${slug}".`);
2138
+ });
2139
+ }
2140
+ export function registerHermesCommands(program) {
2141
+ const hermes = program
2142
+ .command('hermes')
2143
+ .description('Inspect the native Hermes-inspired Code Buddy agent profile');
2144
+ registerHermesKanbanCommands(hermes);
2145
+ registerHermesPortalCommands(hermes);
2146
+ registerHermesClawCommands(hermes);
2147
+ hermes
2148
+ .command('status')
2149
+ .description('Show a compact Hermes readiness overview across parity, providers, runtimes, browser, messaging, mobile, learning, and skills')
2150
+ .argument('[dispatchProfile]', `active Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2151
+ .option('--json', 'output JSON')
2152
+ .action(async (profileArg, options) => {
2153
+ const status = await buildHermesOverviewStatus(profileArg);
2154
+ const profileSuffix = status.dispatchProfile === 'balanced' ? '' : ` ${status.dispatchProfile}`;
2155
+ const command = `buddy hermes status${profileSuffix} --json`;
2156
+ const payload = {
2157
+ command,
2158
+ ...status,
2159
+ };
2160
+ if (options.json) {
2161
+ console.log(stableJson(payload));
2162
+ return;
2163
+ }
2164
+ console.log(`Command: ${command}`);
2165
+ console.log(renderHermesOverviewStatus(status));
2166
+ });
2167
+ hermes
2168
+ .command('smoke')
2169
+ .description('Run the safe local Hermes smoke suite for runtime, browser, and protocol gateways')
2170
+ .option('--json', 'output JSON')
2171
+ .action(async (options) => {
2172
+ const suite = await runHermesLocalSmokeSuite();
2173
+ if (options.json) {
2174
+ console.log(stableJson(suite));
2175
+ return;
2176
+ }
2177
+ console.log(renderHermesLocalSmokeSuite(suite));
2178
+ });
2179
+ hermes
2180
+ .command('parity')
2181
+ .description('Show the machine-checkable official Hermes parity manifest')
2182
+ .option('--json', 'output JSON')
2183
+ .option('--markdown', 'output Markdown')
2184
+ .action((options) => {
2185
+ const manifest = buildHermesParityManifest();
2186
+ if (options.json) {
2187
+ console.log(stableJson(manifest));
2188
+ return;
2189
+ }
2190
+ if (options.markdown) {
2191
+ console.log(renderHermesParityManifestMarkdown(manifest));
2192
+ return;
2193
+ }
2194
+ console.log(`Hermes parity manifest: ${manifest.summary.total} areas ` +
2195
+ `(${manifest.summary.covered} covered, ${manifest.summary.coveredPartial} covered/partial, ` +
2196
+ `${manifest.summary.partial} partial, ${manifest.summary.gaps} gaps)`);
2197
+ console.log(`Official source: ${manifest.officialSource.repository} @ ${manifest.officialSource.inspectedCommit}`);
2198
+ console.log(`Audit: ${manifest.officialSource.auditDocument}`);
2199
+ console.log(`Command: ${manifest.command}`);
2200
+ console.log('');
2201
+ for (const feature of manifest.features) {
2202
+ console.log(`${feature.status.padEnd(15)} ${feature.id} - ${feature.area}`);
2203
+ console.log(` Verify: ${feature.verificationCommands[0] ?? 'n/a'}`);
2204
+ if (feature.nextWork) {
2205
+ console.log(` Next: ${feature.nextWork}`);
2206
+ }
2207
+ }
2208
+ });
2209
+ hermes
2210
+ .command('todo')
2211
+ .description('Show the prioritized remaining Hermes feature work')
2212
+ .option('--json', 'output JSON')
2213
+ .option('--limit <n>', 'number of active items to show', '7')
2214
+ .option('--include-deferred', 'include deliberately deferred items such as OpenClaw in active todos')
2215
+ .action((options) => {
2216
+ const todo = buildHermesParityTodo({
2217
+ includeDeferred: options.includeDeferred === true,
2218
+ limit: parseOptionalPositiveInteger(options.limit, '--limit'),
2219
+ });
2220
+ if (options.json) {
2221
+ console.log(stableJson(todo));
2222
+ return;
2223
+ }
2224
+ console.log(renderHermesParityTodo(todo));
2225
+ });
2226
+ hermes
2227
+ .command('tools-parity')
2228
+ .alias('tools')
2229
+ .description('Compare official Hermes tool names against built-in Code Buddy tool schemas')
2230
+ .option('--json', 'output JSON')
2231
+ .option('--markdown', 'output Markdown')
2232
+ .action((options) => {
2233
+ const manifest = buildLocalHermesToolParityManifest();
2234
+ if (options.json) {
2235
+ console.log(stableJson(manifest));
2236
+ return;
2237
+ }
2238
+ if (options.markdown) {
2239
+ console.log(renderHermesToolParityManifestMarkdown(manifest));
2240
+ return;
2241
+ }
2242
+ console.log(renderHermesToolParityManifest(manifest));
2243
+ });
2244
+ hermes
2245
+ .command('toolsets')
2246
+ .description('Show the native Fleet toolsets used by the Hermes Agent profile')
2247
+ .argument('[dispatchProfile]', `active Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2248
+ .option('--json', 'output JSON')
2249
+ .action((profileArg, options) => {
2250
+ const catalog = buildHermesToolsetsCatalog(profileArg);
2251
+ if (options.json) {
2252
+ console.log(stableJson(catalog));
2253
+ return;
2254
+ }
2255
+ console.log(renderHermesToolsetsCatalog(catalog));
2256
+ });
2257
+ hermes
2258
+ .command('profile')
2259
+ .description('Show the Hermes Agent profile mapped onto Code Buddy primitives')
2260
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2261
+ .option('--json', 'output JSON')
2262
+ .action((profileArg, options) => {
2263
+ const dispatchProfile = normalizeDispatchProfile(profileArg);
2264
+ const profile = buildHermesAgentProfile(dispatchProfile);
2265
+ if (options.json) {
2266
+ console.log(JSON.stringify({
2267
+ requestedProfile: profileArg,
2268
+ profile,
2269
+ }, null, 2));
2270
+ return;
2271
+ }
2272
+ console.log(`\nHermes Agent profile: ${profile.name}`);
2273
+ if (profileArg !== dispatchProfile) {
2274
+ console.log(` Requested: ${profileArg} (normalized to balanced)`);
2275
+ }
2276
+ console.log(` ID: ${profile.id}`);
2277
+ console.log(` Default Fleet profile: ${profile.defaultDispatchProfile}`);
2278
+ console.log(` Description: ${profile.description}`);
2279
+ console.log(` Runtime mapping: ${profile.runtimeMapping.implementation} ` +
2280
+ `(${profile.runtimeMapping.codeBuddyRuntime}; upstream ${profile.runtimeMapping.upstreamLanguage} ` +
2281
+ `${profile.runtimeMapping.upstreamRuntime})`);
2282
+ console.log('\nDispatch profile selection:');
2283
+ for (const guidance of profile.dispatchProfileGuidance) {
2284
+ console.log(` ${guidance.profile}: ${guidance.useWhen}`);
2285
+ }
2286
+ console.log('\nNative surfaces:');
2287
+ for (const surface of profile.nativeSurfaces) {
2288
+ console.log(` ${surface.label}: ${surface.codeBuddySurface}`);
2289
+ console.log(` ${surface.purpose}`);
2290
+ }
2291
+ console.log('\nToolsets:');
2292
+ for (const toolset of profile.toolsets) {
2293
+ console.log(` ${toolset.toolsetId}`);
2294
+ console.log(` allow: ${formatList(toolset.allowedTools)}`);
2295
+ console.log(` confirm: ${formatList(toolset.confirmTools)}`);
2296
+ console.log(` deny: ${formatList(toolset.deniedTools)}`);
2297
+ }
2298
+ console.log('\nUse with: buddy --agent hermes');
2299
+ console.log('');
2300
+ });
2301
+ const identity = hermes
2302
+ .command('identity')
2303
+ .alias('id')
2304
+ .description('Inspect the built-in Hermes Agent identity and guardrails');
2305
+ identity
2306
+ .command('status')
2307
+ .description('Print Hermes Agent identity, source, toolset, and guardrail status')
2308
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2309
+ .option('--json', 'output JSON')
2310
+ .action((profileArg, options) => {
2311
+ const status = buildHermesIdentityStatus(profileArg);
2312
+ const profileSuffix = status.identity.dispatchProfile === 'balanced' ? '' : ` ${status.identity.dispatchProfile}`;
2313
+ const command = `buddy hermes identity status${profileSuffix} --json`;
2314
+ const payload = {
2315
+ command,
2316
+ ...status,
2317
+ };
2318
+ if (options.json) {
2319
+ console.log(stableJson(payload));
2320
+ return;
2321
+ }
2322
+ console.log(`Command: ${command}`);
2323
+ console.log(renderHermesIdentityStatus(status));
2324
+ });
2325
+ hermes
2326
+ .command('prompt-size')
2327
+ .description('Show an offline byte breakdown of the Hermes prompt and active tool schemas')
2328
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2329
+ .option('--json', 'output JSON')
2330
+ .action((profileArg, options) => {
2331
+ const diagnostic = buildHermesPromptSizeDiagnostic(profileArg);
2332
+ const profileSuffix = diagnostic.dispatchProfile === 'balanced' ? '' : ` ${diagnostic.dispatchProfile}`;
2333
+ const command = `buddy hermes prompt-size${profileSuffix} --json`;
2334
+ const payload = {
2335
+ command,
2336
+ ...diagnostic,
2337
+ };
2338
+ if (options.json) {
2339
+ console.log(stableJson(payload));
2340
+ return;
2341
+ }
2342
+ console.log(`Command: ${command}`);
2343
+ console.log(renderHermesPromptSizeDiagnostic(diagnostic));
2344
+ });
2345
+ const memory = hermes
2346
+ .command('memory')
2347
+ .description('Inspect Hermes memory provider readiness');
2348
+ memory
2349
+ .command('status')
2350
+ .description('Print local and external memory provider readiness')
2351
+ .option('--json', 'output JSON')
2352
+ .action((options) => {
2353
+ const readiness = buildHermesMemoryProvidersReadiness();
2354
+ const command = 'buddy hermes memory status --json';
2355
+ const payload = {
2356
+ command,
2357
+ kind: 'hermes_memory_providers_status',
2358
+ schemaVersion: 1,
2359
+ readiness,
2360
+ };
2361
+ if (options.json) {
2362
+ console.log(stableJson(payload));
2363
+ return;
2364
+ }
2365
+ console.log(`Command: ${command}`);
2366
+ console.log(renderHermesMemoryProvidersReadiness(readiness));
2367
+ });
2368
+ memory
2369
+ .command('probe [provider]')
2370
+ .description('Live round-trip test: write+read a marker through a memory provider (defaults to the active one)')
2371
+ .option('--json', 'output JSON')
2372
+ .action(async (provider, options) => {
2373
+ const result = await probeMemoryProvider(provider);
2374
+ const command = `buddy hermes memory probe${provider ? ` ${provider}` : ''} --json`;
2375
+ if (options.json) {
2376
+ console.log(stableJson({ command, ...result }));
2377
+ return;
2378
+ }
2379
+ console.log(`Command: ${command}`);
2380
+ console.log(renderHermesMemoryProbe(result));
2381
+ if (!result.ok)
2382
+ process.exitCode = 1;
2383
+ });
2384
+ const learning = hermes
2385
+ .command('learning')
2386
+ .description('Inspect Hermes closed learning loop readiness');
2387
+ learning
2388
+ .command('status')
2389
+ .description('Print Learning Agent, lesson, user-model, skill telemetry and review-gate readiness')
2390
+ .option('--json', 'output JSON')
2391
+ .option('--limit <n>', 'number of recent runs to inspect', '10')
2392
+ .action((options) => {
2393
+ const limit = parseOptionalPositiveInteger(options.limit, '--limit');
2394
+ const command = limit === 10
2395
+ ? 'buddy hermes learning status --json'
2396
+ : `buddy hermes learning status --limit ${limit} --json`;
2397
+ const status = buildHermesLearningLoopStatus({
2398
+ limit,
2399
+ });
2400
+ if (options.json) {
2401
+ console.log(stableJson({ command, ...status }));
2402
+ return;
2403
+ }
2404
+ console.log(`Command: ${command}`);
2405
+ console.log(renderHermesLearningLoopStatus(status));
2406
+ });
2407
+ const skills = hermes
2408
+ .command('skills')
2409
+ .description('Inspect Hermes-compatible skill package readiness');
2410
+ skills
2411
+ .command('status')
2412
+ .description('Print installed SKILL.md package health and review-gated lifecycle commands')
2413
+ .option('--json', 'output JSON')
2414
+ .option('--limit <n>', 'number of installed skill packages to include', '20')
2415
+ .action((options) => {
2416
+ const summary = buildHermesSkillPackageSummary(process.cwd(), {
2417
+ limit: parseOptionalPositiveInteger(options.limit, '--limit'),
2418
+ previewChars: 0,
2419
+ });
2420
+ const command = 'buddy hermes skills status --json';
2421
+ const payload = {
2422
+ command,
2423
+ kind: 'hermes_skills_status',
2424
+ schemaVersion: 1,
2425
+ summary,
2426
+ };
2427
+ if (options.json) {
2428
+ console.log(stableJson(payload));
2429
+ return;
2430
+ }
2431
+ console.log(`Command: ${command}`);
2432
+ console.log(renderHermesSkillPackageSummary(summary));
2433
+ });
2434
+ const messaging = hermes
2435
+ .command('messaging')
2436
+ .description('Inspect Hermes messaging gateway readiness');
2437
+ messaging
2438
+ .command('status')
2439
+ .description('Print configured and runtime messaging channel readiness')
2440
+ .option('--json', 'output JSON')
2441
+ .option('--config <path>', 'channel config path')
2442
+ .action(async (options) => {
2443
+ const status = await buildHermesMessagingGatewayStatus(options.config);
2444
+ const command = 'buddy hermes messaging status --json';
2445
+ const payload = {
2446
+ command,
2447
+ kind: 'hermes_messaging_gateway_status',
2448
+ schemaVersion: 1,
2449
+ status,
2450
+ };
2451
+ if (options.json) {
2452
+ console.log(stableJson(payload));
2453
+ return;
2454
+ }
2455
+ console.log(`Command: ${command}`);
2456
+ console.log(renderHermesMessagingGatewayStatus(status));
2457
+ });
2458
+ const mobile = hermes
2459
+ .command('mobile')
2460
+ .description('Inspect Hermes mobile supervision gateway readiness');
2461
+ mobile
2462
+ .command('status')
2463
+ .description('Print mobile supervision routes, policy, pairing, and approval queue readiness')
2464
+ .argument('[query...]', 'run recall query for the mobile supervision snapshot')
2465
+ .option('-n, --limit <n>', 'number of matching runs to inspect for snapshot readiness', '20')
2466
+ .option('--source <source>', 'filter by source/channel/tag (repeatable: cli, cowork, fleet, scheduled, mobile)', collectHermesOption, [])
2467
+ .option('--json', 'output JSON')
2468
+ .action(async (queryParts, options) => {
2469
+ const limit = parseOptionalPositiveInteger(options.limit, '--limit') ?? 20;
2470
+ const commandParts = ['buddy hermes mobile status'];
2471
+ if ((queryParts ?? []).join(' ').trim()) {
2472
+ commandParts.push('<query>');
2473
+ }
2474
+ const sourceFilters = options.source ?? [];
2475
+ for (let index = 0; index < sourceFilters.length; index++) {
2476
+ commandParts.push('--source <source>');
2477
+ }
2478
+ if (limit !== 20) {
2479
+ commandParts.push(`--limit ${limit}`);
2480
+ }
2481
+ commandParts.push('--json');
2482
+ const command = commandParts.join(' ');
2483
+ const status = await buildHermesMobileSupervisionStatus(queryParts ?? [], options);
2484
+ if (options.json) {
2485
+ console.log(stableJson({ command, ...status }));
2486
+ return;
2487
+ }
2488
+ console.log(`Command: ${command}`);
2489
+ console.log(renderHermesMobileSupervisionStatus(status));
2490
+ });
2491
+ const trajectories = hermes
2492
+ .command('trajectories')
2493
+ .alias('trajectory')
2494
+ .description('Inspect Hermes trajectory export, recall, and research eval compatibility');
2495
+ trajectories
2496
+ .command('status')
2497
+ .description('Print trajectory export/compression compatibility and optional real run probes')
2498
+ .argument('[query...]', 'optional recall query to probe against stored runs')
2499
+ .option('--run-id <runId>', 'optional stored run id to probe with redacted trajectory export')
2500
+ .option('--include-artifact-content', 'include redacted artifact content in the run export probe')
2501
+ .option('--max-artifact-bytes <bytes>', 'max redacted artifact preview bytes for the run export probe', '4000')
2502
+ .option('--json', 'output JSON')
2503
+ .action((queryParts, options) => {
2504
+ const query = (queryParts ?? []).join(' ');
2505
+ const maxArtifactBytes = parseOptionalPositiveInteger(options.maxArtifactBytes, '--max-artifact-bytes');
2506
+ const commandParts = ['buddy hermes trajectories status'];
2507
+ if (query.trim()) {
2508
+ commandParts.push('<query>');
2509
+ }
2510
+ if (options.runId?.trim()) {
2511
+ commandParts.push(`--run-id ${options.runId.trim()}`);
2512
+ }
2513
+ if (options.includeArtifactContent === true) {
2514
+ commandParts.push('--include-artifact-content');
2515
+ }
2516
+ if (String(maxArtifactBytes) !== '4000') {
2517
+ commandParts.push(`--max-artifact-bytes ${maxArtifactBytes}`);
2518
+ }
2519
+ commandParts.push('--json');
2520
+ const command = commandParts.join(' ');
2521
+ const report = buildHermesTrajectoryCompatibilityReport({
2522
+ includeArtifactContent: options.includeArtifactContent === true,
2523
+ maxArtifactBytes,
2524
+ query,
2525
+ runId: options.runId,
2526
+ });
2527
+ if (options.json) {
2528
+ console.log(stableJson({ command, ...report }));
2529
+ return;
2530
+ }
2531
+ console.log(`Command: ${command}`);
2532
+ console.log(renderHermesTrajectoryCompatibilityReport(report));
2533
+ });
2534
+ const protocols = hermes
2535
+ .command('protocols')
2536
+ .alias('protocol')
2537
+ .description('Inspect Hermes MCP, A2A, and ACP gateway readiness');
2538
+ protocols
2539
+ .command('status')
2540
+ .description('Print protocol gateway readiness for MCP, A2A, ACP, and channel bridges')
2541
+ .option('--json', 'output JSON')
2542
+ .action((options) => {
2543
+ const readiness = buildHermesProtocolGatewayReadiness();
2544
+ const command = 'buddy hermes protocols status --json';
2545
+ if (options.json) {
2546
+ console.log(stableJson({ command, ...readiness }));
2547
+ return;
2548
+ }
2549
+ console.log(`Command: ${command}`);
2550
+ console.log(renderHermesProtocolGatewayReadiness(readiness));
2551
+ });
2552
+ hermes
2553
+ .command('protocols-smoke')
2554
+ .description('Run an opt-in live smoke for local MCP stdio plus A2A/ACP HTTP routes')
2555
+ .argument('[target]', 'smoke target (only local is supported)', 'local')
2556
+ .option('--json', 'output JSON')
2557
+ .action(async (target, options) => {
2558
+ if (target !== 'local') {
2559
+ throw new Error(`Unsupported protocols smoke target: ${target}`);
2560
+ }
2561
+ const result = await runHermesProtocolGatewaySmoke();
2562
+ if (options.json) {
2563
+ console.log(stableJson(result));
2564
+ return;
2565
+ }
2566
+ console.log(renderHermesProtocolGatewaySmoke(result));
2567
+ });
2568
+ const providers = hermes
2569
+ .command('providers')
2570
+ .alias('provider')
2571
+ .description('Inspect Hermes provider and active model readiness');
2572
+ providers
2573
+ .command('status')
2574
+ .description('Print active model, provider credentials, and capability readiness')
2575
+ .option('--json', 'output JSON')
2576
+ .action((options) => {
2577
+ const readiness = buildHermesProviderReadiness();
2578
+ const command = 'buddy hermes providers status --json';
2579
+ const payload = {
2580
+ command,
2581
+ kind: 'hermes_provider_readiness_status',
2582
+ schemaVersion: 1,
2583
+ readiness,
2584
+ };
2585
+ if (options.json) {
2586
+ console.log(stableJson(payload));
2587
+ return;
2588
+ }
2589
+ console.log(`Command: ${command}`);
2590
+ console.log(renderHermesProviderReadiness(readiness));
2591
+ });
2592
+ const model = hermes
2593
+ .command('model')
2594
+ .alias('models')
2595
+ .description('Inspect the active Hermes model with compact setup guidance');
2596
+ model
2597
+ .command('status')
2598
+ .description('Print active model, credential source names, and next setup checks')
2599
+ .option('--json', 'output JSON')
2600
+ .action((options) => {
2601
+ const status = buildHermesModelStatus();
2602
+ const command = 'buddy hermes model status --json';
2603
+ const payload = {
2604
+ command,
2605
+ ...status,
2606
+ };
2607
+ if (options.json) {
2608
+ console.log(stableJson(payload));
2609
+ return;
2610
+ }
2611
+ console.log(`Command: ${command}`);
2612
+ console.log(renderHermesModelStatus(status));
2613
+ });
2614
+ hermes
2615
+ .command('plan')
2616
+ .description('Print a short Hermes integration checklist for the selected dispatch profile')
2617
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2618
+ .option('--json', 'output JSON')
2619
+ .option('--markdown', 'output Markdown')
2620
+ .option('--plan-output <file>', 'write plan output to a file')
2621
+ .action((profileArg, options) => {
2622
+ const dispatchProfile = normalizeDispatchProfile(profileArg);
2623
+ const plan = buildHermesIntegrationPlan(dispatchProfile);
2624
+ const outputFormat = inferHermesPlanOutputFormat(options);
2625
+ const output = renderHermesPlanOutput(profileArg, plan, outputFormat);
2626
+ if (options.planOutput) {
2627
+ writeHermesPlanOutput(options.planOutput, output);
2628
+ console.log(`Hermes plan exported to ${options.planOutput}`);
2629
+ return;
2630
+ }
2631
+ console.log(output);
2632
+ });
2633
+ hermes
2634
+ .command('agent')
2635
+ .description('Print the built-in Hermes Agent system prompt')
2636
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2637
+ .option('--json', 'output JSON')
2638
+ .action((profileArg, options) => {
2639
+ const dispatchProfile = normalizeDispatchProfile(profileArg);
2640
+ const systemPrompt = buildHermesAgentSystemPrompt(dispatchProfile);
2641
+ if (options.json) {
2642
+ console.log(JSON.stringify({
2643
+ id: 'hermes',
2644
+ name: 'Hermes Agent',
2645
+ requestedProfile: profileArg,
2646
+ dispatchProfile,
2647
+ systemPrompt,
2648
+ }, null, 2));
2649
+ return;
2650
+ }
2651
+ console.log('\nHermes Agent system prompt:\n');
2652
+ console.log(systemPrompt);
2653
+ console.log('');
2654
+ });
2655
+ hermes
2656
+ .command('hooks')
2657
+ .description('Show the Hermes lifecycle hook contract and configured handlers')
2658
+ .option('--json', 'output JSON')
2659
+ .action((options) => {
2660
+ const manifest = buildHermesHookLifecycleManifest(process.cwd());
2661
+ const command = 'buddy hermes hooks --json';
2662
+ const publicManifest = {
2663
+ command,
2664
+ ...manifest,
2665
+ workingDirectory: '[workspace]',
2666
+ };
2667
+ if (options.json) {
2668
+ console.log(stableJson(publicManifest));
2669
+ return;
2670
+ }
2671
+ console.log(`Command: ${command}`);
2672
+ console.log(renderHermesHookLifecycleManifest(publicManifest));
2673
+ });
2674
+ hermes
2675
+ .command('doctor')
2676
+ .description('Check the built-in Hermes Agent profile and effective tool filter')
2677
+ .argument('[dispatchProfile]', `default Fleet profile (${FLEET_DISPATCH_PROFILES.join(', ')})`, 'balanced')
2678
+ .option('--json', 'output JSON')
2679
+ .action((profileArg, options) => {
2680
+ const diagnostics = buildHermesAgentDiagnostics({ dispatchProfile: profileArg });
2681
+ const command = `buddy hermes doctor ${profileArg} --json`;
2682
+ if (options.json) {
2683
+ console.log(stableJson({
2684
+ command,
2685
+ requestedProfile: profileArg,
2686
+ diagnostics,
2687
+ }));
2688
+ return;
2689
+ }
2690
+ console.log(`Command: ${command}`);
2691
+ console.log(`\nHermes Agent doctor: ${formatOk(diagnostics.ok)}`);
2692
+ if (profileArg !== diagnostics.dispatchProfile) {
2693
+ console.log(` Requested: ${profileArg} (normalized to balanced)`);
2694
+ }
2695
+ console.log(` Source: ${diagnostics.source}`);
2696
+ console.log(` Agent path: ${diagnostics.agentPath ?? 'none'}`);
2697
+ console.log(` Dispatch profile: ${diagnostics.dispatchProfile}`);
2698
+ console.log(` Agent default dispatch profile: ${diagnostics.fleetDispatchProfile ?? 'none'}`);
2699
+ console.log(` Requires explicit delegation profile: ${diagnostics.requireExplicitDispatchProfile ? 'yes' : 'no'}`);
2700
+ console.log(` Active toolset: ${diagnostics.activeToolset.toolsetId}`);
2701
+ console.log(` Agent tools: ${formatAllowList(diagnostics.enabledTools)}`);
2702
+ console.log(` Agent disabled tools: ${formatList(diagnostics.disabledTools)}`);
2703
+ console.log(` Effective runnable tools: ${formatAllowList(diagnostics.effectiveEnabledTools)}`);
2704
+ console.log(` Effective filter allow: ${formatAllowList(diagnostics.effectiveToolFilter.enabledPatterns)}`);
2705
+ console.log(` Effective filter deny: ${formatList(diagnostics.effectiveToolFilter.disabledPatterns)}`);
2706
+ console.log(' Provider/model readiness:');
2707
+ console.log(` Model: ${diagnostics.providerReadiness.activeModel.model}`);
2708
+ console.log(` Provider: ${diagnostics.providerReadiness.activeProvider.label}`);
2709
+ console.log(` Credentials/endpoint: ${diagnostics.providerReadiness.activeProvider.configured ? 'configured' : 'missing'}`);
2710
+ console.log(` Capabilities: tool-calls=${diagnostics.providerReadiness.activeModel.supportsToolCalls ? 'yes' : 'no'}, ` +
2711
+ `reasoning=${diagnostics.providerReadiness.activeModel.supportsReasoning ? 'yes' : 'no'}, ` +
2712
+ `vision=${diagnostics.providerReadiness.activeModel.supportsVision ? 'yes' : 'no'}`);
2713
+ console.log(` Context/output: ${diagnostics.providerReadiness.activeModel.contextWindow ?? 'unknown'} / ` +
2714
+ `${diagnostics.providerReadiness.activeModel.maxOutputTokens ?? 'unknown'} tokens`);
2715
+ console.log(` Nous Tool Gateway: ${diagnostics.providerReadiness.portal.portal.toolGatewayConfigured ? 'configured' : 'not configured'}`);
2716
+ console.log(' Runtime backends:');
2717
+ console.log(` Available: ${diagnostics.runtimeBackends.availableCount}/${diagnostics.runtimeBackends.backends.length}, ` +
2718
+ `runnable: ${diagnostics.runtimeBackends.runnableCount}/${diagnostics.runtimeBackends.backends.length}, ` +
2719
+ `configured remote: ${diagnostics.runtimeBackends.configuredRemoteCount}`);
2720
+ for (const backend of diagnostics.runtimeBackends.backends) {
2721
+ console.log(` ${backend.id}: ${backend.status}` +
2722
+ `${backend.version ? ` (${backend.version})` : ''}`);
2723
+ }
2724
+ console.log(' Browser automation backends:');
2725
+ console.log(` Local runnable: ${diagnostics.browserBackends.localRunnableCount}, ` +
2726
+ `managed configured: ${diagnostics.browserBackends.managedConfiguredCount}`);
2727
+ for (const backend of diagnostics.browserBackends.backends) {
2728
+ console.log(` ${backend.id}: ${backend.status}` +
2729
+ `${backend.version ? ` (${backend.version})` : ''}`);
2730
+ }
2731
+ console.log(' Dispatch profile selection:');
2732
+ for (const guidance of diagnostics.dispatchProfileGuidance) {
2733
+ console.log(` ${guidance.profile}: ${guidance.useWhen}`);
2734
+ }
2735
+ console.log(` Native surfaces: ${formatList(diagnostics.nativeSurfaceIds)}`);
2736
+ if (diagnostics.issues.length > 0) {
2737
+ console.log('\nIssues:');
2738
+ for (const issue of diagnostics.issues) {
2739
+ console.log(` - ${issue}`);
2740
+ }
2741
+ }
2742
+ if (diagnostics.recommendations.length > 0) {
2743
+ console.log('\nRecommendations:');
2744
+ for (const recommendation of diagnostics.recommendations) {
2745
+ console.log(` - ${recommendation}`);
2746
+ }
2747
+ }
2748
+ if (diagnostics.providerReadiness.issues.length > 0) {
2749
+ console.log('\nProvider/model issues:');
2750
+ for (const issue of diagnostics.providerReadiness.issues) {
2751
+ console.log(` - ${issue}`);
2752
+ }
2753
+ }
2754
+ if (diagnostics.providerReadiness.recommendations.length > 0) {
2755
+ console.log('\nProvider/model recommendations:');
2756
+ for (const recommendation of diagnostics.providerReadiness.recommendations) {
2757
+ console.log(` - ${recommendation}`);
2758
+ }
2759
+ }
2760
+ if (diagnostics.runtimeBackends.issues.length > 0) {
2761
+ console.log('\nRuntime backend issues:');
2762
+ for (const issue of diagnostics.runtimeBackends.issues) {
2763
+ console.log(` - ${issue}`);
2764
+ }
2765
+ }
2766
+ if (diagnostics.runtimeBackends.recommendations.length > 0) {
2767
+ console.log('\nRuntime backend recommendations:');
2768
+ for (const recommendation of diagnostics.runtimeBackends.recommendations) {
2769
+ console.log(` - ${recommendation}`);
2770
+ }
2771
+ }
2772
+ if (diagnostics.browserBackends.issues.length > 0) {
2773
+ console.log('\nBrowser backend issues:');
2774
+ for (const issue of diagnostics.browserBackends.issues) {
2775
+ console.log(` - ${issue}`);
2776
+ }
2777
+ }
2778
+ if (diagnostics.browserBackends.recommendations.length > 0) {
2779
+ console.log('\nBrowser backend recommendations:');
2780
+ for (const recommendation of diagnostics.browserBackends.recommendations) {
2781
+ console.log(` - ${recommendation}`);
2782
+ }
2783
+ }
2784
+ if (diagnostics.issues.length === 0 &&
2785
+ diagnostics.recommendations.length === 0 &&
2786
+ diagnostics.providerReadiness.issues.length === 0 &&
2787
+ diagnostics.providerReadiness.recommendations.length === 0 &&
2788
+ diagnostics.runtimeBackends.issues.length === 0 &&
2789
+ diagnostics.runtimeBackends.recommendations.length === 0 &&
2790
+ diagnostics.browserBackends.issues.length === 0 &&
2791
+ diagnostics.browserBackends.recommendations.length === 0) {
2792
+ console.log('\nNo issues or recommendations.');
2793
+ }
2794
+ console.log('');
2795
+ });
2796
+ const browser = hermes
2797
+ .command('browser')
2798
+ .description('Inspect Hermes browser backend readiness');
2799
+ browser
2800
+ .command('status')
2801
+ .description('Print local and managed browser backend readiness')
2802
+ .option('--json', 'output JSON')
2803
+ .action((options) => {
2804
+ const readiness = buildHermesBrowserBackendsReadiness();
2805
+ const command = 'buddy hermes browser status --json';
2806
+ const payload = {
2807
+ command,
2808
+ kind: 'hermes_browser_backends_status',
2809
+ schemaVersion: 1,
2810
+ readiness,
2811
+ };
2812
+ if (options.json) {
2813
+ console.log(stableJson(payload));
2814
+ return;
2815
+ }
2816
+ console.log(`Command: ${command}`);
2817
+ console.log(renderHermesBrowserBackendsReadiness(readiness));
2818
+ });
2819
+ hermes
2820
+ .command('browser-smoke')
2821
+ .description('Run an opt-in live smoke for one Hermes browser backend')
2822
+ .argument('<backendId>', 'backend id from buddy hermes browser status, for example local-playwright')
2823
+ .option('--cdp-url <url>', 'Chrome DevTools endpoint for remote-cdp smoke')
2824
+ .option('--recording-dir <dir>', 'directory for browser recording artifacts')
2825
+ .option('--json', 'output JSON')
2826
+ .action(async (backendId, options) => {
2827
+ const result = await runHermesBrowserBackendSmoke({
2828
+ artifactsDir: options.recordingDir,
2829
+ backendId,
2830
+ cdpUrl: options.cdpUrl,
2831
+ });
2832
+ const payload = {
2833
+ kind: 'hermes_browser_backend_smoke',
2834
+ schemaVersion: 1,
2835
+ result,
2836
+ };
2837
+ if (options.json) {
2838
+ console.log(stableJson(payload));
2839
+ return;
2840
+ }
2841
+ console.log(renderHermesBrowserSmoke(result));
2842
+ });
2843
+ const runtime = hermes
2844
+ .command('runtime')
2845
+ .description('Inspect Hermes runtime backend readiness');
2846
+ runtime
2847
+ .command('status')
2848
+ .description('Print local, sandbox, and remote runtime backend readiness')
2849
+ .option('--json', 'output JSON')
2850
+ .action((options) => {
2851
+ const readiness = buildHermesRuntimeBackendsReadiness();
2852
+ const command = 'buddy hermes runtime status --json';
2853
+ const payload = {
2854
+ command,
2855
+ kind: 'hermes_runtime_backends_status',
2856
+ schemaVersion: 1,
2857
+ readiness,
2858
+ };
2859
+ if (options.json) {
2860
+ console.log(stableJson(payload));
2861
+ return;
2862
+ }
2863
+ console.log(`Command: ${command}`);
2864
+ console.log(renderHermesRuntimeBackendsReadiness(readiness));
2865
+ });
2866
+ hermes
2867
+ .command('runtime-smoke')
2868
+ .description('Run an opt-in live smoke for one Hermes runtime backend')
2869
+ .argument('<backendId>', 'backend id from buddy hermes runtime status, or auto for the safe local-first route')
2870
+ .option('--allow-docker', 'allow Docker smoke to start a no-network container and pull the image if missing')
2871
+ .option('--allow-remote', 'allow configured remote backend smoke commands to contact their provider')
2872
+ .option('--json', 'output JSON')
2873
+ .option('--timeout-ms <ms>', 'smoke timeout in milliseconds')
2874
+ .action((backendId, options) => {
2875
+ const result = runHermesRuntimeBackendSmoke({
2876
+ allowDockerSmoke: options.allowDocker,
2877
+ allowRemoteSmoke: options.allowRemote,
2878
+ backendId,
2879
+ timeoutMs: parseOptionalPositiveInteger(options.timeoutMs, '--timeout-ms'),
2880
+ });
2881
+ const payload = {
2882
+ kind: 'hermes_runtime_backend_smoke',
2883
+ schemaVersion: 1,
2884
+ result,
2885
+ };
2886
+ if (options.json) {
2887
+ console.log(stableJson(payload));
2888
+ return;
2889
+ }
2890
+ console.log(renderHermesRuntimeSmoke(result));
2891
+ });
2892
+ }
2893
+ //# sourceMappingURL=hermes-commands.js.map