@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
@@ -1,20 +1,24 @@
1
1
  /**
2
2
  * Skills Hub
3
3
  *
4
- * OpenClaw ClawHub-inspired Skills Hub for searching, installing,
4
+ * Native Engine ClawHub-inspired Skills Hub for searching, installing,
5
5
  * publishing, and syncing skills from a remote registry.
6
6
  *
7
7
  * Provides lockfile-based integrity management, SHA-256 checksums,
8
8
  * semver version comparison, and event-driven lifecycle hooks.
9
9
  */
10
10
  import { EventEmitter } from 'events';
11
- import { createHash } from 'crypto';
11
+ import { createHash, randomUUID } from 'crypto';
12
12
  import * as fs from 'fs';
13
13
  import * as path from 'path';
14
14
  import * as os from 'os';
15
15
  import * as yaml from 'yaml';
16
16
  import { logger } from '../utils/logger.js';
17
+ import { generateDiff } from '../utils/diff-generator.js';
17
18
  import { parseSkillFile, validateSkill } from './parser.js';
19
+ import { generateSkillSigningKeyPair, signSkillContent, resolveSignatureVerification, validateEd25519PublicKey, meetsTrust, isSkillKeyTrust, } from './hub-signing.js';
20
+ // Re-export the signing surface so consumers can import everything from the hub.
21
+ export { generateSkillSigningKeyPair, signSkillContent, resolveSignatureVerification, verifySkillSignatureMath, computeKeyId, meetsTrust, } from './hub-signing.js';
18
22
  // ============================================================================
19
23
  // Constants
20
24
  // ============================================================================
@@ -23,10 +27,25 @@ const DEFAULT_HUB_CONFIG = {
23
27
  cacheDir: path.join(os.homedir(), '.codebuddy', 'hub', 'cache'),
24
28
  skillsDir: path.join(os.homedir(), '.codebuddy', 'skills', 'managed'),
25
29
  lockfilePath: path.join(os.homedir(), '.codebuddy', 'hub', 'lock.json'),
30
+ tapsPath: path.join(os.homedir(), '.codebuddy', 'hub', 'taps.json'),
31
+ trustedKeysPath: path.join(os.homedir(), '.codebuddy', 'hub', 'trusted-keys.json'),
32
+ requireSignedInstalls: false,
33
+ githubApiBaseUrl: 'https://api.github.com',
34
+ githubRawBaseUrl: 'https://raw.githubusercontent.com',
26
35
  autoUpdate: false,
27
36
  checkIntervalMs: 24 * 60 * 60 * 1000, // 24 hours
28
37
  };
29
38
  const LOCKFILE_VERSION = 1;
39
+ const TAPS_FILE_VERSION = 1;
40
+ const TRUSTED_KEYS_FILE_VERSION = 1;
41
+ const SUPPORTING_FILE_DIRS = new Set(['references', 'templates', 'scripts', 'assets']);
42
+ const MAX_SUPPORTING_FILE_BYTES = 1_048_576;
43
+ const DEFAULT_TAP_PATH = 'skills/';
44
+ const TRUSTED_TAP_REPOS = new Set([
45
+ 'anthropics/skills',
46
+ 'huggingface/skills',
47
+ 'openai/skills',
48
+ ]);
30
49
  // ============================================================================
31
50
  // Utility Functions
32
51
  // ============================================================================
@@ -45,7 +64,9 @@ export function parseSemver(version) {
45
64
  if (!match) {
46
65
  return [0, 0, 0];
47
66
  }
48
- return [parseInt(match[1], 10), parseInt(match[2], 10), parseInt(match[3], 10)];
67
+ // safe: regex matched with three mandatory `(\d+)` capture groups, so match[1..3] are present
68
+ const [, major, minor, patch] = match;
69
+ return [parseInt(major ?? '0', 10), parseInt(minor ?? '0', 10), parseInt(patch ?? '0', 10)];
49
70
  }
50
71
  /**
51
72
  * Compare two semver strings.
@@ -93,6 +114,14 @@ export class SkillsHub extends EventEmitter {
93
114
  if (!fs.existsSync(lockDir)) {
94
115
  fs.mkdirSync(lockDir, { recursive: true });
95
116
  }
117
+ const tapsDir = path.dirname(this.config.tapsPath);
118
+ if (!fs.existsSync(tapsDir)) {
119
+ fs.mkdirSync(tapsDir, { recursive: true });
120
+ }
121
+ const trustedKeysDir = path.dirname(this.config.trustedKeysPath);
122
+ if (!fs.existsSync(trustedKeysDir)) {
123
+ fs.mkdirSync(trustedKeysDir, { recursive: true });
124
+ }
96
125
  }
97
126
  /**
98
127
  * Read the lockfile from disk. Returns an empty lockfile if not found.
@@ -132,7 +161,708 @@ export class SkillsHub extends EventEmitter {
132
161
  * Get the lockfile contents (for testing / external inspection).
133
162
  */
