agent-nuvira 3.3.12 → 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 (458) 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/agents/reasoner.d.ts.map +1 -1
  6. package/dist/agents/agents/reasoner.js +13 -0
  7. package/dist/agents/agents/reasoner.js.map +1 -1
  8. package/dist/agents/orchestrator.d.ts +31 -0
  9. package/dist/agents/orchestrator.d.ts.map +1 -1
  10. package/dist/agents/orchestrator.js +103 -135
  11. package/dist/agents/orchestrator.js.map +1 -1
  12. package/dist/cli/chat.d.ts +89 -0
  13. package/dist/cli/chat.d.ts.map +1 -1
  14. package/dist/cli/chat.js +798 -39
  15. package/dist/cli/chat.js.map +1 -1
  16. package/dist/cli/cli-program.d.ts.map +1 -1
  17. package/dist/cli/cli-program.js +20 -0
  18. package/dist/cli/cli-program.js.map +1 -1
  19. package/dist/cli/config.d.ts +12 -0
  20. package/dist/cli/config.d.ts.map +1 -1
  21. package/dist/cli/config.js +107 -3
  22. package/dist/cli/config.js.map +1 -1
  23. package/dist/cli/decisions.d.ts +28 -0
  24. package/dist/cli/decisions.d.ts.map +1 -0
  25. package/dist/cli/decisions.js +140 -0
  26. package/dist/cli/decisions.js.map +1 -0
  27. package/dist/cli/doctor.d.ts +6 -0
  28. package/dist/cli/doctor.d.ts.map +1 -1
  29. package/dist/cli/doctor.js +46 -0
  30. package/dist/cli/doctor.js.map +1 -1
  31. package/dist/cli/execute.d.ts.map +1 -1
  32. package/dist/cli/execute.js +6 -0
  33. package/dist/cli/execute.js.map +1 -1
  34. package/dist/cli/failover-runner.d.ts.map +1 -1
  35. package/dist/cli/failover-runner.js +19 -1
  36. package/dist/cli/failover-runner.js.map +1 -1
  37. package/dist/cli/feedback.d.ts.map +1 -1
  38. package/dist/cli/feedback.js +5 -1
  39. package/dist/cli/feedback.js.map +1 -1
  40. package/dist/cli/hooks.d.ts +30 -0
  41. package/dist/cli/hooks.d.ts.map +1 -0
  42. package/dist/cli/hooks.js +224 -0
  43. package/dist/cli/hooks.js.map +1 -0
  44. package/dist/cli/knowledge.d.ts +31 -0
  45. package/dist/cli/knowledge.d.ts.map +1 -0
  46. package/dist/cli/knowledge.js +223 -0
  47. package/dist/cli/knowledge.js.map +1 -0
  48. package/dist/cli/loop-executor.d.ts.map +1 -1
  49. package/dist/cli/loop-executor.js +92 -18
  50. package/dist/cli/loop-executor.js.map +1 -1
  51. package/dist/cli/model.d.ts +20 -0
  52. package/dist/cli/model.d.ts.map +1 -1
  53. package/dist/cli/model.js +294 -14
  54. package/dist/cli/model.js.map +1 -1
  55. package/dist/cli/omniroute-control.d.ts +88 -0
  56. package/dist/cli/omniroute-control.d.ts.map +1 -0
  57. package/dist/cli/omniroute-control.js +179 -0
  58. package/dist/cli/omniroute-control.js.map +1 -0
  59. package/dist/cli/omniroute.d.ts +21 -0
  60. package/dist/cli/omniroute.d.ts.map +1 -0
  61. package/dist/cli/omniroute.js +67 -0
  62. package/dist/cli/omniroute.js.map +1 -0
  63. package/dist/cli/rate.d.ts +78 -0
  64. package/dist/cli/rate.d.ts.map +1 -0
  65. package/dist/cli/rate.js +294 -0
  66. package/dist/cli/rate.js.map +1 -0
  67. package/dist/config/process-env.d.ts.map +1 -1
  68. package/dist/config/process-env.js +10 -0
  69. package/dist/config/process-env.js.map +1 -1
  70. package/dist/config/types.d.ts +8 -0
  71. package/dist/config/types.d.ts.map +1 -1
  72. package/dist/context/history.d.ts +21 -0
  73. package/dist/context/history.d.ts.map +1 -1
  74. package/dist/context/history.js +50 -0
  75. package/dist/context/history.js.map +1 -1
  76. package/dist/enterprise/vault.d.ts.map +1 -1
  77. package/dist/enterprise/vault.js +5 -21
  78. package/dist/enterprise/vault.js.map +1 -1
  79. package/dist/gateway/hook-contract.d.ts +206 -0
  80. package/dist/gateway/hook-contract.d.ts.map +1 -0
  81. package/dist/gateway/hook-contract.js +449 -0
  82. package/dist/gateway/hook-contract.js.map +1 -0
  83. package/dist/gateway/hooks.d.ts.map +1 -1
  84. package/dist/gateway/hooks.js +14 -0
  85. package/dist/gateway/hooks.js.map +1 -1
  86. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  87. package/dist/inference/gemini-adapter.js +4 -0
  88. package/dist/inference/gemini-adapter.js.map +1 -1
  89. package/dist/inference/interface.d.ts +54 -0
  90. package/dist/inference/interface.d.ts.map +1 -1
  91. package/dist/inference/model-id-validation.d.ts +57 -0
  92. package/dist/inference/model-id-validation.d.ts.map +1 -0
  93. package/dist/inference/model-id-validation.js +127 -0
  94. package/dist/inference/model-id-validation.js.map +1 -0
  95. package/dist/inference/native-tools.d.ts +16 -1
  96. package/dist/inference/native-tools.d.ts.map +1 -1
  97. package/dist/inference/native-tools.js +34 -10
  98. package/dist/inference/native-tools.js.map +1 -1
  99. package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
  100. package/dist/inference/openai-compat-adapter.js +12 -1
  101. package/dist/inference/openai-compat-adapter.js.map +1 -1
  102. package/dist/inference/provider-catalog.d.ts +11 -0
  103. package/dist/inference/provider-catalog.d.ts.map +1 -1
  104. package/dist/inference/provider-catalog.js +80 -0
  105. package/dist/inference/provider-catalog.js.map +1 -1
  106. package/dist/inference/route-resolver.d.ts +32 -8
  107. package/dist/inference/route-resolver.d.ts.map +1 -1
  108. package/dist/inference/route-resolver.js +175 -1
  109. package/dist/inference/route-resolver.js.map +1 -1
  110. package/dist/inference/tool-call-utils.d.ts.map +1 -1
  111. package/dist/inference/tool-call-utils.js +10 -8
  112. package/dist/inference/tool-call-utils.js.map +1 -1
  113. package/dist/inference/tools.d.ts +17 -1
  114. package/dist/inference/tools.d.ts.map +1 -1
  115. package/dist/inference/tools.js +69 -19
  116. package/dist/inference/tools.js.map +1 -1
  117. package/dist/learning/acceptance-model.d.ts +247 -0
  118. package/dist/learning/acceptance-model.d.ts.map +1 -0
  119. package/dist/learning/acceptance-model.js +708 -0
  120. package/dist/learning/acceptance-model.js.map +1 -0
  121. package/dist/learning/auto-router.d.ts +121 -24
  122. package/dist/learning/auto-router.d.ts.map +1 -1
  123. package/dist/learning/auto-router.js +374 -96
  124. package/dist/learning/auto-router.js.map +1 -1
  125. package/dist/learning/autonomy-policy.d.ts +12 -16
  126. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  127. package/dist/learning/autonomy-policy.js +50 -48
  128. package/dist/learning/autonomy-policy.js.map +1 -1
  129. package/dist/learning/behavioural-labels.d.ts +86 -0
  130. package/dist/learning/behavioural-labels.d.ts.map +1 -0
  131. package/dist/learning/behavioural-labels.js +166 -0
  132. package/dist/learning/behavioural-labels.js.map +1 -0
  133. package/dist/learning/capability-evidence.d.ts +167 -0
  134. package/dist/learning/capability-evidence.d.ts.map +1 -0
  135. package/dist/learning/capability-evidence.js +210 -0
  136. package/dist/learning/capability-evidence.js.map +1 -0
  137. package/dist/learning/capability-readiness.d.ts +64 -0
  138. package/dist/learning/capability-readiness.d.ts.map +1 -0
  139. package/dist/learning/capability-readiness.js +74 -0
  140. package/dist/learning/capability-readiness.js.map +1 -0
  141. package/dist/learning/capability-types.d.ts +169 -0
  142. package/dist/learning/capability-types.d.ts.map +1 -0
  143. package/dist/learning/capability-types.js +20 -0
  144. package/dist/learning/capability-types.js.map +1 -0
  145. package/dist/learning/catalog-feed.d.ts +89 -0
  146. package/dist/learning/catalog-feed.d.ts.map +1 -0
  147. package/dist/learning/catalog-feed.js +211 -0
  148. package/dist/learning/catalog-feed.js.map +1 -0
  149. package/dist/learning/cli-intent-effects.d.ts +60 -0
  150. package/dist/learning/cli-intent-effects.d.ts.map +1 -0
  151. package/dist/learning/cli-intent-effects.js +153 -0
  152. package/dist/learning/cli-intent-effects.js.map +1 -0
  153. package/dist/learning/command-adaptation.d.ts +41 -0
  154. package/dist/learning/command-adaptation.d.ts.map +1 -0
  155. package/dist/learning/command-adaptation.js +122 -0
  156. package/dist/learning/command-adaptation.js.map +1 -0
  157. package/dist/learning/consent-picture.d.ts +42 -0
  158. package/dist/learning/consent-picture.d.ts.map +1 -0
  159. package/dist/learning/consent-picture.js +53 -0
  160. package/dist/learning/consent-picture.js.map +1 -0
  161. package/dist/learning/context-budget.d.ts +37 -6
  162. package/dist/learning/context-budget.d.ts.map +1 -1
  163. package/dist/learning/context-budget.js +38 -9
  164. package/dist/learning/context-budget.js.map +1 -1
  165. package/dist/learning/decision-log.d.ts +114 -0
  166. package/dist/learning/decision-log.d.ts.map +1 -0
  167. package/dist/learning/decision-log.js +296 -0
  168. package/dist/learning/decision-log.js.map +1 -0
  169. package/dist/learning/deliverable-class.d.ts.map +1 -1
  170. package/dist/learning/deliverable-class.js +19 -0
  171. package/dist/learning/deliverable-class.js.map +1 -1
  172. package/dist/learning/deliverable-corpus.d.ts +117 -0
  173. package/dist/learning/deliverable-corpus.d.ts.map +1 -0
  174. package/dist/learning/deliverable-corpus.js +176 -0
  175. package/dist/learning/deliverable-corpus.js.map +1 -0
  176. package/dist/learning/error-repair.d.ts +45 -2
  177. package/dist/learning/error-repair.d.ts.map +1 -1
  178. package/dist/learning/error-repair.js +95 -0
  179. package/dist/learning/error-repair.js.map +1 -1
  180. package/dist/learning/exhaustion-report.d.ts +136 -0
  181. package/dist/learning/exhaustion-report.d.ts.map +1 -0
  182. package/dist/learning/exhaustion-report.js +239 -0
  183. package/dist/learning/exhaustion-report.js.map +1 -0
  184. package/dist/learning/failure-bookkeeping.d.ts +16 -0
  185. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  186. package/dist/learning/failure-bookkeeping.js +51 -5
  187. package/dist/learning/failure-bookkeeping.js.map +1 -1
  188. package/dist/learning/gate-friction.d.ts +39 -0
  189. package/dist/learning/gate-friction.d.ts.map +1 -0
  190. package/dist/learning/gate-friction.js +91 -0
  191. package/dist/learning/gate-friction.js.map +1 -0
  192. package/dist/learning/harness-narration.d.ts +34 -0
  193. package/dist/learning/harness-narration.d.ts.map +1 -0
  194. package/dist/learning/harness-narration.js +58 -0
  195. package/dist/learning/harness-narration.js.map +1 -0
  196. package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
  197. package/dist/learning/hub-skill-catalog.js +1 -2
  198. package/dist/learning/hub-skill-catalog.js.map +1 -1
  199. package/dist/learning/hybrid-router.d.ts +65 -0
  200. package/dist/learning/hybrid-router.d.ts.map +1 -1
  201. package/dist/learning/hybrid-router.js +186 -0
  202. package/dist/learning/hybrid-router.js.map +1 -1
  203. package/dist/learning/knowledge-base.d.ts +350 -0
  204. package/dist/learning/knowledge-base.d.ts.map +1 -0
  205. package/dist/learning/knowledge-base.js +906 -0
  206. package/dist/learning/knowledge-base.js.map +1 -0
  207. package/dist/learning/knowledge-eval.d.ts +171 -0
  208. package/dist/learning/knowledge-eval.d.ts.map +1 -0
  209. package/dist/learning/knowledge-eval.js +196 -0
  210. package/dist/learning/knowledge-eval.js.map +1 -0
  211. package/dist/learning/knowledge-turn.d.ts +92 -0
  212. package/dist/learning/knowledge-turn.d.ts.map +1 -0
  213. package/dist/learning/knowledge-turn.js +190 -0
  214. package/dist/learning/knowledge-turn.js.map +1 -0
  215. package/dist/learning/learned-commands.d.ts +64 -0
  216. package/dist/learning/learned-commands.d.ts.map +1 -0
  217. package/dist/learning/learned-commands.js +108 -0
  218. package/dist/learning/learned-commands.js.map +1 -0
  219. package/dist/learning/lexical-search.d.ts +50 -0
  220. package/dist/learning/lexical-search.d.ts.map +1 -0
  221. package/dist/learning/lexical-search.js +111 -0
  222. package/dist/learning/lexical-search.js.map +1 -0
  223. package/dist/learning/machine-facts.d.ts +71 -0
  224. package/dist/learning/machine-facts.d.ts.map +1 -0
  225. package/dist/learning/machine-facts.js +164 -0
  226. package/dist/learning/machine-facts.js.map +1 -0
  227. package/dist/learning/markdown-outline.d.ts +73 -0
  228. package/dist/learning/markdown-outline.d.ts.map +1 -0
  229. package/dist/learning/markdown-outline.js +136 -0
  230. package/dist/learning/markdown-outline.js.map +1 -0
  231. package/dist/learning/model-first-router.d.ts +33 -1
  232. package/dist/learning/model-first-router.d.ts.map +1 -1
  233. package/dist/learning/model-first-router.js +123 -9
  234. package/dist/learning/model-first-router.js.map +1 -1
  235. package/dist/learning/model-identity.d.ts +80 -0
  236. package/dist/learning/model-identity.d.ts.map +1 -0
  237. package/dist/learning/model-identity.js +115 -0
  238. package/dist/learning/model-identity.js.map +1 -0
  239. package/dist/learning/model-registry.d.ts +141 -2
  240. package/dist/learning/model-registry.d.ts.map +1 -1
  241. package/dist/learning/model-registry.js +324 -38
  242. package/dist/learning/model-registry.js.map +1 -1
  243. package/dist/learning/model-scoring.d.ts.map +1 -1
  244. package/dist/learning/model-scoring.js +8 -1
  245. package/dist/learning/model-scoring.js.map +1 -1
  246. package/dist/learning/model-selection.d.ts +2 -1
  247. package/dist/learning/model-selection.d.ts.map +1 -1
  248. package/dist/learning/model-selection.js +76 -2
  249. package/dist/learning/model-selection.js.map +1 -1
  250. package/dist/learning/outcome-observation.d.ts +49 -0
  251. package/dist/learning/outcome-observation.d.ts.map +1 -0
  252. package/dist/learning/outcome-observation.js +95 -0
  253. package/dist/learning/outcome-observation.js.map +1 -0
  254. package/dist/learning/pair-entitlement.d.ts +184 -0
  255. package/dist/learning/pair-entitlement.d.ts.map +1 -0
  256. package/dist/learning/pair-entitlement.js +214 -0
  257. package/dist/learning/pair-entitlement.js.map +1 -0
  258. package/dist/learning/project-docs.d.ts +83 -0
  259. package/dist/learning/project-docs.d.ts.map +1 -0
  260. package/dist/learning/project-docs.js +132 -0
  261. package/dist/learning/project-docs.js.map +1 -0
  262. package/dist/learning/provider-fallback.d.ts +23 -1
  263. package/dist/learning/provider-fallback.d.ts.map +1 -1
  264. package/dist/learning/provider-fallback.js +24 -0
  265. package/dist/learning/provider-fallback.js.map +1 -1
  266. package/dist/learning/quota-ledger.d.ts +13 -0
  267. package/dist/learning/quota-ledger.d.ts.map +1 -1
  268. package/dist/learning/quota-ledger.js +28 -0
  269. package/dist/learning/quota-ledger.js.map +1 -1
  270. package/dist/learning/reasoning-trace.d.ts +65 -1
  271. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  272. package/dist/learning/reasoning-trace.js +123 -1
  273. package/dist/learning/reasoning-trace.js.map +1 -1
  274. package/dist/learning/requirement-probe.d.ts +55 -0
  275. package/dist/learning/requirement-probe.d.ts.map +1 -0
  276. package/dist/learning/requirement-probe.js +77 -0
  277. package/dist/learning/requirement-probe.js.map +1 -0
  278. package/dist/learning/resilient-call.d.ts +20 -1
  279. package/dist/learning/resilient-call.d.ts.map +1 -1
  280. package/dist/learning/resilient-call.js +42 -4
  281. package/dist/learning/resilient-call.js.map +1 -1
  282. package/dist/learning/response-usability.d.ts +85 -0
  283. package/dist/learning/response-usability.d.ts.map +1 -0
  284. package/dist/learning/response-usability.js +135 -0
  285. package/dist/learning/response-usability.js.map +1 -0
  286. package/dist/learning/router-bandit.d.ts +132 -0
  287. package/dist/learning/router-bandit.d.ts.map +1 -1
  288. package/dist/learning/router-bandit.js +253 -0
  289. package/dist/learning/router-bandit.js.map +1 -1
  290. package/dist/learning/routing-history.d.ts +41 -2
  291. package/dist/learning/routing-history.d.ts.map +1 -1
  292. package/dist/learning/routing-history.js.map +1 -1
  293. package/dist/learning/run-trace.d.ts +21 -0
  294. package/dist/learning/run-trace.d.ts.map +1 -1
  295. package/dist/learning/run-trace.js +38 -0
  296. package/dist/learning/run-trace.js.map +1 -1
  297. package/dist/learning/seeded-benchmark.d.ts +14 -0
  298. package/dist/learning/seeded-benchmark.d.ts.map +1 -1
  299. package/dist/learning/seeded-benchmark.js +43 -4
  300. package/dist/learning/seeded-benchmark.js.map +1 -1
  301. package/dist/learning/session-grant.d.ts +75 -0
  302. package/dist/learning/session-grant.d.ts.map +1 -0
  303. package/dist/learning/session-grant.js +112 -0
  304. package/dist/learning/session-grant.js.map +1 -0
  305. package/dist/learning/task-model-continuity.d.ts +73 -0
  306. package/dist/learning/task-model-continuity.d.ts.map +1 -0
  307. package/dist/learning/task-model-continuity.js +87 -0
  308. package/dist/learning/task-model-continuity.js.map +1 -0
  309. package/dist/learning/turn-feedback.d.ts +93 -0
  310. package/dist/learning/turn-feedback.d.ts.map +1 -0
  311. package/dist/learning/turn-feedback.js +127 -0
  312. package/dist/learning/turn-feedback.js.map +1 -0
  313. package/dist/learning/turn-report.d.ts +104 -2
  314. package/dist/learning/turn-report.d.ts.map +1 -1
  315. package/dist/learning/turn-report.js +161 -6
  316. package/dist/learning/turn-report.js.map +1 -1
  317. package/dist/learning/verdict-routing.d.ts +51 -0
  318. package/dist/learning/verdict-routing.d.ts.map +1 -0
  319. package/dist/learning/verdict-routing.js +122 -0
  320. package/dist/learning/verdict-routing.js.map +1 -0
  321. package/dist/mcp/client.d.ts.map +1 -1
  322. package/dist/mcp/client.js +5 -0
  323. package/dist/mcp/client.js.map +1 -1
  324. package/dist/mcp/manager.d.ts +10 -0
  325. package/dist/mcp/manager.d.ts.map +1 -1
  326. package/dist/mcp/manager.js +20 -0
  327. package/dist/mcp/manager.js.map +1 -1
  328. package/dist/mcp/mcp-discovery.d.ts +34 -0
  329. package/dist/mcp/mcp-discovery.d.ts.map +1 -0
  330. package/dist/mcp/mcp-discovery.js +71 -0
  331. package/dist/mcp/mcp-discovery.js.map +1 -0
  332. package/dist/mcp/mcp-schema-cache.d.ts +17 -0
  333. package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
  334. package/dist/mcp/mcp-schema-cache.js +47 -3
  335. package/dist/mcp/mcp-schema-cache.js.map +1 -1
  336. package/dist/mcp/types.d.ts +28 -0
  337. package/dist/mcp/types.d.ts.map +1 -1
  338. package/dist/mcp/types.js.map +1 -1
  339. package/dist/security/secret-scan.d.ts +156 -0
  340. package/dist/security/secret-scan.d.ts.map +1 -0
  341. package/dist/security/secret-scan.js +525 -0
  342. package/dist/security/secret-scan.js.map +1 -0
  343. package/dist/tools/ask-user.d.ts.map +1 -1
  344. package/dist/tools/ask-user.js +4 -0
  345. package/dist/tools/ask-user.js.map +1 -1
  346. package/dist/tools/capability-registry.d.ts +150 -0
  347. package/dist/tools/capability-registry.d.ts.map +1 -0
  348. package/dist/tools/capability-registry.js +400 -0
  349. package/dist/tools/capability-registry.js.map +1 -0
  350. package/dist/tools/child-agent-runtime.d.ts.map +1 -1
  351. package/dist/tools/child-agent-runtime.js +19 -5
  352. package/dist/tools/child-agent-runtime.js.map +1 -1
  353. package/dist/tools/coding-tools.d.ts +17 -5
  354. package/dist/tools/coding-tools.d.ts.map +1 -1
  355. package/dist/tools/coding-tools.js +80 -11
  356. package/dist/tools/coding-tools.js.map +1 -1
  357. package/dist/tools/command-memo.d.ts +116 -0
  358. package/dist/tools/command-memo.d.ts.map +1 -0
  359. package/dist/tools/command-memo.js +202 -0
  360. package/dist/tools/command-memo.js.map +1 -0
  361. package/dist/tools/git-tool.d.ts.map +1 -1
  362. package/dist/tools/git-tool.js +13 -3
  363. package/dist/tools/git-tool.js.map +1 -1
  364. package/dist/tools/harness-directive.d.ts +42 -0
  365. package/dist/tools/harness-directive.d.ts.map +1 -0
  366. package/dist/tools/harness-directive.js +45 -0
  367. package/dist/tools/harness-directive.js.map +1 -0
  368. package/dist/tools/loop-skill-hint.d.ts +74 -174
  369. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  370. package/dist/tools/loop-skill-hint.js +110 -536
  371. package/dist/tools/loop-skill-hint.js.map +1 -1
  372. package/dist/tools/mcp-client-tool.d.ts +2 -0
  373. package/dist/tools/mcp-client-tool.d.ts.map +1 -1
  374. package/dist/tools/mcp-client-tool.js +3 -0
  375. package/dist/tools/mcp-client-tool.js.map +1 -1
  376. package/dist/tools/modality/shared.d.ts +1 -4
  377. package/dist/tools/modality/shared.d.ts.map +1 -1
  378. package/dist/tools/modality/shared.js +7 -22
  379. package/dist/tools/modality/shared.js.map +1 -1
  380. package/dist/tools/plan-store.d.ts +44 -4
  381. package/dist/tools/plan-store.d.ts.map +1 -1
  382. package/dist/tools/plan-store.js +93 -9
  383. package/dist/tools/plan-store.js.map +1 -1
  384. package/dist/tools/registry.d.ts +76 -3
  385. package/dist/tools/registry.d.ts.map +1 -1
  386. package/dist/tools/registry.js +623 -15
  387. package/dist/tools/registry.js.map +1 -1
  388. package/dist/tools/remediation-ladder.d.ts +91 -0
  389. package/dist/tools/remediation-ladder.d.ts.map +1 -0
  390. package/dist/tools/remediation-ladder.js +316 -0
  391. package/dist/tools/remediation-ladder.js.map +1 -0
  392. package/dist/tools/run-cli.d.ts.map +1 -1
  393. package/dist/tools/run-cli.js +29 -4
  394. package/dist/tools/run-cli.js.map +1 -1
  395. package/dist/tools/run-terminal.d.ts +11 -0
  396. package/dist/tools/run-terminal.d.ts.map +1 -1
  397. package/dist/tools/run-terminal.js +289 -10
  398. package/dist/tools/run-terminal.js.map +1 -1
  399. package/dist/tools/skills-hub.d.ts +7 -0
  400. package/dist/tools/skills-hub.d.ts.map +1 -1
  401. package/dist/tools/skills-hub.js +11 -2
  402. package/dist/tools/skills-hub.js.map +1 -1
  403. package/dist/tools/step-artifact.d.ts +35 -0
  404. package/dist/tools/step-artifact.d.ts.map +1 -0
  405. package/dist/tools/step-artifact.js +154 -0
  406. package/dist/tools/step-artifact.js.map +1 -0
  407. package/dist/tools/tool-loop.d.ts +327 -13
  408. package/dist/tools/tool-loop.d.ts.map +1 -1
  409. package/dist/tools/tool-loop.js +891 -66
  410. package/dist/tools/tool-loop.js.map +1 -1
  411. package/dist/tools/toolsets.js +4 -4
  412. package/dist/tools/toolsets.js.map +1 -1
  413. package/dist/tools/worktree.d.ts +11 -2
  414. package/dist/tools/worktree.d.ts.map +1 -1
  415. package/dist/tools/worktree.js +11 -2
  416. package/dist/tools/worktree.js.map +1 -1
  417. package/dist/utils/atomic-store.d.ts +53 -0
  418. package/dist/utils/atomic-store.d.ts.map +1 -0
  419. package/dist/utils/atomic-store.js +178 -0
  420. package/dist/utils/atomic-store.js.map +1 -0
  421. package/dist/utils/binary-probe.d.ts +25 -0
  422. package/dist/utils/binary-probe.d.ts.map +1 -0
  423. package/dist/utils/binary-probe.js +48 -0
  424. package/dist/utils/binary-probe.js.map +1 -0
  425. package/dist/utils/workspace-path.d.ts +50 -0
  426. package/dist/utils/workspace-path.d.ts.map +1 -0
  427. package/dist/utils/workspace-path.js +86 -0
  428. package/dist/utils/workspace-path.js.map +1 -0
  429. package/dist/web-dashboard/chat-console.d.ts +24 -0
  430. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  431. package/dist/web-dashboard/chat-console.js +38 -0
  432. package/dist/web-dashboard/chat-console.js.map +1 -1
  433. package/dist/web-dashboard/project-context.d.ts +27 -2
  434. package/dist/web-dashboard/project-context.d.ts.map +1 -1
  435. package/dist/web-dashboard/project-context.js +32 -2
  436. package/dist/web-dashboard/project-context.js.map +1 -1
  437. package/dist/web-dashboard/server.d.ts +40 -0
  438. package/dist/web-dashboard/server.d.ts.map +1 -1
  439. package/dist/web-dashboard/server.js +733 -15
  440. package/dist/web-dashboard/server.js.map +1 -1
  441. package/dist/web-dashboard/src/types.d.ts +236 -1
  442. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  443. package/dist/web-dashboard/workspace-guard.d.ts +18 -2
  444. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  445. package/dist/web-dashboard/workspace-guard.js +94 -12
  446. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  447. package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
  448. package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
  449. package/dist/web-dashboard/workspace-resolution.js +105 -0
  450. package/dist/web-dashboard/workspace-resolution.js.map +1 -0
  451. package/package.json +1 -1
  452. package/src/web-dashboard/public/assets/index-tK8Y2qHB.css +1 -0
  453. package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
  454. package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
  455. package/src/web-dashboard/public/index.html +2 -2
  456. package/src/web-dashboard/public/assets/index-BrZcYhy6.js +0 -207
  457. package/src/web-dashboard/public/assets/index-BrZcYhy6.js.map +0 -1
  458. package/src/web-dashboard/public/assets/index-DsWczTa6.css +0 -1
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Deliverable corpus — COLLECT the case item 13's residual needs, instead of
3
+ * inventing a detector for it.
4
+ *
5
+ * THE PROBLEM THIS EXISTS FOR. Bundle 23 catches an authored artifact materially
6
+ * SHORTER than a magnitude the ask stated, and Bundle 19 catches one that admits
7
+ * its own content was omitted. Neither reaches the remaining shape: a deliverable
8
+ * that is complete and on-length yet simply GENERIC — the case none of the live
9
+ * runs has produced, and the one no deterministic rule can judge, because judging
10
+ * it from vocabulary is the defect this programme exists to remove.
11
+ *
12
+ * So this module does not judge. It COLLECTS. When a turn delivers a single
13
+ * authored artifact that trips neither the omission nor the shortfall check, the
14
+ * bare facts of that delivery (the ask, the file, its length, a bounded excerpt)
15
+ * are appended here. If the user then reports the turn as a miss — the SAME
16
+ * correction signal (`detectRegressionSignal`) the working-state ledger and the
17
+ * bandit already use — the most recent candidate is labelled `rejected`.
18
+ *
19
+ * That pair — a fluent, on-length delivery plus a human's verdict on it — is the
20
+ * ground truth a measured quality signal must be fit to. Until rows carry the
21
+ * label the corpus is deliberately INERT: nothing reads it, nothing routes on it,
22
+ * and no score is derived from it. It is a dataset, not a detector. Deriving a
23
+ * signal from `verdict: null` rows, or from the excerpt's wording, would be the
24
+ * phrase-list defect one layer down.
25
+ *
26
+ * Storage: `<memory>/deliverable-candidates.jsonl` (honours `NUVIRA_MEMORY_DIR`).
27
+ * Every write is best-effort — collection must NEVER break a turn.
28
+ */
29
+ /** Rows kept on disk (oldest drop first) — a dataset, not an unbounded log. */
30
+ export declare const MAX_DELIVERABLE_CANDIDATES = 500;
31
+ /** Characters of the artifact kept per row: enough to fit features to, bounded. */
32
+ export declare const DELIVERABLE_EXCERPT_MAX = 2000;
33
+ /** Characters of the ask kept per row. */
34
+ export declare const DELIVERABLE_ASK_MAX = 500;
35
+ /** One collected delivery, and (once the user speaks) the verdict on it. */
36
+ export interface DeliverableCandidate {
37
+ /** Epoch ms the delivery was recorded. */
38
+ ts: number;
39
+ /** The user's ask that produced the deliverable. */
40
+ ask: string;
41
+ /** The file the turn wrote. */
42
+ path: string;
43
+ /** Words actually delivered. */
44
+ deliveredWords: number;
45
+ /** The magnitude the ask stated, when it stated one. */
46
+ targetWords?: number;
47
+ /** The turn's own verdict, so a reader can see what was already known. */
48
+ verification?: string;
49
+ /** A bounded excerpt of the artifact. */
50
+ excerpt: string;
51
+ /** The trace this delivery belongs to, so a later verdict can label THIS row. */
52
+ traceId?: string;
53
+ /**
54
+ * `null` — the user has not judged the turn; `'accepted'` / `'rejected'` — they
55
+ * did. A boolean `rejected: false` is deliberately NOT used: it cannot tell
56
+ * "the user accepted it" from "the user never said", and reading silence as
57
+ * acceptance would fabricate the positive class a fitted signal needs most
58
+ * (the same rule the bandit follows).
59
+ */
60
+ verdict: 'accepted' | 'rejected' | null;
61
+ /** Epoch ms the verdict was recorded. */
62
+ verdictAt?: number;
63
+ }
64
+ /** The corpus path — exported so tests and an inspection surface can name it. */
65
+ export declare function deliverableCorpusPath(): string;
66
+ /** Parse the JSONL store; a malformed line is skipped, never fatal. */
67
+ export declare function readDeliverableCandidates(): DeliverableCandidate[];
68
+ /**
69
+ * Record one magnitude-satisfied authored delivery. Returns the stored row, or
70
+ * null when there was nothing to record.
71
+ */
72
+ export declare function recordDeliverableCandidate(input: {
73
+ ask: string;
74
+ path: string;
75
+ deliveredWords: number;
76
+ targetWords?: number;
77
+ verification?: string;
78
+ excerpt: string;
79
+ traceId?: string;
80
+ }, now?: number): DeliverableCandidate | null;
81
+ /**
82
+ * Label the most recent UNLABELLED candidate as rejected.
83
+ *
84
+ * Called when the user's next message reports the previous turn as a miss. Only
85
+ * the newest unlabelled row is touched: a correction speaks about the most recent
86
+ * delivery, and a row that already carries a verdict must not be relabelled by a
87
+ * later, unrelated complaint. Returns true when a row was labelled.
88
+ */
89
+ export declare function markLastDeliverableRejected(now?: number): boolean;
90
+ /**
91
+ * Label the most recent UNLABELLED row with `verdict`.
92
+ *
93
+ * The general form of {@link markLastDeliverableRejected}, for callers that carry
94
+ * a verdict but not a trace id (the tier-3 behavioural path can infer a label from
95
+ * what the user did without a trace to attach it to). Only the newest unlabelled
96
+ * row is touched — a verdict speaks about the most recent delivery, and a row that
97
+ * already carries one must not be relabelled by a later, unrelated signal. Returns
98
+ * true when a row was labelled.
99
+ */
100
+ export declare function labelNewestUnlabelled(verdict: 'accepted' | 'rejected', now?: number): boolean;
101
+ /**
102
+ * Label the delivery that belongs to `traceId` with the user's EXPLICIT verdict.
103
+ *
104
+ * Unlike {@link markLastDeliverableRejected} (which the derived correction signal
105
+ * uses), this is the reliable path: the row knows which trace produced it, so the
106
+ * label lands on the RIGHT delivery rather than on "the most recent one".
107
+ *
108
+ * When no row carries this trace, a REJECTION still falls back to the newest
109
+ * unlabelled row — the delivery may predate the trace link — but an ACCEPTANCE
110
+ * does not: inventing a positive label for a delivery we cannot identify is
111
+ * exactly the fabricated sample this corpus refuses. Returns true when a row was
112
+ * labelled.
113
+ */
114
+ export declare function labelDeliverableByTrace(traceId: string, verdict: 'accepted' | 'rejected', now?: number): boolean;
115
+ /** Forget the whole corpus (CLI/test escape hatch). */
116
+ export declare function clearDeliverableCandidates(): void;
117
+ //# sourceMappingURL=deliverable-corpus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-corpus.d.ts","sourceRoot":"","sources":["../../src/learning/deliverable-corpus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAMH,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAC5C,0CAA0C;AAC1C,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IACxC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CA2BlE;AAYD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,GAAG,GAAE,MAAmB,GACvB,oBAAoB,GAAG,IAAI,CAiB7B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAmB,GAAG,OAAO,CAE7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,GAAG,GAAE,MAAmB,GACvB,OAAO,CAUT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,GAAG,GAAE,MAAmB,GACvB,OAAO,CAUT;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Deliverable corpus — COLLECT the case item 13's residual needs, instead of
3
+ * inventing a detector for it.
4
+ *
5
+ * THE PROBLEM THIS EXISTS FOR. Bundle 23 catches an authored artifact materially
6
+ * SHORTER than a magnitude the ask stated, and Bundle 19 catches one that admits
7
+ * its own content was omitted. Neither reaches the remaining shape: a deliverable
8
+ * that is complete and on-length yet simply GENERIC — the case none of the live
9
+ * runs has produced, and the one no deterministic rule can judge, because judging
10
+ * it from vocabulary is the defect this programme exists to remove.
11
+ *
12
+ * So this module does not judge. It COLLECTS. When a turn delivers a single
13
+ * authored artifact that trips neither the omission nor the shortfall check, the
14
+ * bare facts of that delivery (the ask, the file, its length, a bounded excerpt)
15
+ * are appended here. If the user then reports the turn as a miss — the SAME
16
+ * correction signal (`detectRegressionSignal`) the working-state ledger and the
17
+ * bandit already use — the most recent candidate is labelled `rejected`.
18
+ *
19
+ * That pair — a fluent, on-length delivery plus a human's verdict on it — is the
20
+ * ground truth a measured quality signal must be fit to. Until rows carry the
21
+ * label the corpus is deliberately INERT: nothing reads it, nothing routes on it,
22
+ * and no score is derived from it. It is a dataset, not a detector. Deriving a
23
+ * signal from `verdict: null` rows, or from the excerpt's wording, would be the
24
+ * phrase-list defect one layer down.
25
+ *
26
+ * Storage: `<memory>/deliverable-candidates.jsonl` (honours `NUVIRA_MEMORY_DIR`).
27
+ * Every write is best-effort — collection must NEVER break a turn.
28
+ */
29
+ import { envBuff, resolveNuviraHome } from '../config/paths.js';
30
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
31
+ import { join } from 'node:path';
32
+ /** Rows kept on disk (oldest drop first) — a dataset, not an unbounded log. */
33
+ export const MAX_DELIVERABLE_CANDIDATES = 500;
34
+ /** Characters of the artifact kept per row: enough to fit features to, bounded. */
35
+ export const DELIVERABLE_EXCERPT_MAX = 2000;
36
+ /** Characters of the ask kept per row. */
37
+ export const DELIVERABLE_ASK_MAX = 500;
38
+ function memoryDir() {
39
+ return envBuff('MEMORY_DIR') || join(resolveNuviraHome(), 'memory');
40
+ }
41
+ function corpusPath() {
42
+ return join(memoryDir(), 'deliverable-candidates.jsonl');
43
+ }
44
+ /** The corpus path — exported so tests and an inspection surface can name it. */
45
+ export function deliverableCorpusPath() {
46
+ return corpusPath();
47
+ }
48
+ /** Parse the JSONL store; a malformed line is skipped, never fatal. */
49
+ export function readDeliverableCandidates() {
50
+ try {
51
+ if (!existsSync(corpusPath()))
52
+ return [];
53
+ const out = [];
54
+ for (const line of readFileSync(corpusPath(), 'utf-8').split('\n')) {
55
+ const trimmed = line.trim();
56
+ if (!trimmed)
57
+ continue;
58
+ try {
59
+ const row = JSON.parse(trimmed);
60
+ if (row && typeof row.path === 'string' && typeof row.ask === 'string') {
61
+ // Tolerate the short-lived shape that predates the tri-state verdict: an
62
+ // old `rejected: true` row is a rejection, and is MIGRATED on read so the
63
+ // rest of the module has exactly one shape to reason about.
64
+ if (row.verdict === undefined && row.rejected === true) {
65
+ row.verdict = 'rejected';
66
+ }
67
+ if (row.verdict === undefined)
68
+ row.verdict = null;
69
+ out.push(row);
70
+ }
71
+ }
72
+ catch {
73
+ // A corrupt line is skipped — a collection store must not become a landmine.
74
+ }
75
+ }
76
+ return out;
77
+ }
78
+ catch {
79
+ return [];
80
+ }
81
+ }
82
+ function writeCandidates(rows) {
83
+ try {
84
+ if (!existsSync(memoryDir()))
85
+ mkdirSync(memoryDir(), { recursive: true });
86
+ const capped = rows.slice(-MAX_DELIVERABLE_CANDIDATES);
87
+ writeFileSync(corpusPath(), capped.map((r) => JSON.stringify(r)).join('\n') + '\n', 'utf-8');
88
+ }
89
+ catch {
90
+ // Best-effort — collection must never break a turn.
91
+ }
92
+ }
93
+ /**
94
+ * Record one magnitude-satisfied authored delivery. Returns the stored row, or
95
+ * null when there was nothing to record.
96
+ */
97
+ export function recordDeliverableCandidate(input, now = Date.now()) {
98
+ if (!input.path || !input.excerpt)
99
+ return null;
100
+ const row = {
101
+ ts: now,
102
+ ask: (input.ask || '').replace(/\s+/g, ' ').slice(0, DELIVERABLE_ASK_MAX),
103
+ path: input.path,
104
+ deliveredWords: input.deliveredWords,
105
+ ...(input.targetWords !== undefined ? { targetWords: input.targetWords } : {}),
106
+ ...(input.verification ? { verification: input.verification } : {}),
107
+ ...(input.traceId ? { traceId: input.traceId } : {}),
108
+ excerpt: input.excerpt.slice(0, DELIVERABLE_EXCERPT_MAX),
109
+ verdict: null,
110
+ };
111
+ const rows = readDeliverableCandidates();
112
+ rows.push(row);
113
+ writeCandidates(rows);
114
+ return row;
115
+ }
116
+ /**
117
+ * Label the most recent UNLABELLED candidate as rejected.
118
+ *
119
+ * Called when the user's next message reports the previous turn as a miss. Only
120
+ * the newest unlabelled row is touched: a correction speaks about the most recent
121
+ * delivery, and a row that already carries a verdict must not be relabelled by a
122
+ * later, unrelated complaint. Returns true when a row was labelled.
123
+ */
124
+ export function markLastDeliverableRejected(now = Date.now()) {
125
+ return labelNewestUnlabelled('rejected', now);
126
+ }
127
+ /**
128
+ * Label the most recent UNLABELLED row with `verdict`.
129
+ *
130
+ * The general form of {@link markLastDeliverableRejected}, for callers that carry
131
+ * a verdict but not a trace id (the tier-3 behavioural path can infer a label from
132
+ * what the user did without a trace to attach it to). Only the newest unlabelled
133
+ * row is touched — a verdict speaks about the most recent delivery, and a row that
134
+ * already carries one must not be relabelled by a later, unrelated signal. Returns
135
+ * true when a row was labelled.
136
+ */
137
+ export function labelNewestUnlabelled(verdict, now = Date.now()) {
138
+ const rows = readDeliverableCandidates();
139
+ for (let i = rows.length - 1; i >= 0; i--) {
140
+ if (rows[i].verdict === null) {
141
+ rows[i] = { ...rows[i], verdict, verdictAt: now };
142
+ writeCandidates(rows);
143
+ return true;
144
+ }
145
+ }
146
+ return false;
147
+ }
148
+ /**
149
+ * Label the delivery that belongs to `traceId` with the user's EXPLICIT verdict.
150
+ *
151
+ * Unlike {@link markLastDeliverableRejected} (which the derived correction signal
152
+ * uses), this is the reliable path: the row knows which trace produced it, so the
153
+ * label lands on the RIGHT delivery rather than on "the most recent one".
154
+ *
155
+ * When no row carries this trace, a REJECTION still falls back to the newest
156
+ * unlabelled row — the delivery may predate the trace link — but an ACCEPTANCE
157
+ * does not: inventing a positive label for a delivery we cannot identify is
158
+ * exactly the fabricated sample this corpus refuses. Returns true when a row was
159
+ * labelled.
160
+ */
161
+ export function labelDeliverableByTrace(traceId, verdict, now = Date.now()) {
162
+ const rows = readDeliverableCandidates();
163
+ for (let i = rows.length - 1; i >= 0; i--) {
164
+ if (rows[i].traceId === traceId) {
165
+ rows[i] = { ...rows[i], verdict, verdictAt: now };
166
+ writeCandidates(rows);
167
+ return true;
168
+ }
169
+ }
170
+ return verdict === 'rejected' ? markLastDeliverableRejected(now) : false;
171
+ }
172
+ /** Forget the whole corpus (CLI/test escape hatch). */
173
+ export function clearDeliverableCandidates() {
174
+ writeCandidates([]);
175
+ }
176
+ //# sourceMappingURL=deliverable-corpus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deliverable-corpus.js","sourceRoot":"","sources":["../../src/learning/deliverable-corpus.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  * | `adjust-temperature` | Repetitive or hallucinated output | Lower temperature to 0.2 for more deterministic output |
21
21
  * | `retry-tool` | Tool call failed with retryable error | Retry the same call after a brief delay |
