agent-nuvira 3.3.13 → 3.3.15

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 (398) hide show
  1. package/README.md +67 -1
  2. package/dist/agents/agents/planner.d.ts.map +1 -1
  3. package/dist/agents/agents/planner.js +9 -0
  4. package/dist/agents/agents/planner.js.map +1 -1
  5. package/dist/agents/orchestrator.d.ts +31 -0
  6. package/dist/agents/orchestrator.d.ts.map +1 -1
  7. package/dist/agents/orchestrator.js +74 -126
  8. package/dist/agents/orchestrator.js.map +1 -1
  9. package/dist/cli/chat.d.ts +89 -0
  10. package/dist/cli/chat.d.ts.map +1 -1
  11. package/dist/cli/chat.js +765 -33
  12. package/dist/cli/chat.js.map +1 -1
  13. package/dist/cli/cli-program.d.ts.map +1 -1
  14. package/dist/cli/cli-program.js +12 -0
  15. package/dist/cli/cli-program.js.map +1 -1
  16. package/dist/cli/config.d.ts +12 -0
  17. package/dist/cli/config.d.ts.map +1 -1
  18. package/dist/cli/config.js +86 -0
  19. package/dist/cli/config.js.map +1 -1
  20. package/dist/cli/decisions.d.ts +28 -0
  21. package/dist/cli/decisions.d.ts.map +1 -0
  22. package/dist/cli/decisions.js +140 -0
  23. package/dist/cli/decisions.js.map +1 -0
  24. package/dist/cli/doctor.d.ts +6 -0
  25. package/dist/cli/doctor.d.ts.map +1 -1
  26. package/dist/cli/doctor.js +46 -0
  27. package/dist/cli/doctor.js.map +1 -1
  28. package/dist/cli/failover-runner.d.ts.map +1 -1
  29. package/dist/cli/failover-runner.js +19 -1
  30. package/dist/cli/failover-runner.js.map +1 -1
  31. package/dist/cli/feedback.d.ts.map +1 -1
  32. package/dist/cli/feedback.js +5 -1
  33. package/dist/cli/feedback.js.map +1 -1
  34. package/dist/cli/hooks.d.ts +30 -0
  35. package/dist/cli/hooks.d.ts.map +1 -0
  36. package/dist/cli/hooks.js +224 -0
  37. package/dist/cli/hooks.js.map +1 -0
  38. package/dist/cli/knowledge.d.ts +9 -1
  39. package/dist/cli/knowledge.d.ts.map +1 -1
  40. package/dist/cli/knowledge.js +93 -2
  41. package/dist/cli/knowledge.js.map +1 -1
  42. package/dist/cli/loop-executor.d.ts.map +1 -1
  43. package/dist/cli/loop-executor.js +47 -12
  44. package/dist/cli/loop-executor.js.map +1 -1
  45. package/dist/cli/model.d.ts +20 -0
  46. package/dist/cli/model.d.ts.map +1 -1
  47. package/dist/cli/model.js +294 -14
  48. package/dist/cli/model.js.map +1 -1
  49. package/dist/cli/rate.d.ts +78 -0
  50. package/dist/cli/rate.d.ts.map +1 -0
  51. package/dist/cli/rate.js +294 -0
  52. package/dist/cli/rate.js.map +1 -0
  53. package/dist/config/process-env.d.ts.map +1 -1
  54. package/dist/config/process-env.js +10 -0
  55. package/dist/config/process-env.js.map +1 -1
  56. package/dist/enterprise/vault.d.ts.map +1 -1
  57. package/dist/enterprise/vault.js +5 -21
  58. package/dist/enterprise/vault.js.map +1 -1
  59. package/dist/gateway/hook-contract.d.ts +33 -0
  60. package/dist/gateway/hook-contract.d.ts.map +1 -1
  61. package/dist/gateway/hook-contract.js +97 -0
  62. package/dist/gateway/hook-contract.js.map +1 -1
  63. package/dist/inference/gemini-adapter.d.ts.map +1 -1
  64. package/dist/inference/gemini-adapter.js +4 -0
  65. package/dist/inference/gemini-adapter.js.map +1 -1
  66. package/dist/inference/interface.d.ts +37 -0
  67. package/dist/inference/interface.d.ts.map +1 -1
  68. package/dist/inference/native-tools.d.ts +16 -1
  69. package/dist/inference/native-tools.d.ts.map +1 -1
  70. package/dist/inference/native-tools.js +34 -10
  71. package/dist/inference/native-tools.js.map +1 -1
  72. package/dist/inference/route-resolver.d.ts +30 -0
  73. package/dist/inference/route-resolver.d.ts.map +1 -1
  74. package/dist/inference/route-resolver.js +158 -1
  75. package/dist/inference/route-resolver.js.map +1 -1
  76. package/dist/inference/tools.d.ts +16 -1
  77. package/dist/inference/tools.d.ts.map +1 -1
  78. package/dist/inference/tools.js +51 -18
  79. package/dist/inference/tools.js.map +1 -1
  80. package/dist/learning/acceptance-model.d.ts +247 -0
  81. package/dist/learning/acceptance-model.d.ts.map +1 -0
  82. package/dist/learning/acceptance-model.js +708 -0
  83. package/dist/learning/acceptance-model.js.map +1 -0
  84. package/dist/learning/auto-router.d.ts +68 -24
  85. package/dist/learning/auto-router.d.ts.map +1 -1
  86. package/dist/learning/auto-router.js +301 -96
  87. package/dist/learning/auto-router.js.map +1 -1
  88. package/dist/learning/autonomy-policy.d.ts +12 -16
  89. package/dist/learning/autonomy-policy.d.ts.map +1 -1
  90. package/dist/learning/autonomy-policy.js +50 -48
  91. package/dist/learning/autonomy-policy.js.map +1 -1
  92. package/dist/learning/behavioural-labels.d.ts +86 -0
  93. package/dist/learning/behavioural-labels.d.ts.map +1 -0
  94. package/dist/learning/behavioural-labels.js +166 -0
  95. package/dist/learning/behavioural-labels.js.map +1 -0
  96. package/dist/learning/capability-evidence.d.ts +167 -0
  97. package/dist/learning/capability-evidence.d.ts.map +1 -0
  98. package/dist/learning/capability-evidence.js +210 -0
  99. package/dist/learning/capability-evidence.js.map +1 -0
  100. package/dist/learning/capability-readiness.d.ts +64 -0
  101. package/dist/learning/capability-readiness.d.ts.map +1 -0
  102. package/dist/learning/capability-readiness.js +74 -0
  103. package/dist/learning/capability-readiness.js.map +1 -0
  104. package/dist/learning/capability-types.d.ts +169 -0
  105. package/dist/learning/capability-types.d.ts.map +1 -0
  106. package/dist/learning/capability-types.js +20 -0
  107. package/dist/learning/capability-types.js.map +1 -0
  108. package/dist/learning/catalog-feed.d.ts +89 -0
  109. package/dist/learning/catalog-feed.d.ts.map +1 -0
  110. package/dist/learning/catalog-feed.js +211 -0
  111. package/dist/learning/catalog-feed.js.map +1 -0
  112. package/dist/learning/cli-intent-effects.d.ts +60 -0
  113. package/dist/learning/cli-intent-effects.d.ts.map +1 -0
  114. package/dist/learning/cli-intent-effects.js +153 -0
  115. package/dist/learning/cli-intent-effects.js.map +1 -0
  116. package/dist/learning/command-adaptation.d.ts +41 -0
  117. package/dist/learning/command-adaptation.d.ts.map +1 -0
  118. package/dist/learning/command-adaptation.js +122 -0
  119. package/dist/learning/command-adaptation.js.map +1 -0
  120. package/dist/learning/consent-picture.d.ts +42 -0
  121. package/dist/learning/consent-picture.d.ts.map +1 -0
  122. package/dist/learning/consent-picture.js +53 -0
  123. package/dist/learning/consent-picture.js.map +1 -0
  124. package/dist/learning/context-budget.d.ts +37 -6
  125. package/dist/learning/context-budget.d.ts.map +1 -1
  126. package/dist/learning/context-budget.js +38 -9
  127. package/dist/learning/context-budget.js.map +1 -1
  128. package/dist/learning/decision-log.d.ts +114 -0
  129. package/dist/learning/decision-log.d.ts.map +1 -0
  130. package/dist/learning/decision-log.js +296 -0
  131. package/dist/learning/decision-log.js.map +1 -0
  132. package/dist/learning/deliverable-class.d.ts.map +1 -1
  133. package/dist/learning/deliverable-class.js +19 -0
  134. package/dist/learning/deliverable-class.js.map +1 -1
  135. package/dist/learning/deliverable-corpus.d.ts +117 -0
  136. package/dist/learning/deliverable-corpus.d.ts.map +1 -0
  137. package/dist/learning/deliverable-corpus.js +176 -0
  138. package/dist/learning/deliverable-corpus.js.map +1 -0
  139. package/dist/learning/error-repair.d.ts +22 -1
  140. package/dist/learning/error-repair.d.ts.map +1 -1
  141. package/dist/learning/error-repair.js +37 -0
  142. package/dist/learning/error-repair.js.map +1 -1
  143. package/dist/learning/exhaustion-report.d.ts +136 -0
  144. package/dist/learning/exhaustion-report.d.ts.map +1 -0
  145. package/dist/learning/exhaustion-report.js +239 -0
  146. package/dist/learning/exhaustion-report.js.map +1 -0
  147. package/dist/learning/failure-bookkeeping.d.ts +16 -0
  148. package/dist/learning/failure-bookkeeping.d.ts.map +1 -1
  149. package/dist/learning/failure-bookkeeping.js +51 -5
  150. package/dist/learning/failure-bookkeeping.js.map +1 -1
  151. package/dist/learning/gate-friction.d.ts +39 -0
  152. package/dist/learning/gate-friction.d.ts.map +1 -0
  153. package/dist/learning/gate-friction.js +91 -0
  154. package/dist/learning/gate-friction.js.map +1 -0
  155. package/dist/learning/harness-narration.d.ts +34 -0
  156. package/dist/learning/harness-narration.d.ts.map +1 -0
  157. package/dist/learning/harness-narration.js +58 -0
  158. package/dist/learning/harness-narration.js.map +1 -0
  159. package/dist/learning/hub-skill-catalog.d.ts.map +1 -1
  160. package/dist/learning/hub-skill-catalog.js +1 -2
  161. package/dist/learning/hub-skill-catalog.js.map +1 -1
  162. package/dist/learning/hybrid-router.d.ts +65 -0
  163. package/dist/learning/hybrid-router.d.ts.map +1 -1
  164. package/dist/learning/hybrid-router.js +186 -0
  165. package/dist/learning/hybrid-router.js.map +1 -1
  166. package/dist/learning/knowledge-base.d.ts +229 -3
  167. package/dist/learning/knowledge-base.d.ts.map +1 -1
  168. package/dist/learning/knowledge-base.js +603 -25
  169. package/dist/learning/knowledge-base.js.map +1 -1
  170. package/dist/learning/knowledge-eval.d.ts +171 -0
  171. package/dist/learning/knowledge-eval.d.ts.map +1 -0
  172. package/dist/learning/knowledge-eval.js +196 -0
  173. package/dist/learning/knowledge-eval.js.map +1 -0
  174. package/dist/learning/knowledge-turn.d.ts +92 -0
  175. package/dist/learning/knowledge-turn.d.ts.map +1 -0
  176. package/dist/learning/knowledge-turn.js +190 -0
  177. package/dist/learning/knowledge-turn.js.map +1 -0
  178. package/dist/learning/learned-commands.d.ts +64 -0
  179. package/dist/learning/learned-commands.d.ts.map +1 -0
  180. package/dist/learning/learned-commands.js +108 -0
  181. package/dist/learning/learned-commands.js.map +1 -0
  182. package/dist/learning/lexical-search.d.ts +50 -0
  183. package/dist/learning/lexical-search.d.ts.map +1 -0
  184. package/dist/learning/lexical-search.js +111 -0
  185. package/dist/learning/lexical-search.js.map +1 -0
  186. package/dist/learning/machine-facts.d.ts +71 -0
  187. package/dist/learning/machine-facts.d.ts.map +1 -0
  188. package/dist/learning/machine-facts.js +164 -0
  189. package/dist/learning/machine-facts.js.map +1 -0
  190. package/dist/learning/markdown-outline.d.ts +73 -0
  191. package/dist/learning/markdown-outline.d.ts.map +1 -0
  192. package/dist/learning/markdown-outline.js +136 -0
  193. package/dist/learning/markdown-outline.js.map +1 -0
  194. package/dist/learning/model-first-router.d.ts +33 -1
  195. package/dist/learning/model-first-router.d.ts.map +1 -1
  196. package/dist/learning/model-first-router.js +123 -9
  197. package/dist/learning/model-first-router.js.map +1 -1
  198. package/dist/learning/model-identity.d.ts +80 -0
  199. package/dist/learning/model-identity.d.ts.map +1 -0
  200. package/dist/learning/model-identity.js +115 -0
  201. package/dist/learning/model-identity.js.map +1 -0
  202. package/dist/learning/model-registry.d.ts +141 -2
  203. package/dist/learning/model-registry.d.ts.map +1 -1
  204. package/dist/learning/model-registry.js +324 -38
  205. package/dist/learning/model-registry.js.map +1 -1
  206. package/dist/learning/model-scoring.d.ts.map +1 -1
  207. package/dist/learning/model-scoring.js +8 -1
  208. package/dist/learning/model-scoring.js.map +1 -1
  209. package/dist/learning/model-selection.d.ts.map +1 -1
  210. package/dist/learning/model-selection.js +41 -0
  211. package/dist/learning/model-selection.js.map +1 -1
  212. package/dist/learning/outcome-observation.d.ts +49 -0
  213. package/dist/learning/outcome-observation.d.ts.map +1 -0
  214. package/dist/learning/outcome-observation.js +95 -0
  215. package/dist/learning/outcome-observation.js.map +1 -0
  216. package/dist/learning/pair-entitlement.d.ts +184 -0
  217. package/dist/learning/pair-entitlement.d.ts.map +1 -0
  218. package/dist/learning/pair-entitlement.js +214 -0
  219. package/dist/learning/pair-entitlement.js.map +1 -0
  220. package/dist/learning/provider-fallback.d.ts +23 -1
  221. package/dist/learning/provider-fallback.d.ts.map +1 -1
  222. package/dist/learning/provider-fallback.js +24 -0
  223. package/dist/learning/provider-fallback.js.map +1 -1
  224. package/dist/learning/reasoning-trace.d.ts +65 -1
  225. package/dist/learning/reasoning-trace.d.ts.map +1 -1
  226. package/dist/learning/reasoning-trace.js +123 -1
  227. package/dist/learning/reasoning-trace.js.map +1 -1
  228. package/dist/learning/requirement-probe.d.ts +55 -0
  229. package/dist/learning/requirement-probe.d.ts.map +1 -0
  230. package/dist/learning/requirement-probe.js +77 -0
  231. package/dist/learning/requirement-probe.js.map +1 -0
  232. package/dist/learning/resilient-call.d.ts +20 -1
  233. package/dist/learning/resilient-call.d.ts.map +1 -1
  234. package/dist/learning/resilient-call.js +42 -4
  235. package/dist/learning/resilient-call.js.map +1 -1
  236. package/dist/learning/response-usability.d.ts +85 -0
  237. package/dist/learning/response-usability.d.ts.map +1 -0
  238. package/dist/learning/response-usability.js +135 -0
  239. package/dist/learning/response-usability.js.map +1 -0
  240. package/dist/learning/router-bandit.d.ts +132 -0
  241. package/dist/learning/router-bandit.d.ts.map +1 -1
  242. package/dist/learning/router-bandit.js +253 -0
  243. package/dist/learning/router-bandit.js.map +1 -1
  244. package/dist/learning/routing-history.d.ts +41 -2
  245. package/dist/learning/routing-history.d.ts.map +1 -1
  246. package/dist/learning/routing-history.js.map +1 -1
  247. package/dist/learning/run-trace.d.ts +21 -0
  248. package/dist/learning/run-trace.d.ts.map +1 -1
  249. package/dist/learning/run-trace.js +38 -0
  250. package/dist/learning/run-trace.js.map +1 -1
  251. package/dist/learning/session-grant.d.ts +75 -0
  252. package/dist/learning/session-grant.d.ts.map +1 -0
  253. package/dist/learning/session-grant.js +112 -0
  254. package/dist/learning/session-grant.js.map +1 -0
  255. package/dist/learning/task-model-continuity.d.ts +73 -0
  256. package/dist/learning/task-model-continuity.d.ts.map +1 -0
  257. package/dist/learning/task-model-continuity.js +87 -0
  258. package/dist/learning/task-model-continuity.js.map +1 -0
  259. package/dist/learning/turn-feedback.d.ts +93 -0
  260. package/dist/learning/turn-feedback.d.ts.map +1 -0
  261. package/dist/learning/turn-feedback.js +127 -0
  262. package/dist/learning/turn-feedback.js.map +1 -0
  263. package/dist/learning/turn-report.d.ts +104 -2
  264. package/dist/learning/turn-report.d.ts.map +1 -1
  265. package/dist/learning/turn-report.js +161 -6
  266. package/dist/learning/turn-report.js.map +1 -1
  267. package/dist/learning/verdict-routing.d.ts +51 -0
  268. package/dist/learning/verdict-routing.d.ts.map +1 -0
  269. package/dist/learning/verdict-routing.js +122 -0
  270. package/dist/learning/verdict-routing.js.map +1 -0
  271. package/dist/mcp/client.d.ts.map +1 -1
  272. package/dist/mcp/client.js +5 -0
  273. package/dist/mcp/client.js.map +1 -1
  274. package/dist/mcp/manager.d.ts +10 -0
  275. package/dist/mcp/manager.d.ts.map +1 -1
  276. package/dist/mcp/manager.js +20 -0
  277. package/dist/mcp/manager.js.map +1 -1
  278. package/dist/mcp/mcp-discovery.d.ts +34 -0
  279. package/dist/mcp/mcp-discovery.d.ts.map +1 -0
  280. package/dist/mcp/mcp-discovery.js +71 -0
  281. package/dist/mcp/mcp-discovery.js.map +1 -0
  282. package/dist/mcp/mcp-schema-cache.d.ts +17 -0
  283. package/dist/mcp/mcp-schema-cache.d.ts.map +1 -1
  284. package/dist/mcp/mcp-schema-cache.js +47 -3
  285. package/dist/mcp/mcp-schema-cache.js.map +1 -1
  286. package/dist/mcp/types.d.ts +28 -0
  287. package/dist/mcp/types.d.ts.map +1 -1
  288. package/dist/mcp/types.js.map +1 -1
  289. package/dist/parity/drivers.d.ts.map +1 -1
  290. package/dist/parity/drivers.js +3 -0
  291. package/dist/parity/drivers.js.map +1 -1
  292. package/dist/parity/observation.d.ts +12 -0
  293. package/dist/parity/observation.d.ts.map +1 -1
  294. package/dist/parity/observation.js +14 -0
  295. package/dist/parity/observation.js.map +1 -1
  296. package/dist/tools/ask-user.d.ts.map +1 -1
  297. package/dist/tools/ask-user.js +4 -0
  298. package/dist/tools/ask-user.js.map +1 -1
  299. package/dist/tools/capability-registry.d.ts +150 -0
  300. package/dist/tools/capability-registry.d.ts.map +1 -0
  301. package/dist/tools/capability-registry.js +400 -0
  302. package/dist/tools/capability-registry.js.map +1 -0
  303. package/dist/tools/child-agent-runtime.d.ts.map +1 -1
  304. package/dist/tools/child-agent-runtime.js +19 -5
  305. package/dist/tools/child-agent-runtime.js.map +1 -1
  306. package/dist/tools/coding-tools.d.ts +17 -5
  307. package/dist/tools/coding-tools.d.ts.map +1 -1
  308. package/dist/tools/coding-tools.js +80 -11
  309. package/dist/tools/coding-tools.js.map +1 -1
  310. package/dist/tools/command-memo.d.ts +116 -0
  311. package/dist/tools/command-memo.d.ts.map +1 -0
  312. package/dist/tools/command-memo.js +202 -0
  313. package/dist/tools/command-memo.js.map +1 -0
  314. package/dist/tools/git-tool.d.ts.map +1 -1
  315. package/dist/tools/git-tool.js +13 -3
  316. package/dist/tools/git-tool.js.map +1 -1
  317. package/dist/tools/harness-directive.d.ts +42 -0
  318. package/dist/tools/harness-directive.d.ts.map +1 -0
  319. package/dist/tools/harness-directive.js +45 -0
  320. package/dist/tools/harness-directive.js.map +1 -0
  321. package/dist/tools/loop-skill-hint.d.ts +74 -174
  322. package/dist/tools/loop-skill-hint.d.ts.map +1 -1
  323. package/dist/tools/loop-skill-hint.js +110 -536
  324. package/dist/tools/loop-skill-hint.js.map +1 -1
  325. package/dist/tools/mcp-client-tool.d.ts +2 -0
  326. package/dist/tools/mcp-client-tool.d.ts.map +1 -1
  327. package/dist/tools/mcp-client-tool.js +3 -0
  328. package/dist/tools/mcp-client-tool.js.map +1 -1
  329. package/dist/tools/modality/shared.d.ts +1 -4
  330. package/dist/tools/modality/shared.d.ts.map +1 -1
  331. package/dist/tools/modality/shared.js +7 -22
  332. package/dist/tools/modality/shared.js.map +1 -1
  333. package/dist/tools/plan-store.d.ts +20 -2
  334. package/dist/tools/plan-store.d.ts.map +1 -1
  335. package/dist/tools/plan-store.js +51 -7
  336. package/dist/tools/plan-store.js.map +1 -1
  337. package/dist/tools/registry.d.ts +76 -3
  338. package/dist/tools/registry.d.ts.map +1 -1
  339. package/dist/tools/registry.js +486 -26
  340. package/dist/tools/registry.js.map +1 -1
  341. package/dist/tools/remediation-ladder.d.ts.map +1 -1
  342. package/dist/tools/remediation-ladder.js +8 -0
  343. package/dist/tools/remediation-ladder.js.map +1 -1
  344. package/dist/tools/run-cli.d.ts.map +1 -1
  345. package/dist/tools/run-cli.js +29 -4
  346. package/dist/tools/run-cli.js.map +1 -1
  347. package/dist/tools/run-terminal.d.ts +11 -0
  348. package/dist/tools/run-terminal.d.ts.map +1 -1
  349. package/dist/tools/run-terminal.js +265 -10
  350. package/dist/tools/run-terminal.js.map +1 -1
  351. package/dist/tools/tool-loop.d.ts +321 -13
  352. package/dist/tools/tool-loop.d.ts.map +1 -1
  353. package/dist/tools/tool-loop.js +867 -66
  354. package/dist/tools/tool-loop.js.map +1 -1
  355. package/dist/utils/atomic-store.d.ts +53 -0
  356. package/dist/utils/atomic-store.d.ts.map +1 -0
  357. package/dist/utils/atomic-store.js +178 -0
  358. package/dist/utils/atomic-store.js.map +1 -0
  359. package/dist/utils/binary-probe.d.ts +25 -0
  360. package/dist/utils/binary-probe.d.ts.map +1 -0
  361. package/dist/utils/binary-probe.js +48 -0
  362. package/dist/utils/binary-probe.js.map +1 -0
  363. package/dist/utils/workspace-path.d.ts +50 -0
  364. package/dist/utils/workspace-path.d.ts.map +1 -0
  365. package/dist/utils/workspace-path.js +86 -0
  366. package/dist/utils/workspace-path.js.map +1 -0
  367. package/dist/web-dashboard/chat-console.d.ts +24 -0
  368. package/dist/web-dashboard/chat-console.d.ts.map +1 -1
  369. package/dist/web-dashboard/chat-console.js +38 -0
  370. package/dist/web-dashboard/chat-console.js.map +1 -1
  371. package/dist/web-dashboard/project-context.d.ts +27 -2
  372. package/dist/web-dashboard/project-context.d.ts.map +1 -1
  373. package/dist/web-dashboard/project-context.js +32 -2
  374. package/dist/web-dashboard/project-context.js.map +1 -1
  375. package/dist/web-dashboard/server.d.ts +11 -0
  376. package/dist/web-dashboard/server.d.ts.map +1 -1
  377. package/dist/web-dashboard/server.js +362 -11
  378. package/dist/web-dashboard/server.js.map +1 -1
  379. package/dist/web-dashboard/src/types.d.ts +170 -1
  380. package/dist/web-dashboard/src/types.d.ts.map +1 -1
  381. package/dist/web-dashboard/workspace-guard.d.ts +11 -2
  382. package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
  383. package/dist/web-dashboard/workspace-guard.js +24 -12
  384. package/dist/web-dashboard/workspace-guard.js.map +1 -1
  385. package/dist/web-dashboard/workspace-resolution.d.ts +87 -0
  386. package/dist/web-dashboard/workspace-resolution.d.ts.map +1 -0
  387. package/dist/web-dashboard/workspace-resolution.js +105 -0
  388. package/dist/web-dashboard/workspace-resolution.js.map +1 -0
  389. package/package.json +1 -1
  390. package/src/web-dashboard/public/assets/index-zjbdJnO-.js +210 -0
  391. package/src/web-dashboard/public/assets/index-zjbdJnO-.js.map +1 -0
  392. package/src/web-dashboard/public/index.html +1 -1
  393. package/dist/agents/nvda-addon.d.ts +0 -14
  394. package/dist/agents/nvda-addon.js +0 -52
  395. package/dist/forwarded.d.ts +0 -2
  396. package/dist/forwarded.js +0 -2
  397. package/src/web-dashboard/public/assets/index-DhiuR4S2.js +0 -210
  398. package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAC9C,mFAAmF;AACnF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAgCvC,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,8BAA8B,CAAC,CAAC;AAC3D,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,yBAAyB;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;gBACpD,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC3E,yEAAyE;oBACzE,0EAA0E;oBAC1E,4DAA4D;oBAC5D,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAK,GAA8B,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACnF,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC;oBAC3B,CAAC;oBACD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;wBAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBAClD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6EAA6E;YAC/E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAA4B;IACnD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAAE,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACvD,aAAa,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAQC,EACD,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,GAAG,GAAyB;QAChC,EAAE,EAAE,GAAG;QACP,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;QACzE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,uBAAuB,CAAC;QACxD,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,eAAe,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IAClE,OAAO,qBAAqB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgC,EAChC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAe,EACf,OAAgC,EAChC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YAClD,eAAe,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3E,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,0BAA0B;IACxC,eAAe,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
