agent-nuvira 3.3.1 → 3.3.4

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 (466) hide show
  1. package/README.md +18 -13
  2. package/dist/agent-sdk/src/agent.d.ts +2 -0
  3. package/dist/agent-sdk/src/agent.d.ts.map +1 -1
  4. package/dist/agent-sdk/src/define.d.ts +64 -0
  5. package/dist/agent-sdk/src/define.d.ts.map +1 -0
  6. package/dist/agent-sdk/src/define.js +76 -0
  7. package/dist/agent-sdk/src/define.js.map +1 -0
  8. package/dist/agent-sdk/src/index.d.ts +9 -0
  9. package/dist/agent-sdk/src/index.d.ts.map +1 -1
  10. package/dist/agent-sdk/src/index.js +9 -0
  11. package/dist/agent-sdk/src/index.js.map +1 -1
  12. package/dist/agent-sdk/src/scaffold.d.ts +11 -0
  13. package/dist/agent-sdk/src/scaffold.d.ts.map +1 -1
  14. package/dist/agent-sdk/src/scaffold.js +16 -6
  15. package/dist/agent-sdk/src/scaffold.js.map +1 -1
  16. package/dist/agents/agents/runner.d.ts +9 -0
  17. package/dist/agents/agents/runner.d.ts.map +1 -1
  18. package/dist/agents/agents/runner.js +34 -12
  19. package/dist/agents/agents/runner.js.map +1 -1
  20. package/dist/agents/agents/writer-tool-calling.d.ts.map +1 -1
  21. package/dist/agents/agents/writer-tool-calling.js +7 -2
  22. package/dist/agents/agents/writer-tool-calling.js.map +1 -1
  23. package/dist/agents/agents/writer.d.ts.map +1 -1
  24. package/dist/agents/agents/writer.js +7 -1
  25. package/dist/agents/agents/writer.js.map +1 -1
  26. package/dist/agents/artifact-verification.d.ts +102 -0
  27. package/dist/agents/artifact-verification.d.ts.map +1 -0
  28. package/dist/agents/artifact-verification.js +216 -0
  29. package/dist/agents/artifact-verification.js.map +1 -0
  30. package/dist/agents/checkpoint-store.d.ts +73 -0
  31. package/dist/agents/checkpoint-store.d.ts.map +1 -1
  32. package/dist/agents/checkpoint-store.js +161 -0
  33. package/dist/agents/checkpoint-store.js.map +1 -1
  34. package/dist/agents/credential-store.d.ts +120 -0
  35. package/dist/agents/credential-store.d.ts.map +1 -1
  36. package/dist/agents/credential-store.js +358 -19
  37. package/dist/agents/credential-store.js.map +1 -1
  38. package/dist/agents/long-form-plan.d.ts.map +1 -1
  39. package/dist/agents/long-form-plan.js +2 -1
  40. package/dist/agents/long-form-plan.js.map +1 -1
  41. package/dist/agents/orchestrator.d.ts +10 -1
  42. package/dist/agents/orchestrator.d.ts.map +1 -1
  43. package/dist/agents/orchestrator.js +239 -79
  44. package/dist/agents/orchestrator.js.map +1 -1
  45. package/dist/agents/phase-engine.d.ts +61 -0
  46. package/dist/agents/phase-engine.d.ts.map +1 -1
  47. package/dist/agents/phase-engine.js +68 -2
  48. package/dist/agents/phase-engine.js.map +1 -1
  49. package/dist/agents/prompt-assembly.d.ts +11 -0
  50. package/dist/agents/prompt-assembly.d.ts.map +1 -1
  51. package/dist/agents/prompt-assembly.js +17 -0
  52. package/dist/agents/prompt-assembly.js.map +1 -1
  53. package/dist/agents/release-preflight.d.ts +121 -0
  54. package/dist/agents/release-preflight.d.ts.map +1 -0
  55. package/dist/agents/release-preflight.js +259 -0
  56. package/dist/agents/release-preflight.js.map +1 -0
  57. package/dist/agents/release-runner.d.ts +157 -0
  58. package/dist/agents/release-runner.d.ts.map +1 -0
  59. package/dist/agents/release-runner.js +719 -0
  60. package/dist/agents/release-runner.js.map +1 -0
  61. package/dist/agents/step-handoff.d.ts +190 -0
  62. package/dist/agents/step-handoff.d.ts.map +1 -0
  63. package/dist/agents/step-handoff.js +443 -0
  64. package/dist/agents/step-handoff.js.map +1 -0
  65. package/dist/cli/agent.d.ts +2 -2
  66. package/dist/cli/agent.js +10 -10
  67. package/dist/cli/benchmark.d.ts.map +1 -1
  68. package/dist/cli/benchmark.js +11 -4
  69. package/dist/cli/benchmark.js.map +1 -1
  70. package/dist/cli/chat.d.ts +94 -0
  71. package/dist/cli/chat.d.ts.map +1 -1
  72. package/dist/cli/chat.js +379 -24
  73. package/dist/cli/chat.js.map +1 -1
  74. package/dist/cli/cli-program.d.ts.map +1 -1
  75. package/dist/cli/cli-program.js +8 -0
  76. package/dist/cli/cli-program.js.map +1 -1
  77. package/dist/cli/config.d.ts.map +1 -1
  78. package/dist/cli/config.js +9 -1
  79. package/dist/cli/config.js.map +1 -1
  80. package/dist/cli/credentials.d.ts +28 -0
  81. package/dist/cli/credentials.d.ts.map +1 -0
  82. package/dist/cli/credentials.js +213 -0
  83. package/dist/cli/credentials.js.map +1 -0
  84. package/dist/cli/doctor.d.ts.map +1 -1
  85. package/dist/cli/doctor.js +3 -2
  86. package/dist/cli/doctor.js.map +1 -1
  87. package/dist/cli/edit.js +2 -2
  88. package/dist/cli/eval.d.ts +17 -0
  89. package/dist/cli/eval.d.ts.map +1 -1
  90. package/dist/cli/eval.js +105 -2
  91. package/dist/cli/eval.js.map +1 -1
  92. package/dist/cli/execute.d.ts +16 -1
  93. package/dist/cli/execute.d.ts.map +1 -1
  94. package/dist/cli/execute.js +192 -22
  95. package/dist/cli/execute.js.map +1 -1
  96. package/dist/cli/failover-runner.d.ts.map +1 -1
  97. package/dist/cli/failover-runner.js +9 -3
  98. package/dist/cli/failover-runner.js.map +1 -1
  99. package/dist/cli/loop-executor.d.ts +55 -0
  100. package/dist/cli/loop-executor.d.ts.map +1 -1
  101. package/dist/cli/loop-executor.js +285 -19
  102. package/dist/cli/loop-executor.js.map +1 -1
  103. package/dist/cli/model.d.ts.map +1 -1
  104. package/dist/cli/model.js +9 -8
  105. package/dist/cli/model.js.map +1 -1
  106. package/dist/cli/models.d.ts +1 -1
  107. package/dist/cli/models.js +4 -4
  108. package/dist/cli/nlu.d.ts.map +1 -1
  109. package/dist/cli/nlu.js +8 -2
  110. package/dist/cli/nlu.js.map +1 -1
  111. package/dist/cli/parity.d.ts +85 -0
  112. package/dist/cli/parity.d.ts.map +1 -0
  113. package/dist/cli/parity.js +506 -0
  114. package/dist/cli/parity.js.map +1 -0
  115. package/dist/cli/plan.d.ts.map +1 -1
  116. package/dist/cli/plan.js +2 -1
  117. package/dist/cli/plan.js.map +1 -1
  118. package/dist/cli/publish.d.ts +22 -0
  119. package/dist/cli/publish.d.ts.map +1 -1
  120. package/dist/cli/publish.js +109 -13
  121. package/dist/cli/publish.js.map +1 -1
  122. package/dist/cli/retrieval.d.ts.map +1 -1
  123. package/dist/cli/retrieval.js +5 -4
  124. package/dist/cli/retrieval.js.map +1 -1
  125. package/dist/cli/sdk.js +4 -4
  126. package/dist/cli/sdk.js.map +1 -1
  127. package/dist/cli/trace.d.ts.map +1 -1
  128. package/dist/cli/trace.js +2 -1
  129. package/dist/cli/trace.js.map +1 -1
  130. package/dist/cli/workflow.js +2 -2
  131. package/dist/cli/workflow.js.map +1 -1
  132. package/dist/config/live-credentials.d.ts +57 -0
  133. package/dist/config/live-credentials.d.ts.map +1 -0
  134. package/dist/config/live-credentials.js +126 -0
  135. package/dist/config/live-credentials.js.map +1 -0
  136. package/dist/config/paths.d.ts +18 -0
  137. package/dist/config/paths.d.ts.map +1 -1
  138. package/dist/config/paths.js +25 -0
  139. package/dist/config/paths.js.map +1 -1
  140. package/dist/config/types.d.ts +44 -0
  141. package/dist/config/types.d.ts.map +1 -1
  142. package/dist/federation/a2a-types.js +1 -1
  143. package/dist/federation/a2a-types.js.map +1 -1
  144. package/dist/findings/verdicts.d.ts +241 -0
  145. package/dist/findings/verdicts.d.ts.map +1 -0
  146. package/dist/findings/verdicts.js +284 -0
  147. package/dist/findings/verdicts.js.map +1 -0
  148. package/dist/gateway/adapters.d.ts +65 -0
  149. package/dist/gateway/adapters.d.ts.map +1 -1
  150. package/dist/gateway/adapters.js +216 -10
  151. package/dist/gateway/adapters.js.map +1 -1
  152. package/dist/gateway/channel-directory.d.ts +31 -0
  153. package/dist/gateway/channel-directory.d.ts.map +1 -1
  154. package/dist/gateway/channel-directory.js +40 -0
  155. package/dist/gateway/channel-directory.js.map +1 -1
  156. package/dist/gateway/gateway-log.d.ts +1 -1
  157. package/dist/gateway/gateway-log.d.ts.map +1 -1
  158. package/dist/gateway/gateway-log.js.map +1 -1
  159. package/dist/gateway/hooks.d.ts +87 -19
  160. package/dist/gateway/hooks.d.ts.map +1 -1
  161. package/dist/gateway/hooks.js +62 -23
  162. package/dist/gateway/hooks.js.map +1 -1
  163. package/dist/gateway/inbound-media.d.ts +147 -0
  164. package/dist/gateway/inbound-media.d.ts.map +1 -0
  165. package/dist/gateway/inbound-media.js +317 -0
  166. package/dist/gateway/inbound-media.js.map +1 -0
  167. package/dist/gateway/inbox.d.ts +8 -1
  168. package/dist/gateway/inbox.d.ts.map +1 -1
  169. package/dist/gateway/inbox.js.map +1 -1
  170. package/dist/gateway/platform-config.d.ts +14 -0
  171. package/dist/gateway/platform-config.d.ts.map +1 -1
  172. package/dist/gateway/platform-config.js +26 -8
  173. package/dist/gateway/platform-config.js.map +1 -1
  174. package/dist/gateway/realtime.d.ts +114 -0
  175. package/dist/gateway/realtime.d.ts.map +1 -0
  176. package/dist/gateway/realtime.js +402 -0
  177. package/dist/gateway/realtime.js.map +1 -0
  178. package/dist/gateway/registry.d.ts +31 -0
  179. package/dist/gateway/registry.d.ts.map +1 -1
  180. package/dist/gateway/registry.js +224 -4
  181. package/dist/gateway/registry.js.map +1 -1
  182. package/dist/gateway/whatsapp/baileys-bridge.d.ts +11 -1
  183. package/dist/gateway/whatsapp/baileys-bridge.d.ts.map +1 -1
  184. package/dist/gateway/whatsapp/baileys-bridge.js +123 -4
  185. package/dist/gateway/whatsapp/baileys-bridge.js.map +1 -1
  186. package/dist/gateway/whatsapp/bridge.d.ts +6 -2
  187. package/dist/gateway/whatsapp/bridge.d.ts.map +1 -1
  188. package/dist/gateway/whatsapp/bridge.js.map +1 -1
  189. package/dist/index.js +8 -0
  190. package/dist/index.js.map +1 -1
  191. package/dist/inference/factory.d.ts +14 -0
  192. package/dist/inference/factory.d.ts.map +1 -1
  193. package/dist/inference/factory.js +17 -0
  194. package/dist/inference/factory.js.map +1 -1
  195. package/dist/inference/groq-adapter.d.ts +2 -0
  196. package/dist/inference/groq-adapter.d.ts.map +1 -1
  197. package/dist/inference/groq-adapter.js +16 -6
  198. package/dist/inference/groq-adapter.js.map +1 -1
  199. package/dist/inference/model-validator.d.ts +6 -1
  200. package/dist/inference/model-validator.d.ts.map +1 -1
  201. package/dist/inference/model-validator.js +7 -2
  202. package/dist/inference/model-validator.js.map +1 -1
  203. package/dist/inference/route-resolver.d.ts +116 -0
  204. package/dist/inference/route-resolver.d.ts.map +1 -0
  205. package/dist/inference/route-resolver.js +159 -0
  206. package/dist/inference/route-resolver.js.map +1 -0
  207. package/dist/inference/tools.d.ts.map +1 -1
  208. package/dist/inference/tools.js +29 -0
  209. package/dist/inference/tools.js.map +1 -1
  210. package/dist/learning/autonomy-policy.d.ts +18 -0
  211. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  212. package/dist/learning/autonomy-policy.js +35 -0
  213. package/dist/learning/autonomy-policy.js.map +1 -1
  214. package/dist/learning/benchmark.d.ts.map +1 -1
  215. package/dist/learning/benchmark.js +3 -2
  216. package/dist/learning/benchmark.js.map +1 -1
  217. package/dist/learning/continuation.d.ts.map +1 -1
  218. package/dist/learning/continuation.js +2 -1
  219. package/dist/learning/continuation.js.map +1 -1
  220. package/dist/learning/cost-tracker.d.ts.map +1 -1
  221. package/dist/learning/cost-tracker.js +2 -1
  222. package/dist/learning/cost-tracker.js.map +1 -1
  223. package/dist/learning/deferred-task.d.ts.map +1 -1
  224. package/dist/learning/deferred-task.js +13 -4
  225. package/dist/learning/deferred-task.js.map +1 -1
  226. package/dist/learning/eval-framework.d.ts.map +1 -1
  227. package/dist/learning/eval-framework.js +2 -1
  228. package/dist/learning/eval-framework.js.map +1 -1
  229. package/dist/learning/long-form.d.ts.map +1 -1
  230. package/dist/learning/long-form.js +2 -1
  231. package/dist/learning/long-form.js.map +1 -1
  232. package/dist/learning/model-registry.d.ts.map +1 -1
  233. package/dist/learning/model-registry.js +2 -1
  234. package/dist/learning/model-registry.js.map +1 -1
  235. package/dist/learning/reasoning-cache.d.ts.map +1 -1
  236. package/dist/learning/reasoning-cache.js +2 -1
  237. package/dist/learning/reasoning-cache.js.map +1 -1
  238. package/dist/learning/reasoning-trace.d.ts +38 -2
  239. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  240. package/dist/learning/reasoning-trace.js +91 -1
  241. package/dist/learning/reasoning-trace.js.map +1 -1
  242. package/dist/learning/resilient-call.d.ts.map +1 -1
  243. package/dist/learning/resilient-call.js +31 -18
  244. package/dist/learning/resilient-call.js.map +1 -1
  245. package/dist/learning/retrieval.d.ts.map +1 -1
  246. package/dist/learning/retrieval.js +2 -1
  247. package/dist/learning/retrieval.js.map +1 -1
  248. package/dist/learning/seeded-benchmark.d.ts +160 -0
  249. package/dist/learning/seeded-benchmark.d.ts.map +1 -0
  250. package/dist/learning/seeded-benchmark.js +321 -0
  251. package/dist/learning/seeded-benchmark.js.map +1 -0
  252. package/dist/learning/seeded-bugs.d.ts +142 -0
  253. package/dist/learning/seeded-bugs.d.ts.map +1 -0
  254. package/dist/learning/seeded-bugs.js +535 -0
  255. package/dist/learning/seeded-bugs.js.map +1 -0
  256. package/dist/learning/skill-store.d.ts.map +1 -1
  257. package/dist/learning/skill-store.js +30 -9
  258. package/dist/learning/skill-store.js.map +1 -1
  259. package/dist/learning/step-checkpoint.d.ts +127 -0
  260. package/dist/learning/step-checkpoint.d.ts.map +1 -0
  261. package/dist/learning/step-checkpoint.js +244 -0
  262. package/dist/learning/step-checkpoint.js.map +1 -0
  263. package/dist/mcp/catalog.js +2 -3
  264. package/dist/mcp/catalog.js.map +1 -1
  265. package/dist/mcp/manager.d.ts.map +1 -1
  266. package/dist/mcp/manager.js +5 -3
  267. package/dist/mcp/manager.js.map +1 -1
  268. package/dist/nlu/intent-confirm.d.ts +23 -1
  269. package/dist/nlu/intent-confirm.d.ts.map +1 -1
  270. package/dist/nlu/intent-confirm.js +85 -2
  271. package/dist/nlu/intent-confirm.js.map +1 -1
  272. package/dist/nlu/learnings.d.ts +7 -0
  273. package/dist/nlu/learnings.d.ts.map +1 -1
  274. package/dist/nlu/learnings.js +7 -0
  275. package/dist/nlu/learnings.js.map +1 -1
  276. package/dist/observability/debug-log.d.ts +250 -0
  277. package/dist/observability/debug-log.d.ts.map +1 -0
  278. package/dist/observability/debug-log.js +500 -0
  279. package/dist/observability/debug-log.js.map +1 -0
  280. package/dist/observability/event-bus.d.ts.map +1 -1
  281. package/dist/observability/event-bus.js +4 -1
  282. package/dist/observability/event-bus.js.map +1 -1
  283. package/dist/observability/otel.d.ts +278 -0
  284. package/dist/observability/otel.d.ts.map +1 -0
  285. package/dist/observability/otel.js +590 -0
  286. package/dist/observability/otel.js.map +1 -0
  287. package/dist/parity/drivers.d.ts +99 -0
  288. package/dist/parity/drivers.d.ts.map +1 -0
  289. package/dist/parity/drivers.js +1362 -0
  290. package/dist/parity/drivers.js.map +1 -0
  291. package/dist/parity/graph.d.ts +73 -0
  292. package/dist/parity/graph.d.ts.map +1 -0
  293. package/dist/parity/graph.js +162 -0
  294. package/dist/parity/graph.js.map +1 -0
  295. package/dist/parity/matrix.d.ts +105 -0
  296. package/dist/parity/matrix.d.ts.map +1 -0
  297. package/dist/parity/matrix.js +352 -0
  298. package/dist/parity/matrix.js.map +1 -0
  299. package/dist/parity/observation.d.ts +444 -0
  300. package/dist/parity/observation.d.ts.map +1 -0
  301. package/dist/parity/observation.js +333 -0
  302. package/dist/parity/observation.js.map +1 -0
  303. package/dist/parity/scenarios.d.ts +229 -0
  304. package/dist/parity/scenarios.d.ts.map +1 -0
  305. package/dist/parity/scenarios.js +175 -0
  306. package/dist/parity/scenarios.js.map +1 -0
  307. package/dist/parity/surfaces.d.ts +122 -0
  308. package/dist/parity/surfaces.d.ts.map +1 -0
  309. package/dist/parity/surfaces.js +190 -0
  310. package/dist/parity/surfaces.js.map +1 -0
  311. package/dist/runtime/fault-injection.d.ts +173 -0
  312. package/dist/runtime/fault-injection.d.ts.map +1 -0
  313. package/dist/runtime/fault-injection.js +281 -0
  314. package/dist/runtime/fault-injection.js.map +1 -0
  315. package/dist/skills/secret-capture.d.ts.map +1 -1
  316. package/dist/skills/secret-capture.js +9 -4
  317. package/dist/skills/secret-capture.js.map +1 -1
  318. package/dist/tools/child-agent-entry.d.ts +23 -0
  319. package/dist/tools/child-agent-entry.d.ts.map +1 -0
  320. package/dist/tools/child-agent-entry.js +129 -0
  321. package/dist/tools/child-agent-entry.js.map +1 -0
  322. package/dist/tools/child-agent-runtime.d.ts +124 -0
  323. package/dist/tools/child-agent-runtime.d.ts.map +1 -0
  324. package/dist/tools/child-agent-runtime.js +704 -0
  325. package/dist/tools/child-agent-runtime.js.map +1 -0
  326. package/dist/tools/coding-tools.d.ts.map +1 -1
  327. package/dist/tools/coding-tools.js +82 -10
  328. package/dist/tools/coding-tools.js.map +1 -1
  329. package/dist/tools/credentials-tool.d.ts +24 -0
  330. package/dist/tools/credentials-tool.d.ts.map +1 -0
  331. package/dist/tools/credentials-tool.js +125 -0
  332. package/dist/tools/credentials-tool.js.map +1 -0
  333. package/dist/tools/delegation-system.d.ts +31 -0
  334. package/dist/tools/delegation-system.d.ts.map +1 -1
  335. package/dist/tools/delegation-system.js +70 -9
  336. package/dist/tools/delegation-system.js.map +1 -1
  337. package/dist/tools/extract/docx.d.ts +27 -0
  338. package/dist/tools/extract/docx.d.ts.map +1 -0
  339. package/dist/tools/extract/docx.js +48 -0
  340. package/dist/tools/extract/docx.js.map +1 -0
  341. package/dist/tools/extract/html-text.d.ts +27 -0
  342. package/dist/tools/extract/html-text.d.ts.map +1 -0
  343. package/dist/tools/extract/html-text.js +86 -0
  344. package/dist/tools/extract/html-text.js.map +1 -0
  345. package/dist/tools/extract/pdf-ocr.d.ts +58 -0
  346. package/dist/tools/extract/pdf-ocr.d.ts.map +1 -0
  347. package/dist/tools/extract/pdf-ocr.js +116 -0
  348. package/dist/tools/extract/pdf-ocr.js.map +1 -0
  349. package/dist/tools/extract/pdf.d.ts +65 -0
  350. package/dist/tools/extract/pdf.d.ts.map +1 -0
  351. package/dist/tools/extract/pdf.js +197 -0
  352. package/dist/tools/extract/pdf.js.map +1 -0
  353. package/dist/tools/extract/pptx.d.ts +32 -0
  354. package/dist/tools/extract/pptx.d.ts.map +1 -0
  355. package/dist/tools/extract/pptx.js +77 -0
  356. package/dist/tools/extract/pptx.js.map +1 -0
  357. package/dist/tools/extract/xlsx.d.ts +47 -0
  358. package/dist/tools/extract/xlsx.d.ts.map +1 -0
  359. package/dist/tools/extract/xlsx.js +111 -0
  360. package/dist/tools/extract/xlsx.js.map +1 -0
  361. package/dist/tools/finding-tool.d.ts +76 -0
  362. package/dist/tools/finding-tool.d.ts.map +1 -0
  363. package/dist/tools/finding-tool.js +125 -0
  364. package/dist/tools/finding-tool.js.map +1 -0
  365. package/dist/tools/git-tool.d.ts +25 -7
  366. package/dist/tools/git-tool.d.ts.map +1 -1
  367. package/dist/tools/git-tool.js +155 -15
  368. package/dist/tools/git-tool.js.map +1 -1
  369. package/dist/tools/loop-project-context.d.ts.map +1 -1
  370. package/dist/tools/loop-project-context.js +16 -0
  371. package/dist/tools/loop-project-context.js.map +1 -1
  372. package/dist/tools/loop-route-feed.d.ts +57 -0
  373. package/dist/tools/loop-route-feed.d.ts.map +1 -0
  374. package/dist/tools/loop-route-feed.js +101 -0
  375. package/dist/tools/loop-route-feed.js.map +1 -0
  376. package/dist/tools/messaging-tools.d.ts +41 -11
  377. package/dist/tools/messaging-tools.d.ts.map +1 -1
  378. package/dist/tools/messaging-tools.js +104 -55
  379. package/dist/tools/messaging-tools.js.map +1 -1
  380. package/dist/tools/neutts-synth.d.ts +27 -3
  381. package/dist/tools/neutts-synth.d.ts.map +1 -1
  382. package/dist/tools/neutts-synth.js +57 -13
  383. package/dist/tools/neutts-synth.js.map +1 -1
  384. package/dist/tools/pipeline-tool.d.ts +43 -1
  385. package/dist/tools/pipeline-tool.d.ts.map +1 -1
  386. package/dist/tools/pipeline-tool.js +21 -4
  387. package/dist/tools/pipeline-tool.js.map +1 -1
  388. package/dist/tools/publish-tool.d.ts.map +1 -1
  389. package/dist/tools/publish-tool.js +76 -10
  390. package/dist/tools/publish-tool.js.map +1 -1
  391. package/dist/tools/read-extract.d.ts +116 -45
  392. package/dist/tools/read-extract.d.ts.map +1 -1
  393. package/dist/tools/read-extract.js +494 -158
  394. package/dist/tools/read-extract.js.map +1 -1
  395. package/dist/tools/registry.d.ts +23 -3
  396. package/dist/tools/registry.d.ts.map +1 -1
  397. package/dist/tools/registry.js +196 -29
  398. package/dist/tools/registry.js.map +1 -1
  399. package/dist/tools/run-terminal.d.ts +9 -0
  400. package/dist/tools/run-terminal.d.ts.map +1 -1
  401. package/dist/tools/run-terminal.js +80 -2
  402. package/dist/tools/run-terminal.js.map +1 -1
  403. package/dist/tools/subagent-refusal.d.ts +15 -0
  404. package/dist/tools/subagent-refusal.d.ts.map +1 -0
  405. package/dist/tools/subagent-refusal.js +18 -0
  406. package/dist/tools/subagent-refusal.js.map +1 -0
  407. package/dist/tools/subagent-spawner.d.ts +122 -0
  408. package/dist/tools/subagent-spawner.d.ts.map +1 -1
  409. package/dist/tools/subagent-spawner.js +249 -28
  410. package/dist/tools/subagent-spawner.js.map +1 -1
  411. package/dist/tools/tool-hooks.d.ts +177 -0
  412. package/dist/tools/tool-hooks.d.ts.map +1 -0
  413. package/dist/tools/tool-hooks.js +427 -0
  414. package/dist/tools/tool-hooks.js.map +1 -0
  415. package/dist/tools/tool-loop.d.ts +94 -5
  416. package/dist/tools/tool-loop.d.ts.map +1 -1
  417. package/dist/tools/tool-loop.js +315 -9
  418. package/dist/tools/tool-loop.js.map +1 -1
  419. package/dist/tools/tool-refusal.d.ts +68 -0
  420. package/dist/tools/tool-refusal.d.ts.map +1 -0
  421. package/dist/tools/tool-refusal.js +78 -0
  422. package/dist/tools/tool-refusal.js.map +1 -0
  423. package/dist/tools/toolsets.d.ts +8 -0
  424. package/dist/tools/toolsets.d.ts.map +1 -1
  425. package/dist/tools/toolsets.js +14 -4
  426. package/dist/tools/toolsets.js.map +1 -1
  427. package/dist/tools/vision-tools.d.ts +88 -83
  428. package/dist/tools/vision-tools.d.ts.map +1 -1
  429. package/dist/tools/vision-tools.js +134 -103
  430. package/dist/tools/vision-tools.js.map +1 -1
  431. package/dist/tools/worktree.d.ts +210 -0
  432. package/dist/tools/worktree.d.ts.map +1 -0
  433. package/dist/tools/worktree.js +374 -0
  434. package/dist/tools/worktree.js.map +1 -0
  435. package/dist/utils/format.d.ts +3 -0
  436. package/dist/utils/format.d.ts.map +1 -0
  437. package/dist/utils/format.js +32 -0
  438. package/dist/utils/format.js.map +1 -0
  439. package/dist/web-dashboard/attachment-extract.d.ts +64 -0
  440. package/dist/web-dashboard/attachment-extract.d.ts.map +1 -0
  441. package/dist/web-dashboard/attachment-extract.js +154 -0
  442. package/dist/web-dashboard/attachment-extract.js.map +1 -0
  443. package/dist/web-dashboard/chat-console.d.ts +108 -1
  444. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  445. package/dist/web-dashboard/chat-console.js +36 -0
  446. package/dist/web-dashboard/chat-console.js.map +1 -1
  447. package/dist/web-dashboard/hub-data.d.ts +37 -0
  448. package/dist/web-dashboard/hub-data.d.ts.map +1 -1
  449. package/dist/web-dashboard/hub-data.js +61 -1
  450. package/dist/web-dashboard/hub-data.js.map +1 -1
  451. package/dist/web-dashboard/server.d.ts +14 -0
  452. package/dist/web-dashboard/server.d.ts.map +1 -1
  453. package/dist/web-dashboard/server.js +247 -13
  454. package/dist/web-dashboard/server.js.map +1 -1
  455. package/dist/web-dashboard/src/types.d.ts +196 -48
  456. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  457. package/dist/workflow/registry.js +1 -1
  458. package/dist/workflow/registry.js.map +1 -1
  459. package/package.json +22 -6
  460. package/src/web-dashboard/public/assets/{index-Cyd6tIew.css → index-XJjj2cBX.css} +1 -1
  461. package/src/web-dashboard/public/assets/index-YWF9FpwQ.js +207 -0
  462. package/src/web-dashboard/public/assets/index-YWF9FpwQ.js.map +1 -0
  463. package/src/web-dashboard/public/index.html +2 -2
  464. package/dist/tools/child-agent-worker.js +0 -212
  465. package/src/web-dashboard/public/assets/index-CjvoBhlz.js +0 -207
  466. package/src/web-dashboard/public/assets/index-CjvoBhlz.js.map +0 -1