134
163
  getLockfile() {
135
- return { ...this.lockfile, skills: { ...this.lockfile.skills } };
164
+ return {
165
+ ...this.lockfile,
166
+ skills: Object.fromEntries(Object.entries(this.lockfile.skills).map(([name, skill]) => [
167
+ name,
168
+ {
169
+ ...skill,
170
+ usage: skill.usage ? { ...skill.usage } : undefined,
171
+ lifecycle: skill.lifecycle ? { ...skill.lifecycle } : undefined,
172
+ history: skill.history?.map((snapshot) => ({ ...snapshot })),
173
+ },
174
+ ])),
175
+ };
176
+ }
177
+ // ==========================================================================
178
+ // Taps & Trust
179
+ // ==========================================================================
180
+ /**
181
+ * List configured skill taps. Taps are repository-backed skill catalogs
182
+ * compatible with Hermes' owner/repo + path model.
183
+ */
184
+ listTaps() {
185
+ return this.readTapsFile().taps.map((tap) => ({ ...tap }));
186
+ }
187
+ addTap(repo, options = {}) {
188
+ const normalizedRepo = this.normalizeTapRepo(repo);
189
+ const tapsFile = this.readTapsFile();
190
+ const existing = tapsFile.taps.find((tap) => tap.repo === normalizedRepo);
191
+ const now = options.updatedAt ?? Date.now();
192
+ const trust = options.trust ?? this.defaultTapTrust(normalizedRepo);
193
+ const tapPath = this.normalizeTapPath(options.path ?? existing?.path ?? DEFAULT_TAP_PATH);
194
+ if (existing) {
195
+ existing.path = tapPath;
196
+ existing.trust = trust;
197
+ existing.updatedAt = now;
198
+ if (options.actor)
199
+ existing.addedBy = options.actor;
200
+ this.writeTapsFile(tapsFile);
201
+ this.emit('tap:updated', { ...existing });
202
+ return { ...existing };
203
+ }
204
+ const tap = {
205
+ repo: normalizedRepo,
206
+ path: tapPath,
207
+ trust,
208
+ addedAt: now,
209
+ updatedAt: now,
210
+ ...(options.actor ? { addedBy: options.actor } : {}),
211
+ };
212
+ tapsFile.taps.push(tap);
213
+ tapsFile.taps.sort((left, right) => left.repo.localeCompare(right.repo));
214
+ this.writeTapsFile(tapsFile);
215
+ this.emit('tap:added', { ...tap });
216
+ return { ...tap };
217
+ }
218
+ removeTap(repo) {
219
+ const normalizedRepo = this.normalizeTapRepo(repo);
220
+ const tapsFile = this.readTapsFile();
221
+ const next = tapsFile.taps.filter((tap) => tap.repo !== normalizedRepo);
222
+ if (next.length === tapsFile.taps.length) {
223
+ return false;
224
+ }
225
+ tapsFile.taps = next;
226
+ this.writeTapsFile(tapsFile);
227
+ this.emit('tap:removed', normalizedRepo);
228
+ return true;
229
+ }
230
+ setTapTrust(repo, trust, options = {}) {
231
+ const normalizedRepo = this.normalizeTapRepo(repo);
232
+ const tapsFile = this.readTapsFile();
233
+ const tap = tapsFile.taps.find((item) => item.repo === normalizedRepo);
234
+ if (!tap) {
235
+ return null;
236
+ }
237
+ tap.trust = this.normalizeTapTrust(trust);
238
+ tap.updatedAt = options.updatedAt ?? Date.now();
239
+ if (options.actor)
240
+ tap.addedBy = options.actor;
241
+ this.writeTapsFile(tapsFile);
242
+ this.emit('tap:trust_updated', { ...tap });
243
+ return { ...tap };
244
+ }
245
+ getTapTrust(repo) {
246
+ const normalizedRepo = this.normalizeTapRepo(repo);
247
+ const tap = this.readTapsFile().taps.find((item) => item.repo === normalizedRepo);
248
+ return tap?.trust ?? this.defaultTapTrust(normalizedRepo);
249
+ }
250
+ /**
251
+ * Discover SKILL.md packages from configured GitHub taps. This is read-only:
252
+ * it indexes remote metadata into the local cache but does not install or
253
+ * trust any skill content automatically.
254
+ */
255
+ async refreshTapIndex(repo) {
256
+ const selectedTaps = repo
257
+ ? this.listTaps().filter((tap) => tap.repo === this.normalizeTapRepo(repo))
258
+ : this.listTaps();
259
+ if (repo && selectedTaps.length === 0) {
260
+ throw new Error(`Skill tap not found: ${repo}`);
261
+ }
262
+ const skills = [];
263
+ const errors = [];
264
+ for (const tap of selectedTaps) {
265
+ try {
266
+ skills.push(...await this.discoverGitHubTapSkills(tap));
267
+ }
268
+ catch (err) {
269
+ errors.push({
270
+ repo: tap.repo,
271
+ error: err instanceof Error ? err.message : String(err),
272
+ });
273
+ }
274
+ }
275
+ const refreshedAt = new Date().toISOString();
276
+ this.replaceTapCacheForTaps(skills, selectedTaps.map((tap) => tap.repo), refreshedAt);
277
+ return {
278
+ errors,
279
+ refreshedAt,
280
+ skillCount: skills.length,
281
+ skills,
282
+ taps: selectedTaps,
283
+ };
284
+ }
285
+ /**
286
+ * Discover skills from a site exposing `/.well-known/skills/index.json`.
287
+ * The index parser is intentionally tolerant because the convention is
288
+ * designed for independent publishers.
289
+ */
290
+ async discoverWellKnownSkills(inputUrl) {
291
+ const indexUrl = this.resolveWellKnownIndexUrl(inputUrl);
292
+ const response = await fetch(indexUrl, {
293
+ method: 'GET',
294
+ headers: {
295
+ 'Accept': 'application/json',
296
+ 'User-Agent': 'codebuddy-hub/1.0',
297
+ },
298
+ signal: AbortSignal.timeout(10000),
299
+ });
300
+ if (!response.ok) {
301
+ throw new Error(`Well-known skills index returned ${response.status}: ${response.statusText}`);
302
+ }
303
+ const body = await response.json();
304
+ const entries = this.extractWellKnownEntries(body);
305
+ const errors = [];
306
+ const skills = [];
307
+ for (const entry of entries) {
308
+ try {
309
+ const skill = this.discoveredSkillFromWellKnownEntry(entry, indexUrl);
310
+ if (skill.contentUrl) {
311
+ try {
312
+ const content = await this.fetchUrlText(skill.contentUrl, 'text/markdown');
313
+ this.validateSkillContent(content, skill.name);
314
+ skills.push({
315
+ ...skill,
316
+ checksum: computeChecksum(content),
317
+ size: Buffer.byteLength(content, 'utf-8'),
318
+ });
319
+ this.writeCachedSkillContent(skill.name, skill.version, content);
320
+ continue;
321
+ }
322
+ catch (err) {
323
+ errors.push(`${skill.identifier}: ${err instanceof Error ? err.message : String(err)}`);
324
+ }
325
+ }
326
+ skills.push(skill);
327
+ }
328
+ catch (err) {
329
+ errors.push(err instanceof Error ? err.message : String(err));
330
+ }
331
+ }
332
+ const refreshedAt = new Date().toISOString();
333
+ this.mergeTapCache(skills, refreshedAt);
334
+ return {
335
+ errors,
336
+ indexUrl,
337
+ refreshedAt,
338
+ skillCount: skills.length,
339
+ skills,
340
+ };
341
+ }
342
+ readTapsFile() {
343
+ try {
344
+ if (fs.existsSync(this.config.tapsPath)) {
345
+ const raw = fs.readFileSync(this.config.tapsPath, 'utf-8');
346
+ const parsed = JSON.parse(raw);
347
+ if (parsed.version === TAPS_FILE_VERSION
348
+ && Array.isArray(parsed.taps)) {
349
+ const taps = parsed.taps
350
+ .map((tap) => this.normalizeTapRecord(tap))
351
+ .filter((tap) => Boolean(tap));
352
+ return {
353
+ version: TAPS_FILE_VERSION,
354
+ updatedAt: typeof parsed.updatedAt === 'string' ? parsed.updatedAt : new Date().toISOString(),
355
+ taps,
356
+ };
357
+ }
358
+ }
359
+ }
360
+ catch (err) {
361
+ logger.warn('Failed to read hub taps file, starting fresh', {
362
+ path: this.config.tapsPath,
363
+ error: err instanceof Error ? err.message : String(err),
364
+ });
365
+ }
366
+ return {
367
+ version: TAPS_FILE_VERSION,
368
+ updatedAt: new Date().toISOString(),
369
+ taps: [],
370
+ };
371
+ }
372
+ writeTapsFile(tapsFile) {
373
+ tapsFile.updatedAt = new Date().toISOString();
374
+ tapsFile.taps.sort((left, right) => left.repo.localeCompare(right.repo));
375
+ fs.writeFileSync(this.config.tapsPath, JSON.stringify(tapsFile, null, 2), 'utf-8');
376
+ logger.debug('Hub taps file written', { path: this.config.tapsPath });
377
+ }
378
+ normalizeTapRecord(tap) {
379
+ if (!tap || typeof tap !== 'object') {
380
+ return null;
381
+ }
382
+ const candidate = tap;
383
+ if (typeof candidate.repo !== 'string') {
384
+ return null;
385
+ }
386
+ const addedAt = typeof candidate.addedAt === 'number' ? candidate.addedAt : Date.now();
387
+ const updatedAt = typeof candidate.updatedAt === 'number' ? candidate.updatedAt : addedAt;
388
+ return {
389
+ repo: this.normalizeTapRepo(candidate.repo),
390
+ path: this.normalizeTapPath(candidate.path ?? DEFAULT_TAP_PATH),
391
+ trust: this.normalizeTapTrust(candidate.trust ?? this.defaultTapTrust(candidate.repo)),
392
+ addedAt,
393
+ updatedAt,
394
+ ...(typeof candidate.addedBy === 'string' && candidate.addedBy.trim()
395
+ ? { addedBy: candidate.addedBy.trim() }
396
+ : {}),
397
+ };
398
+ }
399
+ normalizeTapRepo(repo) {
400
+ const trimmed = repo.trim().replace(/^https:\/\/github\.com\//i, '').replace(/\.git$/i, '');
401
+ const normalized = trimmed.replace(/^\/+|\/+$/g, '');
402
+ if (!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/.test(normalized)) {
403
+ throw new Error(`Invalid skill tap repo '${repo}'. Use owner/repo.`);
404
+ }
405
+ return normalized;
406
+ }
407
+ normalizeTapPath(tapPath) {
408
+ const normalized = tapPath.trim().replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
409
+ if (!normalized
410
+ || normalized.includes('..')
411
+ || normalized.split('/').some((part) => part.trim() === '')) {
412
+ throw new Error(`Invalid skill tap path '${tapPath}'. Use a relative directory such as skills/.`);
413
+ }
414
+ return `${normalized}/`;
415
+ }
416
+ normalizeTapTrust(trust) {
417
+ if (['builtin', 'official', 'trusted', 'community'].includes(trust)) {
418
+ return trust;
419
+ }
420
+ throw new Error(`Invalid skill tap trust '${trust}'. Use builtin, official, trusted, or community.`);
421
+ }
422
+ defaultTapTrust(repo) {
423
+ return TRUSTED_TAP_REPOS.has(repo.toLowerCase()) ? 'trusted' : 'community';
424
+ }
425
+ async discoverGitHubTapSkills(tap) {
426
+ const directories = await this.fetchGitHubDirectory(tap.repo, tap.path);
427
+ const skills = [];
428
+ for (const entry of directories) {
429
+ if (entry.type !== 'dir' || entry.name.startsWith('.') || entry.name.startsWith('_')) {
430
+ continue;
431
+ }
432
+ const skillPath = `${tap.path}${entry.name}`;
433
+ const skillMdPath = `${skillPath}/SKILL.md`;
434
+ try {
435
+ const content = await this.fetchGitHubFile(tap.repo, skillMdPath);
436
+ const skill = parseSkillFile(content, skillMdPath, 'managed');
437
+ const description = skill.metadata.description || `${skill.metadata.name} from ${tap.repo}`;
438
+ const version = skill.metadata.version || '0.0.0';
439
+ const tags = skill.metadata.tags || [];
440
+ this.writeCachedSkillContent(skill.metadata.name, version, content);
441
+ skills.push({
442
+ name: skill.metadata.name,
443
+ version,
444
+ description,
445
+ author: skill.metadata.author || tap.repo,
446
+ tags,
447
+ downloads: 0,
448
+ stars: 0,
449
+ updatedAt: new Date().toISOString(),
450
+ checksum: computeChecksum(content),
451
+ size: Buffer.byteLength(content, 'utf-8'),
452
+ repository: `https://github.com/${tap.repo}`,
453
+ source: 'github-tap',
454
+ identifier: `${tap.repo}/${entry.name}`,
455
+ trust: tap.trust,
456
+ contentUrl: this.rawGitHubUrl(tap.repo, skillMdPath),
457
+ tapRepo: tap.repo,
458
+ skillPath,
459
+ });
460
+ }
461
+ catch (err) {
462
+ logger.debug('Skipping invalid GitHub tap skill', {
463
+ repo: tap.repo,
464
+ path: skillMdPath,
465
+ error: err instanceof Error ? err.message : String(err),
466
+ });
467
+ }
468
+ }
469
+ return skills;
470
+ }
471
+ async fetchGitHubDirectory(repo, tapPath) {
472
+ const url = `${this.config.githubApiBaseUrl.replace(/\/+$/, '')}/repos/${repo}/contents/${this.encodeGitHubContentPath(tapPath.replace(/\/+$/, ''))}`;
473
+ const response = await fetch(url, {
474
+ method: 'GET',
475
+ headers: this.githubHeaders('application/vnd.github+json'),
476
+ signal: AbortSignal.timeout(10000),
477
+ });
478
+ if (!response.ok) {
479
+ throw new Error(`GitHub contents returned ${response.status}: ${response.statusText}`);
480
+ }
481
+ const json = await response.json();
482
+ if (!Array.isArray(json)) {
483
+ throw new Error(`GitHub contents for ${repo}/${tapPath} did not return a directory listing`);
484
+ }
485
+ return json.filter((item) => (Boolean(item)
486
+ && typeof item === 'object'
487
+ && typeof item.name === 'string'
488
+ && typeof item.type === 'string'));
489
+ }
490
+ async fetchGitHubFile(repo, filePath) {
491
+ const url = `${this.config.githubApiBaseUrl.replace(/\/+$/, '')}/repos/${repo}/contents/${this.encodeGitHubContentPath(filePath)}`;
492
+ const response = await fetch(url, {
493
+ method: 'GET',
494
+ headers: this.githubHeaders('application/vnd.github.raw'),
495
+ signal: AbortSignal.timeout(10000),
496
+ });
497
+ if (!response.ok) {
498
+ throw new Error(`GitHub file returned ${response.status}: ${response.statusText}`);
499
+ }
500
+ return await response.text();
501
+ }
502
+ async fetchUrlText(url, accept) {
503
+ const response = await fetch(url, {
504
+ method: 'GET',
505
+ headers: {
506
+ 'Accept': accept,
507
+ 'User-Agent': 'codebuddy-hub/1.0',
508
+ },
509
+ signal: AbortSignal.timeout(10000),
510
+ });
511
+ if (!response.ok) {
512
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
513
+ }
514
+ return await response.text();
515
+ }
516
+ writeCachedSkillContent(skillName, version, content) {
517
+ if (!/^[a-zA-Z0-9_-]+$/.test(skillName)) {
518
+ return;
519
+ }
520
+ const targets = [
521
+ path.join(this.config.cacheDir, `${skillName}.skill.md`),
522
+ version ? path.join(this.config.cacheDir, `${skillName}@${version}.skill.md`) : null,
523
+ ].filter((target) => Boolean(target));
524
+ for (const target of targets) {
525
+ fs.writeFileSync(target, content, 'utf-8');
526
+ }
527
+ }
528
+ encodeGitHubContentPath(filePath) {
529
+ return filePath.split('/').map((part) => encodeURIComponent(part)).join('/');
530
+ }
531
+ githubHeaders(accept) {
532
+ const headers = {
533
+ 'Accept': accept,
534
+ 'User-Agent': 'codebuddy-hub/1.0',
535
+ };
536
+ const token = process.env['GITHUB_TOKEN'];
537
+ if (token) {
538
+ headers['Authorization'] = `Bearer ${token}`;
539
+ }
540
+ return headers;
541
+ }
542
+ rawGitHubUrl(repo, filePath) {
543
+ return `${this.config.githubRawBaseUrl.replace(/\/+$/, '')}/${repo}/HEAD/${filePath}`;
544
+ }
545
+ getTapCacheFile() {
546
+ return path.join(this.config.cacheDir, 'tap-cache.json');
547
+ }
548
+ getTapCacheSkills() {
549
+ try {
550
+ const cacheFile = this.getTapCacheFile();
551
+ if (!fs.existsSync(cacheFile)) {
552
+ return [];
553
+ }
554
+ const raw = fs.readFileSync(cacheFile, 'utf-8');
555
+ const parsed = JSON.parse(raw);
556
+ return Array.isArray(parsed.skills) ? parsed.skills : [];
557
+ }
558
+ catch {
559
+ return [];
560
+ }
561
+ }
562
+ writeTapCache(skills, cachedAt) {
563
+ const cacheFile = this.getTapCacheFile();
564
+ fs.mkdirSync(path.dirname(cacheFile), { recursive: true });
565
+ fs.writeFileSync(cacheFile, JSON.stringify({ cachedAt, skills }, null, 2), 'utf-8');
566
+ }
567
+ mergeTapCache(skills, cachedAt) {
568
+ const merged = new Map();
569
+ for (const skill of this.getTapCacheSkills()) {
570
+ merged.set(skill.identifier, skill);
571
+ }
572
+ for (const skill of skills) {
573
+ merged.set(skill.identifier, skill);
574
+ }
575
+ this.writeTapCache([...merged.values()], cachedAt);
576
+ }
577
+ replaceTapCacheForTaps(skills, tapRepos, cachedAt) {
578
+ const selectedRepos = new Set(tapRepos);
579
+ const retained = this.getTapCacheSkills().filter((skill) => (skill.source !== 'github-tap'
580
+ || !skill.tapRepo
581
+ || !selectedRepos.has(skill.tapRepo)));
582
+ this.writeTapCache([...retained, ...skills], cachedAt);
583
+ }
584
+ resolveWellKnownIndexUrl(inputUrl) {
585
+ const normalized = inputUrl.trim().replace(/^well-known:/, '');
586
+ const url = new URL(normalized);
587
+ if (url.pathname.endsWith('/.well-known/skills/index.json')) {
588
+ return url.toString();
589
+ }
590
+ return new URL('/.well-known/skills/index.json', url.origin).toString();
591
+ }
592
+ extractWellKnownEntries(body) {
593
+ if (Array.isArray(body)) {
594
+ return body;
595
+ }
596
+ if (!body || typeof body !== 'object') {
597
+ return [];
598
+ }
599
+ const record = body;
600
+ for (const key of ['skills', 'items', 'entries']) {
601
+ if (Array.isArray(record[key])) {
602
+ return record[key];
603
+ }
604
+ }
605
+ return [];
606
+ }
607
+ discoveredSkillFromWellKnownEntry(entry, indexUrl) {
608
+ if (!entry || typeof entry !== 'object') {
609
+ throw new Error('Well-known skill entry must be an object');
610
+ }
611
+ const record = entry;
612
+ const name = this.readStringField(record, ['name', 'id', 'slug']);
613
+ const description = this.readStringField(record, ['description', 'summary']) || `${name} from well-known index`;
614
+ const version = this.readStringField(record, ['version']) || '0.0.0';
615
+ const contentUrl = this.resolveWellKnownSkillUrl(record, indexUrl, name);
616
+ return {
617
+ name,
618
+ version,
619
+ description,
620
+ author: this.readStringField(record, ['author', 'publisher']) || new URL(indexUrl).hostname,
621
+ tags: this.readStringArrayField(record, ['tags', 'keywords']),
622
+ downloads: 0,
623
+ stars: 0,
624
+ updatedAt: this.readStringField(record, ['updatedAt', 'updated_at', 'modified']) || new Date().toISOString(),
625
+ checksum: this.readStringField(record, ['checksum', 'sha256']) || computeChecksum(`${name}:${version}:${contentUrl}`),
626
+ size: Number(record['size']) || 0,
627
+ repository: this.readStringField(record, ['repository', 'repo']),
628
+ source: 'well-known',
629
+ identifier: `well-known:${contentUrl.replace(/\/SKILL\.md$/i, '')}`,
630
+ trust: 'community',
631
+ contentUrl,
632
+ indexUrl,
633
+ };
634
+ }
635
+ readStringField(record, keys) {
636
+ for (const key of keys) {
637
+ const value = record[key];
638
+ if (typeof value === 'string' && value.trim()) {
639
+ return value.trim();
640
+ }
641
+ }
642
+ return '';
643
+ }
644
+ readStringArrayField(record, keys) {
645
+ for (const key of keys) {
646
+ const value = record[key];
647
+ if (Array.isArray(value)) {
648
+ return value.filter((item) => typeof item === 'string' && item.trim().length > 0);
649
+ }
650
+ if (typeof value === 'string' && value.trim()) {
651
+ return value.split(',').map((item) => item.trim()).filter(Boolean);
652
+ }
653
+ }
654
+ return [];
655
+ }
656
+ resolveWellKnownSkillUrl(record, indexUrl, name) {
657
+ const explicit = this.readStringField(record, [
658
+ 'skillMdUrl',
659
+ 'skill_md_url',
660
+ 'skillUrl',
661
+ 'skill_url',
662
+ 'url',
663
+ 'href',
664
+ ]);
665
+ if (explicit) {
666
+ return new URL(explicit, indexUrl).toString();
667
+ }
668
+ const base = indexUrl.replace(/\/index\.json(?:[?#].*)?$/, '/');
669
+ return new URL(`${encodeURIComponent(name)}/SKILL.md`, base).toString();
670
+ }
671
+ // ==========================================================================
672
+ // Signing & Trusted Keys
673
+ // ==========================================================================
674
+ /**
675
+ * List trusted publisher keys. Returns copies so callers cannot mutate the
676
+ * keyring in place. Public keys are safe to display; no private material is
677
+ * ever stored here.
678
+ */
679
+ listTrustedKeys() {
680
+ return this.readTrustedKeysFile().keys.map((key) => ({ ...key }));
681
+ }
682
+ /**
683
+ * Look up a single trusted key by id.
684
+ */
685
+ getTrustedKey(keyId) {
686
+ const key = this.readTrustedKeysFile().keys.find((item) => item.keyId === keyId);
687
+ return key ? { ...key } : null;
688
+ }
689
+ /**
690
+ * Add (or update) a trusted publisher key. The public key must be a base64
691
+ * SPKI DER Ed25519 key; if no keyId is supplied it is derived from the key
692
+ * fingerprint so a publisher and consumer agree on the same id.
693
+ */
694
+ addTrustedKey(publicKey, options = {}) {
695
+ const normalizedPublicKey = publicKey.trim();
696
+ if (!normalizedPublicKey) {
697
+ throw new Error('A base64 SPKI DER Ed25519 public key is required to trust a publisher.');
698
+ }
699
+ // Validate the key parses as an Ed25519 public key before we trust it.
700
+ const keyId = this.validateTrustedPublicKey(normalizedPublicKey, options.keyId);
701
+ const trust = options.trust ?? 'community';
702
+ if (!isSkillKeyTrust(trust)) {
703
+ throw new Error(`Invalid key trust '${trust}'. Use builtin, official, trusted, or community.`);
704
+ }
705
+ const keysFile = this.readTrustedKeysFile();
706
+ const now = options.updatedAt ?? Date.now();
707
+ const existing = keysFile.keys.find((item) => item.keyId === keyId);
708
+ if (existing) {
709
+ existing.publicKey = normalizedPublicKey;
710
+ existing.trust = trust;
711
+ existing.updatedAt = now;
712
+ if (options.addedBy)
713
+ existing.addedBy = options.addedBy;
714
+ if (options.label)
715
+ existing.label = options.label;
716
+ this.writeTrustedKeysFile(keysFile);
717
+ this.emit('key:updated', { ...existing });
718
+ return { ...existing };
719
+ }
720
+ const key = {
721
+ keyId,
722
+ publicKey: normalizedPublicKey,
723
+ algorithm: 'ed25519',
724
+ trust,
725
+ addedAt: now,
726
+ updatedAt: now,
727
+ ...(options.addedBy ? { addedBy: options.addedBy } : {}),
728
+ ...(options.label ? { label: options.label } : {}),
729
+ };
730
+ keysFile.keys.push(key);
731
+ keysFile.keys.sort((left, right) => left.keyId.localeCompare(right.keyId));
732
+ this.writeTrustedKeysFile(keysFile);
733
+ this.emit('key:added', { ...key });
734
+ return { ...key };
735
+ }
736
+ /**
737
+ * Remove a trusted publisher key by id. Returns false if it was not present.
738
+ */
739
+ removeTrustedKey(keyId) {
740
+ const keysFile = this.readTrustedKeysFile();
741
+ const next = keysFile.keys.filter((key) => key.keyId !== keyId);
742
+ if (next.length === keysFile.keys.length) {
743
+ return false;
744
+ }
745
+ keysFile.keys = next;
746
+ this.writeTrustedKeysFile(keysFile);
747
+ this.emit('key:removed', keyId);
748
+ return true;
749
+ }
750
+ /**
751
+ * Change the trust level of an existing trusted key.
752
+ */
753
+ setKeyTrust(keyId, trust, options = {}) {
754
+ if (!isSkillKeyTrust(trust)) {
755
+ throw new Error(`Invalid key trust '${trust}'. Use builtin, official, trusted, or community.`);
756
+ }
757
+ const keysFile = this.readTrustedKeysFile();
758
+ const key = keysFile.keys.find((item) => item.keyId === keyId);
759
+ if (!key) {
760
+ return null;
761
+ }
762
+ key.trust = trust;
763
+ key.updatedAt = options.updatedAt ?? Date.now();
764
+ if (options.addedBy)
765
+ key.addedBy = options.addedBy;
766
+ this.writeTrustedKeysFile(keysFile);
767
+ this.emit('key:trust_updated', { ...key });
768
+ return { ...key };
769
+ }
770
+ /**
771
+ * Generate a fresh Ed25519 publisher keypair. The private key is returned to
772
+ * the caller and never persisted by the hub; only public keys are trusted.
773
+ */
774
+ generateSigningKeyPair(keyId) {
775
+ return generateSkillSigningKeyPair(keyId);
776
+ }
777
+ /**
778
+ * Verify a detached signature for SKILL.md content against the trusted keyring.
779
+ * Returns `unsigned` when no signature is supplied.
780
+ */
781
+ verifySkillContentSignature(content, signature) {
782
+ return resolveSignatureVerification(content, signature, this.readTrustedKeysFile().keys);
783
+ }
784
+ validateTrustedPublicKey(publicKeyB64, requestedKeyId) {
785
+ // resolveSignatureVerification matches a signature's keyId against the ring,
786
+ // so the operator-supplied keyId (if any) wins; otherwise derive it from the
787
+ // key fingerprint. validateEd25519PublicKey rejects non-Ed25519/malformed keys.
788
+ const derived = validateEd25519PublicKey(publicKeyB64);
789
+ const requested = requestedKeyId?.trim();
790
+ return requested && requested.length > 0 ? requested : derived;
791
+ }
792
+ enforceSignaturePolicy(skillName, verification) {
793
+ if (!this.config.requireSignedInstalls) {
794
+ return;
795
+ }
796
+ if (verification.status !== 'verified') {
797
+ throw new Error(`Refusing to install '${skillName}': signed installs are required but the signature is '${verification.status}'`
798
+ + (verification.reason ? ` (${verification.reason})` : ''));
799
+ }
800
+ const min = this.config.minSignatureTrust;
801
+ if (min && (!verification.trust || !meetsTrust(verification.trust, min))) {
802
+ throw new Error(`Refusing to install '${skillName}': signer trust '${verification.trust ?? 'unknown'}' `
803
+ + `is below the required minimum '${min}'`);
804
+ }
805
+ }
806
+ readTrustedKeysFile() {
807
+ try {
808
+ if (fs.existsSync(this.config.trustedKeysPath)) {
809
+ const raw = fs.readFileSync(this.config.trustedKeysPath, 'utf-8');
810
+ const parsed = JSON.parse(raw);
811
+ if (parsed.version === TRUSTED_KEYS_FILE_VERSION && Array.isArray(parsed.keys)) {
812
+ const keys = parsed.keys
813
+ .map((key) => this.normalizeTrustedKeyRecord(key))
814
+ .filter((key) => Boolean(key));
815
+ return {
816
+ version: TRUSTED_KEYS_FILE_VERSION,
817
+ updatedAt: typeof parsed.updatedAt === 'string' ? parsed.updatedAt : new Date().toISOString(),
818
+ keys,
819
+ };
820
+ }
821
+ }
822
+ }
823
+ catch (err) {
824
+ logger.warn('Failed to read hub trusted keys file, starting fresh', {
825
+ path: this.config.trustedKeysPath,
826
+ error: err instanceof Error ? err.message : String(err),
827
+ });
828
+ }
829
+ return {
830
+ version: TRUSTED_KEYS_FILE_VERSION,
831
+ updatedAt: new Date().toISOString(),
832
+ keys: [],
833
+ };
834
+ }
835
+ writeTrustedKeysFile(keysFile) {
836
+ keysFile.updatedAt = new Date().toISOString();
837
+ keysFile.keys.sort((left, right) => left.keyId.localeCompare(right.keyId));
838
+ fs.writeFileSync(this.config.trustedKeysPath, JSON.stringify(keysFile, null, 2), 'utf-8');
839
+ logger.debug('Hub trusted keys file written', { path: this.config.trustedKeysPath });
840
+ }
841
+ normalizeTrustedKeyRecord(key) {
842
+ if (!key || typeof key !== 'object') {
843
+ return null;
844
+ }
845
+ const candidate = key;
846
+ if (typeof candidate.keyId !== 'string' || typeof candidate.publicKey !== 'string') {
847
+ return null;
848
+ }
849
+ const addedAt = typeof candidate.addedAt === 'number' ? candidate.addedAt : Date.now();
850
+ const updatedAt = typeof candidate.updatedAt === 'number' ? candidate.updatedAt : addedAt;
851
+ const trust = isSkillKeyTrust(candidate.trust) ? candidate.trust : 'community';
852
+ return {
853
+ keyId: candidate.keyId,
854
+ publicKey: candidate.publicKey,
855
+ algorithm: 'ed25519',
856
+ trust,
857
+ addedAt,
858
+ updatedAt,
859
+ ...(typeof candidate.addedBy === 'string' && candidate.addedBy.trim()
860
+ ? { addedBy: candidate.addedBy.trim() }
861
+ : {}),
862
+ ...(typeof candidate.label === 'string' && candidate.label.trim()
863
+ ? { label: candidate.label.trim() }
864
+ : {}),
865
+ };
136
866
  }
137
867
  // ==========================================================================
138
868
  // Search
@@ -154,6 +884,7 @@ export class SkillsHub extends EventEmitter {
154
884
  logger.debug('Remote fetch failed, using local cache');
155
885
  allSkills = this.getLocalCacheSkills();
156
886
  }
887
+ allSkills = this.mergeDiscoveredSkills(allSkills, this.getTapCacheSkills());
157
888
  // Filter by query
158
889
  const queryLower = query.toLowerCase();
159
890
  let filtered = allSkills.filter(skill => {
@@ -186,6 +917,16 @@ export class SkillsHub extends EventEmitter {
186
917
  const skills = filtered.slice(start, start + pageSize);
187
918
  return { skills, total, page, pageSize };
188
919
  }
920
+ mergeDiscoveredSkills(base, discovered) {
921
+ const merged = new Map();
922
+ for (const skill of base) {
923
+ merged.set(`${skill.name}@${skill.version}:${skill.repository ?? ''}`, skill);
924
+ }
925
+ for (const skill of discovered) {
926
+ merged.set(`${skill.name}@${skill.version}:${skill.repository ?? ''}`, skill);
927
+ }
928
+ return [...merged.values()];
929
+ }
189
930
  /**
190
931
  * Fetch skills from the remote registry.
191
932
  * In a real implementation this would call the API.
@@ -253,6 +994,13 @@ export class SkillsHub extends EventEmitter {
253
994
  logger.debug('Failed to write local cache');
254
995
  }
255
996
  }
997
+ getCachedSkillContentPath(skillName, version) {
998
+ const candidates = [
999
+ version ? path.join(this.config.cacheDir, `${skillName}@${version}.skill.md`) : null,
1000
+ path.join(this.config.cacheDir, `${skillName}.skill.md`),
1001
+ ].filter((candidate) => Boolean(candidate));
1002
+ return candidates.find((candidate) => fs.existsSync(candidate)) ?? null;
1003
+ }
256
1004
  // ==========================================================================
257
1005
  // Install
258
1006
  // ==========================================================================
@@ -278,6 +1026,10 @@ export class SkillsHub extends EventEmitter {
278
1026
  // Parse and validate the SKILL.md content
279
1027
  const resolvedVersion = this.extractVersionFromContent(content) || version || '0.0.0';
280
1028
  this.validateSkillContent(content, skillName);
1029
+ // By-name hub downloads carry no detached signature, so this resolves to
1030
+ // `unsigned`; enforcement is a no-op unless requireSignedInstalls is on.
1031
+ const verification = this.verifySkillContentSignature(content);
1032
+ this.enforceSignaturePolicy(skillName, verification);
281
1033
  // Write to managed skills directory
282
1034
  const skillDir = path.join(this.config.skillsDir, skillName);
283
1035
  if (!fs.existsSync(skillDir)) {
@@ -293,6 +1045,7 @@ export class SkillsHub extends EventEmitter {
293
1045
  source: 'hub',
294
1046
  checksum,
295
1047
  path: skillPath,
1048
+ signatureStatus: verification.status,
296
1049
  };
297
1050
  this.lockfile.skills[skillName] = installed;
298
1051
  this.writeLockfile();
@@ -305,6 +1058,11 @@ export class SkillsHub extends EventEmitter {
305
1058
  * In a real implementation, this would download from the registry.
306
1059
  */
307
1060
  async fetchSkillContent(skillName, version) {
1061
+ const cachedContentPath = this.getCachedSkillContentPath(skillName, version);
1062
+ if (cachedContentPath) {
1063
+ logger.debug('Using cached skill content', { name: skillName, version, path: cachedContentPath });
1064
+ return fs.readFileSync(cachedContentPath, 'utf-8');
1065
+ }
308
1066
  const versionParam = version ? `&version=${encodeURIComponent(version)}` : '';
309
1067
  const url = `${this.config.registryUrl}/skills/${encodeURIComponent(skillName)}/download?format=skillmd${versionParam}`;
310
1068
  try {
@@ -323,24 +1081,23 @@ export class SkillsHub extends EventEmitter {
323
1081
  }
324
1082
  catch (err) {
325
1083
  // Check local cache
326
- const cached = path.join(this.config.cacheDir, `${skillName}.skill.md`);
327
- if (fs.existsSync(cached)) {
328
- logger.debug('Using cached skill content', { name: skillName });
329
- return fs.readFileSync(cached, 'utf-8');
330
- }
331
1084
  throw new Error(`Failed to fetch skill '${skillName}': ${err instanceof Error ? err.message : String(err)}`);
332
1085
  }
333
1086
  }
334
1087
  /**
335
1088
  * Install a skill from local content string (for local/offline installs).
336
1089
  */
337
- async installFromContent(skillName, content, source = 'local') {
1090
+ async installFromContent(skillName, content, source = 'local', options = {}) {
338
1091
  if (!/^[a-zA-Z0-9_-]+$/.test(skillName)) {
339
1092
  throw new Error(`Invalid skill name: ${skillName}. Only alphanumeric, dash, and underscore allowed.`);
340
1093
  }
341
1094
  const checksum = computeChecksum(content);
342
1095
  const version = this.extractVersionFromContent(content) || '0.0.0';
343
1096
  this.validateSkillContent(content, skillName);
1097
+ // Verify the optional detached signature against the trusted keyring and
1098
+ // enforce the signed-install policy before writing anything to disk.
1099
+ const verification = this.verifySkillContentSignature(content, options.signature);
1100
+ this.enforceSignaturePolicy(skillName, verification);
344
1101
  // Write to managed skills directory
345
1102
  const skillDir = path.join(this.config.skillsDir, skillName);
346
1103
  if (!fs.existsSync(skillDir)) {
@@ -355,10 +1112,50 @@ export class SkillsHub extends EventEmitter {
355
1112
  source,
356
1113
  checksum,
357
1114
  path: skillPath,
1115
+ signatureStatus: verification.status,
1116
+ ...(options.signature ? { signature: options.signature } : {}),
1117
+ };
1118
+ this.lockfile.skills[skillName] = installed;
1119
+ this.writeLockfile();
1120
+ logger.info('Skill installed from content', {
1121
+ name: skillName,
1122
+ version,
1123
+ source,
1124
+ signatureStatus: verification.status,
1125
+ });
1126
+ this.emit('skill:installed', installed);
1127
+ return installed;
1128
+ }
1129
+ /**
1130
+ * Track an existing local SKILL.md file in the lockfile without copying it.
1131
+ * This keeps review-gated workspace installs visible to skills_list/skill_view
1132
+ * while preserving the workspace path as the source of truth.
1133
+ */
1134
+ registerLocalSkillFile(skillName, skillPath, source = 'local') {
1135
+ if (!/^[a-zA-Z0-9_-]+$/.test(skillName)) {
1136
+ throw new Error(`Invalid skill name: ${skillName}. Only alphanumeric, dash, and underscore allowed.`);
1137
+ }
1138
+ const resolvedPath = path.resolve(skillPath);
1139
+ if (!fs.existsSync(resolvedPath)) {
1140
+ throw new Error(`Skill file not found: ${resolvedPath}`);
1141
+ }
1142
+ const content = fs.readFileSync(resolvedPath, 'utf-8');
1143
+ this.validateSkillContent(content, skillName);
1144
+ const previous = this.lockfile.skills[skillName];
1145
+ const installed = {
1146
+ name: skillName,
1147
+ version: this.extractVersionFromContent(content) || previous?.version || '0.0.0',
1148
+ installedAt: previous?.installedAt ?? Date.now(),
1149
+ source,
1150
+ checksum: computeChecksum(content),
1151
+ path: resolvedPath,
1152
+ ...(previous?.usage ? { usage: previous.usage } : {}),
1153
+ ...(previous?.enabled === false ? { enabled: false } : {}),
1154
+ ...(previous?.lifecycle ? { lifecycle: previous.lifecycle } : {}),
1155
+ ...(previous?.history ? { history: previous.history } : {}),
358
1156
  };
359
1157
  this.lockfile.skills[skillName] = installed;
360
1158
  this.writeLockfile();
361
- logger.info('Skill installed from content', { name: skillName, version, source });
362
1159
  this.emit('skill:installed', installed);
363
1160
  return installed;
364
1161
  }
@@ -387,6 +1184,28 @@ export class SkillsHub extends EventEmitter {
387
1184
  this.emit('skill:removed', skillName);
388
1185
  return true;
389
1186
  }
1187
+ /**
1188
+ * Remove a stale lockfile row only when its recorded SKILL.md is already
1189
+ * missing. Unlike uninstall(), this never deletes files from skillsDir.
1190
+ */
1191
+ removeMissingSkillRecord(skillName) {
1192
+ const installed = this.lockfile.skills[skillName];
1193
+ if (!installed) {
1194
+ logger.warn('Cannot prune missing skill record because it is not in the lockfile', { name: skillName });
1195
+ return false;
1196
+ }
1197
+ if (fs.existsSync(installed.path)) {
1198
+ logger.warn('Refusing to prune skill record because SKILL.md still exists', {
1199
+ name: skillName,
1200
+ path: installed.path,
1201
+ });
1202
+ return false;
1203
+ }
1204
+ delete this.lockfile.skills[skillName];
1205
+ this.writeLockfile();
1206
+ this.emit('skill:removed', skillName);
1207
+ return true;
1208
+ }
390
1209
  // ==========================================================================
391
1210
  // Update
392
1211
  // ==========================================================================
@@ -405,6 +1224,8 @@ export class SkillsHub extends EventEmitter {
405
1224
  return updated;
406
1225
  }
407
1226
  for (const skill of toUpdate) {
1227
+ if (!skill)
1228
+ continue;
408
1229
  try {
409
1230
  // Check for newer version
410
1231
  const hubInfo = await this.getHubSkillInfo(skill.name);
@@ -442,6 +1263,10 @@ export class SkillsHub extends EventEmitter {
442
1263
  * Get skill info from the hub API.
443
1264
  */
444
1265
  async getHubSkillInfo(skillName) {
1266
+ const cachedInfo = this.getLocalCacheSkills().find((skill) => skill.name === skillName);
1267
+ if (cachedInfo) {
1268
+ return cachedInfo;
1269
+ }
445
1270
  const url = `${this.config.registryUrl}/skills/${encodeURIComponent(skillName)}`;
446
1271
  try {
447
1272
  const response = await fetch(url, {
@@ -461,6 +1286,153 @@ export class SkillsHub extends EventEmitter {
461
1286
  }
462
1287
  return null;
463
1288
  }
1289
+ async previewInstalledSkillUpdate(skillName, options = {}) {
1290
+ const installed = this.lockfile.skills[skillName];
1291
+ if (!installed) {
1292
+ logger.warn('Cannot preview update for missing skill', { name: skillName });
1293
+ return null;
1294
+ }
1295
+ if (!fs.existsSync(installed.path)) {
1296
+ throw new Error(`Skill file not found: ${installed.path}`);
1297
+ }
1298
+ const hubInfo = await this.getHubSkillInfo(skillName);
1299
+ const targetVersion = options.version || hubInfo?.version;
1300
+ if (!targetVersion) {
1301
+ throw new Error(`No update metadata found for '${skillName}'`);
1302
+ }
1303
+ const currentContent = fs.readFileSync(installed.path, 'utf-8');
1304
+ const remoteContent = await this.fetchSkillContent(skillName, targetVersion);
1305
+ this.validateSkillContent(remoteContent, skillName);
1306
+ const resolvedVersion = this.extractVersionFromContent(remoteContent) || targetVersion;
1307
+ const currentChecksum = computeChecksum(currentContent);
1308
+ const remoteChecksum = computeChecksum(remoteContent);
1309
+ const diff = generateDiff(currentContent.trimEnd().split('\n'), remoteContent.trimEnd().split('\n'), `${skillName}/SKILL.md`, {
1310
+ contextLines: 2,
1311
+ summaryPrefix: 'Skill update',
1312
+ });
1313
+ const maxLines = options.maxDiffLines ?? 120;
1314
+ const maxChars = options.maxDiffChars ?? 12000;
1315
+ const linePreview = diff.diff.split('\n').slice(0, maxLines).join('\n');
1316
+ const preview = linePreview.slice(0, maxChars);
1317
+ return {
1318
+ currentChecksum,
1319
+ diff: {
1320
+ addedLines: diff.addedLines,
1321
+ maxChars,
1322
+ maxLines,
1323
+ preview,
1324
+ removedLines: diff.removedLines,
1325
+ summary: diff.summary,
1326
+ truncated: linePreview.length > preview.length || diff.diff.split('\n').length > maxLines,
1327
+ },
1328
+ fromVersion: installed.version,
1329
+ installCommand: `buddy skills update ${skillName} --approved-by <reviewer>${resolvedVersion ? ` --version ${resolvedVersion}` : ''}`,
1330
+ name: skillName,
1331
+ remoteChecksum,
1332
+ sameContent: currentChecksum === remoteChecksum,
1333
+ toVersion: resolvedVersion,
1334
+ updateAvailable: compareSemver(resolvedVersion, installed.version) > 0,
1335
+ };
1336
+ }
1337
+ async updateInstalledSkill(skillName, options = {}) {
1338
+ const installed = this.lockfile.skills[skillName];
1339
+ if (!installed) {
1340
+ logger.warn('Cannot update missing skill', { name: skillName });
1341
+ return null;
1342
+ }
1343
+ if (!fs.existsSync(installed.path)) {
1344
+ throw new Error(`Skill file not found: ${installed.path}`);
1345
+ }
1346
+ const hubInfo = await this.getHubSkillInfo(skillName);
1347
+ const targetVersion = options.version || hubInfo?.version;
1348
+ if (!targetVersion) {
1349
+ throw new Error(`No update metadata found for '${skillName}'`);
1350
+ }
1351
+ if (!options.force && compareSemver(targetVersion, installed.version) <= 0) {
1352
+ throw new Error(`Skill '${skillName}' is already up to date (${installed.version})`);
1353
+ }
1354
+ const content = await this.fetchSkillContent(skillName, targetVersion);
1355
+ this.validateSkillContent(content, skillName);
1356
+ const resolvedVersion = this.extractVersionFromContent(content) || targetVersion;
1357
+ if (!options.force && compareSemver(resolvedVersion, installed.version) <= 0) {
1358
+ throw new Error(`Skill '${skillName}' update content is not newer (${resolvedVersion} <= ${installed.version})`);
1359
+ }
1360
+ const snapshot = this.snapshotInstalledSkill(installed, {
1361
+ actor: options.actor,
1362
+ reason: options.reason,
1363
+ updatedAt: options.updatedAt,
1364
+ });
1365
+ const fromVersion = installed.version;
1366
+ fs.writeFileSync(installed.path, content, 'utf-8');
1367
+ installed.version = resolvedVersion;
1368
+ installed.checksum = computeChecksum(content);
1369
+ installed.lifecycle = {
1370
+ status: installed.enabled === false ? 'disabled' : 'active',
1371
+ updatedAt: options.updatedAt ?? Date.now(),
1372
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1373
+ ...(options.reason ? { reason: options.reason } : {}),
1374
+ };
1375
+ this.appendSnapshot(installed, snapshot);
1376
+ this.writeLockfile();
1377
+ this.emit('skill:updated', installed);
1378
+ return {
1379
+ installed,
1380
+ fromVersion,
1381
+ toVersion: resolvedVersion,
1382
+ snapshot,
1383
+ };
1384
+ }
1385
+ async resetInstalledSkill(skillName, options = {}) {
1386
+ const installed = this.lockfile.skills[skillName];
1387
+ if (!installed) {
1388
+ logger.warn('Cannot reset missing skill', { name: skillName });
1389
+ return null;
1390
+ }
1391
+ const targetVersion = options.version || installed.version;
1392
+ if (!targetVersion) {
1393
+ throw new Error(`No reset version found for '${skillName}'`);
1394
+ }
1395
+ const content = await this.fetchSkillContent(skillName, targetVersion);
1396
+ this.validateSkillContent(content, skillName);
1397
+ const resolvedVersion = this.extractVersionFromContent(content) || targetVersion;
1398
+ const toChecksum = computeChecksum(content);
1399
+ const existedBeforeReset = fs.existsSync(installed.path);
1400
+ const fromChecksum = existedBeforeReset
1401
+ ? computeChecksum(fs.readFileSync(installed.path, 'utf-8'))
1402
+ : undefined;
1403
+ const snapshot = existedBeforeReset
1404
+ ? this.snapshotInstalledSkill(installed, {
1405
+ actor: options.actor,
1406
+ reason: options.reason || `before reset to ${resolvedVersion}`,
1407
+ updatedAt: options.updatedAt,
1408
+ })
1409
+ : undefined;
1410
+ const fromVersion = installed.version;
1411
+ fs.mkdirSync(path.dirname(installed.path), { recursive: true });
1412
+ fs.writeFileSync(installed.path, content, 'utf-8');
1413
+ installed.version = resolvedVersion;
1414
+ installed.checksum = toChecksum;
1415
+ installed.lifecycle = {
1416
+ status: installed.enabled === false ? 'disabled' : 'active',
1417
+ updatedAt: options.updatedAt ?? Date.now(),
1418
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1419
+ ...(options.reason ? { reason: options.reason } : {}),
1420
+ };
1421
+ if (snapshot) {
1422
+ this.appendSnapshot(installed, snapshot);
1423
+ }
1424
+ this.writeLockfile();
1425
+ this.emit('skill:reset', installed);
1426
+ return {
1427
+ installed,
1428
+ ...(fromChecksum ? { fromChecksum } : {}),
1429
+ fromVersion,
1430
+ recreated: !existedBeforeReset,
1431
+ ...(snapshot ? { snapshot } : {}),
1432
+ toChecksum,
1433
+ toVersion: resolvedVersion,
1434
+ };
1435
+ }
464
1436
  // ==========================================================================
465
1437
  // Publish
466
1438
  // ==========================================================================
@@ -469,7 +1441,7 @@ export class SkillsHub extends EventEmitter {
469
1441
  * Reads the SKILL.md, validates YAML frontmatter, computes checksum,
470
1442
  * and returns the prepared HubSkill metadata.
471
1443
  */
472
- async publish(skillPath) {
1444
+ async publish(skillPath, options = {}) {
473
1445
  const resolvedPath = path.resolve(skillPath);
474
1446
  if (!fs.existsSync(resolvedPath)) {
475
1447
  throw new Error(`Skill file not found: ${resolvedPath}`);
@@ -514,11 +1486,20 @@ export class SkillsHub extends EventEmitter {
514
1486
  checksum,
515
1487
  size,
516
1488
  };
1489
+ // Optionally attach a detached Ed25519 signature so consumers can verify
1490
+ // authenticity (not just integrity) before installing.
1491
+ if (options.signingKey) {
1492
+ hubSkill.signature = signSkillContent(content, options.signingKey, {
1493
+ ...(options.keyId ? { keyId: options.keyId } : {}),
1494
+ ...(options.signedAt ? { signedAt: options.signedAt } : {}),
1495
+ });
1496
+ }
517
1497
  logger.info('Skill prepared for publishing', {
518
1498
  name: hubSkill.name,
519
1499
  version: hubSkill.version,
520
1500
  checksum,
521
1501
  size,
1502
+ signed: Boolean(hubSkill.signature),
522
1503
  });
523
1504
  this.emit('skill:published', hubSkill);
524
1505
  return hubSkill;
@@ -541,6 +1522,8 @@ export class SkillsHub extends EventEmitter {
541
1522
  const skillNames = Object.keys(this.lockfile.skills);
542
1523
  for (const name of skillNames) {
543
1524
  const entry = this.lockfile.skills[name];
1525
+ if (!entry)
1526
+ continue;
544
1527
  // Check if skill still exists on disk
545
1528
  if (!fs.existsSync(entry.path)) {
546
1529
  logger.info('Skill file missing, removing from lockfile', { name, path: entry.path });
@@ -590,6 +1573,405 @@ export class SkillsHub extends EventEmitter {
590
1573
  list() {
591
1574
  return Object.values(this.lockfile.skills);
592
1575
  }
1576
+ /**
1577
+ * List installed skills with cheap on-disk health checks so stale lockfile
1578
+ * entries are visible before an agent or operator tries to reuse them.
1579
+ */
1580
+ listWithIntegrity() {
1581
+ return this.list().map((skill) => {
1582
+ const detail = this.info(skill.name);
1583
+ const exists = typeof detail?.content === 'string';
1584
+ return {
1585
+ ...skill,
1586
+ exists,
1587
+ integrityOk: detail?.integrityOk ?? false,
1588
+ ...(exists ? { sizeBytes: Buffer.byteLength(detail.content, 'utf-8') } : {}),
1589
+ };
1590
+ });
1591
+ }
1592
+ /**
1593
+ * List only enabled skills (absent `enabled` flag counts as enabled). This is
1594
+ * the set selection/injection should use so a disabled package stays
1595
+ * installed but inactive.
1596
+ */
1597
+ listEnabled() {
1598
+ return this.list().filter((skill) => skill.enabled !== false);
1599
+ }
1600
+ setEnabled(skillName, enabled, options) {
1601
+ let installed = this.lockfile.skills[skillName];
1602
+ if (!installed) {
1603
+ if (!options?.path) {
1604
+ logger.warn('Cannot toggle missing skill', { name: skillName });
1605
+ return null;
1606
+ }
1607
+ installed = {
1608
+ name: skillName,
1609
+ version: options?.version || '0.0.0',
1610
+ installedAt: Date.now(),
1611
+ source: 'local',
1612
+ checksum: '',
1613
+ path: options.path,
1614
+ enabled: enabled,
1615
+ };
1616
+ this.lockfile.skills[skillName] = installed;
1617
+ }
1618
+ else {
1619
+ installed.enabled = enabled;
1620
+ }
1621
+ installed.lifecycle = {
1622
+ status: enabled ? 'active' : options?.status ?? 'disabled',
1623
+ updatedAt: options?.updatedAt ?? Date.now(),
1624
+ ...(options?.actor ? { updatedBy: options.actor } : {}),
1625
+ ...(options?.reason ? { reason: options.reason } : {}),
1626
+ };
1627
+ this.writeLockfile();
1628
+ this.emit('skill:enabled', { name: skillName, enabled });
1629
+ return installed;
1630
+ }
1631
+ /**
1632
+ * Rewrite an installed SKILL.md. The current file is snapshotted before
1633
+ * writing, so review-gated edits can roll back.
1634
+ */
1635
+ editInstalledSkill(skillName, content, options = {}) {
1636
+ const installed = this.lockfile.skills[skillName];
1637
+ if (!installed) {
1638
+ logger.warn('Cannot edit missing skill', { name: skillName });
1639
+ return null;
1640
+ }
1641
+ if (!fs.existsSync(installed.path)) {
1642
+ throw new Error(`Skill file not found: ${installed.path}`);
1643
+ }
1644
+ this.validateSkillContent(content, skillName);
1645
+ const snapshot = this.snapshotInstalledSkill(installed, {
1646
+ actor: options.actor,
1647
+ reason: options.reason,
1648
+ updatedAt: options.updatedAt,
1649
+ });
1650
+ fs.writeFileSync(installed.path, content, 'utf-8');
1651
+ installed.checksum = computeChecksum(content);
1652
+ installed.version = this.extractVersionFromContent(content) || installed.version;
1653
+ installed.lifecycle = {
1654
+ status: installed.enabled === false ? 'disabled' : 'active',
1655
+ updatedAt: options.updatedAt ?? Date.now(),
1656
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1657
+ ...(options.reason ? { reason: options.reason } : {}),
1658
+ };
1659
+ this.appendSnapshot(installed, snapshot);
1660
+ this.writeLockfile();
1661
+ this.emit('skill:edited', { name: skillName, snapshot });
1662
+ return { installed, snapshot };
1663
+ }
1664
+ /**
1665
+ * Patch an installed SKILL.md or one of its supporting files with a literal
1666
+ * text replacement. The current SKILL.md is snapshotted before writing, so
1667
+ * review-gated guidance edits can roll back.
1668
+ */
1669
+ patchInstalledSkill(skillName, oldText, newText, options = {}) {
1670
+ const installed = this.lockfile.skills[skillName];
1671
+ if (!installed) {
1672
+ logger.warn('Cannot patch missing skill', { name: skillName });
1673
+ return null;
1674
+ }
1675
+ if (!oldText) {
1676
+ throw new Error('Patch oldText must not be empty');
1677
+ }
1678
+ if (!fs.existsSync(installed.path)) {
1679
+ throw new Error(`Skill file not found: ${installed.path}`);
1680
+ }
1681
+ const targetPath = this.resolveSkillMutationPath(installed, options.filePath);
1682
+ if (!fs.existsSync(targetPath)) {
1683
+ throw new Error(`Skill file not found: ${targetPath}`);
1684
+ }
1685
+ const content = fs.readFileSync(targetPath, 'utf-8');
1686
+ const replacements = content.split(oldText).length - 1;
1687
+ if (replacements === 0) {
1688
+ throw new Error(`Patch text not found in skill '${skillName}'`);
1689
+ }
1690
+ const replaceAll = options.replaceAll === true;
1691
+ if (!replaceAll && replacements !== 1) {
1692
+ throw new Error(`Patch text is not unique in '${skillName}' (${replacements} matches). Set replace_all=true to replace all occurrences.`);
1693
+ }
1694
+ if (typeof options.expectedReplacements === 'number'
1695
+ && options.expectedReplacements !== replacements) {
1696
+ throw new Error(`Patch replacement count mismatch for '${skillName}': expected ${options.expectedReplacements}, found ${replacements}`);
1697
+ }
1698
+ const updatedContent = replaceAll
1699
+ ? content.split(oldText).join(newText)
1700
+ : content.replace(oldText, newText);
1701
+ const relativeFilePath = this.relativeSkillMutationPath(installed, targetPath);
1702
+ const targetIsSkillMd = path.resolve(targetPath) === path.resolve(installed.path);
1703
+ if (targetIsSkillMd) {
1704
+ this.validateSkillContent(updatedContent, skillName);
1705
+ }
1706
+ const snapshot = this.snapshotInstalledSkill(installed, {
1707
+ actor: options.actor,
1708
+ reason: options.reason,
1709
+ updatedAt: options.updatedAt,
1710
+ });
1711
+ fs.writeFileSync(targetPath, updatedContent, 'utf-8');
1712
+ if (targetIsSkillMd) {
1713
+ installed.checksum = computeChecksum(updatedContent);
1714
+ installed.version = this.extractVersionFromContent(updatedContent) || installed.version;
1715
+ }
1716
+ installed.lifecycle = {
1717
+ status: installed.enabled === false ? 'disabled' : 'active',
1718
+ updatedAt: options.updatedAt ?? Date.now(),
1719
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1720
+ ...(options.reason ? { reason: options.reason } : {}),
1721
+ };
1722
+ this.appendSnapshot(installed, snapshot);
1723
+ this.writeLockfile();
1724
+ this.emit('skill:patched', { name: skillName, filePath: relativeFilePath, snapshot, replacements });
1725
+ return { installed, filePath: relativeFilePath, replacements, snapshot };
1726
+ }
1727
+ /**
1728
+ * Add or overwrite a supporting file in an installed skill directory.
1729
+ */
1730
+ writeSkillSupportingFile(skillName, filePath, fileContent, options = {}) {
1731
+ const installed = this.lockfile.skills[skillName];
1732
+ if (!installed) {
1733
+ logger.warn('Cannot write file for missing skill', { name: skillName });
1734
+ return null;
1735
+ }
1736
+ if (!fs.existsSync(installed.path)) {
1737
+ throw new Error(`Skill file not found: ${installed.path}`);
1738
+ }
1739
+ const byteLength = Buffer.byteLength(fileContent, 'utf-8');
1740
+ if (byteLength > MAX_SUPPORTING_FILE_BYTES) {
1741
+ throw new Error(`Supporting file exceeds ${MAX_SUPPORTING_FILE_BYTES} bytes`);
1742
+ }
1743
+ const targetPath = this.resolveSkillMutationPath(installed, filePath, { requireSupportingDir: true });
1744
+ const snapshot = this.snapshotInstalledSkill(installed, {
1745
+ actor: options.actor,
1746
+ reason: options.reason,
1747
+ updatedAt: options.updatedAt,
1748
+ });
1749
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
1750
+ fs.writeFileSync(targetPath, fileContent, 'utf-8');
1751
+ installed.lifecycle = {
1752
+ status: installed.enabled === false ? 'disabled' : 'active',
1753
+ updatedAt: options.updatedAt ?? Date.now(),
1754
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1755
+ ...(options.reason ? { reason: options.reason } : {}),
1756
+ };
1757
+ this.appendSnapshot(installed, snapshot);
1758
+ this.writeLockfile();
1759
+ const relativeFilePath = this.relativeSkillMutationPath(installed, targetPath);
1760
+ this.emit('skill:file_written', { name: skillName, filePath: relativeFilePath, snapshot });
1761
+ return {
1762
+ absolutePath: targetPath,
1763
+ bytesWritten: byteLength,
1764
+ filePath: relativeFilePath,
1765
+ installed,
1766
+ snapshot,
1767
+ };
1768
+ }
1769
+ /**
1770
+ * Remove a supporting file from an installed skill directory.
1771
+ */
1772
+ removeSkillSupportingFile(skillName, filePath, options = {}) {
1773
+ const installed = this.lockfile.skills[skillName];
1774
+ if (!installed) {
1775
+ logger.warn('Cannot remove file for missing skill', { name: skillName });
1776
+ return null;
1777
+ }
1778
+ if (!fs.existsSync(installed.path)) {
1779
+ throw new Error(`Skill file not found: ${installed.path}`);
1780
+ }
1781
+ const targetPath = this.resolveSkillMutationPath(installed, filePath, { requireSupportingDir: true });
1782
+ if (!fs.existsSync(targetPath)) {
1783
+ throw new Error(`Supporting file not found: ${filePath}`);
1784
+ }
1785
+ const snapshot = this.snapshotInstalledSkill(installed, {
1786
+ actor: options.actor,
1787
+ reason: options.reason,
1788
+ updatedAt: options.updatedAt,
1789
+ });
1790
+ fs.rmSync(targetPath, { force: false });
1791
+ this.removeEmptySupportingParents(installed, path.dirname(targetPath));
1792
+ installed.lifecycle = {
1793
+ status: installed.enabled === false ? 'disabled' : 'active',
1794
+ updatedAt: options.updatedAt ?? Date.now(),
1795
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1796
+ ...(options.reason ? { reason: options.reason } : {}),
1797
+ };
1798
+ this.appendSnapshot(installed, snapshot);
1799
+ this.writeLockfile();
1800
+ const relativeFilePath = this.relativeSkillMutationPath(installed, targetPath);
1801
+ this.emit('skill:file_removed', { name: skillName, filePath: relativeFilePath, snapshot });
1802
+ return {
1803
+ absolutePath: targetPath,
1804
+ filePath: relativeFilePath,
1805
+ installed,
1806
+ removed: true,
1807
+ snapshot,
1808
+ };
1809
+ }
1810
+ /**
1811
+ * Restore a previous SKILL.md snapshot, snapshotting the current file first
1812
+ * so rollback itself remains reversible.
1813
+ */
1814
+ rollbackInstalledSkill(skillName, snapshotId, options = {}) {
1815
+ const installed = this.lockfile.skills[skillName];
1816
+ if (!installed) {
1817
+ logger.warn('Cannot rollback missing skill', { name: skillName });
1818
+ return null;
1819
+ }
1820
+ if (!fs.existsSync(installed.path)) {
1821
+ throw new Error(`Skill file not found: ${installed.path}`);
1822
+ }
1823
+ const history = installed.history ?? [];
1824
+ const restoredSnapshot = snapshotId
1825
+ ? history.find((snapshot) => snapshot.id === snapshotId)
1826
+ : history[history.length - 1];
1827
+ if (!restoredSnapshot) {
1828
+ throw new Error(snapshotId
1829
+ ? `Rollback snapshot not found for '${skillName}': ${snapshotId}`
1830
+ : `No rollback snapshots available for '${skillName}'`);
1831
+ }
1832
+ if (!fs.existsSync(restoredSnapshot.snapshotPath)) {
1833
+ throw new Error(`Rollback snapshot file not found: ${restoredSnapshot.snapshotPath}`);
1834
+ }
1835
+ const restoredContent = fs.readFileSync(restoredSnapshot.snapshotPath, 'utf-8');
1836
+ this.validateSkillContent(restoredContent, skillName);
1837
+ const currentSnapshot = this.snapshotInstalledSkill(installed, {
1838
+ actor: options.actor,
1839
+ reason: options.reason
1840
+ ? `before rollback: ${options.reason}`
1841
+ : `before rollback to ${restoredSnapshot.id}`,
1842
+ updatedAt: options.updatedAt,
1843
+ });
1844
+ fs.writeFileSync(installed.path, restoredContent, 'utf-8');
1845
+ installed.checksum = computeChecksum(restoredContent);
1846
+ installed.version = this.extractVersionFromContent(restoredContent) || restoredSnapshot.version;
1847
+ installed.lifecycle = {
1848
+ status: installed.enabled === false ? 'disabled' : 'active',
1849
+ updatedAt: options.updatedAt ?? Date.now(),
1850
+ ...(options.actor ? { updatedBy: options.actor } : {}),
1851
+ ...(options.reason ? { reason: options.reason } : {}),
1852
+ };
1853
+ this.appendSnapshot(installed, currentSnapshot);
1854
+ this.writeLockfile();
1855
+ this.emit('skill:rolled_back', { name: skillName, restoredSnapshot, currentSnapshot });
1856
+ return { installed, restoredSnapshot, currentSnapshot };
1857
+ }
1858
+ /**
1859
+ * Return current installed skill state plus rollback snapshots with on-disk
1860
+ * integrity checks. This is the read model Cowork/CLI use before offering a
1861
+ * version restore decision to a human reviewer.
1862
+ */
1863
+ getInstalledSkillHistory(skillName) {
1864
+ const detail = this.info(skillName);
1865
+ if (!detail) {
1866
+ return null;
1867
+ }
1868
+ const { installed, content, integrityOk } = detail;
1869
+ const snapshots = [...(installed.history ?? [])]
1870
+ .map((snapshot) => {
1871
+ const snapshotExists = fs.existsSync(snapshot.snapshotPath);
1872
+ let snapshotIntegrityOk = false;
1873
+ let sizeBytes;
1874
+ if (snapshotExists) {
1875
+ const snapshotContent = fs.readFileSync(snapshot.snapshotPath, 'utf-8');
1876
+ snapshotIntegrityOk = computeChecksum(snapshotContent) === snapshot.checksum;
1877
+ sizeBytes = Buffer.byteLength(snapshotContent, 'utf-8');
1878
+ }
1879
+ return {
1880
+ ...snapshot,
1881
+ rollbackable: snapshotExists && snapshotIntegrityOk,
1882
+ snapshotExists,
1883
+ snapshotIntegrityOk,
1884
+ ...(typeof sizeBytes === 'number' ? { sizeBytes } : {}),
1885
+ };
1886
+ })
1887
+ .sort((left, right) => right.createdAt - left.createdAt);
1888
+ return {
1889
+ installed,
1890
+ current: {
1891
+ checksum: installed.checksum,
1892
+ enabled: installed.enabled !== false,
1893
+ exists: typeof content === 'string',
1894
+ installedAt: installed.installedAt,
1895
+ integrityOk,
1896
+ path: installed.path,
1897
+ source: installed.source,
1898
+ version: installed.version,
1899
+ ...(installed.lifecycle ? { lifecycle: installed.lifecycle } : {}),
1900
+ ...(typeof content === 'string' ? { sizeBytes: Buffer.byteLength(content, 'utf-8') } : {}),
1901
+ },
1902
+ snapshots,
1903
+ rollbackableCount: snapshots.filter((snapshot) => snapshot.rollbackable).length,
1904
+ missingSnapshotCount: snapshots.filter((snapshot) => !snapshot.snapshotExists).length,
1905
+ };
1906
+ }
1907
+ /**
1908
+ * Record local skill usage so frequently useful skills can be curated.
1909
+ * Hermes-style learning starts with this small durable signal.
1910
+ */
1911
+ recordUsage(skillName, record) {
1912
+ const installed = this.lockfile.skills[skillName];
1913
+ if (!installed) {
1914
+ logger.warn('Cannot record usage for missing skill', { name: skillName });
1915
+ return null;
1916
+ }
1917
+ const previous = installed.usage;
1918
+ const invocationCount = (previous?.invocationCount ?? 0) + 1;
1919
+ const previousAverage = previous?.averageDurationMs ?? 0;
1920
+ const durationMs = record.durationMs;
1921
+ const averageDurationMs = typeof durationMs === 'number'
1922
+ ? ((previousAverage * (invocationCount - 1)) + durationMs) / invocationCount
1923
+ : previous?.averageDurationMs;
1924
+ installed.usage = {
1925
+ invocationCount,
1926
+ successCount: (previous?.successCount ?? 0) + (record.success ? 1 : 0),
1927
+ failureCount: (previous?.failureCount ?? 0) + (record.success ? 0 : 1),
1928
+ lastUsedAt: record.usedAt ?? Date.now(),
1929
+ lastDurationMs: durationMs,
1930
+ averageDurationMs,
1931
+ lastError: record.success ? undefined : record.error,
1932
+ };
1933
+ this.writeLockfile();
1934
+ this.emit('skill:usage', installed);
1935
+ return installed;
1936
+ }
1937
+ /**
1938
+ * Return installed skills ordered by local usage frequency.
1939
+ */
1940
+ usageSummary() {
1941
+ return this.list()
1942
+ .filter(skill => Boolean(skill.usage))
1943
+ .sort((left, right) => {
1944
+ const countDelta = (right.usage?.invocationCount ?? 0) - (left.usage?.invocationCount ?? 0);
1945
+ if (countDelta !== 0)
1946
+ return countDelta;
1947
+ return (right.usage?.lastUsedAt ?? 0) - (left.usage?.lastUsedAt ?? 0);
1948
+ });
1949
+ }
1950
+ snapshotInstalledSkill(installed, options = {}) {
1951
+ if (!fs.existsSync(installed.path)) {
1952
+ throw new Error(`Skill file not found: ${installed.path}`);
1953
+ }
1954
+ const content = fs.readFileSync(installed.path, 'utf-8');
1955
+ const checksum = computeChecksum(content);
1956
+ const createdAt = options.updatedAt ?? Date.now();
1957
+ const id = `${createdAt.toString(36)}-${randomUUID().slice(0, 8)}-${checksum.slice(0, 12)}`;
1958
+ const snapshotDir = path.join(this.config.cacheDir, 'history', installed.name.replace(/[^a-zA-Z0-9_-]/g, '_'));
1959
+ const snapshotPath = path.join(snapshotDir, `${id}.SKILL.md`);
1960
+ fs.mkdirSync(snapshotDir, { recursive: true });
1961
+ fs.writeFileSync(snapshotPath, content, 'utf-8');
1962
+ return {
1963
+ id,
1964
+ createdAt,
1965
+ checksum,
1966
+ version: this.extractVersionFromContent(content) || installed.version,
1967
+ snapshotPath,
1968
+ ...(options.actor ? { createdBy: options.actor } : {}),
1969
+ ...(options.reason ? { reason: options.reason } : {}),
1970
+ };
1971
+ }
1972
+ appendSnapshot(installed, snapshot) {
1973
+ installed.history = [...(installed.history ?? []), snapshot].slice(-20);
1974
+ }
593
1975
  /**
594
1976
  * Get detailed information about an installed skill.
595
1977
  * Returns the lockfile entry plus the current on-disk content metadata.
@@ -611,6 +1993,70 @@ export class SkillsHub extends EventEmitter {
611
1993
  // ==========================================================================
612
1994
  // Helpers
613
1995
  // ==========================================================================
1996
+ resolveSkillMutationPath(installed, filePath, options = {}) {
1997
+ const skillDir = path.dirname(installed.path);
1998
+ if (!filePath || filePath.trim() === '') {
1999
+ if (options.requireSupportingDir) {
2000
+ throw new Error('file_path is required');
2001
+ }
2002
+ return installed.path;
2003
+ }
2004
+ const normalized = filePath.trim().replace(/\\/g, '/');
2005
+ if (normalized.startsWith('/')
2006
+ || path.isAbsolute(normalized)
2007
+ || /^[A-Za-z]:/.test(normalized)
2008
+ || normalized.split('/').some((part) => part === '..' || part === '')) {
2009
+ throw new Error(`Unsafe skill file path: ${filePath}`);
2010
+ }
2011
+ if (normalized === 'SKILL.md') {
2012
+ if (options.requireSupportingDir) {
2013
+ throw new Error('SKILL.md cannot be used as a supporting file path');
2014
+ }
2015
+ return installed.path;
2016
+ }
2017
+ const parts = normalized.split('/');
2018
+ const [topLevel] = parts;
2019
+ if (!topLevel || !SUPPORTING_FILE_DIRS.has(topLevel)) {
2020
+ throw new Error(`Unsupported skill file path '${filePath}'. Use references/, templates/, scripts/, or assets/.`);
2021
+ }
2022
+ if (parts.length < 2 || !parts[parts.length - 1]) {
2023
+ throw new Error(`Unsupported skill file path '${filePath}'. Use a file under references/, templates/, scripts/, or assets/.`);
2024
+ }
2025
+ const targetPath = path.resolve(skillDir, ...parts);
2026
+ const relative = path.relative(skillDir, targetPath);
2027
+ if (relative.startsWith('..') || path.isAbsolute(relative)) {
2028
+ throw new Error(`Unsafe skill file path: ${filePath}`);
2029
+ }
2030
+ return targetPath;
2031
+ }
2032
+ relativeSkillMutationPath(installed, targetPath) {
2033
+ if (path.resolve(targetPath) === path.resolve(installed.path)) {
2034
+ return 'SKILL.md';
2035
+ }
2036
+ return path.relative(path.dirname(installed.path), targetPath).replace(/\\/g, '/');
2037
+ }
2038
+ removeEmptySupportingParents(installed, startDir) {
2039
+ const skillDir = path.dirname(installed.path);
2040
+ let current = path.resolve(startDir);
2041
+ while (current !== path.resolve(skillDir)) {
2042
+ const relative = path.relative(skillDir, current).replace(/\\/g, '/');
2043
+ const [topLevel] = relative.split('/');
2044
+ if (!topLevel || !SUPPORTING_FILE_DIRS.has(topLevel)) {
2045
+ return;
2046
+ }
2047
+ try {
2048
+ if (fs.existsSync(current) && fs.readdirSync(current).length === 0) {
2049
+ fs.rmdirSync(current);
2050
+ current = path.dirname(current);
2051
+ continue;
2052
+ }
2053
+ }
2054
+ catch {
2055
+ return;
2056
+ }
2057
+ return;
2058
+ }
2059
+ }
614
2060
  /**
615
2061
  * Extract the version field from SKILL.md YAML frontmatter.
616
2062
  */
@@ -618,8 +2064,10 @@ export class SkillsHub extends EventEmitter {
618
2064
  const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/);
619
2065
  if (!match)
620
2066
  return null;
2067
+ // safe: regex matched with a mandatory capture group, so match[1] is present
2068
+ const frontmatter = match[1] ?? '';
621
2069
  try {
622
- const parsed = yaml.parse(match[1]);
2070
+ const parsed = yaml.parse(frontmatter);
623
2071
  if (typeof parsed.version === 'string') {
624
2072
  return parsed.version;
625
2073
  }
@@ -638,8 +2086,10 @@ export class SkillsHub extends EventEmitter {
638
2086
  if (!match) {
639
2087
  throw new Error(`Invalid SKILL.md format for '${skillName}': missing YAML frontmatter`);
640
2088
  }
2089
+ // safe: regex matched with a mandatory capture group, so match[1] is present
2090
+ const frontmatter = match[1] ?? '';
641
2091
  try {
642
- const parsed = yaml.parse(match[1]);
2092
+ const parsed = yaml.parse(frontmatter);
643
2093
  if (!parsed.name || typeof parsed.name !== 'string') {
644
2094
  throw new Error(`SKILL.md for '${skillName}' is missing required 'name' field`);
645
2095
  }