agent-nuvira 3.3.13 → 3.3.14

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 (387) hide show
  1. package/README.md +67 -1
  2. package/dist/agents/agents/planner.d.ts.map +1 -1
  3. package/dist/agents/agents/planner.js +9 -0
  4. package/dist/agents/agents/planner.js.map +1 -1
  5. package/dist/agents/orchestrator.d.ts +31 -0
  6. package/dist/agents/orchestrator.d.ts.map +1 -1
  7. package/dist/agents/orchestrator.js +74 -126
  8. package/dist/agents/orchestrator.js.map +1 -1
  9. package/dist/cli/chat.d.ts +89 -0
  10. package/dist/cli/chat.d.ts.map +1 -1
  11. package/dist/cli/chat.js +765 -33
  12. package/dist/cli/chat.js.map +1 -1
  13. package/dist/cli/cli-program.d.ts.map +1 -1
  14. package/dist/cli/cli-program.js +12 -0
  15. package/dist/cli/cli-program.js.map +1 -1
  16. package/dist/cli/config.d.ts +12 -0
  17. package/dist/cli/config.d.ts.map +1 -1
  18. package/dist/cli/config.js +86 -0
  19. package/dist/cli/config.js.map +1 -1
  20. package/dist/cli/decisions.d.ts +28 -0
  21. package/dist/cli/decisions.d.ts.map +1 -0
  22. package/dist/cli/decisions.js +140 -0
  23. package/dist/cli/decisions.js.map +1 -0
  24. package/dist/cli/doctor.d.ts +6 -0
  25. package/dist/cli/doctor.d.ts.map +1 -1
  26. package/dist/cli/doctor.js +46 -0
  27. package/dist/cli/doctor.js.map +1 -1
  28. package/dist/cli/failover-runner.d.ts.map +1 -1
  29. package/dist/cli/failover-runner.js +19 -1
  30. package/dist/cli/failover-runner.js.map +1 -1
  31. package/dist/cli/feedback.d.ts.map +1 -1
  32. package/dist/cli/feedback.js +5 -1
  33. package/dist/cli/feedback.js.map +1 -1
  34. package/dist/cli/hooks.d.ts +30 -0
  35. package/dist/cli/hooks.d.ts.map +1 -0
  36. package/dist/cli/hooks.js +224 -0
  37. package/dist/cli/hooks.js.map +1 -0
  38. package/dist/cli/knowledge.d.ts +9 -1
  39. package/dist/cli/knowledge.d.ts.map +1 -1
  40. package/dist/cli/knowledge.js +93 -2
  41. package/dist/cli/knowledge.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +47 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/model.d.ts +20 -0
  46. package/dist/cli/model.d.ts.map +1 -1
  47. package/dist/cli/model.js +294 -14
  48. package/dist/cli/model.js.map +1 -1
  49. package/dist/cli/rate.d.ts +78 -0
  50. package/dist/cli/rate.d.ts.map +1 -0
  51. package/dist/cli/rate.js +294 -0
  52. package/dist/cli/rate.js.map +1 -0
  53. package/dist/config/process-env.d.ts.map +1 -1
  54. package/dist/config/process-env.js +10 -0
  55. package/dist/config/process-env.js.map +1 -1
  56. package/dist/enterprise/vault.d.ts.map +1 -1
  57. package/dist/enterprise/vault.js +5 -21
  58. package/dist/enterprise/vault.js.map +1 -1
  59. package/dist/gateway/hook-contract.d.ts +33 -0
  60. package/dist/gateway/hook-contract.d.ts.map +1 -1
  61. package/dist/gateway/hook-contract.js +97 -0
  62. package/dist/gateway/hook-contract.js.map +1 -1
  63. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  64. package/dist/inference/gemini-adapter.js +4 -0
  65. package/dist/inference/gemini-adapter.js.map +1 -1
  66. package/dist/inference/interface.d.ts +37 -0
  67. package/dist/inference/interface.d.ts.map +1 -1
  68. package/dist/inference/native-tools.d.ts +16 -1
  69. package/dist/inference/native-tools.d.ts.map +1 -1
  70. package/dist/inference/native-tools.js +34 -10
  71. package/dist/inference/native-tools.js.map +1 -1
  72. package/dist/inference/route-resolver.d.ts +30 -0
  73. package/dist/inference/route-resolver.d.ts.map +1 -1
  74. package/dist/inference/route-resolver.js +158 -1
  75. package/dist/inference/route-resolver.js.map +1 -1
  76. package/dist/inference/tools.d.ts +16 -1
  77. package/dist/inference/tools.d.ts.map +1 -1
  78. package/dist/inference/tools.js +51 -18
  79. package/dist/inference/tools.js.map +1 -1
  80. package/dist/learning/acceptance-model.d.ts +247 -0
  81. package/dist/learning/acceptance-model.d.ts.map +1 -0
  82. package/dist/learning/acceptance-model.js +708 -0
  83. package/dist/learning/acceptance-model.js.map +1 -0
  84. package/dist/learning/auto-router.d.ts +68 -24
  85. package/dist/learning/auto-router.d.ts.map +1 -1
  86. package/dist/learning/auto-router.js +301 -96
  87. package/dist/learning/auto-router.js.map +1 -1
  88. package/dist/learning/autonomy-policy.d.ts +12 -16
  89. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  90. package/dist/learning/autonomy-policy.js +50 -48
  91. package/dist/learning/autonomy-policy.js.map +1 -1
  92. package/dist/learning/behavioural-labels.d.ts +86 -0
  93. package/dist/learning/behavioural-labels.d.ts.map +1 -0
  94. package/dist/learning/behavioural-labels.js +166 -0
  95. package/dist/learning/behavioural-labels.js.map +1 -0
  96. package/dist/learning/capability-evidence.d.ts +167 -0
  97. package/dist/learning/capability-evidence.d.ts.map +1 -0
  98. package/dist/learning/capability-evidence.js +210 -0
  99. package/dist/learning/capability-evidence.js.map +1 -0
  100. package/dist/learning/capability-readiness.d.ts +64 -0
  101. package/dist/learning/capability-readiness.d.ts.map +1 -0
  102. package/dist/learning/capability-readiness.js +74 -0
  103. package/dist/learning/capability-readiness.js.map +1 -0
  104. package/dist/learning/capability-types.d.ts +169 -0
  105. package/dist/learning/capability-types.d.ts.map +1 -0
  106. package/dist/learning/capability-types.js +20 -0
  107. package/dist/learning/capability-types.js.map +1 -0
  108. package/dist/learning/catalog-feed.d.ts +89 -0
  109. package/dist/learning/catalog-feed.d.ts.map +1 -0
  110. package/dist/learning/catalog-feed.js +211 -0
  111. package/dist/learning/catalog-feed.js.map +1 -0
  112. package/dist/learning/cli-intent-effects.d.ts +60 -0
  113. package/dist/learning/cli-intent-effects.d.ts.map +1 -0
  114. package/dist/learning/cli-intent-effects.js +153 -0
  115. package/dist/learning/cli-intent-effects.js.map +1 -0
  116. package/dist/learning/command-adaptation.d.ts +41 -0
  117. package/dist/learning/command-adaptation.d.ts.map +1 -0
  118. package/dist/learning/command-adaptation.js +122 -0
  119. package/dist/learning/command-adaptation.js.map +1 -0
  120. package/dist/learning/consent-picture.d.ts +42 -0
  121. package/dist/learning/consent-picture.d.ts.map +1 -0
  122. package/dist/learning/consent-picture.js +53 -0
  123. package/dist/learning/consent-picture.js.map +1 -0
  124. package/dist/learning/context-budget.d.ts +37 -6
  125. package/dist/learning/context-budget.d.ts.map +1 -1
  126. package/dist/learning/context-budget.js +38 -9
  127. package/dist/learning/context-budget.js.map +1 -1
  128. package/dist/learning/decision-log.d.ts +114 -0
  129. package/dist/learning/decision-log.d.ts.map +1 -0
  130. package/dist/learning/decision-log.js +296 -0
  131. package/dist/learning/decision-log.js.map +1 -0
  132. package/dist/learning/deliverable-class.d.ts.map +1 -1
  133. package/dist/learning/deliverable-class.js +19 -0
  134. package/dist/learning/deliverable-class.js.map +1 -1
  135. package/dist/learning/deliverable-corpus.d.ts +117 -0
  136. package/dist/learning/deliverable-corpus.d.ts.map +1 -0
  137. package/dist/learning/deliverable-corpus.js +176 -0
  138. package/dist/learning/deliverable-corpus.js.map +1 -0
  139. package/dist/learning/error-repair.d.ts +22 -1
  140. package/dist/learning/error-repair.d.ts.map +1 -1
  141. package/dist/learning/error-repair.js +37 -0
  142. package/dist/learning/error-repair.js.map +1 -1
  143. package/dist/learning/exhaustion-report.d.ts +136 -0
  144. package/dist/learning/exhaustion-report.d.ts.map +1 -0
  145. package/dist/learning/exhaustion-report.js +239 -0
  146. package/dist/learning/exhaustion-report.js.map +1 -0
  147. package/dist/learning/failure-bookkeeping.d.ts +16 -0
  148. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  149. package/dist/learning/failure-bookkeeping.js +51 -5
  150. package/dist/learning/failure-bookkeeping.js.map +1 -1
  151. package/dist/learning/gate-friction.d.ts +39 -0
  152. package/dist/learning/gate-friction.d.ts.map +1 -0
  153. package/dist/learning/gate-friction.js +91 -0
  154. package/dist/learning/gate-friction.js.map +1 -0
  155. package/dist/learning/harness-narration.d.ts +34 -0
  156. package/dist/learning/harness-narration.d.ts.map +1 -0
  157. package/dist/learning/harness-narration.js +58 -0
  158. package/dist/learning/harness-narration.js.map +1 -0
  159. package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
  160. package/dist/learning/hub-skill-catalog.js +1 -2
  161. package/dist/learning/hub-skill-catalog.js.map +1 -1
  162. package/dist/learning/hybrid-router.d.ts +65 -0
  163. package/dist/learning/hybrid-router.d.ts.map +1 -1
  164. package/dist/learning/hybrid-router.js +186 -0
  165. package/dist/learning/hybrid-router.js.map +1 -1
  166. package/dist/learning/knowledge-base.d.ts +229 -3
  167. package/dist/learning/knowledge-base.d.ts.map +1 -1
  168. package/dist/learning/knowledge-base.js +593 -24
  169. package/dist/learning/knowledge-base.js.map +1 -1
  170. package/dist/learning/knowledge-eval.d.ts +171 -0
  171. package/dist/learning/knowledge-eval.d.ts.map +1 -0
  172. package/dist/learning/knowledge-eval.js +196 -0
  173. package/dist/learning/knowledge-eval.js.map +1 -0
  174. package/dist/learning/knowledge-turn.d.ts +92 -0
  175. package/dist/learning/knowledge-turn.d.ts.map +1 -0
  176. package/dist/learning/knowledge-turn.js +190 -0
  177. package/dist/learning/knowledge-turn.js.map +1 -0
  178. package/dist/learning/learned-commands.d.ts +64 -0
  179. package/dist/learning/learned-commands.d.ts.map +1 -0
  180. package/dist/learning/learned-commands.js +108 -0
  181. package/dist/learning/learned-commands.js.map +1 -0
  182. package/dist/learning/lexical-search.d.ts +50 -0
  183. package/dist/learning/lexical-search.d.ts.map +1 -0
  184. package/dist/learning/lexical-search.js +111 -0
  185. package/dist/learning/lexical-search.js.map +1 -0
  186. package/dist/learning/machine-facts.d.ts +71 -0
  187. package/dist/learning/machine-facts.d.ts.map +1 -0
  188. package/dist/learning/machine-facts.js +164 -0
  189. package/dist/learning/machine-facts.js.map +1 -0
  190. package/dist/learning/markdown-outline.d.ts +73 -0
  191. package/dist/learning/markdown-outline.d.ts.map +1 -0
  192. package/dist/learning/markdown-outline.js +136 -0
  193. package/dist/learning/markdown-outline.js.map +1 -0
  194. package/dist/learning/model-first-router.d.ts +33 -1
  195. package/dist/learning/model-first-router.d.ts.map +1 -1
  196. package/dist/learning/model-first-router.js +123 -9
  197. package/dist/learning/model-first-router.js.map +1 -1
  198. package/dist/learning/model-identity.d.ts +80 -0
  199. package/dist/learning/model-identity.d.ts.map +1 -0
  200. package/dist/learning/model-identity.js +115 -0
  201. package/dist/learning/model-identity.js.map +1 -0
  202. package/dist/learning/model-registry.d.ts +141 -2
  203. package/dist/learning/model-registry.d.ts.map +1 -1
  204. package/dist/learning/model-registry.js +324 -38
  205. package/dist/learning/model-registry.js.map +1 -1
  206. package/dist/learning/model-scoring.d.ts.map +1 -1
  207. package/dist/learning/model-scoring.js +8 -1
  208. package/dist/learning/model-scoring.js.map +1 -1
  209. package/dist/learning/model-selection.d.ts.map +1 -1
  210. package/dist/learning/model-selection.js +41 -0
  211. package/dist/learning/model-selection.js.map +1 -1
  212. package/dist/learning/outcome-observation.d.ts +49 -0
  213. package/dist/learning/outcome-observation.d.ts.map +1 -0
  214. package/dist/learning/outcome-observation.js +95 -0
  215. package/dist/learning/outcome-observation.js.map +1 -0
  216. package/dist/learning/pair-entitlement.d.ts +184 -0
  217. package/dist/learning/pair-entitlement.d.ts.map +1 -0
  218. package/dist/learning/pair-entitlement.js +214 -0
  219. package/dist/learning/pair-entitlement.js.map +1 -0
  220. package/dist/learning/provider-fallback.d.ts +23 -1
  221. package/dist/learning/provider-fallback.d.ts.map +1 -1
  222. package/dist/learning/provider-fallback.js +24 -0
  223. package/dist/learning/provider-fallback.js.map +1 -1
  224. package/dist/learning/reasoning-trace.d.ts +65 -1
  225. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  226. package/dist/learning/reasoning-trace.js +123 -1
  227. package/dist/learning/reasoning-trace.js.map +1 -1
  228. package/dist/learning/requirement-probe.d.ts +55 -0
  229. package/dist/learning/requirement-probe.d.ts.map +1 -0
  230. package/dist/learning/requirement-probe.js +77 -0
  231. package/dist/learning/requirement-probe.js.map +1 -0
  232. package/dist/learning/resilient-call.d.ts +20 -1
  233. package/dist/learning/resilient-call.d.ts.map +1 -1
  234. package/dist/learning/resilient-call.js +42 -4
  235. package/dist/learning/resilient-call.js.map +1 -1
  236. package/dist/learning/response-usability.d.ts +85 -0
  237. package/dist/learning/response-usability.d.ts.map +1 -0
  238. package/dist/learning/response-usability.js +135 -0
  239. package/dist/learning/response-usability.js.map +1 -0
  240. package/dist/learning/router-bandit.d.ts +132 -0
  241. package/dist/learning/router-bandit.d.ts.map +1 -1
  242. package/dist/learning/router-bandit.js +253 -0
  243. package/dist/learning/router-bandit.js.map +1 -1
  244. package/dist/learning/routing-history.d.ts +41 -2
  245. package/dist/learning/routing-history.d.ts.map +1 -1
  246. package/dist/learning/routing-history.js.map +1 -1
  247. package/dist/learning/run-trace.d.ts +21 -0
  248. package/dist/learning/run-trace.d.ts.map +1 -1
  249. package/dist/learning/run-trace.js +38 -0
  250. package/dist/learning/run-trace.js.map +1 -1
  251. package/dist/learning/session-grant.d.ts +75 -0
  252. package/dist/learning/session-grant.d.ts.map +1 -0
  253. package/dist/learning/session-grant.js +112 -0
  254. package/dist/learning/session-grant.js.map +1 -0
  255. package/dist/learning/task-model-continuity.d.ts +73 -0
  256. package/dist/learning/task-model-continuity.d.ts.map +1 -0
  257. package/dist/learning/task-model-continuity.js +87 -0
  258. package/dist/learning/task-model-continuity.js.map +1 -0
  259. package/dist/learning/turn-feedback.d.ts +93 -0
  260. package/dist/learning/turn-feedback.d.ts.map +1 -0
  261. package/dist/learning/turn-feedback.js +127 -0
  262. package/dist/learning/turn-feedback.js.map +1 -0
  263. package/dist/learning/turn-report.d.ts +104 -2
  264. package/dist/learning/turn-report.d.ts.map +1 -1
  265. package/dist/learning/turn-report.js +161 -6
  266. package/dist/learning/turn-report.js.map +1 -1
  267. package/dist/learning/verdict-routing.d.ts +51 -0
  268. package/dist/learning/verdict-routing.d.ts.map +1 -0
  269. package/dist/learning/verdict-routing.js +122 -0
  270. package/dist/learning/verdict-routing.js.map +1 -0
  271. package/dist/mcp/client.d.ts.map +1 -1
  272. package/dist/mcp/client.js +5 -0
  273. package/dist/mcp/client.js.map +1 -1
  274. package/dist/mcp/manager.d.ts +10 -0
  275. package/dist/mcp/manager.d.ts.map +1 -1
  276. package/dist/mcp/manager.js +20 -0
  277. package/dist/mcp/manager.js.map +1 -1
  278. package/dist/mcp/mcp-discovery.d.ts +34 -0
  279. package/dist/mcp/mcp-discovery.d.ts.map +1 -0
  280. package/dist/mcp/mcp-discovery.js +71 -0
  281. package/dist/mcp/mcp-discovery.js.map +1 -0
  282. package/dist/mcp/mcp-schema-cache.d.ts +17 -0
  283. package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
  284. package/dist/mcp/mcp-schema-cache.js +47 -3
  285. package/dist/mcp/mcp-schema-cache.js.map +1 -1
  286. package/dist/mcp/types.d.ts +28 -0
  287. package/dist/mcp/types.d.ts.map +1 -1
  288. package/dist/mcp/types.js.map +1 -1
  289. package/dist/tools/ask-user.d.ts.map +1 -1
  290. package/dist/tools/ask-user.js +4 -0
  291. package/dist/tools/ask-user.js.map +1 -1
  292. package/dist/tools/capability-registry.d.ts +150 -0
  293. package/dist/tools/capability-registry.d.ts.map +1 -0
  294. package/dist/tools/capability-registry.js +400 -0
  295. package/dist/tools/capability-registry.js.map +1 -0
  296. package/dist/tools/child-agent-runtime.d.ts.map +1 -1
  297. package/dist/tools/child-agent-runtime.js +19 -5
  298. package/dist/tools/child-agent-runtime.js.map +1 -1
  299. package/dist/tools/coding-tools.d.ts +17 -5
  300. package/dist/tools/coding-tools.d.ts.map +1 -1
  301. package/dist/tools/coding-tools.js +80 -11
  302. package/dist/tools/coding-tools.js.map +1 -1
  303. package/dist/tools/command-memo.d.ts +116 -0
  304. package/dist/tools/command-memo.d.ts.map +1 -0
  305. package/dist/tools/command-memo.js +202 -0
  306. package/dist/tools/command-memo.js.map +1 -0
  307. package/dist/tools/git-tool.d.ts.map +1 -1
  308. package/dist/tools/git-tool.js +13 -3
  309. package/dist/tools/git-tool.js.map +1 -1
  310. package/dist/tools/harness-directive.d.ts +42 -0
  311. package/dist/tools/harness-directive.d.ts.map +1 -0
  312. package/dist/tools/harness-directive.js +45 -0
  313. package/dist/tools/harness-directive.js.map +1 -0
  314. package/dist/tools/loop-skill-hint.d.ts +74 -174
  315. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  316. package/dist/tools/loop-skill-hint.js +110 -536
  317. package/dist/tools/loop-skill-hint.js.map +1 -1
  318. package/dist/tools/mcp-client-tool.d.ts +2 -0
  319. package/dist/tools/mcp-client-tool.d.ts.map +1 -1
  320. package/dist/tools/mcp-client-tool.js +3 -0
  321. package/dist/tools/mcp-client-tool.js.map +1 -1
  322. package/dist/tools/modality/shared.d.ts +1 -4
  323. package/dist/tools/modality/shared.d.ts.map +1 -1
  324. package/dist/tools/modality/shared.js +7 -22
  325. package/dist/tools/modality/shared.js.map +1 -1
  326. package/dist/tools/plan-store.d.ts +20 -2
  327. package/dist/tools/plan-store.d.ts.map +1 -1
  328. package/dist/tools/plan-store.js +51 -7
  329. package/dist/tools/plan-store.js.map +1 -1
  330. package/dist/tools/registry.d.ts +76 -3
  331. package/dist/tools/registry.d.ts.map +1 -1
  332. package/dist/tools/registry.js +486 -26
  333. package/dist/tools/registry.js.map +1 -1
  334. package/dist/tools/remediation-ladder.d.ts.map +1 -1
  335. package/dist/tools/remediation-ladder.js +8 -0
  336. package/dist/tools/remediation-ladder.js.map +1 -1
  337. package/dist/tools/run-cli.d.ts.map +1 -1
  338. package/dist/tools/run-cli.js +29 -4
  339. package/dist/tools/run-cli.js.map +1 -1
  340. package/dist/tools/run-terminal.d.ts +11 -0
  341. package/dist/tools/run-terminal.d.ts.map +1 -1
  342. package/dist/tools/run-terminal.js +265 -10
  343. package/dist/tools/run-terminal.js.map +1 -1
  344. package/dist/tools/tool-loop.d.ts +321 -13
  345. package/dist/tools/tool-loop.d.ts.map +1 -1
  346. package/dist/tools/tool-loop.js +867 -66
  347. package/dist/tools/tool-loop.js.map +1 -1
  348. package/dist/utils/atomic-store.d.ts +53 -0
  349. package/dist/utils/atomic-store.d.ts.map +1 -0
  350. package/dist/utils/atomic-store.js +178 -0
  351. package/dist/utils/atomic-store.js.map +1 -0
  352. package/dist/utils/binary-probe.d.ts +25 -0
  353. package/dist/utils/binary-probe.d.ts.map +1 -0
  354. package/dist/utils/binary-probe.js +48 -0
  355. package/dist/utils/binary-probe.js.map +1 -0
  356. package/dist/utils/workspace-path.d.ts +50 -0
  357. package/dist/utils/workspace-path.d.ts.map +1 -0
  358. package/dist/utils/workspace-path.js +86 -0
  359. package/dist/utils/workspace-path.js.map +1 -0
  360. package/dist/web-dashboard/chat-console.d.ts +24 -0
  361. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  362. package/dist/web-dashboard/chat-console.js +38 -0
  363. package/dist/web-dashboard/chat-console.js.map +1 -1
  364. package/dist/web-dashboard/project-context.d.ts +27 -2
  365. package/dist/web-dashboard/project-context.d.ts.map +1 -1
  366. package/dist/web-dashboard/project-context.js +32 -2
  367. package/dist/web-dashboard/project-context.js.map +1 -1
  368. package/dist/web-dashboard/server.d.ts +11 -0
  369. package/dist/web-dashboard/server.d.ts.map +1 -1
  370. package/dist/web-dashboard/server.js +362 -11
  371. package/dist/web-dashboard/server.js.map +1 -1
  372. package/dist/web-dashboard/src/types.d.ts +170 -1
  373. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  374. package/dist/web-dashboard/workspace-guard.d.ts +11 -2
  375. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  376. package/dist/web-dashboard/workspace-guard.js +24 -12
  377. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  378. package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
  379. package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
  380. package/dist/web-dashboard/workspace-resolution.js +105 -0
  381. package/dist/web-dashboard/workspace-resolution.js.map +1 -0
  382. package/package.json +1 -1
  383. package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
  384. package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
  385. package/src/web-dashboard/public/index.html +1 -1
  386. package/src/web-dashboard/public/assets/index-DhiuR4S2.js +0 -210
  387. package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iDAAkC,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EAAE,EACxB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,CAAC,CAyFxB"}