22
22
  * | `alternative-approach` | Persistent failures across strategies | Ask the LLM for a fundamentally different strategy, then re-execute |
23
+ * | `shrink-scope` | WEAK-MODEL path (escalation is a no-op) | Re-ask for the SMALLEST single unit, so a model that cannot hold the whole task still moves the work forward |
23
24
  * | `skip-step` | Budget exhausted or non-repairable | Gracefully skip the failing step |
24
25
  *
25
26
  * ## Error Classification
@@ -36,9 +37,30 @@
36
37
  */
37
38
  import type { AgentContext, AgentResult, LLMCallFn } from '../agents/agent.js';
38
39
  /** Categories of errors that the repair system can classify */
39
- export type ErrorCategory = 'llm-error' | 'provider-error' | 'process-error' | 'injection-blocked' | 'context-limit' | 'budget-exhausted' | 'unknown';
40
+ export type ErrorCategory = 'llm-error' | 'provider-error' | 'process-error' | 'injection-blocked' | 'context-limit' | 'budget-exhausted'
41
+ /**
42
+ * The PROVIDER's account has no money/credits left (HTTP 402). Distinct from
43
+ * `budget-exhausted` (OUR token/step allowance): retrying, re-prompting or
44
+ * shrinking the ask cannot conjure funds, so this is never repairable on the
45
+ * same pair. Switching PROVIDER is the real remedy — a different host may
46
+ * serve the same model — but that decision belongs to the failover walk, not
47
+ * to the repair ladder.
48
+ */
49
+ | 'credit-exhausted'
50
+ /**
51
+ * A PIN that strict mode refuses to honour (`Model 'X' is not available on
52
+ * 'Y', and strict model mode forbids substituting another model`).
53
+ *
54
+ * DEFINITIVE for this run: only the user can change the pin or unset
55
+ * NUVIRA_STRICT_MODEL. No rung of the repair ladder may substitute a model the
56
+ * user explicitly forbade, so every attempt is waste. Measured: this sentence —
57
+ * NOT the raw provider error — is what reached the repair loop, so the planner
58
+ * burned its entire budget on it even after the underlying 402 was itself
59
+ * classified correctly.
60
+ */
61
+ | 'pin-unavailable' | 'unknown';
40
62
  /** Repair strategies that can be applied */
