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,247 @@
1
+ /**
2
+ * Acceptance model — fit `P(accepted | features)` to the labels the harness now
3
+ * collects, and report it READ-ONLY.
4
+ *
5
+ * THE POINT OF THE WHOLE `userVerdict` WORK. Bundles 27–30 made it possible for a
6
+ * turn to carry a LABEL: the user accepted it, rejected it, or said nothing. This
7
+ * module is the first consumer — it fits a probability of acceptance to the
8
+ * harness's OWN features (did the turn verify, was it flagged, did it deliver),
9
+ * which is the thing a "quality score" was always supposed to be and could never
10
+ * be built from derived signals alone.
11
+ *
12
+ * WHAT IT REFUSES TO DO.
13
+ * - It never routes on an UNMEASURED or too-thin sample. `cachedAcceptanceFit`
14
+ * returns the same named refusal below the floor as `trainAcceptanceModel`, and
15
+ * the one routing consumer (`outcome-observation.ts` → the bandit's
16
+ * `qualityScore`) omits the field entirely unless the fit is `ok`. So a router
17
+ * cannot be moved by a probability fitted to three rows — the exact defect the
18
+ * programme removes. (NOTE: this file previously READ-ONLY; the user's decision
19
+ * of 2026-10-08 wired the fitted probability into the bandit's measured
20
+ * `qualityScore`, which is why the router now reads it. Below the floor, nothing
21
+ * changes.)
22
+ * - It never fits below the sample floor. With too few labelled turns, or with
23
+ * only one class, it returns a NAMED reason and no model — an underfit
24
+ * probability printed as if it were evidence is worse than printing nothing.
25
+ * - It never invents an acceptance. Only rows with a real verdict are used;
26
+ * `verdict: null` rows are excluded, because silence is not a positive.
27
+ *
28
+ * THE FEATURES are the ones the harness already records per turn, each of them
29
+ * evidence the run produced rather than the model's account of itself:
30
+ * verified — the turn's own check passed (`verified` / `delivered-and-read-back`)
31
+ * unverified — the turn ran but nothing verified it
32
+ * flag — an honesty flag fired (a defect the turn disclosed)
33
+ * delivered — the turn produced an authored artifact
34
+ *
35
+ * Training is deterministic (zero initial weights, fixed iterations), so the same
36
+ * corpus always yields the same coefficients and a report cannot drift run to run.
37
+ */
38
+ import type { TurnReport } from './turn-report.js';
39
+ /** The features a fit sees. Binary by construction — measured flags, not magnitudes. */
40
+ export declare const ACCEPTANCE_FEATURES: readonly ["verified", "unverified", "flag", "delivered"];
41
+ export type AcceptanceFeature = (typeof ACCEPTANCE_FEATURES)[number];
42
+ export type AcceptanceFeatures = Record<AcceptanceFeature, number>;
43
+ /** Below this many labelled turns a fit is noise. */
44
+ export declare const MIN_LABELS_FOR_FIT = 20;
45
+ /** …and below this many of EITHER class it can only learn the base rate. */
46
+ export declare const MIN_PER_CLASS = 5;
47
+ /** One labelled turn: what the harness saw, and whether the user accepted it. */
48
+ export interface LabelledTurn {
49
+ traceId?: string;
50
+ provider?: string;
51
+ model?: string;
52
+ at: number;
53
+ accepted: boolean;
54
+ /** Where the label came from: `cli` / `dashboard` / `derived` (see `turn-feedback.ts`). */
55
+ source: string;
56
+ features: AcceptanceFeatures;
57
+ }
58
+ export interface AcceptanceModel {
59
+ weights: number[];
60
+ bias: number;
61
+ featureNames: AcceptanceFeature[];
62
+ n: number;
63
+ positives: number;
64
+ negatives: number;
65
+ trainedAt: number;
66
+ }
67
+ export type AcceptanceFit = {
68
+ ok: true;
69
+ model: AcceptanceModel;
70
+ } | {
71
+ ok: false;
72
+ reason: string;
73
+ n: number;
74
+ positives: number;
75
+ negatives: number;
76
+ };
77
+ /** Imported labels kept on disk, oldest drop first — a dataset, not an unbounded log. */
78
+ export declare const MAX_IMPORTED_LABELS = 5000;
79
+ /**
80
+ * Where an imported corpus's labels live. Kept separate from the traces because an
81
+ * imported row has no local trace to attach a `userVerdict` to — a fit simply READS
82
+ * these alongside the local labels, so a corpus collected elsewhere joins without
83
+ * the harness inventing a trace or rewriting one it does not own.
84
+ */
85
+ export declare function importedLabelsPath(): string;
86
+ /** Best-effort format detection: by extension, else by the first non-space character. */
87
+ export declare function detectCorpusFormat(path: string | undefined, text: string): CorpusFormat;
88
+ /** Parse a shipped corpus in either format into labelled turns (malformed rows dropped). */
89
+ export declare function parseCorpusText(text: string, format: CorpusFormat): LabelledTurn[];
90
+ /** Read the imported labels store (best-effort; a corrupt line is skipped). */
91
+ export declare function readImportedLabels(): LabelledTurn[];
92
+ /**
93
+ * Merge an imported corpus into the local store, deduped by trace (or identity).
94
+ * Re-importing the same file is idempotent: rows already present are updated, not
95
+ * duplicated. Returns the counts a caller reports, and never throws.
96
+ */
97
+ export declare function mergeImportedLabels(incoming: LabelledTurn[]): {
98
+ added: number;
99
+ updated: number;
100
+ total: number;
101
+ };
102
+ /** Names of the honesty flags a report set, for an audit view. */
103
+ export declare function flagNames(report: TurnReport | undefined): string[];
104
+ /**
105
+ * The features a fit sees for ONE trace — the SAME derivation `collectLocalTurns`
106
+ * uses, extracted so an audit (`nuvira rate --explain`) cannot disagree with the fit.
107
+ */
108
+ export declare function featuresFromTrace(trace: {
109
+ turnReport?: TurnReport;
110
+ }, delivered: boolean): AcceptanceFeatures;
111
+ /**
112
+ * Features for a LIVE turn, derived from its `TurnReport` the SAME way
113
+ * {@link featuresFromTrace} derives them for a stored one — so the score a turn
114
+ * gets while it runs cannot disagree with the rows the fit trained on.
115
+ */
116
+ export declare function featuresFromReport(report: TurnReport | undefined): AcceptanceFeatures;
117
+ /** How long a fitted model is reused before the corpus is re-read. */
118
+ export declare const FIT_CACHE_TTL_MS = 60000;
119
+ /**
120
+ * A MEMOIZED {@link trainAcceptanceModel}.
121
+ *
122
+ * WHY IT MUST BE CACHED: this is read on the live turn-outcome path, and fitting
123
+ * re-reads up to 1000 traces plus the corpus and runs 500 iterations. Doing that
124
+ * once per turn would put a synchronous fs read on every answer. The corpus only
125
+ * grows when a turn is rated, so a short TTL costs at most one refit per minute and
126
+ * cannot hide a label for longer than that.
127
+ */
128
+ export declare function cachedAcceptanceFit(now?: number): AcceptanceFit;
129
+ /** Drop the memoized fit, so the next read refits (a CLI refresh, and tests). */
130
+ export declare function invalidateAcceptanceFit(): void;
131
+ /**
132
+ * Collect every LABELLED turn the harness has: the local labels plus the rows
133
+ * imported from another corpus. A LOCAL label for the same trace wins — the local
134
+ * record carries the features we measured ourselves.
135
+ */
136
+ export declare function collectLabelledTurns(): LabelledTurn[];
137
+ /** One turn's evidence and label, for auditing a single rating. */
138
+ export interface TraceLabelExplanation {
139
+ traceId: string;
140
+ goal: string;
141
+ provider?: string;
142
+ model?: string;
143
+ verification?: string;
144
+ flags: string[];
145
+ delivered: boolean;
146
+ features: AcceptanceFeatures;
147
+ /** The user's label, or null when the turn is unrated. */
148
+ label: boolean | null;
149
+ source: string | null;
150
+ /** The fitted `P(accepted | features)` for THIS turn, or null when no model exists. */
151
+ probability: number | null;
152
+ fitReady: boolean;
153
+ }
154
+ /**
155
+ * Explain ONE trace: its features, its label and — when the fit has trained — the
156
+ * probability the model assigns to it. The features come from the SAME
157
+ * `featuresFromTrace` the fit uses, so an audit cannot disagree with the model.
158
+ */
159
+ export declare function explainTraceLabel(traceId: string, now?: number): TraceLabelExplanation | null;
160
+ /** The outcome of reconciling an imported corpus against the local labels. */
161
+ export interface MergeResult {
162
+ /** Rows in the incoming file. */
163
+ incoming: number;
164
+ /** Rows written to the imported store (no local label for their trace). */
165
+ stored: number;
166
+ /** Rows whose trace already carries a DIFFERENT local label. */
167
+ conflicts: number;
168
+ /** Conflicts the incoming label won (`--replace`). */
169
+ replaced: number;
170
+ /** Conflicts the local label won (the default). */
171
+ keptLocal: number;
172
+ /** Rows whose trace already carries the SAME label — nothing to reconcile. */
173
+ matching: number;
174
+ /** The imported store size after the merge. */
175
+ total: number;
176
+ }
177
+ /**
178
+ * Overwrite one LOCAL label with an imported verdict (corpus row and trace). Used
179
+ * only by an EXPLICIT `--replace` — the default keeps the local label, because a
180
+ * label this machine recorded is one a person or the behaviour here produced.
181
+ */
182
+ export declare function replaceLocalLabel(traceId: string, accepted: boolean, source: string, now?: number): boolean;
183
+ /**
184
+ * Reconcile an incoming corpus against the LOCAL labels, explicitly.
185
+ *
186
+ * A conflict is a trace the local record already labels differently. The default
187
+ * KEEPS the local label (it is this machine's own measurement) and reports the
188
+ * count; `replace: true` lets the incoming label win. Rows with no local label are
189
+ * simply stored. Deduped and idempotent like {@link mergeImportedLabels}.
190
+ */
191
+ export declare function mergeLabelledCorpus(incoming: LabelledTurn[], opts?: {
192
+ replace?: boolean;
193
+ now?: number;
194
+ }): MergeResult;
195
+ /**
196
+ * Fit the logistic model. Deterministic; returns a NAMED reason rather than a
197
+ * model whenever the sample is too thin to mean anything. Trains on an arbitrary
198
+ * set of rows, so the offline fitter can reuse the identical maths on an EXPORTED
199
+ * corpus — a shipped corpus and this machine cannot disagree.
200
+ */
201
+ export declare function fitLabelledTurns(rows: LabelledTurn[], now?: number): AcceptanceFit;
202
+ /** Fit to the LIVE corpus the harness has collected (local traces + imports). */
203
+ export declare function trainAcceptanceModel(now?: number): AcceptanceFit;
204
+ /** `P(accepted | features)` under a fitted model. */
205
+ export declare function predictAcceptance(model: AcceptanceModel, features: AcceptanceFeatures): number;
206
+ /** One review surface's worth of acceptance state, so CLI and dashboard agree. */
207
+ export interface AcceptanceSummary {
208
+ labelled: number;
209
+ accepted: number;
210
+ rejected: number;
211
+ /** Labels by provenance: `cli` / `dashboard` / `derived`. */
212
+ bySource: Record<string, number>;
213
+ byPair: Record<string, {
214
+ accepted: number;
215
+ rejected: number;
216
+ }>;
217
+ fit: AcceptanceFit;
218
+ }
219
+ /** The whole acceptance picture in one call — the ONE source the surfaces render. */
220
+ export declare function acceptanceSummary(now?: number): AcceptanceSummary;
221
+ /**
222
+ * Render a summary as human lines — the SINGLE renderer every surface uses.
223
+ *
224
+ * `nuvira rate --stats`, `model explain` and any future surface call THIS, so they
225
+ * cannot describe the same corpus two different ways. `focusPair` (optional) lists
226
+ * that `provider/model` first, which is how `model explain` keeps the decision's own
227
+ * pair at the top without a second formatter.
228
+ */
229
+ export declare function formatAcceptanceSummary(s: AcceptanceSummary, focusPair?: string): string[];
230
+ /** Export formats for the labelled corpus. */
231
+ export type CorpusFormat = 'json' | 'csv';
232
+ /** CSV column order (stable, so an offline reader can rely on it). */
233
+ export declare const CORPUS_CSV_COLUMNS: readonly ["traceId", "provider", "model", "at", "accepted", "source", "verified", "unverified", "flag", "delivered"];
234
+ /**
235
+ * Serialize the labelled corpus for shipping and offline fitting — the SAME rows
236
+ * a fit here would read, so nothing is lost in the hand-off.
237
+ *
238
+ * JSON carries the full structure (features nested, plus provenance); CSV is the
239
+ * flat form for a spreadsheet, with one column per feature and `accepted` as 0/1.
240
+ */
241
+ export declare function serializeLabelledTurns(rows: LabelledTurn[], format: CorpusFormat, now?: number): string;
242
+ /** Rated turns per `provider/model`, for the per-pair acceptance line. */
243
+ export declare function acceptanceByPair(): Record<string, {
244
+ accepted: number;
245
+ rejected: number;
246
+ }>;
247
+ //# sourceMappingURL=acceptance-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance-model.d.ts","sourceRoot":"","sources":["../../src/learning/acceptance-model.ts"],"names":[],"mappings":"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"}