1
+ {"version":3,"file":"ask-user.d.ts","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,iDAAkC,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EAAE,EACxB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,aAAa,CAAC,CA6FxB"}
@@ -51,6 +51,10 @@ export async function renderAskUser(question, choices, multiSelect) {
51
51
  return {
52
52
  answer: multiSelect ? [fallback] : fallback,
53
53
  index: multiSelect ? [0] : 0,
54
+ // E1 — marked so the TOOL records this as an assumption rather than a
55
+ // user answer. Without it the pick is filed as a shown ask with an answer,
56
+ // which is what let an unattended default read as the user's own choice.
57
+ unattended: true,
54
58
  custom: `Nobody was available to answer in this run, so "${fallback}" was assumed. ` +
55
59
  'Do NOT mention this internal note. Instead, in your written answer tell the user the question ' +
56
60
  `you would have asked and the assumption you made (e.g. "I assumed "${fallback}" — tell me ` +
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../src/tools/ask-user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Capability registry — normalize everything the agent can DO into one index.
3
+ *
4
+ * Phase 1 of the capability layer. It ADAPTS the sources that already exist:
5
+ *
6
+ * - the TOOL registry (name + description → `kind: 'tool'`),
7
+ * - the installed SKILL catalog (→ `kind: 'skill'`),
8
+ * - a small curated set of high-level ACTIONS the user named (install /
9
+ * uninstall / publish package / publish site / deploy / push / store a
10
+ * credential) that are expressed TODAY only as scattered prose,
11
+ * - the tools of any MCP server connected THIS process (→ `kind: 'mcp'`).
12
+ * Reach borrowed from outside: a foreign server already declares what each
13
+ * tool does (MCP `ToolAnnotations`) and what it needs (its JSON Schema), so
14
+ * those become discoverable capabilities with nothing hand-written here.
15
+ *
16
+ * It deliberately does NOT import `./registry.js` — callers pass the tool list
17
+ * in, so `tool_search` can use this without an import cycle. And it does NOT
18
+ * decide anything yet: discovery only. Phase 2 moves the gates onto `effectClass`.
19
+ *
20
+ * The effect-class map below is deliberately CONSERVATIVE: a tool whose effect is
21
+ * unknown defaults to `local-state` (an ask), never `read`. A read-only tool
22
+ * mislabelled is cosmetic; a mutating tool mislabelled read would be dangerous.
23
+ */
24
+ import type { Capability, CapabilityHit, CapabilityRequires, EffectClass, GrantCategory, ToolCapabilityDeclaration } from '../learning/capability-types.js';
25
+ type ToolLike = {
26
+ name: string;
27
+ description?: string;
28
+ category?: string;
29
+ /** The tool's OWN declaration (see `Tool.capability` in registry.ts). */
30
+ capability?: ToolCapabilityDeclaration;
31
+ };
32
+ /**
33
+ * A tool discovered on an external MCP server. Deliberately structural, not
34
+ * imported from `src/mcp/types.ts`: this module must stay importable from the
35
+ * tool layer without pulling the MCP client in, and an injected list is what
36
+ * makes the ingestion testable.
37
+ */
38
+ export interface McpToolLike {
39
+ server: string;
40
+ name: string;
41
+ description?: string;
42
+ inputSchema?: Record<string, unknown>;
43
+ /** The server's OWN declaration (MCP `ToolAnnotations`). Absent = unknown. */
44
+ annotations?: {
45
+ title?: string;
46
+ readOnlyHint?: boolean;
47
+ destructiveHint?: boolean;
48
+ idempotentHint?: boolean;
49
+ openWorldHint?: boolean;
50
+ };
51
+ }
52
+ /**
53
+ * Record a tool's own capability declaration (called once per `registerTool`).
54
+ * A tool that declares nothing is left out on purpose — absence IS the
55
+ * conservative default, not an error.
56
+ */
57
+ export declare function declareToolCapability(name: string, decl?: ToolCapabilityDeclaration): void;
58
+ /**
59
+ * The effect class of a registry tool by NAME only — the cheap path.
60
+ *
61
+ * WHY THIS EXISTS SEPARATELY. The tool loop asks this on every call in a step to
62
+ * decide whether siblings may run concurrently, so it must not build a full
63
+ * descriptor (description parsing, tags, requirement objects) per call. It is the
64
+ * same lookup `capabilityFromTool` performs, minus the parts the caller does not
65
+ * need — one map, one conservative default, no second opinion.
66
+ */
67
+ export declare function effectClassOfTool(name: string): EffectClass;
68
+ /**
69
+ * The session-grant category a tool DECLARES — Phase 2 of the capability layer.
70
+ *
71
+ * WHY THIS EXISTS. The gates used to hardcode the literal at each call site
72
+ * (`sessionGrantCovers(planStore, 'write')` for `write_file`/`edit_file`,
73
+ * `'external'` for `git`), restating a fact the descriptor already held. That is
74
+ * the same drift surface the whole capability layer exists to remove: a tool's
75
+ * declared `grantCategory` and the string its gate consults could disagree, and
76
+ * a new tool could be gated with no declaration at all. One lookup, one default.
77
+ *
78
+ * `null` means the tool declares NO grant (an unlisted tool, or one whose effect
79
+ * is destructive/read). That is the conservative answer: an undeclared action
80
+ * cannot be unlocked by a user's blanket grant.
81
+ */
82
+ export declare function grantCategoryOfTool(name: string): GrantCategory | null;
83
+ /**
84
+ * The grant category an EFFECT implies, for a call site whose category is a
85
+ * property of the effect rather than of a tool name — a shell command whose reach
86
+ * depends on the command, or a CLI intent resolved from the manifest.
87
+ *
88
+ * `read` and `destructive` return `null` on purpose: a read never needs a grant,
89
+ * and NO grant may ever cover a destructive action.
90
+ */
91
+ export declare function grantCategoryForEffect(effect: EffectClass): GrantCategory | null;
92
+ /** Short, human summary of a requirement set — rendered FROM the checked form. */
93
+ export declare function describeRequires(requires: CapabilityRequires): string;
94
+ /** Turn one registry tool into a capability. */
95
+ export declare function capabilityFromTool(tool: ToolLike): Capability;
96
+ /** Turn a skill (hub catalog or compiled) into a capability. */
97
+ export declare function capabilityFromSkill(skill: {
98
+ id?: string;
99
+ name: string;
100
+ description?: string;
101
+ tags?: string[];
102
+ }): Capability;
103
+ /**
104
+ * Turn an EXTERNAL MCP tool into a capability.
105
+ *
106
+ * This is the "borrow capability from outside" path: the agent's reach grows by
107
+ * ingesting what a foreign server already declares, with nothing hand-written
108
+ * here. The effect class comes from the MCP spec's own `ToolAnnotations` —
109
+ * `readOnlyHint` and `destructiveHint` — NOT from matching words in a
110
+ * description. The required inputs come from the tool's JSON Schema.
111
+ *
112
+ * When a server declares NOTHING, the capability is `external` and not
113
+ * reversible: a foreign tool is off-machine by construction, so the honest
114
+ * reading of silence is "off-machine, effect unknown" — it asks, and only an
115
+ * explicit off-machine session grant can unlock it. Erring the other way would
116
+ * let an undeclared foreign tool run silently, which is the one outcome the whole
117
+ * layer exists to prevent.
118
+ *
119
+ * HONEST LIMIT: `readOnlyHint` is the spec's description of itself as "a hint,
120
+ * not a guarantee". These tests prove we READ the declaration, not that the
121
+ * declaration is true.
122
+ */
123
+ export declare function capabilityFromMcpTool(t: McpToolLike): Capability;
124
+ /**
125
+ * The high-level ACTIONS the user named — the verbs that today exist only as
126
+ * scattered prose across tool descriptions and the consent picture. Each declares
127
+ * what it needs and what it touches, so the model can discover it and (Phase 2)
128
+ * the gate can read it instead of parsing the request.
129
+ */
130
+ export declare function actionCapabilities(): Capability[];
131
+ /**
132
+ * The capability index, best-effort. Skills come from the installed hub catalog;
133
+ * a catalog read failure simply omits them, it never breaks discovery. MCP tools
134
+ * come from servers already connected this process, and may be injected instead
135
+ * (which is what makes the ingestion testable without a live server).
136
+ */
137
+ export declare function capabilityIndex(tools: ToolLike[], opts?: {
138
+ includeSkills?: boolean;
139
+ includeMcp?: boolean;
140
+ mcpTools?: McpToolLike[];
141
+ }): Promise<Capability[]>;
142
+ /**
143
+ * Rank capabilities against a free-text query. Lexical + weighted by field, with
144
+ * a substring fallback so "publish" matches "publishing" in a description. This
145
+ * is DISCOVERY — it surfaces candidates for the model to choose from; it never
146
+ * decides what runs.
147
+ */
148
+ export declare function searchCapabilities(index: Capability[], query: string, limit?: number): CapabilityHit[];
149
+ export {};
150
+ //# sourceMappingURL=capability-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../../src/tools/capability-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AAGzC,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,UAAU,CAAC,EAAE,yBAAyB,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,8EAA8E;IAC9E,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAoCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAG1F;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAE3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEtE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI,CAWhF;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAQrE;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAgB7D;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,UAAU,CAiB3H;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,GAAG,UAAU,CAsChE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,EAAE,CAgJjD;AAiBD;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,QAAQ,EAAE,EACjB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;CAAO,GACrF,OAAO,CAAC,UAAU,EAAE,CAAC,CA4BvB;AAUD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,aAAa,EAAE,CA4BlG"}
@@ -0,0 +1,400 @@
1
+ /**
2
+ * Capability registry — normalize everything the agent can DO into one index.
3
+ *
4
+ * Phase 1 of the capability layer. It ADAPTS the sources that already exist:
5
+ *
6
+ * - the TOOL registry (name + description → `kind: 'tool'`),
7
+ * - the installed SKILL catalog (→ `kind: 'skill'`),
8
+ * - a small curated set of high-level ACTIONS the user named (install /
9
+ * uninstall / publish package / publish site / deploy / push / store a
10
+ * credential) that are expressed TODAY only as scattered prose,
11
+ * - the tools of any MCP server connected THIS process (→ `kind: 'mcp'`).
12
+ * Reach borrowed from outside: a foreign server already declares what each
13
+ * tool does (MCP `ToolAnnotations`) and what it needs (its JSON Schema), so
14
+ * those become discoverable capabilities with nothing hand-written here.
15
+ *
16
+ * It deliberately does NOT import `./registry.js` — callers pass the tool list
17
+ * in, so `tool_search` can use this without an import cycle. And it does NOT
18
+ * decide anything yet: discovery only. Phase 2 moves the gates onto `effectClass`.
19
+ *
20
+ * The effect-class map below is deliberately CONSERVATIVE: a tool whose effect is
21
+ * unknown defaults to `local-state` (an ask), never `read`. A read-only tool
22
+ * mislabelled is cosmetic; a mutating tool mislabelled read would be dangerous.
23
+ */
24
+ import { machineFactsCapability } from '../learning/machine-facts.js';
25
+ /** The required property names an MCP tool's JSON Schema declares. */
26
+ function requiredInputs(inputSchema) {
27
+ const required = inputSchema?.required;
28
+ return Array.isArray(required) ? required.filter((r) => typeof r === 'string') : [];
29
+ }
30
+ /** Unknown tools: treat as a local-state change that NO grant may cover. */
31
+ const DEFAULT_EFFECT = { effect: 'local-state', reversible: true };
32
+ /**
33
+ * The declarations tools made at `registerTool`.
34
+ *
35
+ * WHY A MAP POPULATED AT REGISTRATION, not a field read off the tool: the
36
+ * hot-path lookups below (`effectClassOfTool` on every fan-out decision,
37
+ * `grantCategoryOfTool` at each gate) take only a NAME, and `capabilityFromTool`
38
+ * must also answer for a tool not passed in. So `registry.ts` — which imports
39
+ * this module, never the reverse, since the other direction would cycle through
40
+ * `tool_search` — records each tool's OWN declaration here.
41
+ *
42
+ * There is no hand-maintained name→effect table any more. A tool that declares
43
+ * nothing falls to `DEFAULT_EFFECT`: a local-state change an ask covers and NO
44
+ * grant may unlock.
45
+ */
46
+ const DECLARED_BY_TOOL = new Map();
47
+ /**
48
+ * Record a tool's own capability declaration (called once per `registerTool`).
49
+ * A tool that declares nothing is left out on purpose — absence IS the
50
+ * conservative default, not an error.
51
+ */
52
+ export function declareToolCapability(name, decl) {
53
+ if (!decl)
54
+ return;
55
+ DECLARED_BY_TOOL.set(name, decl);
56
+ }
57
+ /** Normalize a tool's declaration into the internal effect record. */
58
+ function normalizeDeclaration(decl) {
59
+ return {
60
+ effect: decl.effectClass,
61
+ reversible: decl.reversible ?? true,
62
+ ...(decl.reversibleHow ? { how: decl.reversibleHow } : {}),
63
+ ...(decl.grantCategory ? { grant: decl.grantCategory } : {}),
64
+ ...(decl.requires ? { requires: decl.requires } : {}),
65
+ };
66
+ }
67
+ /** The normalized declaration for a name, or the conservative default. */
68
+ function declaredEffect(name) {
69
+ const decl = DECLARED_BY_TOOL.get(name);
70
+ return decl ? normalizeDeclaration(decl) : DEFAULT_EFFECT;
71
+ }
72
+ /**
73
+ * The effect class of a registry tool by NAME only — the cheap path.
74
+ *
75
+ * WHY THIS EXISTS SEPARATELY. The tool loop asks this on every call in a step to
76
+ * decide whether siblings may run concurrently, so it must not build a full
77
+ * descriptor (description parsing, tags, requirement objects) per call. It is the
78
+ * same lookup `capabilityFromTool` performs, minus the parts the caller does not
79
+ * need — one map, one conservative default, no second opinion.
80
+ */
81
+ export function effectClassOfTool(name) {
82
+ return declaredEffect(name).effect;
83
+ }
84
+ /**
85
+ * The session-grant category a tool DECLARES — Phase 2 of the capability layer.
86
+ *
87
+ * WHY THIS EXISTS. The gates used to hardcode the literal at each call site
88
+ * (`sessionGrantCovers(planStore, 'write')` for `write_file`/`edit_file`,
89
+ * `'external'` for `git`), restating a fact the descriptor already held. That is
90
+ * the same drift surface the whole capability layer exists to remove: a tool's
91
+ * declared `grantCategory` and the string its gate consults could disagree, and
92
+ * a new tool could be gated with no declaration at all. One lookup, one default.
93
+ *
94
+ * `null` means the tool declares NO grant (an unlisted tool, or one whose effect
95
+ * is destructive/read). That is the conservative answer: an undeclared action
96
+ * cannot be unlocked by a user's blanket grant.
97
+ */
98
+ export function grantCategoryOfTool(name) {
99
+ return declaredEffect(name).grant ?? null;
100
+ }
101
+ /**
102
+ * The grant category an EFFECT implies, for a call site whose category is a
103
+ * property of the effect rather than of a tool name — a shell command whose reach
104
+ * depends on the command, or a CLI intent resolved from the manifest.
105
+ *
106
+ * `read` and `destructive` return `null` on purpose: a read never needs a grant,
107
+ * and NO grant may ever cover a destructive action.
108
+ */
109
+ export function grantCategoryForEffect(effect) {
110
+ switch (effect) {
111
+ case 'local-write':
112
+ return 'write';
113
+ case 'local-state':
114
+ return 'terminal';
115
+ case 'external':
116
+ return 'external';
117
+ default:
118
+ return null;
119
+ }
120
+ }
121
+ /** Short, human summary of a requirement set — rendered FROM the checked form. */
122
+ export function describeRequires(requires) {
123
+ const anyOf = (needs) => needs.map((n) => n.anyOf.join(' or ')).join(', ');
124
+ const parts = [];
125
+ if (requires.credentials?.length)
126
+ parts.push(`needs ${anyOf(requires.credentials)}`);
127
+ if (requires.binaries?.length)
128
+ parts.push(`runs ${anyOf(requires.binaries)}`);
129
+ if (requires.inputs?.length)
130
+ parts.push(`ask for ${requires.inputs.join(', ')}`);
131
+ return parts.join('; ');
132
+ }
133
+ /** Turn one registry tool into a capability. */
134
+ export function capabilityFromTool(tool) {
135
+ const info = tool.capability ? normalizeDeclaration(tool.capability) : declaredEffect(tool.name);
136
+ const firstSentence = String(tool.description ?? '').split(/(?<=\.)\s/)[0]?.trim() ?? '';
137
+ return {
138
+ id: `tool:${tool.name}`,
139
+ kind: 'tool',
140
+ ref: tool.name,
141
+ name: tool.name,
142
+ oneLiner: firstSentence || `The ${tool.name} tool.`,
143
+ effectClass: info.effect,
144
+ reversible: info.reversible,
145
+ ...(info.how ? { reversibleHow: info.how } : {}),
146
+ ...(info.grant ? { grantCategory: info.grant } : {}),
147
+ requires: info.requires ?? {},
148
+ tags: [tool.name.replace(/_/g, ' '), ...(tool.category ? [tool.category] : [])],
149
+ };
150
+ }
151
+ /** Turn a skill (hub catalog or compiled) into a capability. */
152
+ export function capabilityFromSkill(skill) {
153
+ const id = skill.id || skill.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
154
+ return {
155
+ id: `skill:${id}`,
156
+ kind: 'skill',
157
+ ref: id,
158
+ name: skill.name,
159
+ oneLiner: String(skill.description ?? '').split(/(?<=\.)\s/)[0]?.trim() || `The ${skill.name} skill.`,
160
+ // A skill is METHODOLOGY: loading it changes nothing until its steps run, and
161
+ // those steps carry their own effect classes. So the envelope is local-state,
162
+ // and NO grant category is claimed — loading a skill is not gated, so there is
163
+ // nothing a grant could cover (the steps it leads to declare their own).
164
+ effectClass: 'local-state',
165
+ reversible: true,
166
+ requires: {},
167
+ tags: [skill.name, ...(skill.tags ?? [])],
168
+ };
169
+ }
170
+ /**
171
+ * Turn an EXTERNAL MCP tool into a capability.
172
+ *
173
+ * This is the "borrow capability from outside" path: the agent's reach grows by
174
+ * ingesting what a foreign server already declares, with nothing hand-written
175
+ * here. The effect class comes from the MCP spec's own `ToolAnnotations` —
176
+ * `readOnlyHint` and `destructiveHint` — NOT from matching words in a
177
+ * description. The required inputs come from the tool's JSON Schema.
178
+ *
179
+ * When a server declares NOTHING, the capability is `external` and not
180
+ * reversible: a foreign tool is off-machine by construction, so the honest
181
+ * reading of silence is "off-machine, effect unknown" — it asks, and only an
182
+ * explicit off-machine session grant can unlock it. Erring the other way would
183
+ * let an undeclared foreign tool run silently, which is the one outcome the whole
184
+ * layer exists to prevent.
185
+ *
186
+ * HONEST LIMIT: `readOnlyHint` is the spec's description of itself as "a hint,
187
+ * not a guarantee". These tests prove we READ the declaration, not that the
188
+ * declaration is true.
189
+ */
190
+ export function capabilityFromMcpTool(t) {
191
+ const ann = t.annotations ?? {};
192
+ const inputs = requiredInputs(t.inputSchema);
193
+ let effectClass;
194
+ let reversible;
195
+ let grantCategory;
196
+ if (ann.readOnlyHint === true) {
197
+ // The server declares it changes nothing — nothing to gate.
198
+ effectClass = 'read';
199
+ reversible = true;
200
+ }
201
+ else if (ann.destructiveHint === true) {
202
+ // Destructive is never grantable, exactly like the DENY floor.
203
+ effectClass = 'destructive';
204
+ reversible = false;
205
+ }
206
+ else {
207
+ effectClass = 'external';
208
+ reversible = false;
209
+ grantCategory = 'external';
210
+ }
211
+ const name = t.annotations?.title || t.name;
212
+ return {
213
+ id: `mcp:${t.server}:${t.name}`,
214
+ kind: 'mcp',
215
+ ref: `${t.server}/${t.name}`,
216
+ name,
217
+ oneLiner: String(t.description ?? '').split(/(?<=\.)\s/)[0]?.trim() || `The ${t.name} tool on the ${t.server} MCP server.`,
218
+ effectClass,
219
+ reversible,
220
+ ...(grantCategory ? { grantCategory } : {}),
221
+ // Reached through the dispatcher — `ref` is not itself a callable tool name,
222
+ // so a hit must say how to reach it instead of handing over a name it cannot
223
+ // call. These arguments mirror `mcp_tool`'s real schema.
224
+ invoke: { tool: 'mcp_tool', args: { action: 'call', server: t.server, tool: t.name } },
225
+ requires: inputs.length > 0 ? { inputs } : {},
226
+ tags: [t.name.replace(/_/g, ' '), t.server, 'mcp'],
227
+ };
228
+ }
229
+ /**
230
+ * The high-level ACTIONS the user named — the verbs that today exist only as
231
+ * scattered prose across tool descriptions and the consent picture. Each declares
232
+ * what it needs and what it touches, so the model can discover it and (Phase 2)
233
+ * the gate can read it instead of parsing the request.
234
+ */
235
+ export function actionCapabilities() {
236
+ const A = (key, name, oneLiner, effectClass, reversible, requires, tags, how, platforms) => ({
237
+ id: `action:${key}`,
238
+ kind: 'action',
239
+ ref: key,
240
+ name,
241
+ oneLiner,
242
+ effectClass,
243
+ reversible,
244
+ ...(how ? { reversibleHow: how } : {}),
245
+ ...(effectClass === 'external' ? { grantCategory: 'external' } : effectClass === 'read' ? {} : { grantCategory: 'terminal' }),
246
+ requires,
247
+ tags,
248
+ ...(platforms ? { platforms } : {}),
249
+ });
250
+ return [
251
+ A('install-package', 'Install a project dependency', 'Install the packages a project already declares (npm/pnpm/yarn/bun install) into the workspace.', 'local-state', true, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn', 'bun'] }] }, ['install', 'dependency', 'package', 'npm', 'node'], 'removing node_modules or a git checkout'),
252
+ A('add-dependency', 'Add a NEW dependency', 'Declare and install a package the manifest does not yet list — a new choice, so the user owns it.', 'external', true, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn', 'bun'] }], inputs: ['which package'] }, ['add', 'dependency', 'install', 'package', 'library'], 'uninstall it and revert the manifest'),
253
+ A('install-system-tool', 'Install a system tool', 'Install a binary or toolchain for the machine (winget/brew/apt/choco/scoop, or npm -g).', 'external', false, { binaries: [{ anyOf: ['winget', 'brew', 'apt', 'choco', 'scoop', 'npm'] }], inputs: ['which tool'] }, ['install', 'tool', 'toolchain', 'winget', 'brew', 'apt', 'global'], undefined,
254
+ // GENUINELY OS-determined: there is no portable install command. Every
255
+ // `binary` here is one the requirement list above also declares, so the
256
+ // pre-flight that says "winget is present" is the same fact this hint uses.
257
+ {
258
+ win32: { command: 'winget install <tool>', binary: 'winget', note: 'or `choco install <tool>` / `scoop install <tool>` if those are installed instead' },
259
+ darwin: { command: 'brew install <tool>', binary: 'brew' },
260
+ linux: { command: 'apt-get install -y <tool>', binary: 'apt', note: 'needs root — run it through sudo yourself, or the agent will report the privilege failure' },
261
+ }),
262
+ A('uninstall-package', 'Uninstall a package or tool', 'Remove an installed package or tool, locally or from the machine.', 'external', false, { binaries: [{ anyOf: ['npm', 'pnpm', 'yarn'] }, { anyOf: ['winget', 'brew', 'apt'] }], inputs: ['which package'] }, ['uninstall', 'remove', 'delete', 'package', 'tool']),
263
+ A('publish-package', 'Publish a package to a registry', 'Publish a release to npm/GitHub — off-machine and irreversible.', 'external', false, {
264
+ credentials: [{ anyOf: ['NPM_TOKEN', 'GITHUB_TOKEN'], note: 'an npm automation token, or a GitHub token for a GitHub release' }],
265
+ binaries: [{ anyOf: ['npm', 'gh'] }],
266
+ inputs: ['bump type'],
267
+ }, ['publish', 'release', 'npm', 'registry', 'package', 'ship']),
268
+ A('publish-website', 'Publish / deploy a website', 'Deploy a built site to a host (Cloudflare Pages, Netlify, Vercel, GitHub Pages) — off-machine and public.', 'external', false, {
269
+ credentials: [{ anyOf: ['CLOUDFLARE_API_TOKEN', 'NETLIFY_AUTH_TOKEN', 'VERCEL_TOKEN'], note: 'the token for whichever host you deploy to — may also live in the credential vault' }],
270
+ binaries: [{ anyOf: ['wrangler', 'netlify', 'vercel', 'gh'] }],
271
+ inputs: ['which host', 'the domain or project'],
272
+ }, ['publish', 'website', 'deploy', 'host', 'cloudflare', 'netlify', 'vercel', 'pages']),
273
+ A('deploy-app', 'Deploy an application', 'Deploy an app/server to a host or platform — off-machine and public.', 'external', false, {
274
+ credentials: [{ anyOf: ['VERCEL_TOKEN', 'FLY_API_TOKEN', 'GOOGLE_APPLICATION_CREDENTIALS', 'AWS_ACCESS_KEY_ID', 'AZURE_CLIENT_ID'], note: 'the token for whichever platform you deploy to — a logged-in CLI may already hold it' }],
275
+ binaries: [{ anyOf: ['vercel', 'flyctl', 'gcloud', 'aws', 'az'] }],
276
+ inputs: ['which platform'],
277
+ }, ['deploy', 'app', 'server', 'host', 'platform', 'ship']),
278
+ A('push-git', 'Push to a git remote', 'Send commits to a remote (GitHub et al.) — off-machine; the request naming it is the authorization.', 'external', true, {
279
+ credentials: [{ anyOf: ['GITHUB_TOKEN', 'GH_TOKEN'], note: 'or an SSH key / credential helper the remote already accepts' }],
280
+ binaries: [{ anyOf: ['git'] }],
281
+ }, ['push', 'git', 'github', 'remote', 'origin', 'commit'], 'force-push is denied; otherwise the remote keeps history you can revert'),
282
+ A('store-credential', 'Store a credential', 'Persist a token (GitHub/npm/host) so later releases work without an environment export.', 'local-state', true, { inputs: ['the token'] }, ['credential', 'token', 'secret', 'store', 'login', 'auth'], 'forget it with the credentials tool',
283
+ // Also genuinely OS-determined, and for a different reason: the OS decides
284
+ // WHERE a secret can safely live, not which package manager exists.
285
+ {
286
+ win32: { command: 'nuvira credentials set <name> --value <token>', note: 'Windows has no OS keychain the CLI can reach, so this lands in the vault file' },
287
+ darwin: { command: 'nuvira credentials set <name> --value <token>', note: 'stored in the macOS Keychain when one is available' },
288
+ linux: { command: 'nuvira credentials set <name> --value <token>', note: 'stored via secret-tool when available, otherwise the vault file' },
289
+ }),
290
+ ];
291
+ }
292
+ /**
293
+ * The MCP tools the agent can reach — from servers connected this process, plus
294
+ * cached schemas from previous ones. Never connects, so a capability search
295
+ * cannot spawn a server as a side effect; a failure to read them never breaks
296
+ * discovery.
297
+ */
298
+ async function readDiscoverableMcpTools() {
299
+ try {
300
+ const { readDiscoverableMcpTools: read } = await import('../mcp/mcp-discovery.js');
301
+ return (await read());
302
+ }
303
+ catch {
304
+ return [];
305
+ }
306
+ }
307
+ /**
308
+ * The capability index, best-effort. Skills come from the installed hub catalog;
309
+ * a catalog read failure simply omits them, it never breaks discovery. MCP tools
310
+ * come from servers already connected this process, and may be injected instead
311
+ * (which is what makes the ingestion testable without a live server).
312
+ */
313
+ export async function capabilityIndex(tools, opts = {}) {
314
+ const index = [
315
+ ...tools.map(capabilityFromTool),
316
+ ...actionCapabilities(),
317
+ // The host itself is a discoverable capability: OS / arch / shell / which
318
+ // package managers are installed. Detected once per run (memoized), so this
319
+ // costs nothing after the first index build and cannot disagree with the
320
+ // facts the system prompt carries.
321
+ machineFactsCapability(),
322
+ ];
323
+ if (opts.includeMcp !== false) {
324
+ const mcp = opts.mcpTools ?? (await readDiscoverableMcpTools());
325
+ for (const t of mcp) {
326
+ if (t && t.server && t.name)
327
+ index.push(capabilityFromMcpTool(t));
328
+ }
329
+ }
330
+ if (opts.includeSkills !== false) {
331
+ try {
332
+ const { readHubCatalog } = await import('../learning/hub-skill-catalog.js');
333
+ const skills = readHubCatalog();
334
+ for (const s of skills) {
335
+ if (s && s.name)
336
+ index.push(capabilityFromSkill({ id: s.id, name: s.name, description: s.description, tags: s.tags }));
337
+ }
338
+ }
339
+ catch {
340
+ // Best-effort — no skill catalog means tool + action capabilities only.
341
+ }
342
+ }
343
+ return index;
344
+ }
345
+ /** Tokenize a query/text into lowercased significant tokens (length ≥ 3). */
346
+ function tokens(text) {
347
+ return String(text ?? '')
348
+ .toLowerCase()
349
+ .split(/[^a-z0-9]+/)
350
+ .filter((t) => t.length >= 3);
351
+ }
352
+ /**
353
+ * Rank capabilities against a free-text query. Lexical + weighted by field, with
354
+ * a substring fallback so "publish" matches "publishing" in a description. This
355
+ * is DISCOVERY — it surfaces candidates for the model to choose from; it never
356
+ * decides what runs.
357
+ */
358
+ export function searchCapabilities(index, query, limit = 10) {
359
+ const q = tokens(query);
360
+ const qLower = String(query ?? '').toLowerCase().trim();
361
+ const hits = [];
362
+ for (const cap of index) {
363
+ const nameTokens = tokens(cap.name.replace(/_/g, ' '));
364
+ const tagTokens = cap.tags.flatMap(tokens);
365
+ const refTokens = tokens(cap.ref.replace(/[_:]/g, ' '));
366
+ const oneTokens = tokens(cap.oneLiner);
367
+ const matched = new Set();
368
+ let score = 0;
369
+ for (const t of q) {
370
+ if (nameTokens.includes(t)) {
371
+ score += 4;
372
+ matched.add(t);
373
+ }
374
+ if (refTokens.includes(t)) {
375
+ score += 3;
376
+ matched.add(t);
377
+ }
378
+ if (tagTokens.includes(t)) {
379
+ score += 2;
380
+ matched.add(t);
381
+ }
382
+ if (oneTokens.includes(t)) {
383
+ score += 1;
384
+ matched.add(t);
385
+ }
386
+ }
387
+ // Substring fallback (a single query term inside a longer word).
388
+ if (score === 0 && qLower.length >= 3) {
389
+ const hay = `${cap.name} ${cap.oneLiner} ${cap.tags.join(' ')} ${cap.ref}`.toLowerCase();
390
+ if (hay.includes(qLower)) {
391
+ score += 1;
392
+ matched.add(qLower);
393
+ }
394
+ }
395
+ if (score > 0)
396
+ hits.push({ capability: cap, score, matched: [...matched].sort() });
397
+ }
398
+ return hits.sort((a, b) => b.score - a.score || a.capability.id.localeCompare(b.capability.id)).slice(0, Math.max(1, limit));
399
+ }
400
+ //# sourceMappingURL=capability-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-registry.js","sourceRoot":"","sources":["../../src/tools/capability-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"child-agent-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,2BAA2B,CAAC;AAoC9G,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAkCxC,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9C,yEAAyE;IACzE,cAAc,CAAC,EAAE,CACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,KACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAgED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAa5G;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,qBAAqB,EAC7B,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAmNhC"}
1
+ {"version":3,"file":"child-agent-runtime.d.ts","sourceRoot":"","sources":["../../src/tools/child-agent-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,2BAA2B,CAAC;AAqC9G,OAAO,EAML,KAAK,aAAa,EAEnB,MAAM,gCAAgC,CAAC;AAkCxC,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9C,yEAAyE;IACzE,cAAc,CAAC,EAAE,CACf,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,KACtB,OAAO,CAAC;QAAE,QAAQ,EAAE,iBAAiB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAgED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAa5G;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,qBAAqB,EAC7B,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,qBAAqB,CAAC,CAmNhC"}