41
- export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'skip-step';
63
+ export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'shrink-scope' | 'skip-step';
42
64
  /** Mode of operation for the repair loop */
43
65
  export type RepairMode = 'auto' | 'prompt' | 'off';
44
66
  /** Result of a single repair attempt */
@@ -74,6 +96,18 @@ export interface ErrorRepairOptions {
74
96
  * When false, retry-tool and alternative-approach strategies are skipped
75
97
  * because they would hit the same rate-limited provider. */
76
98
  isLLMAvailable?: () => boolean;
99
+ /**
100
+ * WEAK-MODEL CLOSE-THE-LOOP mode. Set by the orchestrator when model
101
+ * escalation is a NO-OP — every stronger candidate is unavailable/blocked, so
102
+ * the task can only ever run on the weak model in use.
103
+ *
104
+ * Re-prompting such a model repeats the same failure; the fix is to ask it
105
+ * for LESS. This switches the ladder to a bounded, non-repeating sequence
106
+ * (see `selectStrategy`) whose second step shrinks the ask to a single unit,
107
+ * so the run makes progress instead of dead-ending. Off by default — a
108
+ * healthy pipeline keeps the ordinary per-category ladder unchanged.
109
+ */
110
+ weakModel?: boolean;
77
111
  }
78
112
  /**
79
113
  * Classify an error string into a category.
@@ -152,6 +186,15 @@ export declare class ErrorRepairEngine {
152
186
  /** Reset the repair budget (e.g., for a new pipeline) */