@@ -37,7 +37,28 @@
37
37
  */
38
38
  import type { AgentContext, AgentResult, LLMCallFn } from '../agents/agent.js';
39
39
  /** Categories of errors that the repair system can classify */
40
- 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';
41
62
  /** Repair strategies that can be applied */
42
63
  export type RepairStrategy = 're-prompt' | 'switch-model' | 'adjust-temperature' | 'retry-tool' | 'alternative-approach' | 'shrink-scope' | 'skip-step';
43
64
  /** Mode of operation for the repair loop */
@@ -1 +1 @@
1
- {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-repair.d.ts","sourceRoot":"","sources":["../../src/learning/error-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;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;AACpB;;;;;;;GAOG;GACD,kBAAkB;AACpB;;;;;;;;;;GAUG;GACD,iBAAiB,GACjB,SAAS,CAAC;AAEd,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,YAAY,GACZ,sBAAsB,GACtB,cAAc,GACd,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;IAC/B;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAaD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,aAAa,CA8G7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAuB7D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,kBAAkB,GAC1B,cAAc,CA4EhB;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;IA0OvB,yDAAyD;IACzD,KAAK,IAAI,IAAI;CAGd;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAe7D;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAIR"}
@@ -60,6 +60,29 @@ export function classifyError(error) {
60
60
  lower.includes('prompt injection')) {
61
61
  return 'injection-blocked';
62
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
+ }
63
86
  // Provider errors
64
87
  if (/5\d{2}(\D|$)/.test(lower) ||
65
88
  lower.includes('rate limit') ||
@@ -130,6 +153,15 @@ export function isRepairable(category) {
130
153
  return true; // conditionally repairable
131
154
  case 'injection-blocked':
132
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':
133
165
  return false;
134
166
  case 'unknown':
135
167
  return true; // try a generic repair
@@ -216,6 +248,11 @@ export function selectStrategy(category, attemptNumber, options) {
216
248
  return 'skip-step';
217
249
  case 'injection-blocked':
218
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':
219
256
  return 'skip-step';
220
257
  }
221
258
  }
@@ -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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"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * The honest EXHAUSTION REPORT (fix_model_routing P4, invariants 2, 4 and 7).
3
+ *
4
+ * WHY THIS EXISTS. When every reachable model has been tried and the task is
5
+ * still not delivered, the old answer was a one-line apology plus — worse — a
6
+ * question: *"Want me to retry? Reply yes."* That makes the USER the retry
7
+ * button, which is the single clearest way to fail them: a competent operator
8
+ * does not walk back to the requester to ask permission to try the next worker,
9
+ * and they certainly do not do it after the requester already asked once. The
10
+ * user's own words: *"if user need to say retry that we are failing."*
11
+ *
12
+ * So the report's job is to say, in plain language and with NO follow-up
13
+ * question:
14
+ *
15
+ * 1. what was tried, per model, and why each one did not answer;
16
+ * 2. which targets are exhausted vs. DEAD vs. merely COOLING DOWN, and the
17
+ * WALL-CLOCK TIME each cooling one frees up (a wait length is unactionable;
18
+ * "free at 18:42" is something a person can plan around);
19
+ * 3. what the system itself is doing about it (routing to an untried model,
20
+ * or waiting for a window) — stated as the system's job, not the user's;
21
+ * 4. the concrete levers only the user can pull: recharge/replace a rejected
22
+ * credential, knowingly accept a weaker model, or narrow the ask.
23
+ *
24
+ * DETERMINISTIC AND LLM-FREE on purpose. A failure explanation that is itself
25
+ * generated can hallucinate a reason or a time, and this text is the only thing
26
+ * the user has left to trust. Every line here comes from measured state: the
27
+ * failover walk's own attempt log, the routing exclusion ledger, and the pool
28
+ * count — the SAME sources enforcement reads, so the report can never disagree
29
+ * with what routing actually did.
30
+ *
31
+ * It DELIBERATELY does not duplicate `renderModelBreadthReport`'s job of
32
+ * explaining a failure to a caller that still has a retry mechanism available;
33
+ * it is the terminal, "there is nothing left" message, and its distinguishing
34
+ * features are the absolute clocks, the named levers and the refusal to ask the
35
+ * user to trigger anything.
36
+ */
37
+ /** One model the walk actually reached, and how it went. */
38
+ export interface ExhaustionAttempt {
39
+ provider: string;
40
+ model: string;
41
+ /** The classified failure kind ('empty-response', 'rate-limit', 'auth', …). */
42
+ kind: string;
43
+ /** A short human phrase — what the user can act on. */
44
+ reason: string;
45
+ /** True when the candidate was ruled out WITHOUT being called. */
46
+ skipped?: boolean;
47
+ }
48
+ /** A target that could not be reached, with why and (when known) until when. */
49
+ export interface ExhaustionExclusion {
50
+ provider: string;
51
+ model?: string;
52
+ kind: string;
53
+ /**
54
+ * When it becomes usable again (ms epoch). Absent/0 means "not on its own" —
55
+ * a retired pair or a rejected credential does not heal with time.
56
+ */
57
+ expiresAt?: number;
58
+ /** 'registry' marks a ruling (the pair does not exist), not a cooldown. */
59
+ source?: string;
60
+ }
61
+ export interface ExhaustionInput {
62
+ attempts: ExhaustionAttempt[];
63
+ exclusions?: ExhaustionExclusion[];
64
+ /** Eligible models the router would consider right now (measured, never guessed). */
65
+ poolSize?: number;
66
+ poolProviders?: number;
67
+ /** What the user asked for, for the header. */
68
+ task?: string;
69
+ /**
70
+ * The underlying failure line, when there is one (e.g. the provider's own
71
+ * rejection text). Rendered as a `Reason:` line so a specific, actionable
72
+ * cause is never lost behind the report.
73
+ */
74
+ cause?: string;
75
+ /** Injected clock — reports are pure functions of their inputs. */
76
+ now?: number;
77
+ }
78
+ export interface ExhaustionOption {
79
+ /** `recharge` | `wait` | `weaker-model` | `narrow`. */
80
+ code: 'recharge' | 'wait' | 'weaker-model' | 'narrow';
81
+ text: string;
82
+ }
83
+ export interface ExhaustionReport {
84
+ headline: string;
85
+ /** `provider/model — reason`, one per model that was reached and failed. */
86
+ tried: string[];
87
+ /** Targets that were not reachable, with an absolute free time when it exists. */
88
+ unavailable: Array<{
89
+ target: string;
90
+ reason: string;
91
+ freeAt?: number;
92
+ }>;
93
+ /** Pairs ruled out because they do not exist on that provider. */
94
+ retired: string[];
95
+ /** The measured pool claim, when the pool was measured. */
96
+ poolClaim?: string;
97
+ /**
98
+ * True when a healthy pool existed and the walk simply did not reach the
99
+ * remaining models. That is a ROUTING GAP, not a shortage — and the report
100
+ * says so instead of presenting it as an outage.
101
+ */
102
+ routingGap: boolean;
103
+ /** The soonest a capable model comes back on its own (ms epoch). */
104
+ nextFreeAt?: number;
105
+ options: ExhaustionOption[];
106
+ /** The rendered, ready-to-deliver text. */
107
+ text: string;
108
+ }
109
+ /** `18:42` in the operator's own clock. Deterministic given a timestamp. */
110
+ export declare function formatClockTime(ts: number): string;
111
+ /** `2m`, `55m`, `3h` — a wait a person can read. */
112
+ export declare function formatWaitShort(ms: number): string;
113
+ /**
114
+ * A phrase for a failure kind, in the vocabulary the user can act on.
115
+ *
116
+ * Exported so a caller RECORDING an attempt (chat's own walk) writes the same
117
+ * words the report will print — the alternative is a raw provider message
118
+ * reaching the user, which is how a JSON quota dump once got delivered verbatim
119
+ * as an answer.
120
+ */
121
+ export declare function describeFailureKind(kind: string): string;
122
+ /**
123
+ * Build the report. Pure: same inputs, same text — no clock reads, no network,
124
+ * no model call (pass `now` explicitly; absent means "measured here").
125
+ */
126
+ export declare function buildExhaustionReport(input: ExhaustionInput): ExhaustionReport;
127
+ /**
128
+ * The report, or `undefined` when there is genuinely nothing concrete to say.
129
+ *
130
+ * Silent-when-empty is deliberate: a caller that already has an actionable line
131
+ * ("the provider rejected the key") must keep it rather than trade it for an
132
+ * empty report. "Concrete" means exactly one thing — a model was reached, or
133
+ * something was ruled out. A report with neither is not evidence of exhaustion.
134
+ */
135
+ export declare function renderExhaustionReport(input: ExhaustionInput): string | undefined;
136
+ //# sourceMappingURL=exhaustion-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exhaustion-report.d.ts","sourceRoot":"","sources":["../../src/learning/exhaustion-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,4DAA4D;AAC5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,gFAAgF;AAChF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,CAAC;IACtD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kFAAkF;IAClF,WAAW,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,kEAAkE;IAClE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAuJ9E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAQjF"}