@@ -14,19 +14,89 @@
14
14
  * Hermes equivalent: delegate_tool.py (3931 lines) — actual agent spawning
15
15
  */
16
16
  import { fork } from 'node:child_process';
17
- import { resolveNuviraHome } from '../config/paths.js';
17
+ import { resolveNuviraDataPath } from '../config/paths.js';
18
18
  import { randomUUID } from 'node:crypto';
19
- import { existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
19
+ import { createWriteStream, existsSync, readFileSync, writeFileSync, mkdirSync, readdirSync } from 'node:fs';
20
20
  import { join } from 'node:path';
21
21
  import { EventEmitter } from 'node:events';
22
22
  import { logger } from '../utils/logger.js';
23
+ // WS3 (#25) — the W3C parent this child should continue, read from the ACTIVE
24
+ // span (the tool call that spawned it), plus the env key it travels in.
25
+ import { childTraceEnv, TRACEPARENT_ENV } from '../observability/otel.js';
26
+ // WS5 (#27) — the env key the child resolves its resume request from.
27
+ import { RESUME_ENABLE_ENV } from '../learning/step-checkpoint.js';
28
+ // WS5 (#27) — delegation-level isolation: the parent makes the worktree, forks
29
+ // INTO it, and measures the diff itself (see SubagentConfig.worktree).
30
+ import { createIsolatedWorktree, discardWorktree, worktreeDiff, worktreeEnv, worktreeRefusal, } from './worktree.js';
31
+ /**
32
+ * How long the exit path may spend on git.
33
+ *
34
+ * Deliberately far below the creation budget: this runs inside the child's exit
35
+ * handler, so every millisecond here is a millisecond the manager's own event
36
+ * loop is blocked. A diff that cannot be produced in five seconds is reported as
37
+ * "no changes could be measured", which is honest, rather than stalling a
38
+ * server that may be answering other sessions.
39
+ */
40
+ const WORKTREE_EXIT_TIMEOUT_MS = 5_000;
41
+ /**
42
+ * WS5 (#27) — how the resume request reaches the child: the inherited
43
+ * `NUVIRA_RESUME` (see `SubagentRuntimeConfig.resume`). The child resolves it from
44
+ * its own environment, exactly as an in-process surface does, so one request
45
+ * means the same thing on both sides of the fork.
46
+ */
47
+ export const SUBAGENT_RESUME_ENV = RESUME_ENABLE_ENV;
48
+ /**
49
+ * Decide a child's terminal state from what it actually reported.
50
+ *
51
+ * `handleExit` used to synthesise a success here — a child that exited 0 having
52
+ * sent no `result` message was marked `completed` with
53
+ * `result: 'Task completed successfully'`, so `subagent wait` returned success
54
+ * for a run whose output never existed. That is the fabricated-success defect of
55
+ * TOOL_TRUTHFULNESS_TRACKER finding #4, and it is the reason this decision is a
56
+ * separate, exported, tested function rather than three inline branches: no
57
+ * result means the child reported nothing, which is a failure, never a success.
58
+ */
59
+ export function classifyChildExit(result, code, signal) {
60
+ if (result)
61
+ return { status: 'completed' };
62
+ if (code === 0)
63
+ return { status: 'failed', error: 'Subagent exited without reporting a result' };
64
+ return { status: 'failed', error: signal ? `Killed by ${signal}` : `Exit code ${code}` };
65
+ }
23
66
  // ─── Subagent Manager ─────────────────────────────────────────────────────
24
- const SUBAGENT_DIR = join(resolveNuviraHome(), 'cache', 'subagents');
67
+ // `resolveNuviraDataPath` (not `resolveNuviraHome`) so a process pointed at an
68
+ // isolated config dir writes its subagent state there too — every other state file
69
+ // the agent persists resolves through it, and a test can then inspect a run without
70
+ // touching the developer's real ~/.nuvira.
71
+ const SUBAGENT_DIR = resolveNuviraDataPath('cache', 'subagents');
25
72
  const STATE_DIR = join(SUBAGENT_DIR, 'state');
26
73
  const LOG_DIR = join(SUBAGENT_DIR, 'logs');
27
74
  const RESULT_DIR = join(SUBAGENT_DIR, 'results');
75
+ /**
76
+ * The file to fork.
77
+ *
78
+ * A compiled build has `dist/tools/child-agent-entry.js` beside this module and
79
+ * plain `node` runs it. A source run (tsx/vitest) has the TypeScript original
80
+ * instead, which node cannot parse — it is forked through the tsx loader. The two
81
+ * layouts used to be handled by one hardcoded `.js` path, which failed BOTH ways:
82
+ * compiled, the build never emitted that file (allowJs is false, so `fork()` threw
83
+ * ENOENT); from source, it was a CommonJS file inside a `"type": "module"`
84
+ * package and died on `require is not defined`. That is why no subagent ever ran.
85
+ */
86
+ function resolveChildEntry() {
87
+ const dir = import.meta.dirname;
88
+ const compiled = join(dir, 'child-agent-entry.js');
89
+ if (existsSync(compiled))
90
+ return { entry: compiled };
91
+ const source = join(dir, 'child-agent-entry.ts');
92
+ if (existsSync(source))
93
+ return { entry: source, execArgv: ['--import', 'tsx'] };
94
+ throw new Error(`subagent entry not found beside ${dir} (expected child-agent-entry.js or .ts) — the build is incomplete`);
95
+ }
28
96
  export class SubagentManager extends EventEmitter {
29
97
  subagents = new Map();
98
+ /** WS5 (#27) — the live worktree of each isolated run, keyed by subagent id. */
99
+ worktrees = new Map();
30
100
  processes = new Map();
31
101
  maxConcurrent = 3;
32
102
  maxDepth = 1;
@@ -62,6 +132,8 @@ export class SubagentManager extends EventEmitter {
62
132
  const check = this.canSpawn();
63
133
  if (!check.allowed)
64
134
  throw new Error(check.reason);
135
+ /** WS5 — the worktree this run is isolated in, when one was asked for. */
136
+ let worktree = null;
65
137
  const id = randomUUID();
66
138
  const state = {
67
139
  id,
@@ -75,29 +147,80 @@ export class SubagentManager extends EventEmitter {
75
147
  this.subagents.set(id, state);
76
148
  this.saveState(state);
77
149
  try {
150
+ // WS5 (#27) — isolation, made by the parent BEFORE the fork. A refusal is a
151
+ // FAILED spawn rather than an unisolated run: the caller asked for isolation
152
+ // on purpose, and a run that silently happened in the real tree is the exact
153
+ // outcome this capability exists to prevent.
154
+ if (config.worktree) {
155
+ const repoCwd = config.cwd || process.cwd();
156
+ worktree = createIsolatedWorktree({ repoCwd, label: config.goal });
157
+ if (!worktree) {
158
+ const why = worktreeRefusal(repoCwd) ?? 'the worktree could not be created';
159
+ throw new Error(`Cannot isolate this subagent: ${why}`);
160
+ }
161
+ state.worktree = worktree.dir;
162
+ state.worktreeBase = worktree.base;
163
+ this.worktrees.set(id, { handle: worktree, keep: config.keepWorktree === true });
164
+ this.emit('progress', id, {
165
+ phase: 'worktree',
166
+ dir: worktree.dir,
167
+ base: worktree.base,
168
+ sourceDirty: worktree.sourceDirty,
169
+ });
170
+ }
78
171
  // Spawn child process
79
- const child = fork(join(import.meta.dirname, 'child-agent-entry.js'), [], {
80
- cwd: config.cwd || process.cwd(),
81
- env: {
82
- ...process.env,
83
- ...config.env,
84
- SUBAGENT_ID: id,
85
- SUBAGENT_GOAL: config.goal,
86
- SUBAGENT_PROVIDER: config.provider || 'auto',
87
- SUBAGENT_MODEL: config.model || 'auto',
88
- SUBAGENT_MAX_LLM_CALLS: String(config.maxLlmCalls || 50),
89
- SUBAGENT_MAX_TOKENS: String(config.maxTokens || 100_000),
90
- SUBAGENT_TOOLS: JSON.stringify(config.tools || []),
91
- SUBAGENT_BLOCKED_TOOLS: JSON.stringify(config.blockedTools || []),
92
- },
172
+ const { entry, execArgv } = resolveChildEntry();
173
+ // WS3 (#25) — hand the child the trace it belongs to. The loop makes the
174
+ // tool span ACTIVE around this call, so `childTraceEnv()` reads the real
175
+ // parent out of the active context (never out of module state, which two
176
+ // interleaved turns in one server would share). It is set or DELETED
177
+ // explicitly rather than merged: a `TRACEPARENT` inherited from this
178
+ // process's own environment is not the child's parent, and a stale one
179
+ // would graft the child onto a trace nobody is running.
180
+ const traceEnv = childTraceEnv();
181
+ const childEnv = {
182
+ ...process.env,
183
+ ...config.env,
184
+ SUBAGENT_ID: id,
185
+ SUBAGENT_GOAL: config.goal,
186
+ SUBAGENT_PROVIDER: config.provider || 'auto',
187
+ SUBAGENT_MODEL: config.model || 'auto',
188
+ SUBAGENT_MAX_LLM_CALLS: String(config.maxLlmCalls || 50),
189
+ SUBAGENT_MAX_TOKENS: String(config.maxTokens || 100_000),
190
+ SUBAGENT_TOOLS: JSON.stringify(config.tools || []),
191
+ SUBAGENT_BLOCKED_TOOLS: JSON.stringify(config.blockedTools || []),
192
+ };
193
+ const traceparent = traceEnv[TRACEPARENT_ENV];
194
+ if (traceparent)
195
+ childEnv[TRACEPARENT_ENV] = traceparent;
196
+ else
197
+ delete childEnv[TRACEPARENT_ENV];
198
+ // WS5 — the resume request travels as the environment the child resolves it
199
+ // from. INHERITED when the caller does not name one (unlike the traceparent
200
+ // above, which is explicitly cleared): a parent run that was asked to resume
201
+ // is asking for its children's model calls to be replayed too, and a child
202
+ // with no record of its own simply records a fresh one. An explicit
203
+ // `false` is how a caller opts a child out of that.
204
+ // WS5 — the child's cwd IS the isolation, and it is told so in its
205
+ // environment: a tool inside the run can then report which worktree it is
206
+ // working in instead of guessing, and a nested spawn can isolate from it.
207
+ if (worktree)
208
+ Object.assign(childEnv, worktreeEnv(worktree));
209
+ const child = fork(entry, [], {
210
+ cwd: worktree?.dir ?? config.cwd ?? process.cwd(),
211
+ ...(execArgv ? { execArgv } : {}),
212
+ env: childEnv,
93
213
  stdio: ['ignore', 'pipe', 'pipe', 'ipc'],
94
214
  });
215
+ logger.info(`Subagent: forked ${entry}${execArgv ? ` (via ${execArgv.join(' ')})` : ''}`);
95
216
  state.pid = child.pid;
96
217
  state.status = 'running';
97
218
  this.processes.set(id, child);
98
- // Set up log file
219
+ // Set up log file. This used to be `require('node:fs')` INSIDE an ESM
220
+ // module, so it threw `require is not defined` immediately after the fork
221
+ // and `spawn()` rejected before the child was ever tracked.
99
222
  const logFile = join(LOG_DIR, `${id}.log`);
100
- const logStream = require('node:fs').createWriteStream(logFile, { flags: 'a' });
223
+ const logStream = createWriteStream(logFile, { flags: 'a' });
101
224
  // Pipe stdout/stderr to log file
102
225
  child.stdout?.pipe(logStream);
103
226
  child.stderr?.pipe(logStream);
@@ -131,6 +254,15 @@ export class SubagentManager extends EventEmitter {
131
254
  return state;
132
255
  }
133
256
  catch (err) {
257
+ // A spawn that failed AFTER the worktree was made leaves nothing behind:
258
+ // the run never happened, so neither should its directory.
259
+ if (worktree) {
260
+ const kept = this.worktrees.get(id)?.keep === true;
261
+ if (!kept)
262
+ discardWorktree(worktree, { timeoutMs: WORKTREE_EXIT_TIMEOUT_MS });
263
+ if (!kept)
264
+ this.worktrees.delete(id);
265
+ }
134
266
  state.status = 'failed';
135
267
  state.error = String(err);
136
268
  state.endedAt = Date.now();
@@ -232,6 +364,17 @@ export class SubagentManager extends EventEmitter {
232
364
  state.llmCalls = msg.llmCalls || state.llmCalls;
233
365
  state.tokensUsed = msg.tokensUsed || state.tokensUsed;
234
366
  state.toolCalls = msg.toolCalls || state.toolCalls;
367
+ // WS1 — a finding the child recorded. Appended, never replaced: a run
368
+ // can record several, and the order is part of what it did.
369
+ if (msg.finding && typeof msg.finding === 'object') {
370
+ state.findings = [...(state.findings ?? []), msg.finding];
371
+ }
372
+ // WS5 (#27) — the child's own resume report. A frame, not a return value:
373
+ // the child is a separate process, and this is its only channel back.
374
+ if (msg.resume && typeof msg.resume === 'object') {
375
+ state.resume = msg.resume;
376
+ }
377
+ this.recordIdentity(state, msg);
235
378
  this.saveState(state);
236
379
  this.emit('progress', id, msg);
237
380
  break;
@@ -240,25 +383,80 @@ export class SubagentManager extends EventEmitter {
240
383
  state.llmCalls = msg.llmCalls || state.llmCalls;
241
384
  state.tokensUsed = msg.tokensUsed || state.tokensUsed;
242
385
  state.toolCalls = msg.toolCalls || state.toolCalls;
386
+ // G1 — the child's verification verdict, read off its result frame. Only
387
+ // a truthy flag is recorded: the child omits it when the edit WAS verified,
388
+ // so `undefined` here means "not claimed", and never `false`.
389
+ if (msg.unverifiedEdit === true)
390
+ state.unverifiedEdit = true;
391
+ if (msg.unverifiedEditClaim === true)
392
+ state.unverifiedEditClaim = true;
393
+ this.recordIdentity(state, msg);
394
+ this.saveState(state);
395
+ break;
396
+ case 'error':
397
+ // The child's OWN reason. Without this the message was dropped and the
398
+ // parent could only report "Exit code 1".
399
+ state.error = msg.error || 'Subagent reported an error';
400
+ if (msg.code)
401
+ state.refusalCode = msg.code;
402
+ this.recordIdentity(state, msg);
403
+ this.saveState(state);
243
404
  break;
244
405
  }
245
406
  }
407
+ /**
408
+ * Record which provider/model/transport the child is serving this run with.
409
+ *
410
+ * The child announces them on its FIRST frame — before it can fail — and repeats
411
+ * them on the result and error frames. Recording from every frame (not just the
412
+ * result) is what makes a FAILED run attributable: a subagent that its provider
413
+ * rejected used to land as a bare error with no provider, model or transport, so
414
+ * the dashboard showed a failure with nothing to debug it by — exactly backwards,
415
+ * since a run that produced no output is the one that needs the attribution.
416
+ */
417
+ recordIdentity(state, msg) {
418
+ if (msg.provider)
419
+ state.provider = String(msg.provider);
420
+ if (msg.model)
421
+ state.model = String(msg.model);
422
+ if (msg.transport)
423
+ state.transport = String(msg.transport);
424
+ }
246
425
  handleExit(id, code, signal) {
247
426
  const state = this.subagents.get(id);
248
427
  if (!state)
249
428
  return;
250
429
  state.endedAt = Date.now();
251
430
  state.durationMs = state.endedAt - state.startedAt;
252
- if (state.result) {
253
- state.status = 'completed';
431
+ if (state.status === 'killed' || state.status === 'timeout') {
432
+ // The killer already recorded why; do not overwrite it with an exit code.
254
433
  }
255
- else if (code === 0) {
256
- state.status = 'completed';
257
- state.result = 'Task completed successfully';
434
+ else if (state.error) {
435
+ // The child said why it failed — that reason outranks its exit code.
436
+ state.status = 'failed';
258
437
  }
259
438
  else {
260
- state.status = 'failed';
261
- state.error = signal ? `Killed by ${signal}` : `Exit code ${code}`;
439
+ const outcome = classifyChildExit(state.result, code, signal);
440
+ state.status = outcome.status;
441
+ if (outcome.error)
442
+ state.error = outcome.error;
443
+ }
444
+ // WS5 (#27) — what an isolated run changed, measured from the parent, and the
445
+ // teardown. Both happen BEFORE the result is built and emitted, so the diff
446
+ // rides on the result its caller is waiting for: a diff reported later (or by
447
+ // a separate command) is a diff most callers never see. A KILLED run is
448
+ // measured too — "what had it changed when you stopped it" is exactly the
449
+ // question a teardown needs answered.
450
+ const isolated = this.worktrees.get(id);
451
+ if (isolated) {
452
+ state.worktreeDiff = worktreeDiff(isolated.handle, { timeoutMs: WORKTREE_EXIT_TIMEOUT_MS });
453
+ if (isolated.keep) {
454
+ state.worktreeRemoved = false;
455
+ }
456
+ else {
457
+ state.worktreeRemoved = discardWorktree(isolated.handle, { timeoutMs: WORKTREE_EXIT_TIMEOUT_MS });
458
+ }
459
+ this.worktrees.delete(id);
262
460
  }
263
461
  this.saveState(state);
264
462
  this.processes.delete(id);
@@ -269,8 +467,13 @@ export class SubagentManager extends EventEmitter {
269
467
  this.emit(`completed:${id}`, result);
270
468
  }
271
469
  else {
272
- this.emit('failed', id, new Error(state.error));
273
- this.emit(`failed:${id}`, new Error(state.error));
470
+ // The child's typed refusal (when it reported one) rides on the error, so
471
+ // `waitForCompletion`'s rejection is actionable instead of a bare message.
472
+ const failure = new Error(state.error);
473
+ if (state.refusalCode)
474
+ failure.code = state.refusalCode;
475
+ this.emit('failed', id, failure);
476
+ this.emit(`failed:${id}`, failure);
274
477
  }
275
478
  }
276
479
  buildResult(state) {
@@ -279,6 +482,24 @@ export class SubagentManager extends EventEmitter {
279
482
  success: state.status === 'completed',
280
483
  result: state.result || '',
281
484
  error: state.error,
485
+ ...(state.refusalCode ? { refusalCode: state.refusalCode } : {}),
486
+ ...(state.provider ? { provider: state.provider } : {}),
487
+ ...(state.model ? { model: state.model } : {}),
488
+ ...(state.transport ? { transport: state.transport } : {}),
489
+ ...(state.findings && state.findings.length > 0 ? { findings: state.findings } : {}),
490
+ ...(state.resume ? { resume: state.resume } : {}),
491
+ ...(state.unverifiedEdit ? { unverifiedEdit: true } : {}),
492
+ ...(state.unverifiedEditClaim ? { unverifiedEditClaim: true } : {}),
493
+ ...(state.worktree && state.worktreeBase && state.worktreeDiff
494
+ ? {
495
+ worktree: {
496
+ dir: state.worktree,
497
+ base: state.worktreeBase,
498
+ diff: state.worktreeDiff,
499
+ removed: state.worktreeRemoved === true,
500
+ },
501
+ }
502
+ : {}),
282
503
  llmCalls: state.llmCalls,
283
504
  tokensUsed: state.tokensUsed,
284
505
  toolCalls: state.toolCalls,
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-spawner.js","sourceRoot":"","sources":["../../src/tools/subagent-spawner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-spawner.js","sourceRoot":"","sources":["../../src/tools/subagent-spawner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * WS4 (#26) — tool lifecycle hooks an operator can subscribe to.
3
+ *
4
+ * WHY AN OPERATOR-FACING HOOK, AND WHY IT REUSES THE REGISTRY. The registry
5
+ * (`src/gateway/hooks.ts`) already existed and already had a `post_tool_call`
6
+ * event — wired to the event bus and installed by NOTHING in production, so it
7
+ * reached the gateway and nowhere else, and could not stop a call even where it
8
+ * did fire. This module is the missing half: it lets an operator DECLARE hooks in
9
+ * config or in the environment, and binds them into that same registry, so the
10
+ * seam has one subscription model instead of a second, parallel system.
11
+ *
12
+ * DECLARED, NOT PROGRAMMED. A hook is a COMMAND with three phases to choose from
13
+ * (`before` / `after` / `failed`), because the operator of a CLI is a person with
14
+ * a shell — not someone who edits this repository to install a callback. The call
15
+ * is written to the command's STDIN as JSON and its decision is read from STDOUT
16
+ * as JSON, so a tool argument can never change which program runs: nothing is
17
+ * interpolated into a command line, only passed as data.
18
+ *
19
+ * CONFIG, WITH THE ENVIRONMENT WINNING. `tools.hooks` in `buffconfig.json` is the
20
+ * durable, reviewable declaration; `NUVIRA_TOOL_HOOK_BEFORE` / `_AFTER` /
21
+ * `_FAILED` declare one hook for a single run. For a given phase the environment
22
+ * REPLACES the configured hooks — "the environment wins" has to mean one list per
23
+ * phase, or the effective hooks are not knowable from reading either source. That
24
+ * also makes the variables the way a forked subagent is covered with no extra
25
+ * plumbing: it inherits its parent's environment, and reads its own config.
26
+ *
27
+ * A BROKEN HOOK DOES NOT VETO. This is the rule the rest of this codebase already
28
+ * follows for its own instruments (the debug log, the OTLP tracer): a hook that
29
+ * crashes, times out, or prints something unparseable is REPORTED and the call
30
+ * proceeds. The alternative is worse than it looks — one bad hook would stop
31
+ * every tool call in the process, and it would do so silently, because the hook
32
+ * that was supposed to report problems is the one that is broken. A veto must be
33
+ * explicit and well-formed (`{"decision":"deny","reason":"…"}`), so a hook can
34
+ * only stop work by saying so.
35
+ *
36
+ * Hooks see LOCAL data and it is NOT redacted, unlike the debug log and the trace:
37
+ * those leave the machine, this is the operator's own command on their own
38
+ * machine. The result preview is bounded so a huge tool result cannot be handed
39
+ * over in full on every call.
40
+ */
41
+ import type { ToolHookConfig } from '../config/types.js';
42
+ import { type HookDecision } from '../gateway/hooks.js';
43
+ /** The phase a hook is declared for, in the order a call goes through them. */
44
+ export declare const TOOL_HOOK_PHASES: readonly ["before", "after", "failed"];
45
+ export type ToolHookPhase = (typeof TOOL_HOOK_PHASES)[number];
46
+ /** The environment variable that declares one hook for a single phase. */
47
+ export declare const TOOL_HOOK_ENV: Record<ToolHookPhase, string>;
48
+ /** How long a hook may take before it is killed and reported. */
49
+ export declare const TOOL_HOOK_TIMEOUT_MS = 5000;
50
+ /** Cap on what we read back from a hook, so a runaway command cannot fill memory. */
51
+ export declare const TOOL_HOOK_OUTPUT_LIMIT_CHARS = 8000;
52
+ /** Cap on the tool result a hook receives — a preview, not the payload. */
53
+ export declare const TOOL_HOOK_RESULT_PREVIEW_CHARS = 4000;
54
+ /** The minimum of a config manager this module needs (`tools.hooks`). */
55
+ export interface ToolHooksConfigManager {
56
+ getAll?(): {
57
+ tools?: {
58
+ hooks?: ToolHookConfig[];
59
+ };
60
+ };
61
+ }
62
+ /** One resolved declaration: with its phase and command guaranteed present. */
63
+ export interface ToolHookDeclaration extends ToolHookConfig {
64
+ phase: ToolHookPhase;
65
+ command: string;
66
+ }
67
+ /**
68
+ * The JSON document a hook command receives on stdin.
69
+ *
70
+ * Deliberately flat and stable: the phase, the call, and — for the phases that
71
+ * come after the fact — what happened. `result` is a bounded preview with
72
+ * `resultTruncated` saying so, so a hook can tell "the result was short" from "I
73
+ * was handed a cut one".
74
+ */
75
+ export interface ToolHookPayload {
76
+ phase: ToolHookPhase;
77
+ tool: string;
78
+ arguments?: Record<string, unknown>;
79
+ callId?: string;
80
+ surface?: string;
81
+ cwd?: string;
82
+ hook: string;
83
+ /** `after` / `failed` only. */
84
+ ok?: boolean;
85
+ result?: string;
86
+ resultTruncated?: boolean;
87
+ error?: string;
88
+ durationMs?: number;
89
+ }
90
+ /** What a hook said about a call it was asked about. */
91
+ export interface ToolHookVerdict {
92
+ /** True when a `before` hook DENIED the call, so it must not run. */
93
+ denied: boolean;
94
+ /** Why, when the hook said. Reported to the model and the turn's trace. */
95
+ reason?: string;
96
+ /** Which hook decided. */
97
+ by?: string;
98
+ /**
99
+ * Hooks that failed to run or to answer, in order. REPORTED, never a veto —
100
+ * see the fail-open rule in the module header.
101
+ */
102
+ problems: string[];
103
+ }
104
+ /**
105
+ * The declarations in effect: config first, then each phase REPLACED by its
106
+ * environment variable when one is set.
107
+ *
108
+ * Exported because the precedence rule is the part worth testing on its own: a
109
+ * caller cannot see which list won by watching a hook run.
110
+ */
111
+ export declare function resolveToolHookDeclarations(cm?: ToolHooksConfigManager, env?: NodeJS.ProcessEnv): ToolHookDeclaration[];
112
+ /** Does this declaration apply to this tool? Absent/empty `tools` = every tool. */
113
+ export declare function hookAppliesTo(decl: ToolHookDeclaration, tool: string): boolean;
114
+ /**
115
+ * Read a hook's decision out of its stdout.
116
+ *
117
+ * Empty output is ALLOW, not a problem: a hook that only records something has
118
+ * nothing to decide. Anything non-empty must be the documented object — a hook
119
+ * that prints prose has not made a decision, and guessing one from loose text is
120
+ * how an operator ends up with a veto they never asked for.
121
+ */
122
+ export declare function parseToolHookDecision(stdout: string, by: string): {
123
+ decision: HookDecision | null;
124
+ problem?: string;
125
+ };
126
+ /**
127
+ * Bind the declared hooks into the registry, if the declarations changed.
128
+ *
129
+ * Idempotent, and it REPLACES rather than accumulates: the registry is a
130
+ * singleton for the process, so a signature change has to unregister what the
131
+ * previous declarations installed — otherwise a hook that was removed from config
132
+ * would go on vetoing calls for the life of the process, and a test that turns a
133
+ * hook on could never turn it off.
134
+ */
135
+ export declare function installDeclaredToolHooks(cm?: ToolHooksConfigManager, env?: NodeJS.ProcessEnv): ToolHookDeclaration[];
136
+ /** What a loop hands to the `before` phase. */
137
+ export interface BeforeToolCallRequest {
138
+ tool: string;
139
+ args?: Record<string, unknown>;
140
+ callId?: string;
141
+ surface?: string;
142
+ cwd?: string;
143
+ configManager?: ToolHooksConfigManager;
144
+ env?: NodeJS.ProcessEnv;
145
+ }
146
+ /**
147
+ * Ask the `before` hooks whether this call may run.
148
+ *
149
+ * ALWAYS RESOLVES: a hook that cannot answer never blocks the call, and the reason
150
+ * it could not answer comes back in `problems` for the caller to report.
151
+ */
152
+ export declare function runBeforeToolHooks(req: BeforeToolCallRequest): Promise<ToolHookVerdict>;
153
+ /** What a loop hands to the `after` / `failed` phase. */
154
+ export interface ToolOutcomeRequest extends BeforeToolCallRequest {
155
+ ok: boolean;
156
+ result?: string;
157
+ error?: string;
158
+ durationMs?: number;
159
+ }
160
+ /**
161
+ * Tell the `after` / `failed` hooks what happened.
162
+ *
163
+ * One of the two fires, never both: a call either succeeded or it did not, and
164
+ * firing `failed` for a success would make a hook that counts failures wrong.
165
+ */
166
+ export declare function runToolOutcomeHooks(req: ToolOutcomeRequest): Promise<{
167
+ problems: string[];
168
+ }>;
169
+ /**
170
+ * The refusal text a vetoed call is fed back as.
171
+ *
172
+ * Shaped like the loop's other refusals (the `Error:` prefix is how a tool
173
+ * result is recognised as a failure everywhere in this codebase), so a veto is
174
+ * accounted as a failed call rather than as work that silently did not happen.
175
+ */
176
+ export declare function toolHookRefusalText(verdict: ToolHookVerdict): string;
177
+ //# sourceMappingURL=tool-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-hooks.d.ts","sourceRoot":"","sources":["../../src/tools/tool-hooks.ts"],"names":[],"mappings":"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"}