153
187
  reset(): void;
154
188
  }
189
+ /**
190
+ * Build the NARROWED goal for a `shrink-scope` attempt (weak-model path).
191
+ *
192
+ * The whole point is to make the ask fit the model: one unit, explicitly, with
193
+ * permission to stop. It names the FIRST declared artifact when the caller
194
+ * supplied one and otherwise says "one file (or one function)" — it never
195
+ * invents a filename, and it never asks for a summary instead of the work.
196
+ */
197
+ export declare function shrinkScopeGoal(context: AgentContext): string;
155
198
  /**
156
199
  * Format a repair result for display in verbose mode.
157
200
  */
@@ -1 +1 @@
1
- {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/E,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,SAAS,CAAC;AAEd,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,sBAAsB,GACtB,WAAW,CAAC;AAEhB,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;iEAE6D;IAC7D,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC;CAChC;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CAmF7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAc7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CAqDhB;AAID;;GAEG;AACH,qBAAa,YAAY;IACvB,wDAAwD;IACxD,OAAO,CAAC,SAAS,CAAK;IACtB,kCAAkC;IAClC,OAAO,CAAC,OAAO,CAA6B;IAC5C,kBAAkB;IAClB,OAAO,CAAC,IAAI,CAAa;IACzB,2BAA2B;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAS;gBAEb,UAAU,SAAI,EAAE,IAAI,GAAE,UAAmB;IAMrD,2CAA2C;IAC3C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMlC,4CAA4C;IAC5C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7B,iDAAiD;IACjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInC,4CAA4C;IAC5C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,2CAA2C;IAC3C,KAAK,IAAI,IAAI;IAKb,qCAAqC;IACrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAInC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAKjF;AAID;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC5B,SAAgB,OAAO,EAAE,kBAAkB,CAAC;IAC5C,SAAgB,MAAM,EAAE,YAAY,CAAC;IACrC,uEAAuE;IAChE,qBAAqB,SAAK;gBAErB,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAKrD;;;;;;;;;OASG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,SAAS,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,WAAW,CAAC,GACrE,OAAO,CAAC,WAAW,CAAC;IA2NvB,yDAAyD;IACzD,KAAK,IAAI,IAAI;CAGd;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAIR"}
1
+ {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@
20
20
  * | `adjust-temperature` | Repetitive or hallucinated output | Lower temperature to 0.2 for more deterministic output |
21
21
  * | `retry-tool` | Tool call failed with retryable error | Retry the same call after a brief delay |
22
22
  * | `alternative-approach` | Persistent failures across strategies | Ask the LLM for a fundamentally different strategy, then re-execute |
23
+ * | `shrink-scope` | WEAK-MODEL path (escalation is a no-op) | Re-ask for the SMALLEST single unit, so a model that cannot hold the whole task still moves the work forward |
23
24
  * | `skip-step` | Budget exhausted or non-repairable | Gracefully skip the failing step |
24
25
  *
25
26
  * ## Error Classification
@@ -59,6 +60,29 @@ export function classifyError(error) {
59
60
  lower.includes('prompt injection')) {
60
61
  return 'injection-blocked';
61
62
  }
63
+ // Credit/payment exhaustion — checked BEFORE the generic provider/server
64
+ // patterns. Measured: an OpenRouter 402
65
+ // (`{"error":{"message":"Insufficient credits...","code":402,...}}`) matched
66
+ // NO branch and fell through to `unknown`, which `isRepairable` treats as
67
+ // repairable — so a Planner burned its whole repair budget ("Repair budget exhausted
68
+ // after 2 attempt(s)") on a failure that could never succeed. The message
69
+ // ALSO contains `max_tokens`, which is why the credit check must come first:
70
+ // a later `context-limit` match would classify an unfunded account as a
71
+ // too-long-prompt and try to shrink the ask.
72
+ if (/insufficient credits?/.test(lower) ||
73
+ /purchase (more )?credits?/.test(lower) ||
74
+ /credit balance/.test(lower) ||
75
+ /out of credits/.test(lower) ||
76
+ /"?code"?\s*:\s*402/.test(lower)) {
77
+ return 'credit-exhausted';
78
+ }
79
+ // A strict-mode pin refusal — DEFINITIVE, and deliberately matched on OUR OWN
80
+ // wording (the sentence `route-resolver.ts` emits), so it cannot accidentally
81
+ // swallow a provider's "service not available" (which is a retryable 503 and
82
+ // must stay `provider-error`).
83
+ if (lower.includes('strict model mode') || lower.includes('forbids substituting')) {
84
+ return 'pin-unavailable';
85
+ }
62
86
  // Provider errors
63
87
  if (/5\d{2}(\D|$)/.test(lower) ||
64
88
  lower.includes('rate limit') ||
@@ -129,6 +153,15 @@ export function isRepairable(category) {
129
153
  return true; // conditionally repairable
130
154
  case 'injection-blocked':
131
155
  case 'budget-exhausted':
156
+ // No strategy in the ladder changes an unfunded account: re-prompting the
157
+ // same pair, shrinking the ask or switching model within the provider all
158
+ // hit the same 402. Only a different PROVIDER can serve it — a decision the
159
+ // failover walk owns. Spending repair attempts here is pure waste, and it
160
+ // hides the real cause behind "repair budget exhausted".
161
+ case 'credit-exhausted':
162
+ // Only the user can change a pin or lift strict mode; the ladder must not
163
+ // substitute a model they forbade, so it has nothing to offer.
164
+ case 'pin-unavailable':
132
165
  return false;
133
166
  case 'unknown':
134
167
  return true; // try a generic repair
@@ -138,6 +171,25 @@ export function isRepairable(category) {
138
171
  * Determine the best repair strategy for a given error category.
139
172
  */
140
173
  export function selectStrategy(category, attemptNumber, options) {
174
+ // ── WEAK-MODEL CLOSE-THE-LOOP LADDER ────────────────────────────────────
175
+ // When ONLY a weak model is available, the per-category ladder below is a
176
+ // trap: its 2nd/3rd steps (switch-model / alternative-approach) assume a
177
+ // stronger model exists to switch TO, and re-prompting the same weak model
178
+ // repeats the identical failure. So the ladder is replaced by a bounded,
179
+ // predictable sequence whose every step is a DIFFERENT kind of attempt:
180
+ // 1. `re-prompt` — cheap, honest first move: give it the failure once;
181
+ // 2. `shrink-scope` — ask for the SMALLEST single unit. This is the step
182
+ // that turns a stuck loop around: a model that cannot hold the whole
183
+ // task can still produce one correct file, which is real progress;
184
+ // 3. `skip-step` — end honestly (the durable hand-off records what is
185
+ // still missing, so the next run continues instead of re-deriving).
186
+ if (options.weakModel) {
187
+ if (attemptNumber === 1)
188
+ return 're-prompt';
189
+ if (attemptNumber === 2)
190
+ return 'shrink-scope';
191
+ return 'skip-step';
192
+ }
141
193
  switch (category) {
142
194
  case 'llm-error':
143
195
  // First attempt: re-prompt. Second: switch model or adjust temperature.
@@ -196,6 +248,11 @@ export function selectStrategy(category, attemptNumber, options) {
196
248
  return 'skip-step';
197
249
  case 'injection-blocked':
198
250
  case 'budget-exhausted':
251
+ // No rung of the ladder can fund an account, and `isRepairable` already
252
+ // refuses it — this case exists so the switch stays exhaustive and the
253
+ // strategy is stated positively rather than defaulting.
254
+ case 'credit-exhausted':
255
+ case 'pin-unavailable':
199
256
  return 'skip-step';
200
257
  }
201
258
  }
@@ -470,6 +527,20 @@ export class ErrorRepairEngine {
470
527
  result = await executeFn(altContext, callLLM);
471
528
  break;
472
529
  }
530
+ case 'shrink-scope': {
531
+ // WEAK-MODEL CLOSE-THE-LOOP: the model cannot hold the whole task,
532
+ // so ask for the smallest single unit instead of repeating the full
533
+ // ask. `context.metadata.expectedFiles` (set by the orchestrator
534
+ // from the task's declared artifacts) names the FIRST file to
535
+ // produce, so the narrowed ask is concrete rather than a vague
536
+ // "do less" — and never invents a file the task did not declare.
537
+ if (this.options.verbose) {
538
+ logger.info(` ✂️ Repair attempt ${attemptNumber}: reducing scope to the smallest single unit`);
539
+ }
540
+ context = { ...context, goal: shrinkScopeGoal(context) };
541
+ result = await executeFn(context, callLLM);
542
+ break;
543
+ }
473
544
  default:
474
545
  result = { success: false, summary: `Unknown strategy: ${strategy}`, error: originalError };
475
546
  }
@@ -503,6 +574,30 @@ export class ErrorRepairEngine {
503
574
  this.budget.reset();
504
575
  }
505
576
  }
577
+ /**
578
+ * Build the NARROWED goal for a `shrink-scope` attempt (weak-model path).
579
+ *
580
+ * The whole point is to make the ask fit the model: one unit, explicitly, with
581
+ * permission to stop. It names the FIRST declared artifact when the caller
582
+ * supplied one and otherwise says "one file (or one function)" — it never
583
+ * invents a filename, and it never asks for a summary instead of the work.
584
+ */
585
+ export function shrinkScopeGoal(context) {
586
+ const declared = context.metadata?.expectedFiles;
587
+ const first = Array.isArray(declared)
588
+ ? declared.find((f) => typeof f === 'string' && f.trim().length > 0)
589
+ : undefined;
590
+ return [
591
+ context.goal,
592
+ '',
593
+ '[SCOPE REDUCTION — WEAK MODEL]',
594
+ 'This task is larger than the model in use can hold reliably, so deliver only the',
595
+ 'SMALLEST single unit you can complete CORRECTLY, then stop:',
596
+ first ? ` • produce exactly this file: ${first}` : ' • one file (or one function) only',
597
+ 'Write it to disk, then stop. Do NOT attempt the remaining files or steps — a later',
598
+ 'step continues from here. One correct unit is worth more than partial work on many.',
599
+ ].join('\n');
600
+ }
506
601
  // ─── Format Helpers ─────────────────────────────────────────────────────────
507
602
  /**
508
603
  * Format a repair result for display in verbose mode.
@@ -1 +1 @@
1
- {"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-repair.js","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}