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
@@ -15,6 +15,22 @@
15
15
  * vector namespace (`knowledge-<tag>`), so tags never bleed into each other and
16
16
  * a tag can be forgotten without touching anything else.
17
17
  *
18
+ * Retrieval is relevance-FLOORED (`DEFAULT_KNOWLEDGE_MIN_SIMILARITY`), because
19
+ * "the nearest k neighbours" is not the same claim as "k relevant passages":
20
+ * an unrelated question must be able to come back empty rather than receive the
21
+ * closest six chunks of a document it has nothing to do with.
22
+ *
23
+ * Retrieval is also HYBRID (Phase 2.2–2.4): a dense (vector) half and a lexical
24
+ * (BM25, see `lexical-search.ts`) half are fused with Reciprocal Rank Fusion and
25
+ * then capped per source document. The two halves fail on different questions —
26
+ * embeddings miss the exact identifier, clause number or error code a user pastes
27
+ * in, and BM25 misses a paraphrase with no shared words — so ranking both and
28
+ * fusing their RANKS (not their incomparable scores) gets both. The cosine floor
29
+ * still governs DENSE evidence; lexical evidence is governed by its own term
30
+ * overlap, which is why an unrelated question (no shared vocabulary) still comes
31
+ * back empty from both halves. `fusion: 'dense'` reproduces vector-only
32
+ * retrieval for a caller that wants it or for the eval to compare against.
33
+ *
18
34
  * The retrieved chunks are USER DATA; the model supplies the generic half of an
19
35
  * answer (and `web-research` supplies the net-based half). `formatKnowledgeContext`
20
36
  * labels each chunk with its source file so the model can attribute precisely
@@ -34,11 +50,71 @@ export declare const KNOWLEDGE_NAMESPACE_PREFIX = "knowledge-";
34
50
  export declare const KNOWLEDGE_MANIFEST_FILE = "knowledge-index.json";
35
51
  /** Default chunks returned per query. */
36
52
  export declare const DEFAULT_KNOWLEDGE_TOP_K = 6;
37
- /** One document recorded under a tag. */
53
+ /**
54
+ * Relevance floor for retrieval.
55
+ *
56
+ * Every backend scores in cosine similarity, where 1 means "the same direction"
57
+ * and 0 means "unrelated", so a hit below this is at best a weak topic touch.
58
+ * The floor is what makes an HONEST empty answer reachable: nearest-neighbour
59
+ * search always returns its k nearest neighbours, so without a floor the k-th
60
+ * can be a passage about something else entirely and an unrelated question still
61
+ * receives a confident-looking block of the wrong document. A hit below the
62
+ * floor is not evidence about the question, so it is dropped here rather than
63
+ * left to the model to notice and ignore.
64
+ *
65
+ * CALIBRATED, NOT GUESSED. Cosine similarity between a question and its own
66
+ * document is a property of the EMBEDDING MODEL, so this number only means
67
+ * anything next to the model that produced the vectors. On the eval corpus with
68
+ * the retrieval model (`RETRIEVAL_MODEL`, bge-small-en-v1.5), unrelated
69
+ * questions reach up to 0.425 and the lowest-scoring CORRECT answer sits at
70
+ * 0.635 (p50 0.772). 0.5 is the round value inside that
71
+ * measured gap with margin on both sides: above every leak probe and below every
72
+ * correct answer. `tests/live/knowledge-eval-live.test.ts` prints the band and
73
+ * FAILS if the shipped floor falls outside it, so this is re-measurable rather
74
+ * than folklore.
75
+ *
76
+ * IT IS TIER-SPECIFIC, and the embedder is TIERED. If the local ONNX model
77
+ * cannot load, `embed` falls back to a different model — Python
78
+ * `all-MiniLM-L6-v2`, on a different similarity scale — or to a zero vector,
79
+ * WITHOUT throwing. A floor calibrated for one model is simply wrong for
80
+ * another, and wrong in a way that looks measured. The live eval therefore proves
81
+ * which model actually ran (an identity probe) before it reports a band, and
82
+ * fails loudly if they disagree. The offline eval uses its OWN floor and says so
83
+ * (`KNOWLEDGE_EVAL_OFFLINE_MIN_SIMILARITY`), because a bag-of-words vectorizer is
84
+ * not on this model's scale at all.
85
+ */
86
+ export declare const DEFAULT_KNOWLEDGE_MIN_SIMILARITY = 0.5;
87
+ /**
88
+ * How many chunks ONE source document may contribute to a result.
89
+ *
90
+ * Fusion alone can hand the whole top-k to whichever document the query happens
91
+ * to touch most, because a long document has more chances to contain a term —
92
+ * so a single highly-ranked file would crowd out the shorter document that
93
+ * actually answers the question. The cap promotes diversity of SOURCES.
94
+ *
95
+ * It is deliberately relaxed to "no cap" when the candidate pool has only one
96
+ * source: the common case is a tag holding a single document, and capping it
97
+ * there would throw away half the passages for no diversity to gain.
98
+ */
99
+ export declare const DEFAULT_KNOWLEDGE_MAX_PER_SOURCE = 3;
100
+ /**
101
+ * One document recorded under a tag.
102
+ *
103
+ * `docId` and `contentHash` are what make the SECOND ingest of the same folder
104
+ * cheap and correct: the id addresses the document's stored text (so a section
105
+ * can be read verbatim), and the hash says whether anything inside it changed
106
+ * (so an unchanged file is not extracted, chunked and embedded again).
107
+ */
38
108
  export interface KnowledgeDocument {
109
+ /** Stable id derived from `path` — the key of the stored extracted text. */
110
+ docId: string;
39
111
  path: string;
112
+ /** First heading of the document, or its basename when it has none. */
113
+ title: string;
40
114
  chunks: number;
41
115
  addedAt: number;
116
+ /** SHA-1 of the extracted text — the change detector for re-ingest. */
117
+ contentHash: string;
42
118
  }
43
119
  /** Manifest entry for a tag. */
44
120
  export interface KnowledgeTagEntry {
@@ -58,12 +134,27 @@ export interface KnowledgeHit {
58
134
  sourcePath: string;
59
135
  chunkIndex: number;
60
136
  similarity: number;
137
+ /**
138
+ * The heading chain the passage sits under, e.g. `Auth Design > Token refresh`.
139
+ * Empty for a document with no headings (or a non-Markdown one), which is why
140
+ * it is optional in the rendered citation rather than printed as `unknown`.
141
+ */
142
+ headingPath?: string;
143
+ /**
144
+ * WHY this passage is here: `dense` means it cleared the cosine floor, `term`
145
+ * means it is a lexical-only match whose similarity is below the floor. The
146
+ * distinction is rendered in the citation, because a passage presented with a
147
+ * low `sim` and no explanation reads as a mistake rather than as a term match.
148
+ */
149
+ evidence?: 'dense' | 'term';
61
150
  }
62
151
  /** Result of an ingest call. */
63
152
  export interface IngestResult {
64
153
  tag: string;
65
154
  files: number;
66
155
  chunks: number;
156
+ /** Documents whose content hash matched the recorded one — nothing re-embedded. */
157
+ unchanged: number;
67
158
  skipped: Array<{
68
159
  path: string;
69
160
  reason: string;
@@ -74,6 +165,34 @@ export interface KnowledgeOptions {
74
165
  chunkTokens?: number;
75
166
  overlapTokens?: number;
76
167
  topK?: number;
168
+ /**
169
+ * Relevance floor for `queryKnowledge` — hits scoring below this cosine
170
+ * similarity are dropped. Defaults to `DEFAULT_KNOWLEDGE_MIN_SIMILARITY`.
171
+ */
172
+ minSimilarity?: number;
173
+ /**
174
+ * How to retrieve: `hybrid` (default) fuses dense + lexical evidence; `dense`
175
+ * reproduces vector-only retrieval. Query-only.
176
+ */
177
+ fusion?: 'hybrid' | 'dense';
178
+ /**
179
+ * Lexical (BM25) floor for a candidate matched ONLY by the lexical half — a
180
+ * dense hit is already gated by `minSimilarity`. 0 (default) keeps any passage
181
+ * that shares a content term with the question. Query-only.
182
+ */
183
+ minLexicalScore?: number;
184
+ /**
185
+ * Chunks one source document may contribute to a result. Defaults to
186
+ * `DEFAULT_KNOWLEDGE_MAX_PER_SOURCE`, and is relaxed automatically when only
187
+ * one source is in the candidate pool. Query-only.
188
+ */
189
+ maxPerSource?: number;
190
+ /**
191
+ * Ingest-only. Called once per chunk that could NOT be embedded and was
192
+ * therefore not indexed, so a caller can report the shortfall instead of a
193
+ * document that looks fully indexed while part of it is missing.
194
+ */
195
+ onChunkSkipped?: (reason: string) => void;
77
196
  /**
78
197
  * Embedding function override. Defaults to the local embedder. Injectable so
79
198
  * callers (and tests) can supply a deterministic/dummy vectorizer without
@@ -97,6 +216,8 @@ export declare function readKnowledgeManifest(): KnowledgeManifest;
97
216
  export declare function listKnowledgeTags(): KnowledgeTagEntry[];
98
217
  /** One tag's manifest entry, or null. */
99
218
  export declare function getKnowledgeTag(tag: string): KnowledgeTagEntry | null;
219
+ /** Stable id for a document, derived from its path. */
220
+ export declare function documentIdFor(sourcePath: string): string;
100
221
  /** Recursively collect files under a path (bounded, ignores build/vendor dirs). */
101
222
  export declare function collectKnowledgeFiles(root: string, out?: string[], depth?: number): string[];
102
223
  /**
@@ -104,16 +225,121 @@ export declare function collectKnowledgeFiles(root: string, out?: string[], dept
104
225
  * so re-ingesting a changed document overwrites its chunks rather than
105
226
  * duplicating them.
106
227
  */
107
- export declare function ingestKnowledgeText(tag: string, sourcePath: string, text: string, opts?: KnowledgeOptions): Promise<number>;
228
+ export declare function ingestKnowledgeText(tag: string, sourcePath: string, text: string, opts?: KnowledgeOptions,
229
+ /**
230
+ * How many chunks this same `<tag>:<sourcePath>` contributed LAST time, so a
231
+ * document that got shorter has its retired tail removed. `ingestKnowledge`
232
+ * passes the count it reads from the manifest.
233
+ */
234
+ previousChunkCount?: number): Promise<number>;
108
235
  /**
109
236
  * Ingest one or more files/directories under a tag. Extraction, chunking and
110
237
  * embedding happen ONCE here; later questions only embed a short query.
111
238
  */
112
239
  export declare function ingestKnowledge(tag: string, paths: string[], opts?: KnowledgeOptions): Promise<IngestResult>;
113
- /** Embed the question and return the tag's top-k chunks. Never throws. */
240
+ /**
241
+ * Embed the question and return the tag's top-k chunks. Never throws.
242
+ *
243
+ * Two retrievers run over the same namespace and their RANKS are fused:
244
+ *
245
+ * 1. **Dense** — cosine over the stored vectors, gated by `minSimilarity`.
246
+ * This is the Phase-0 relevance floor and it is unchanged: a passage the
247
+ * embeddings do not consider related is not dense evidence.
248
+ * 2. **Lexical** — BM25 over the stored chunk text, which can find the exact
249
+ * term a dense retriever missed. A lexical hit is evidence by itself, so it
250
+ * is admitted even when its cosine sits below the floor — that is the whole
251
+ * reason the second retriever exists, and it is why `minSimilarity` alone
252
+ * can no longer force an empty result for a question that shares vocabulary
253
+ * with the corpus. Pass `fusion: 'dense'` to get the old, purely-cosine
254
+ * behaviour.
255
+ *
256
+ * Reciprocal Rank Fusion scores each candidate `Σ 1/(RRF_K + rank)`. Scores are
257
+ * never summed across halves — cosine and BM25 are on different scales, and
258
+ * adding them would silently weight whichever happens to have the larger range.
259
+ * RRF only needs each half to ORDER its candidates, so a backend change cannot
260
+ * move the fusion.
261
+ *
262
+ * The fused ranking is then capped per source document, so one long file cannot
263
+ * take every slot from the shorter one that answers the question.
264
+ */
114
265
  export declare function queryKnowledge(tag: string, question: string, opts?: KnowledgeOptions): Promise<KnowledgeHit[]>;
266
+ /** Cap on a read, so "the whole document" cannot become an unbounded prompt. */
267
+ export declare const MAX_READ_CHARS = 40000;
268
+ /** One heading in a document's table of contents. */
269
+ export interface KnowledgeSectionInfo {
270
+ title: string;
271
+ headingPath: string;
272
+ level: number;
273
+ chars: number;
274
+ }
275
+ /** A document in a tag's table of contents. */
276
+ export interface KnowledgeDocumentOutline {
277
+ docId: string;
278
+ path: string;
279
+ title: string;
280
+ chunks: number;
281
+ addedAt: number;
282
+ sections: KnowledgeSectionInfo[];
283
+ }
284
+ /**
285
+ * Read a document's text, or one of its sections.
286
+ *
287
+ * `section` is matched against the section's heading path, case-insensitively,
288
+ * with or without the ancestors (`"Token refresh"` finds
289
+ * `Auth Design > Token refresh`, and so does the full path). An unknown section
290
+ * returns the available ones instead of the whole document, because silently
291
+ * answering a narrower question with everything is how a reader concludes the
292
+ * document says something it never said.
293
+ */
294
+ export declare function readKnowledgeDocument(tag: string, docRef: string, section?: string): {
295
+ ok: true;
296
+ text: string;
297
+ truncated: boolean;
298
+ path: string;
299
+ headingPath?: string;
300
+ } | {
301
+ ok: false;
302
+ reason: string;
303
+ };
304
+ /** Every document under a tag, with its heading tree. */
305
+ export declare function listKnowledgeSections(tag: string, docRef?: string): KnowledgeDocumentOutline[];
306
+ /**
307
+ * Remove one document from a tag: its chunks, its stored text, its manifest row.
308
+ * Used by `syncKnowledgeTag` when a file is no longer present under a synced
309
+ * root, and by the CLI to drop a single document without forgetting the tag.
310
+ */
311
+ export declare function removeKnowledgeDocument(tag: string, docRef: string): Promise<boolean>;
115
312
  /** Remove a tag's vectors and manifest entry. Returns true when something was removed. */
116
313
  export declare function forgetKnowledgeTag(tag: string): Promise<boolean>;
314
+ /** What a sync changed. `changed` and `added` re-embedded; `unchanged` did not. */
315
+ export interface SyncResult {
316
+ tag: string;
317
+ added: number;
318
+ changed: number;
319
+ unchanged: number;
320
+ /** Documents dropped because they are no longer under a synced root. */
321
+ removed: string[];
322
+ chunks: number;
323
+ skipped: Array<{
324
+ path: string;
325
+ reason: string;
326
+ }>;
327
+ }
328
+ /**
329
+ * Bring a tag up to date with the folders it is kept in step with.
330
+ *
331
+ * This is `add` plus the two things a folder being kept in step needs: content
332
+ * hashes mean an unchanged file is not re-extracted, re-chunked or re-embedded,
333
+ * and a file that has DISAPPEARED stops being served.
334
+ *
335
+ * Removal is scoped to the roots the caller actually synced. Syncing `./specs`
336
+ * must not delete documents ingested from somewhere else, so a document is only
337
+ * pruned when it lives under one of the synced directories AND was absent from
338
+ * that directory's enumeration — a precise rule, rather than "anything not in
339
+ * this list", which would quietly empty a tag the first time it was called with
340
+ * the wrong path.
341
+ */
342
+ export declare function syncKnowledgeTag(tag: string, paths: string[], opts?: KnowledgeOptions): Promise<SyncResult>;
117
343
  /**
118
344
  * Render retrieved chunks as context that ATTRIBUTES each part to the user's
119
345
  * data. The model can then answer the data half from here and the generic half
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge-base.d.ts","sourceRoot":"","sources":["../../src/learning/knowledge-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge-base.d.ts","sourceRoot":"","sources":["../../src/learning/knowledge-base.ts"],"names":[],"mappings":"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"}