muonroi-cli 1.8.0 → 1.8.3

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 (975) hide show
  1. package/dist/src/agent-harness/mock-model.js +112 -4
  2. package/dist/src/cli/cost-forensics.js +7 -4
  3. package/dist/src/flow/compaction/index.d.ts +1 -0
  4. package/dist/src/flow/compaction/index.js +4 -0
  5. package/dist/src/generated/version.d.ts +1 -1
  6. package/dist/src/generated/version.js +1 -1
  7. package/dist/src/index.js +4 -2
  8. package/dist/src/lsp/manager.js +11 -3
  9. package/dist/src/mcp/auto-setup.js +0 -8
  10. package/dist/src/mcp/self-verify-jobs.d.ts +1 -0
  11. package/dist/src/mcp/self-verify-runner.js +1 -1
  12. package/dist/src/mcp/setup-guide-text.d.ts +1 -1
  13. package/dist/src/mcp/setup-guide-text.js +3 -1
  14. package/dist/src/orchestrator/auto-commit.js +9 -7
  15. package/dist/src/orchestrator/message-processor.d.ts +2 -0
  16. package/dist/src/orchestrator/message-processor.js +7 -0
  17. package/dist/src/orchestrator/orchestrator.d.ts +3 -0
  18. package/dist/src/orchestrator/orchestrator.js +371 -28
  19. package/dist/src/orchestrator/pending-calls.js +2 -1
  20. package/dist/src/orchestrator/preprocessor.js +3 -2
  21. package/dist/src/orchestrator/prompts.d.ts +8 -0
  22. package/dist/src/orchestrator/prompts.js +224 -177
  23. package/dist/src/orchestrator/sub-agent-cap.d.ts +2 -0
  24. package/dist/src/orchestrator/sub-agent-cap.js +12 -4
  25. package/dist/src/orchestrator/subagent-compactor.d.ts +7 -0
  26. package/dist/src/orchestrator/subagent-compactor.js +65 -14
  27. package/dist/src/orchestrator/tool-engine.d.ts +2 -0
  28. package/dist/src/orchestrator/tool-engine.js +80 -21
  29. package/dist/src/orchestrator/turn-runner-deps.d.ts +2 -0
  30. package/dist/src/pil/llm-classify.d.ts +11 -0
  31. package/dist/src/pil/llm-classify.js +193 -0
  32. package/dist/src/self-qa/agentic-loop.js +30 -21
  33. package/dist/src/storage/index.d.ts +1 -1
  34. package/dist/src/storage/index.js +1 -1
  35. package/dist/src/storage/migrations.js +13 -1
  36. package/dist/src/storage/transcript.d.ts +2 -0
  37. package/dist/src/storage/transcript.js +304 -178
  38. package/dist/src/storage/usage.js +22 -5
  39. package/dist/src/tools/native-tools.js +10 -1
  40. package/dist/src/tools/registry.d.ts +1 -0
  41. package/dist/src/tools/registry.js +30 -2
  42. package/dist/src/types/index.d.ts +1 -1
  43. package/dist/src/ui/app.js +0 -0
  44. package/dist/src/ui/slash/expand.js +14 -1
  45. package/dist/src/ui/use-app-logic.js +0 -0
  46. package/dist/src/utils/install-manager.d.ts +2 -0
  47. package/dist/src/utils/install-manager.js +105 -7
  48. package/dist/src/utils/logger.d.ts +28 -0
  49. package/dist/src/utils/logger.js +171 -0
  50. package/dist/src/utils/settings.d.ts +9 -1
  51. package/dist/src/utils/settings.js +59 -22
  52. package/dist/src/utils/update-checker.js +12 -2
  53. package/package.json +8 -1
  54. package/dist/src/__test-helpers__/catalog-fixtures.d.ts +0 -22
  55. package/dist/src/__test-helpers__/catalog-fixtures.js +0 -55
  56. package/dist/src/__test-stubs__/ee-server.d.ts +0 -27
  57. package/dist/src/__test-stubs__/ee-server.js +0 -138
  58. package/dist/src/__test-stubs__/vitest-setup.d.ts +0 -1
  59. package/dist/src/__test-stubs__/vitest-setup.js +0 -38
  60. package/dist/src/__tests__/council/bubble-layout.test.d.ts +0 -1
  61. package/dist/src/__tests__/council/bubble-layout.test.js +0 -39
  62. package/dist/src/__tests__/council/code-block-truncate.test.d.ts +0 -1
  63. package/dist/src/__tests__/council/code-block-truncate.test.js +0 -45
  64. package/dist/src/__tests__/council/role-palette.test.d.ts +0 -1
  65. package/dist/src/__tests__/council/role-palette.test.js +0 -59
  66. package/dist/src/__tests__/first-run-wizard.test.d.ts +0 -1
  67. package/dist/src/__tests__/first-run-wizard.test.js +0 -9
  68. package/dist/src/agent-harness/__tests__/cli-flags.spec.d.ts +0 -1
  69. package/dist/src/agent-harness/__tests__/cli-flags.spec.js +0 -33
  70. package/dist/src/agent-harness/__tests__/driver.spec.d.ts +0 -1
  71. package/dist/src/agent-harness/__tests__/driver.spec.js +0 -141
  72. package/dist/src/agent-harness/__tests__/idle.spec.d.ts +0 -1
  73. package/dist/src/agent-harness/__tests__/idle.spec.js +0 -84
  74. package/dist/src/agent-harness/__tests__/mock-llm.spec.d.ts +0 -1
  75. package/dist/src/agent-harness/__tests__/mock-llm.spec.js +0 -91
  76. package/dist/src/agent-harness/__tests__/mock-model.spec.d.ts +0 -5
  77. package/dist/src/agent-harness/__tests__/mock-model.spec.js +0 -270
  78. package/dist/src/agent-harness/__tests__/predicate.spec.d.ts +0 -1
  79. package/dist/src/agent-harness/__tests__/predicate.spec.js +0 -27
  80. package/dist/src/agent-harness/__tests__/protocol.spec.d.ts +0 -1
  81. package/dist/src/agent-harness/__tests__/protocol.spec.js +0 -56
  82. package/dist/src/agent-harness/__tests__/schema.spec.d.ts +0 -1
  83. package/dist/src/agent-harness/__tests__/schema.spec.js +0 -76
  84. package/dist/src/agent-harness/__tests__/selector.spec.d.ts +0 -1
  85. package/dist/src/agent-harness/__tests__/selector.spec.js +0 -70
  86. package/dist/src/agent-harness/__tests__/sidechannel.spec.d.ts +0 -1
  87. package/dist/src/agent-harness/__tests__/sidechannel.spec.js +0 -29
  88. package/dist/src/agent-harness/__tests__/spec-helpers.spec.d.ts +0 -1
  89. package/dist/src/agent-harness/__tests__/spec-helpers.spec.js +0 -68
  90. package/dist/src/chat/__tests__/broadcast-bus.test.d.ts +0 -1
  91. package/dist/src/chat/__tests__/broadcast-bus.test.js +0 -81
  92. package/dist/src/chat/__tests__/channel-manager.test.d.ts +0 -1
  93. package/dist/src/chat/__tests__/channel-manager.test.js +0 -133
  94. package/dist/src/chat/__tests__/client.test.d.ts +0 -1
  95. package/dist/src/chat/__tests__/client.test.js +0 -109
  96. package/dist/src/chat/__tests__/discord-integration.test.d.ts +0 -1
  97. package/dist/src/chat/__tests__/discord-integration.test.js +0 -153
  98. package/dist/src/chat/__tests__/intent-prompt.test.d.ts +0 -1
  99. package/dist/src/chat/__tests__/intent-prompt.test.js +0 -80
  100. package/dist/src/chat/__tests__/verdict-resolver.test.d.ts +0 -1
  101. package/dist/src/chat/__tests__/verdict-resolver.test.js +0 -308
  102. package/dist/src/cli/__tests__/bw-vault.test.d.ts +0 -1
  103. package/dist/src/cli/__tests__/bw-vault.test.js +0 -87
  104. package/dist/src/cli/__tests__/keys-bundle.test.d.ts +0 -1
  105. package/dist/src/cli/__tests__/keys-bundle.test.js +0 -40
  106. package/dist/src/cli/__tests__/share-cmd.test.d.ts +0 -1
  107. package/dist/src/cli/__tests__/share-cmd.test.js +0 -175
  108. package/dist/src/cli/config/__tests__/model-picker.test.d.ts +0 -1
  109. package/dist/src/cli/config/__tests__/model-picker.test.js +0 -56
  110. package/dist/src/cli/config/__tests__/provider-fetch.test.d.ts +0 -1
  111. package/dist/src/cli/config/__tests__/provider-fetch.test.js +0 -38
  112. package/dist/src/cli/cost-forensics.test.d.ts +0 -1
  113. package/dist/src/cli/cost-forensics.test.js +0 -223
  114. package/dist/src/cli/experience-report.test.d.ts +0 -5
  115. package/dist/src/cli/experience-report.test.js +0 -63
  116. package/dist/src/cli/keys.test.d.ts +0 -1
  117. package/dist/src/cli/keys.test.js +0 -86
  118. package/dist/src/council/__tests__/abort-threading.test.d.ts +0 -1
  119. package/dist/src/council/__tests__/abort-threading.test.js +0 -193
  120. package/dist/src/council/__tests__/accounting.test.d.ts +0 -1
  121. package/dist/src/council/__tests__/accounting.test.js +0 -66
  122. package/dist/src/council/__tests__/audit-replay.test.d.ts +0 -1
  123. package/dist/src/council/__tests__/audit-replay.test.js +0 -241
  124. package/dist/src/council/__tests__/clarification-prompt.test.d.ts +0 -1
  125. package/dist/src/council/__tests__/clarification-prompt.test.js +0 -71
  126. package/dist/src/council/__tests__/clarifier-max-rounds.test.d.ts +0 -1
  127. package/dist/src/council/__tests__/clarifier-max-rounds.test.js +0 -46
  128. package/dist/src/council/__tests__/clarifier-options.test.d.ts +0 -1
  129. package/dist/src/council/__tests__/clarifier-options.test.js +0 -54
  130. package/dist/src/council/__tests__/clarifier-ready-gate.test.d.ts +0 -1
  131. package/dist/src/council/__tests__/clarifier-ready-gate.test.js +0 -265
  132. package/dist/src/council/__tests__/cost-aware.test.d.ts +0 -1
  133. package/dist/src/council/__tests__/cost-aware.test.js +0 -49
  134. package/dist/src/council/__tests__/council-turn-length-emit.test.d.ts +0 -1
  135. package/dist/src/council/__tests__/council-turn-length-emit.test.js +0 -130
  136. package/dist/src/council/__tests__/debate-planner-structured.test.d.ts +0 -1
  137. package/dist/src/council/__tests__/debate-planner-structured.test.js +0 -209
  138. package/dist/src/council/__tests__/debate-round-budget.test.d.ts +0 -1
  139. package/dist/src/council/__tests__/debate-round-budget.test.js +0 -45
  140. package/dist/src/council/__tests__/decisions-lock.test.d.ts +0 -6
  141. package/dist/src/council/__tests__/decisions-lock.test.js +0 -352
  142. package/dist/src/council/__tests__/evaluator-metrics.test.d.ts +0 -1
  143. package/dist/src/council/__tests__/evaluator-metrics.test.js +0 -463
  144. package/dist/src/council/__tests__/oauth-reachable.test.d.ts +0 -1
  145. package/dist/src/council/__tests__/oauth-reachable.test.js +0 -31
  146. package/dist/src/council/__tests__/parse-outcome-fallback.test.d.ts +0 -1
  147. package/dist/src/council/__tests__/parse-outcome-fallback.test.js +0 -114
  148. package/dist/src/council/__tests__/post-debate-recommendation.test.d.ts +0 -1
  149. package/dist/src/council/__tests__/post-debate-recommendation.test.js +0 -58
  150. package/dist/src/council/__tests__/research-tools.test.d.ts +0 -1
  151. package/dist/src/council/__tests__/research-tools.test.js +0 -214
  152. package/dist/src/council/__tests__/round-tools.test.d.ts +0 -1
  153. package/dist/src/council/__tests__/round-tools.test.js +0 -306
  154. package/dist/src/council/__tests__/tool-trace.test.d.ts +0 -1
  155. package/dist/src/council/__tests__/tool-trace.test.js +0 -131
  156. package/dist/src/council/__tests__/types-contract.test.d.ts +0 -9
  157. package/dist/src/council/__tests__/types-contract.test.js +0 -82
  158. package/dist/src/council/clarifier-question-cap.test.d.ts +0 -12
  159. package/dist/src/council/clarifier-question-cap.test.js +0 -73
  160. package/dist/src/daemon/scheduler.test.d.ts +0 -1
  161. package/dist/src/daemon/scheduler.test.js +0 -103
  162. package/dist/src/ee/__tests__/bb-design.test.d.ts +0 -14
  163. package/dist/src/ee/__tests__/bb-design.test.js +0 -180
  164. package/dist/src/ee/__tests__/ee-onboarding.test.d.ts +0 -1
  165. package/dist/src/ee/__tests__/ee-onboarding.test.js +0 -32
  166. package/dist/src/ee/__tests__/export-transcripts.test.d.ts +0 -11
  167. package/dist/src/ee/__tests__/export-transcripts.test.js +0 -200
  168. package/dist/src/ee/__tests__/pil-context-bridge.test.d.ts +0 -1
  169. package/dist/src/ee/__tests__/pil-context-bridge.test.js +0 -54
  170. package/dist/src/ee/__tests__/pipeline.integration.test.d.ts +0 -14
  171. package/dist/src/ee/__tests__/pipeline.integration.test.js +0 -151
  172. package/dist/src/ee/__tests__/recall-format.test.d.ts +0 -10
  173. package/dist/src/ee/__tests__/recall-format.test.js +0 -57
  174. package/dist/src/ee/__tests__/recall-ledger.test.d.ts +0 -1
  175. package/dist/src/ee/__tests__/recall-ledger.test.js +0 -45
  176. package/dist/src/ee/__tests__/render-sink-wiring.test.d.ts +0 -1
  177. package/dist/src/ee/__tests__/render-sink-wiring.test.js +0 -74
  178. package/dist/src/ee/artifact-cache.test.d.ts +0 -1
  179. package/dist/src/ee/artifact-cache.test.js +0 -69
  180. package/dist/src/ee/auth.test.d.ts +0 -1
  181. package/dist/src/ee/auth.test.js +0 -59
  182. package/dist/src/ee/bridge.test.d.ts +0 -1
  183. package/dist/src/ee/bridge.test.js +0 -230
  184. package/dist/src/ee/client.test.d.ts +0 -1
  185. package/dist/src/ee/client.test.js +0 -181
  186. package/dist/src/ee/extract-session.test.d.ts +0 -1
  187. package/dist/src/ee/extract-session.test.js +0 -192
  188. package/dist/src/ee/intercept.test.d.ts +0 -1
  189. package/dist/src/ee/intercept.test.js +0 -171
  190. package/dist/src/ee/judge.test.d.ts +0 -1
  191. package/dist/src/ee/judge.test.js +0 -190
  192. package/dist/src/ee/mistake-detector.test.d.ts +0 -1
  193. package/dist/src/ee/mistake-detector.test.js +0 -221
  194. package/dist/src/ee/offline-queue.test.d.ts +0 -1
  195. package/dist/src/ee/offline-queue.test.js +0 -246
  196. package/dist/src/ee/phase-outcome.test.d.ts +0 -1
  197. package/dist/src/ee/phase-outcome.test.js +0 -94
  198. package/dist/src/ee/phase-tracker.test.d.ts +0 -1
  199. package/dist/src/ee/phase-tracker.test.js +0 -142
  200. package/dist/src/ee/posttool.test.d.ts +0 -1
  201. package/dist/src/ee/posttool.test.js +0 -70
  202. package/dist/src/ee/prompt-stale.test.d.ts +0 -8
  203. package/dist/src/ee/prompt-stale.test.js +0 -76
  204. package/dist/src/ee/recall-mirror.test.d.ts +0 -1
  205. package/dist/src/ee/recall-mirror.test.js +0 -65
  206. package/dist/src/ee/render.test.d.ts +0 -1
  207. package/dist/src/ee/render.test.js +0 -63
  208. package/dist/src/ee/scope.test.d.ts +0 -1
  209. package/dist/src/ee/scope.test.js +0 -97
  210. package/dist/src/ee/search.test.d.ts +0 -1
  211. package/dist/src/ee/search.test.js +0 -23
  212. package/dist/src/ee/session-trajectory.test.d.ts +0 -1
  213. package/dist/src/ee/session-trajectory.test.js +0 -120
  214. package/dist/src/ee/touch.test.d.ts +0 -1
  215. package/dist/src/ee/touch.test.js +0 -62
  216. package/dist/src/ee/who-am-i.test.d.ts +0 -1
  217. package/dist/src/ee/who-am-i.test.js +0 -101
  218. package/dist/src/flow/__tests__/migration.test.d.ts +0 -1
  219. package/dist/src/flow/__tests__/migration.test.js +0 -105
  220. package/dist/src/flow/__tests__/parser.test.d.ts +0 -1
  221. package/dist/src/flow/__tests__/parser.test.js +0 -68
  222. package/dist/src/flow/__tests__/run-manager-product.test.d.ts +0 -1
  223. package/dist/src/flow/__tests__/run-manager-product.test.js +0 -49
  224. package/dist/src/flow/__tests__/run-manager.test.d.ts +0 -1
  225. package/dist/src/flow/__tests__/run-manager.test.js +0 -83
  226. package/dist/src/flow/__tests__/scaffold-checkpoint.test.d.ts +0 -1
  227. package/dist/src/flow/__tests__/scaffold-checkpoint.test.js +0 -93
  228. package/dist/src/flow/__tests__/scaffold.test.d.ts +0 -1
  229. package/dist/src/flow/__tests__/scaffold.test.js +0 -47
  230. package/dist/src/flow/__tests__/warning-persist.test.d.ts +0 -5
  231. package/dist/src/flow/__tests__/warning-persist.test.js +0 -96
  232. package/dist/src/flow/compaction/__tests__/compress.test.d.ts +0 -1
  233. package/dist/src/flow/compaction/__tests__/compress.test.js +0 -63
  234. package/dist/src/flow/compaction/__tests__/extract.test.d.ts +0 -1
  235. package/dist/src/flow/compaction/__tests__/extract.test.js +0 -66
  236. package/dist/src/flow/compaction/__tests__/preserve.test.d.ts +0 -1
  237. package/dist/src/flow/compaction/__tests__/preserve.test.js +0 -62
  238. package/dist/src/gsd/__tests__/gray-areas.test.d.ts +0 -1
  239. package/dist/src/gsd/__tests__/gray-areas.test.js +0 -29
  240. package/dist/src/gsd/__tests__/types.test.d.ts +0 -1
  241. package/dist/src/gsd/__tests__/types.test.js +0 -78
  242. package/dist/src/headless/__tests__/council-answers.test.d.ts +0 -1
  243. package/dist/src/headless/__tests__/council-answers.test.js +0 -251
  244. package/dist/src/headless/output.test.d.ts +0 -1
  245. package/dist/src/headless/output.test.js +0 -239
  246. package/dist/src/lsp/builtins.test.d.ts +0 -1
  247. package/dist/src/lsp/builtins.test.js +0 -112
  248. package/dist/src/lsp/client-normalize.test.d.ts +0 -12
  249. package/dist/src/lsp/client-normalize.test.js +0 -34
  250. package/dist/src/lsp/manager.test.d.ts +0 -1
  251. package/dist/src/lsp/manager.test.js +0 -155
  252. package/dist/src/lsp/npm-cache.test.d.ts +0 -1
  253. package/dist/src/lsp/npm-cache.test.js +0 -53
  254. package/dist/src/lsp/smoke.test.d.ts +0 -1
  255. package/dist/src/lsp/smoke.test.js +0 -56
  256. package/dist/src/maintain/__tests__/codebase-intel.test.d.ts +0 -5
  257. package/dist/src/maintain/__tests__/codebase-intel.test.js +0 -237
  258. package/dist/src/maintain/__tests__/gh-create-pr.test.d.ts +0 -11
  259. package/dist/src/maintain/__tests__/gh-create-pr.test.js +0 -160
  260. package/dist/src/maintain/__tests__/pr-builder.test.d.ts +0 -10
  261. package/dist/src/maintain/__tests__/pr-builder.test.js +0 -229
  262. package/dist/src/maintain/__tests__/repo-map.test.d.ts +0 -5
  263. package/dist/src/maintain/__tests__/repo-map.test.js +0 -90
  264. package/dist/src/maintain/__tests__/task-runner.test.d.ts +0 -11
  265. package/dist/src/maintain/__tests__/task-runner.test.js +0 -281
  266. package/dist/src/mcp/__tests__/auto-setup.test.d.ts +0 -1
  267. package/dist/src/mcp/__tests__/auto-setup.test.js +0 -155
  268. package/dist/src/mcp/__tests__/cap-tool-result.test.d.ts +0 -1
  269. package/dist/src/mcp/__tests__/cap-tool-result.test.js +0 -58
  270. package/dist/src/mcp/__tests__/client-pool.spec.d.ts +0 -1
  271. package/dist/src/mcp/__tests__/client-pool.spec.js +0 -169
  272. package/dist/src/mcp/__tests__/ee-tools.test.d.ts +0 -1
  273. package/dist/src/mcp/__tests__/ee-tools.test.js +0 -226
  274. package/dist/src/mcp/__tests__/forensics-tools.test.d.ts +0 -1
  275. package/dist/src/mcp/__tests__/forensics-tools.test.js +0 -54
  276. package/dist/src/mcp/__tests__/harness-driver-action-tools.spec.d.ts +0 -1
  277. package/dist/src/mcp/__tests__/harness-driver-action-tools.spec.js +0 -103
  278. package/dist/src/mcp/__tests__/harness-driver-async-tools.spec.d.ts +0 -1
  279. package/dist/src/mcp/__tests__/harness-driver-async-tools.spec.js +0 -112
  280. package/dist/src/mcp/__tests__/harness-driver-read-tools.spec.d.ts +0 -1
  281. package/dist/src/mcp/__tests__/harness-driver-read-tools.spec.js +0 -124
  282. package/dist/src/mcp/__tests__/harness-driver-security.spec.d.ts +0 -1
  283. package/dist/src/mcp/__tests__/harness-driver-security.spec.js +0 -61
  284. package/dist/src/mcp/__tests__/harness-driver.spec.d.ts +0 -1
  285. package/dist/src/mcp/__tests__/harness-driver.spec.js +0 -20
  286. package/dist/src/mcp/__tests__/lazy-schema.spec.d.ts +0 -1
  287. package/dist/src/mcp/__tests__/lazy-schema.spec.js +0 -152
  288. package/dist/src/mcp/__tests__/lsp-tools.test.d.ts +0 -1
  289. package/dist/src/mcp/__tests__/lsp-tools.test.js +0 -56
  290. package/dist/src/mcp/__tests__/mcp-keychain.test.d.ts +0 -1
  291. package/dist/src/mcp/__tests__/mcp-keychain.test.js +0 -40
  292. package/dist/src/mcp/__tests__/parallel-build.spec.d.ts +0 -1
  293. package/dist/src/mcp/__tests__/parallel-build.spec.js +0 -67
  294. package/dist/src/mcp/__tests__/research-onboarding.test.d.ts +0 -1
  295. package/dist/src/mcp/__tests__/research-onboarding.test.js +0 -148
  296. package/dist/src/mcp/__tests__/runtime-hydration.test.d.ts +0 -1
  297. package/dist/src/mcp/__tests__/runtime-hydration.test.js +0 -78
  298. package/dist/src/mcp/__tests__/runtime-output-cap.test.d.ts +0 -1
  299. package/dist/src/mcp/__tests__/runtime-output-cap.test.js +0 -42
  300. package/dist/src/mcp/__tests__/runtime-sanitize.test.d.ts +0 -1
  301. package/dist/src/mcp/__tests__/runtime-sanitize.test.js +0 -40
  302. package/dist/src/mcp/__tests__/self-verify-jobs.test.d.ts +0 -1
  303. package/dist/src/mcp/__tests__/self-verify-jobs.test.js +0 -92
  304. package/dist/src/mcp/__tests__/smart-filter.test.d.ts +0 -1
  305. package/dist/src/mcp/__tests__/smart-filter.test.js +0 -177
  306. package/dist/src/mcp/__tests__/tools-server.smoke.test.d.ts +0 -1
  307. package/dist/src/mcp/__tests__/tools-server.smoke.test.js +0 -42
  308. package/dist/src/mcp/parse-headers.test.d.ts +0 -1
  309. package/dist/src/mcp/parse-headers.test.js +0 -43
  310. package/dist/src/mcp/smoke.test.d.ts +0 -1
  311. package/dist/src/mcp/smoke.test.js +0 -159
  312. package/dist/src/models/__tests__/registry.test.d.ts +0 -1
  313. package/dist/src/models/__tests__/registry.test.js +0 -74
  314. package/dist/src/models/catalog-gemini.test.d.ts +0 -1
  315. package/dist/src/models/catalog-gemini.test.js +0 -48
  316. package/dist/src/models/catalog-url.test.d.ts +0 -1
  317. package/dist/src/models/catalog-url.test.js +0 -26
  318. package/dist/src/models/catalog-validation.test.d.ts +0 -1
  319. package/dist/src/models/catalog-validation.test.js +0 -63
  320. package/dist/src/ops/__tests__/doctor-council-mcp.test.d.ts +0 -1
  321. package/dist/src/ops/__tests__/doctor-council-mcp.test.js +0 -139
  322. package/dist/src/ops/__tests__/doctor-ee-health.test.d.ts +0 -1
  323. package/dist/src/ops/__tests__/doctor-ee-health.test.js +0 -134
  324. package/dist/src/ops/bug-report.test.d.ts +0 -1
  325. package/dist/src/ops/bug-report.test.js +0 -148
  326. package/dist/src/ops/doctor.test.d.ts +0 -1
  327. package/dist/src/ops/doctor.test.js +0 -97
  328. package/dist/src/orchestrator/__tests__/agent-base-url-switch.test.d.ts +0 -1
  329. package/dist/src/orchestrator/__tests__/agent-base-url-switch.test.js +0 -77
  330. package/dist/src/orchestrator/__tests__/auto-commit.test.d.ts +0 -1
  331. package/dist/src/orchestrator/__tests__/auto-commit.test.js +0 -142
  332. package/dist/src/orchestrator/__tests__/batch-turn-runner.test.d.ts +0 -1
  333. package/dist/src/orchestrator/__tests__/batch-turn-runner.test.js +0 -163
  334. package/dist/src/orchestrator/__tests__/council-manager.test.d.ts +0 -1
  335. package/dist/src/orchestrator/__tests__/council-manager.test.js +0 -148
  336. package/dist/src/orchestrator/__tests__/cross-turn-dedup.test.d.ts +0 -1
  337. package/dist/src/orchestrator/__tests__/cross-turn-dedup.test.js +0 -175
  338. package/dist/src/orchestrator/__tests__/current-call-id.test.d.ts +0 -16
  339. package/dist/src/orchestrator/__tests__/current-call-id.test.js +0 -138
  340. package/dist/src/orchestrator/__tests__/delegations.test.d.ts +0 -1
  341. package/dist/src/orchestrator/__tests__/delegations.test.js +0 -96
  342. package/dist/src/orchestrator/__tests__/error-forensics.test.d.ts +0 -1
  343. package/dist/src/orchestrator/__tests__/error-forensics.test.js +0 -93
  344. package/dist/src/orchestrator/__tests__/flow-resume.test.d.ts +0 -5
  345. package/dist/src/orchestrator/__tests__/flow-resume.test.js +0 -61
  346. package/dist/src/orchestrator/__tests__/humanize-api-error.test.d.ts +0 -1
  347. package/dist/src/orchestrator/__tests__/humanize-api-error.test.js +0 -68
  348. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.d.ts +0 -1
  349. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.js +0 -39
  350. package/dist/src/orchestrator/__tests__/message-processor.test.d.ts +0 -1
  351. package/dist/src/orchestrator/__tests__/message-processor.test.js +0 -188
  352. package/dist/src/orchestrator/__tests__/message-write-ahead.test.d.ts +0 -22
  353. package/dist/src/orchestrator/__tests__/message-write-ahead.test.js +0 -149
  354. package/dist/src/orchestrator/__tests__/project-stack.test.d.ts +0 -1
  355. package/dist/src/orchestrator/__tests__/project-stack.test.js +0 -65
  356. package/dist/src/orchestrator/__tests__/read-path-budget.test.d.ts +0 -1
  357. package/dist/src/orchestrator/__tests__/read-path-budget.test.js +0 -156
  358. package/dist/src/orchestrator/__tests__/retry-classifier.test.d.ts +0 -1
  359. package/dist/src/orchestrator/__tests__/retry-classifier.test.js +0 -112
  360. package/dist/src/orchestrator/__tests__/retry-stream.test.d.ts +0 -1
  361. package/dist/src/orchestrator/__tests__/retry-stream.test.js +0 -151
  362. package/dist/src/orchestrator/__tests__/route-feedback.test.d.ts +0 -1
  363. package/dist/src/orchestrator/__tests__/route-feedback.test.js +0 -47
  364. package/dist/src/orchestrator/__tests__/stream-runner.test.d.ts +0 -1
  365. package/dist/src/orchestrator/__tests__/stream-runner.test.js +0 -202
  366. package/dist/src/orchestrator/__tests__/sub-agent-model-tier.test.d.ts +0 -1
  367. package/dist/src/orchestrator/__tests__/sub-agent-model-tier.test.js +0 -45
  368. package/dist/src/orchestrator/__tests__/usage-events-shape.test.d.ts +0 -8
  369. package/dist/src/orchestrator/__tests__/usage-events-shape.test.js +0 -58
  370. package/dist/src/orchestrator/__tests__/usage-normalizer-c1.test.d.ts +0 -21
  371. package/dist/src/orchestrator/__tests__/usage-normalizer-c1.test.js +0 -155
  372. package/dist/src/orchestrator/__tests__/usage-shape-threading.test.d.ts +0 -1
  373. package/dist/src/orchestrator/__tests__/usage-shape-threading.test.js +0 -98
  374. package/dist/src/orchestrator/__tests__/write-ahead.test.d.ts +0 -20
  375. package/dist/src/orchestrator/__tests__/write-ahead.test.js +0 -134
  376. package/dist/src/orchestrator/abort.test.d.ts +0 -1
  377. package/dist/src/orchestrator/abort.test.js +0 -34
  378. package/dist/src/orchestrator/agent.test.d.ts +0 -1
  379. package/dist/src/orchestrator/agent.test.js +0 -178
  380. package/dist/src/orchestrator/cleanup.test.d.ts +0 -1
  381. package/dist/src/orchestrator/cleanup.test.js +0 -67
  382. package/dist/src/orchestrator/compaction.test.d.ts +0 -1
  383. package/dist/src/orchestrator/compaction.test.js +0 -187
  384. package/dist/src/orchestrator/delegations.test.d.ts +0 -1
  385. package/dist/src/orchestrator/delegations.test.js +0 -107
  386. package/dist/src/orchestrator/grounding-check.test.d.ts +0 -1
  387. package/dist/src/orchestrator/grounding-check.test.js +0 -94
  388. package/dist/src/orchestrator/interrupted-turn.test.d.ts +0 -1
  389. package/dist/src/orchestrator/interrupted-turn.test.js +0 -34
  390. package/dist/src/orchestrator/message-seq.test.d.ts +0 -1
  391. package/dist/src/orchestrator/message-seq.test.js +0 -24
  392. package/dist/src/orchestrator/pending-calls.test.d.ts +0 -1
  393. package/dist/src/orchestrator/pending-calls.test.js +0 -188
  394. package/dist/src/orchestrator/provider-options-shape.spec.d.ts +0 -1
  395. package/dist/src/orchestrator/provider-options-shape.spec.js +0 -63
  396. package/dist/src/orchestrator/reasoning.test.d.ts +0 -1
  397. package/dist/src/orchestrator/reasoning.test.js +0 -101
  398. package/dist/src/orchestrator/repetition-detector.test.d.ts +0 -1
  399. package/dist/src/orchestrator/repetition-detector.test.js +0 -103
  400. package/dist/src/orchestrator/sandbox.test.d.ts +0 -1
  401. package/dist/src/orchestrator/sandbox.test.js +0 -99
  402. package/dist/src/orchestrator/scope-ceiling.test.d.ts +0 -13
  403. package/dist/src/orchestrator/scope-ceiling.test.js +0 -181
  404. package/dist/src/orchestrator/scope-reminder.test.d.ts +0 -15
  405. package/dist/src/orchestrator/scope-reminder.test.js +0 -225
  406. package/dist/src/orchestrator/session-experience.test.d.ts +0 -6
  407. package/dist/src/orchestrator/session-experience.test.js +0 -72
  408. package/dist/src/orchestrator/stall-rescue.test.d.ts +0 -1
  409. package/dist/src/orchestrator/stall-rescue.test.js +0 -117
  410. package/dist/src/orchestrator/stall-watchdog.test.d.ts +0 -1
  411. package/dist/src/orchestrator/stall-watchdog.test.js +0 -153
  412. package/dist/src/orchestrator/steer-inbox.test.d.ts +0 -1
  413. package/dist/src/orchestrator/steer-inbox.test.js +0 -33
  414. package/dist/src/orchestrator/sub-agent-cap.test.d.ts +0 -1
  415. package/dist/src/orchestrator/sub-agent-cap.test.js +0 -208
  416. package/dist/src/orchestrator/subagent-compactor.spec.d.ts +0 -1
  417. package/dist/src/orchestrator/subagent-compactor.spec.js +0 -520
  418. package/dist/src/orchestrator/text-tool-call-detector.test.d.ts +0 -1
  419. package/dist/src/orchestrator/text-tool-call-detector.test.js +0 -147
  420. package/dist/src/orchestrator/token-counter.test.d.ts +0 -1
  421. package/dist/src/orchestrator/token-counter.test.js +0 -57
  422. package/dist/src/orchestrator/tool-args-hash.test.d.ts +0 -1
  423. package/dist/src/orchestrator/tool-args-hash.test.js +0 -105
  424. package/dist/src/orchestrator/tool-args-repair.test.d.ts +0 -1
  425. package/dist/src/orchestrator/tool-args-repair.test.js +0 -136
  426. package/dist/src/orchestrator/tool-loop-askcard.test.d.ts +0 -1
  427. package/dist/src/orchestrator/tool-loop-askcard.test.js +0 -71
  428. package/dist/src/orchestrator/tool-loop-cap.test.d.ts +0 -1
  429. package/dist/src/orchestrator/tool-loop-cap.test.js +0 -176
  430. package/dist/src/orchestrator/tool-repetition-detector.test.d.ts +0 -1
  431. package/dist/src/orchestrator/tool-repetition-detector.test.js +0 -101
  432. package/dist/src/pil/__tests__/budget.test.d.ts +0 -1
  433. package/dist/src/pil/__tests__/budget.test.js +0 -33
  434. package/dist/src/pil/__tests__/clarity-gate.test.d.ts +0 -1
  435. package/dist/src/pil/__tests__/clarity-gate.test.js +0 -37
  436. package/dist/src/pil/__tests__/config.test.d.ts +0 -1
  437. package/dist/src/pil/__tests__/config.test.js +0 -57
  438. package/dist/src/pil/__tests__/discovery-cache.test.d.ts +0 -1
  439. package/dist/src/pil/__tests__/discovery-cache.test.js +0 -38
  440. package/dist/src/pil/__tests__/discovery-types.test.d.ts +0 -1
  441. package/dist/src/pil/__tests__/discovery-types.test.js +0 -65
  442. package/dist/src/pil/__tests__/discovery.test.d.ts +0 -1
  443. package/dist/src/pil/__tests__/discovery.test.js +0 -178
  444. package/dist/src/pil/__tests__/dual-run.test.d.ts +0 -1
  445. package/dist/src/pil/__tests__/dual-run.test.js +0 -51
  446. package/dist/src/pil/__tests__/layer1-intent-trace.test.d.ts +0 -1
  447. package/dist/src/pil/__tests__/layer1-intent-trace.test.js +0 -138
  448. package/dist/src/pil/__tests__/layer1-intent.test.d.ts +0 -1
  449. package/dist/src/pil/__tests__/layer1-intent.test.js +0 -329
  450. package/dist/src/pil/__tests__/layer15-context-scan.test.d.ts +0 -1
  451. package/dist/src/pil/__tests__/layer15-context-scan.test.js +0 -64
  452. package/dist/src/pil/__tests__/layer16-clarity.test.d.ts +0 -1
  453. package/dist/src/pil/__tests__/layer16-clarity.test.js +0 -72
  454. package/dist/src/pil/__tests__/layer17-feasibility.test.d.ts +0 -1
  455. package/dist/src/pil/__tests__/layer17-feasibility.test.js +0 -36
  456. package/dist/src/pil/__tests__/layer18-acceptance.test.d.ts +0 -1
  457. package/dist/src/pil/__tests__/layer18-acceptance.test.js +0 -18
  458. package/dist/src/pil/__tests__/layer2-personality.test.d.ts +0 -1
  459. package/dist/src/pil/__tests__/layer2-personality.test.js +0 -57
  460. package/dist/src/pil/__tests__/layer2_5-ponytail.test.d.ts +0 -1
  461. package/dist/src/pil/__tests__/layer2_5-ponytail.test.js +0 -53
  462. package/dist/src/pil/__tests__/layer3-ee-injection.test.d.ts +0 -1
  463. package/dist/src/pil/__tests__/layer3-ee-injection.test.js +0 -221
  464. package/dist/src/pil/__tests__/layer3-injected-chunk.test.d.ts +0 -1
  465. package/dist/src/pil/__tests__/layer3-injected-chunk.test.js +0 -134
  466. package/dist/src/pil/__tests__/layer4-gsd.test.d.ts +0 -1
  467. package/dist/src/pil/__tests__/layer4-gsd.test.js +0 -191
  468. package/dist/src/pil/__tests__/layer5-context.test.d.ts +0 -1
  469. package/dist/src/pil/__tests__/layer5-context.test.js +0 -175
  470. package/dist/src/pil/__tests__/layer6-output.test.d.ts +0 -1
  471. package/dist/src/pil/__tests__/layer6-output.test.js +0 -465
  472. package/dist/src/pil/__tests__/llm-classify.test.d.ts +0 -1
  473. package/dist/src/pil/__tests__/llm-classify.test.js +0 -197
  474. package/dist/src/pil/__tests__/native-capabilities-workbook.test.d.ts +0 -1
  475. package/dist/src/pil/__tests__/native-capabilities-workbook.test.js +0 -40
  476. package/dist/src/pil/__tests__/ollama-classify.test.d.ts +0 -1
  477. package/dist/src/pil/__tests__/ollama-classify.test.js +0 -68
  478. package/dist/src/pil/__tests__/orchestrator-integration.test.d.ts +0 -10
  479. package/dist/src/pil/__tests__/orchestrator-integration.test.js +0 -100
  480. package/dist/src/pil/__tests__/pipeline.test.d.ts +0 -1
  481. package/dist/src/pil/__tests__/pipeline.test.js +0 -188
  482. package/dist/src/pil/__tests__/renderer-coverage.test.d.ts +0 -7
  483. package/dist/src/pil/__tests__/renderer-coverage.test.js +0 -42
  484. package/dist/src/pil/__tests__/response-tools.test.d.ts +0 -1
  485. package/dist/src/pil/__tests__/response-tools.test.js +0 -242
  486. package/dist/src/pil/__tests__/schema.test.d.ts +0 -1
  487. package/dist/src/pil/__tests__/schema.test.js +0 -202
  488. package/dist/src/pil/__tests__/scoreComplexity.test.d.ts +0 -1
  489. package/dist/src/pil/__tests__/scoreComplexity.test.js +0 -119
  490. package/dist/src/pil/__tests__/scoreSufficiency.test.d.ts +0 -8
  491. package/dist/src/pil/__tests__/scoreSufficiency.test.js +0 -89
  492. package/dist/src/pil/__tests__/store.test.d.ts +0 -1
  493. package/dist/src/pil/__tests__/store.test.js +0 -44
  494. package/dist/src/pil/__tests__/surface-compaction-artifacts.test.d.ts +0 -1
  495. package/dist/src/pil/__tests__/surface-compaction-artifacts.test.js +0 -112
  496. package/dist/src/pil/__tests__/task-tier-map.test.d.ts +0 -1
  497. package/dist/src/pil/__tests__/task-tier-map.test.js +0 -33
  498. package/dist/src/pil/agent-operating-contract.test.d.ts +0 -1
  499. package/dist/src/pil/agent-operating-contract.test.js +0 -80
  500. package/dist/src/pil/cheap-model-playbook.test.d.ts +0 -1
  501. package/dist/src/pil/cheap-model-playbook.test.js +0 -160
  502. package/dist/src/pil/cheap-model-workbooks.test.d.ts +0 -1
  503. package/dist/src/pil/cheap-model-workbooks.test.js +0 -129
  504. package/dist/src/pil/layer1-intent.test.d.ts +0 -1
  505. package/dist/src/pil/layer1-intent.test.js +0 -764
  506. package/dist/src/pil/layer1_5-complexity-size.test.d.ts +0 -10
  507. package/dist/src/pil/layer1_5-complexity-size.test.js +0 -248
  508. package/dist/src/pil/session-experience-injection.test.d.ts +0 -6
  509. package/dist/src/pil/session-experience-injection.test.js +0 -79
  510. package/dist/src/pil/session-state.test.d.ts +0 -1
  511. package/dist/src/pil/session-state.test.js +0 -73
  512. package/dist/src/playbook/__tests__/directives.test.d.ts +0 -1
  513. package/dist/src/playbook/__tests__/directives.test.js +0 -115
  514. package/dist/src/product-loop/__tests__/artifact-io.test.d.ts +0 -1
  515. package/dist/src/product-loop/__tests__/artifact-io.test.js +0 -83
  516. package/dist/src/product-loop/__tests__/assumption-ledger.test.d.ts +0 -1
  517. package/dist/src/product-loop/__tests__/assumption-ledger.test.js +0 -261
  518. package/dist/src/product-loop/__tests__/backlog-builder.test.d.ts +0 -10
  519. package/dist/src/product-loop/__tests__/backlog-builder.test.js +0 -175
  520. package/dist/src/product-loop/__tests__/backlog-store.test.d.ts +0 -4
  521. package/dist/src/product-loop/__tests__/backlog-store.test.js +0 -96
  522. package/dist/src/product-loop/__tests__/cb2-retry-bonus.test.d.ts +0 -13
  523. package/dist/src/product-loop/__tests__/cb2-retry-bonus.test.js +0 -158
  524. package/dist/src/product-loop/__tests__/circuit-breakers-coverage.test.d.ts +0 -1
  525. package/dist/src/product-loop/__tests__/circuit-breakers-coverage.test.js +0 -67
  526. package/dist/src/product-loop/__tests__/circuit-breakers.test.d.ts +0 -1
  527. package/dist/src/product-loop/__tests__/circuit-breakers.test.js +0 -79
  528. package/dist/src/product-loop/__tests__/complexity-routing.spec.d.ts +0 -11
  529. package/dist/src/product-loop/__tests__/complexity-routing.spec.js +0 -240
  530. package/dist/src/product-loop/__tests__/context-policy.test.d.ts +0 -1
  531. package/dist/src/product-loop/__tests__/context-policy.test.js +0 -266
  532. package/dist/src/product-loop/__tests__/cost-preview.test.d.ts +0 -1
  533. package/dist/src/product-loop/__tests__/cost-preview.test.js +0 -111
  534. package/dist/src/product-loop/__tests__/cost-scoper.test.d.ts +0 -1
  535. package/dist/src/product-loop/__tests__/cost-scoper.test.js +0 -50
  536. package/dist/src/product-loop/__tests__/cross-run-memory.test.d.ts +0 -1
  537. package/dist/src/product-loop/__tests__/cross-run-memory.test.js +0 -168
  538. package/dist/src/product-loop/__tests__/design-output.spec.d.ts +0 -1
  539. package/dist/src/product-loop/__tests__/design-output.spec.js +0 -36
  540. package/dist/src/product-loop/__tests__/discover.test.d.ts +0 -1
  541. package/dist/src/product-loop/__tests__/discover.test.js +0 -83
  542. package/dist/src/product-loop/__tests__/discovery-context-format.test.d.ts +0 -13
  543. package/dist/src/product-loop/__tests__/discovery-context-format.test.js +0 -100
  544. package/dist/src/product-loop/__tests__/discovery-council-runner.test.d.ts +0 -1
  545. package/dist/src/product-loop/__tests__/discovery-council-runner.test.js +0 -13
  546. package/dist/src/product-loop/__tests__/discovery-detection.test.d.ts +0 -1
  547. package/dist/src/product-loop/__tests__/discovery-detection.test.js +0 -151
  548. package/dist/src/product-loop/__tests__/discovery-ecosystem.test.d.ts +0 -8
  549. package/dist/src/product-loop/__tests__/discovery-ecosystem.test.js +0 -209
  550. package/dist/src/product-loop/__tests__/discovery-integration.test.d.ts +0 -1
  551. package/dist/src/product-loop/__tests__/discovery-integration.test.js +0 -126
  552. package/dist/src/product-loop/__tests__/discovery-interview.test.d.ts +0 -1
  553. package/dist/src/product-loop/__tests__/discovery-interview.test.js +0 -394
  554. package/dist/src/product-loop/__tests__/discovery-migrations.test.d.ts +0 -1
  555. package/dist/src/product-loop/__tests__/discovery-migrations.test.js +0 -69
  556. package/dist/src/product-loop/__tests__/discovery-persistence.test.d.ts +0 -1
  557. package/dist/src/product-loop/__tests__/discovery-persistence.test.js +0 -146
  558. package/dist/src/product-loop/__tests__/discovery-prompt-parser.test.d.ts +0 -1
  559. package/dist/src/product-loop/__tests__/discovery-prompt-parser.test.js +0 -65
  560. package/dist/src/product-loop/__tests__/discovery-prompt-specificity.test.d.ts +0 -1
  561. package/dist/src/product-loop/__tests__/discovery-prompt-specificity.test.js +0 -55
  562. package/dist/src/product-loop/__tests__/discovery-recommender-ecosystem.test.d.ts +0 -9
  563. package/dist/src/product-loop/__tests__/discovery-recommender-ecosystem.test.js +0 -178
  564. package/dist/src/product-loop/__tests__/discovery-recommender.test.d.ts +0 -1
  565. package/dist/src/product-loop/__tests__/discovery-recommender.test.js +0 -316
  566. package/dist/src/product-loop/__tests__/discovery-schema.test.d.ts +0 -1
  567. package/dist/src/product-loop/__tests__/discovery-schema.test.js +0 -77
  568. package/dist/src/product-loop/__tests__/done-gate-coverage.test.d.ts +0 -1
  569. package/dist/src/product-loop/__tests__/done-gate-coverage.test.js +0 -135
  570. package/dist/src/product-loop/__tests__/done-gate.test.d.ts +0 -1
  571. package/dist/src/product-loop/__tests__/done-gate.test.js +0 -122
  572. package/dist/src/product-loop/__tests__/ee-extract-wiring.test.d.ts +0 -8
  573. package/dist/src/product-loop/__tests__/ee-extract-wiring.test.js +0 -186
  574. package/dist/src/product-loop/__tests__/extract-to-ee.test.d.ts +0 -1
  575. package/dist/src/product-loop/__tests__/extract-to-ee.test.js +0 -161
  576. package/dist/src/product-loop/__tests__/feedback-routing.test.d.ts +0 -1
  577. package/dist/src/product-loop/__tests__/feedback-routing.test.js +0 -83
  578. package/dist/src/product-loop/__tests__/gather-selectable-alts.test.d.ts +0 -15
  579. package/dist/src/product-loop/__tests__/gather-selectable-alts.test.js +0 -143
  580. package/dist/src/product-loop/__tests__/hot-path.spec.d.ts +0 -11
  581. package/dist/src/product-loop/__tests__/hot-path.spec.js +0 -146
  582. package/dist/src/product-loop/__tests__/integration.test.d.ts +0 -7
  583. package/dist/src/product-loop/__tests__/integration.test.js +0 -301
  584. package/dist/src/product-loop/__tests__/loop-driver-audit.test.d.ts +0 -1
  585. package/dist/src/product-loop/__tests__/loop-driver-audit.test.js +0 -269
  586. package/dist/src/product-loop/__tests__/loop-driver.test.d.ts +0 -1
  587. package/dist/src/product-loop/__tests__/loop-driver.test.js +0 -225
  588. package/dist/src/product-loop/__tests__/maintenance-task-synthesis.test.d.ts +0 -8
  589. package/dist/src/product-loop/__tests__/maintenance-task-synthesis.test.js +0 -67
  590. package/dist/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.d.ts +0 -13
  591. package/dist/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.js +0 -268
  592. package/dist/src/product-loop/__tests__/phase-a2-backlog-build.test.d.ts +0 -8
  593. package/dist/src/product-loop/__tests__/phase-a2-backlog-build.test.js +0 -162
  594. package/dist/src/product-loop/__tests__/phase-budget.test.d.ts +0 -1
  595. package/dist/src/product-loop/__tests__/phase-budget.test.js +0 -149
  596. package/dist/src/product-loop/__tests__/phase-orchestrator-integration.test.d.ts +0 -1
  597. package/dist/src/product-loop/__tests__/phase-orchestrator-integration.test.js +0 -138
  598. package/dist/src/product-loop/__tests__/phase-plan.test.d.ts +0 -1
  599. package/dist/src/product-loop/__tests__/phase-plan.test.js +0 -208
  600. package/dist/src/product-loop/__tests__/phase-rituals.test.d.ts +0 -1
  601. package/dist/src/product-loop/__tests__/phase-rituals.test.js +0 -174
  602. package/dist/src/product-loop/__tests__/phase-runner.test.d.ts +0 -1
  603. package/dist/src/product-loop/__tests__/phase-runner.test.js +0 -414
  604. package/dist/src/product-loop/__tests__/phase-tracker-bridge.test.d.ts +0 -1
  605. package/dist/src/product-loop/__tests__/phase-tracker-bridge.test.js +0 -67
  606. package/dist/src/product-loop/__tests__/pick-backend-stack.test.d.ts +0 -11
  607. package/dist/src/product-loop/__tests__/pick-backend-stack.test.js +0 -95
  608. package/dist/src/product-loop/__tests__/product-identity.test.d.ts +0 -1
  609. package/dist/src/product-loop/__tests__/product-identity.test.js +0 -40
  610. package/dist/src/product-loop/__tests__/progress-snapshot.test.d.ts +0 -8
  611. package/dist/src/product-loop/__tests__/progress-snapshot.test.js +0 -152
  612. package/dist/src/product-loop/__tests__/reality-anchor.test.d.ts +0 -1
  613. package/dist/src/product-loop/__tests__/reality-anchor.test.js +0 -49
  614. package/dist/src/product-loop/__tests__/repo-audit.test.d.ts +0 -1
  615. package/dist/src/product-loop/__tests__/repo-audit.test.js +0 -97
  616. package/dist/src/product-loop/__tests__/repo-brief.test.d.ts +0 -9
  617. package/dist/src/product-loop/__tests__/repo-brief.test.js +0 -132
  618. package/dist/src/product-loop/__tests__/role-memory.test.d.ts +0 -1
  619. package/dist/src/product-loop/__tests__/role-memory.test.js +0 -56
  620. package/dist/src/product-loop/__tests__/role-registry.test.d.ts +0 -1
  621. package/dist/src/product-loop/__tests__/role-registry.test.js +0 -222
  622. package/dist/src/product-loop/__tests__/role-routing-ee.test.d.ts +0 -1
  623. package/dist/src/product-loop/__tests__/role-routing-ee.test.js +0 -79
  624. package/dist/src/product-loop/__tests__/route-decision-emit.test.d.ts +0 -10
  625. package/dist/src/product-loop/__tests__/route-decision-emit.test.js +0 -222
  626. package/dist/src/product-loop/__tests__/seed-questions.test.d.ts +0 -1
  627. package/dist/src/product-loop/__tests__/seed-questions.test.js +0 -30
  628. package/dist/src/product-loop/__tests__/ship-polish.test.d.ts +0 -1
  629. package/dist/src/product-loop/__tests__/ship-polish.test.js +0 -96
  630. package/dist/src/product-loop/__tests__/sprint-planner.test.d.ts +0 -6
  631. package/dist/src/product-loop/__tests__/sprint-planner.test.js +0 -140
  632. package/dist/src/product-loop/__tests__/sprint-runner-backlog.test.d.ts +0 -8
  633. package/dist/src/product-loop/__tests__/sprint-runner-backlog.test.js +0 -221
  634. package/dist/src/product-loop/__tests__/sprint-runner-emit.test.d.ts +0 -14
  635. package/dist/src/product-loop/__tests__/sprint-runner-emit.test.js +0 -279
  636. package/dist/src/product-loop/__tests__/sprint-runner-phase-chunks.test.d.ts +0 -14
  637. package/dist/src/product-loop/__tests__/sprint-runner-phase-chunks.test.js +0 -193
  638. package/dist/src/product-loop/__tests__/sprint-runner.test.d.ts +0 -1
  639. package/dist/src/product-loop/__tests__/sprint-runner.test.js +0 -432
  640. package/dist/src/product-loop/__tests__/sprint-self-verify.test.d.ts +0 -8
  641. package/dist/src/product-loop/__tests__/sprint-self-verify.test.js +0 -73
  642. package/dist/src/product-loop/__tests__/sprint-store.test.d.ts +0 -7
  643. package/dist/src/product-loop/__tests__/sprint-store.test.js +0 -84
  644. package/dist/src/product-loop/__tests__/stakeholder-acl.test.d.ts +0 -1
  645. package/dist/src/product-loop/__tests__/stakeholder-acl.test.js +0 -83
  646. package/dist/src/product-loop/__tests__/state-md-ee-injections.test.d.ts +0 -8
  647. package/dist/src/product-loop/__tests__/state-md-ee-injections.test.js +0 -182
  648. package/dist/src/product-loop/__tests__/sufficiency-routing.spec.d.ts +0 -12
  649. package/dist/src/product-loop/__tests__/sufficiency-routing.spec.js +0 -140
  650. package/dist/src/product-loop/__tests__/typed-artifacts.test.d.ts +0 -1
  651. package/dist/src/product-loop/__tests__/typed-artifacts.test.js +0 -222
  652. package/dist/src/product-loop/__tests__/types.test.d.ts +0 -1
  653. package/dist/src/product-loop/__tests__/types.test.js +0 -79
  654. package/dist/src/product-loop/__tests__/verify-failure-threshold.test.d.ts +0 -9
  655. package/dist/src/product-loop/__tests__/verify-failure-threshold.test.js +0 -146
  656. package/dist/src/product-loop/__tests__/verify-failure-tracking.test.d.ts +0 -4
  657. package/dist/src/product-loop/__tests__/verify-failure-tracking.test.js +0 -122
  658. package/dist/src/product-loop/__tests__/verify-result.test.d.ts +0 -1
  659. package/dist/src/product-loop/__tests__/verify-result.test.js +0 -53
  660. package/dist/src/providers/__tests__/adapter-oauth-wiring.test.d.ts +0 -8
  661. package/dist/src/providers/__tests__/adapter-oauth-wiring.test.js +0 -125
  662. package/dist/src/providers/__tests__/capabilities-cosmetic.test.d.ts +0 -1
  663. package/dist/src/providers/__tests__/capabilities-cosmetic.test.js +0 -109
  664. package/dist/src/providers/__tests__/capabilities-flags.test.d.ts +0 -1
  665. package/dist/src/providers/__tests__/capabilities-flags.test.js +0 -145
  666. package/dist/src/providers/__tests__/capabilities-provider-options.test.d.ts +0 -1
  667. package/dist/src/providers/__tests__/capabilities-provider-options.test.js +0 -201
  668. package/dist/src/providers/__tests__/capabilities-sanitize.test.d.ts +0 -1
  669. package/dist/src/providers/__tests__/capabilities-sanitize.test.js +0 -60
  670. package/dist/src/providers/__tests__/capabilities.test.d.ts +0 -1
  671. package/dist/src/providers/__tests__/capabilities.test.js +0 -41
  672. package/dist/src/providers/__tests__/provider-coverage.test.d.ts +0 -1
  673. package/dist/src/providers/__tests__/provider-coverage.test.js +0 -45
  674. package/dist/src/providers/__tests__/reasoning-roundtrip.test.d.ts +0 -1
  675. package/dist/src/providers/__tests__/reasoning-roundtrip.test.js +0 -216
  676. package/dist/src/providers/__tests__/runtime-integration.test.d.ts +0 -1
  677. package/dist/src/providers/__tests__/runtime-integration.test.js +0 -93
  678. package/dist/src/providers/__tests__/runtime.test.d.ts +0 -1
  679. package/dist/src/providers/__tests__/runtime.test.js +0 -80
  680. package/dist/src/providers/__tests__/siliconflow-sse-repair.test.d.ts +0 -1
  681. package/dist/src/providers/__tests__/siliconflow-sse-repair.test.js +0 -267
  682. package/dist/src/providers/__tests__/strategies-registry.test.d.ts +0 -8
  683. package/dist/src/providers/__tests__/strategies-registry.test.js +0 -49
  684. package/dist/src/providers/__tests__/strategies-resolve.test.d.ts +0 -12
  685. package/dist/src/providers/__tests__/strategies-resolve.test.js +0 -128
  686. package/dist/src/providers/__tests__/wire-debug.test.d.ts +0 -1
  687. package/dist/src/providers/__tests__/wire-debug.test.js +0 -39
  688. package/dist/src/providers/adapter.test.d.ts +0 -1
  689. package/dist/src/providers/adapter.test.js +0 -19
  690. package/dist/src/providers/auth/__tests__/browser-flow.test.d.ts +0 -8
  691. package/dist/src/providers/auth/__tests__/browser-flow.test.js +0 -186
  692. package/dist/src/providers/auth/__tests__/device-flow.test.d.ts +0 -6
  693. package/dist/src/providers/auth/__tests__/device-flow.test.js +0 -219
  694. package/dist/src/providers/auth/__tests__/gemini-oauth.test.d.ts +0 -4
  695. package/dist/src/providers/auth/__tests__/gemini-oauth.test.js +0 -306
  696. package/dist/src/providers/auth/__tests__/grok-oauth.test.d.ts +0 -8
  697. package/dist/src/providers/auth/__tests__/grok-oauth.test.js +0 -236
  698. package/dist/src/providers/auth/__tests__/openai-oauth.test.d.ts +0 -7
  699. package/dist/src/providers/auth/__tests__/openai-oauth.test.js +0 -309
  700. package/dist/src/providers/auth/__tests__/token-store.test.d.ts +0 -7
  701. package/dist/src/providers/auth/__tests__/token-store.test.js +0 -125
  702. package/dist/src/providers/errors.test.d.ts +0 -1
  703. package/dist/src/providers/errors.test.js +0 -66
  704. package/dist/src/providers/gemini.test.d.ts +0 -1
  705. package/dist/src/providers/gemini.test.js +0 -37
  706. package/dist/src/providers/keychain.test.d.ts +0 -1
  707. package/dist/src/providers/keychain.test.js +0 -84
  708. package/dist/src/providers/mcp-vision-bridge.test.d.ts +0 -1
  709. package/dist/src/providers/mcp-vision-bridge.test.js +0 -381
  710. package/dist/src/providers/ollama.test.d.ts +0 -1
  711. package/dist/src/providers/ollama.test.js +0 -37
  712. package/dist/src/providers/openai-compatible.test.d.ts +0 -1
  713. package/dist/src/providers/openai-compatible.test.js +0 -53
  714. package/dist/src/providers/openai.test.d.ts +0 -1
  715. package/dist/src/providers/openai.test.js +0 -53
  716. package/dist/src/providers/pricing.test.d.ts +0 -1
  717. package/dist/src/providers/pricing.test.js +0 -81
  718. package/dist/src/providers/prompt-cache-key.spec.d.ts +0 -5
  719. package/dist/src/providers/prompt-cache-key.spec.js +0 -24
  720. package/dist/src/providers/runtime-mock.spec.d.ts +0 -8
  721. package/dist/src/providers/runtime-mock.spec.js +0 -69
  722. package/dist/src/providers/vision-proxy.test.d.ts +0 -1
  723. package/dist/src/providers/vision-proxy.test.js +0 -212
  724. package/dist/src/reporter/__tests__/acl-check.test.d.ts +0 -6
  725. package/dist/src/reporter/__tests__/acl-check.test.js +0 -59
  726. package/dist/src/reporter/__tests__/auto-fire.test.d.ts +0 -10
  727. package/dist/src/reporter/__tests__/auto-fire.test.js +0 -140
  728. package/dist/src/reporter/__tests__/budget.test.d.ts +0 -7
  729. package/dist/src/reporter/__tests__/budget.test.js +0 -60
  730. package/dist/src/reporter/__tests__/handlers.test.d.ts +0 -7
  731. package/dist/src/reporter/__tests__/handlers.test.js +0 -163
  732. package/dist/src/reporter/__tests__/query-router.test.d.ts +0 -6
  733. package/dist/src/reporter/__tests__/query-router.test.js +0 -90
  734. package/dist/src/router/__tests__/step-router.test.d.ts +0 -4
  735. package/dist/src/router/__tests__/step-router.test.js +0 -131
  736. package/dist/src/router/classifier/index.test.d.ts +0 -1
  737. package/dist/src/router/classifier/index.test.js +0 -29
  738. package/dist/src/router/classifier/regex.test.d.ts +0 -1
  739. package/dist/src/router/classifier/regex.test.js +0 -44
  740. package/dist/src/router/classifier/tree-sitter.test.d.ts +0 -1
  741. package/dist/src/router/classifier/tree-sitter.test.js +0 -23
  742. package/dist/src/router/cold.test.d.ts +0 -1
  743. package/dist/src/router/cold.test.js +0 -56
  744. package/dist/src/router/decide.test.d.ts +0 -1
  745. package/dist/src/router/decide.test.js +0 -198
  746. package/dist/src/router/health.test.d.ts +0 -1
  747. package/dist/src/router/health.test.js +0 -52
  748. package/dist/src/router/provider-sentinel.test.d.ts +0 -1
  749. package/dist/src/router/provider-sentinel.test.js +0 -20
  750. package/dist/src/router/role-override.test.d.ts +0 -1
  751. package/dist/src/router/role-override.test.js +0 -26
  752. package/dist/src/router/warm.test.d.ts +0 -1
  753. package/dist/src/router/warm.test.js +0 -202
  754. package/dist/src/scaffold/__tests__/continuation-prompt.test.d.ts +0 -4
  755. package/dist/src/scaffold/__tests__/continuation-prompt.test.js +0 -79
  756. package/dist/src/scaffold/__tests__/continue-as-council.spec.d.ts +0 -10
  757. package/dist/src/scaffold/__tests__/continue-as-council.spec.js +0 -102
  758. package/dist/src/scaffold/__tests__/dotnet-assembly-name.test.d.ts +0 -1
  759. package/dist/src/scaffold/__tests__/dotnet-assembly-name.test.js +0 -27
  760. package/dist/src/scaffold/__tests__/fe-scaffold-contents.test.d.ts +0 -1
  761. package/dist/src/scaffold/__tests__/fe-scaffold-contents.test.js +0 -106
  762. package/dist/src/scaffold/__tests__/init-new.smoke.spec.d.ts +0 -15
  763. package/dist/src/scaffold/__tests__/init-new.smoke.spec.js +0 -81
  764. package/dist/src/scaffold/__tests__/init-new.spec.d.ts +0 -5
  765. package/dist/src/scaffold/__tests__/init-new.spec.js +0 -378
  766. package/dist/src/scaffold/__tests__/install-bb-templates.spec.d.ts +0 -1
  767. package/dist/src/scaffold/__tests__/install-bb-templates.spec.js +0 -77
  768. package/dist/src/scaffold/__tests__/point-to-existing.spec.d.ts +0 -7
  769. package/dist/src/scaffold/__tests__/point-to-existing.spec.js +0 -94
  770. package/dist/src/self-qa/__tests__/agentic-context.test.d.ts +0 -1
  771. package/dist/src/self-qa/__tests__/agentic-context.test.js +0 -98
  772. package/dist/src/self-qa/__tests__/agentic-loop.test.d.ts +0 -1
  773. package/dist/src/self-qa/__tests__/agentic-loop.test.js +0 -62
  774. package/dist/src/self-qa/__tests__/delta-encoder.test.d.ts +0 -1
  775. package/dist/src/self-qa/__tests__/delta-encoder.test.js +0 -97
  776. package/dist/src/self-qa/__tests__/judge.test.d.ts +0 -1
  777. package/dist/src/self-qa/__tests__/judge.test.js +0 -131
  778. package/dist/src/self-qa/__tests__/scenario-planner.test.d.ts +0 -1
  779. package/dist/src/self-qa/__tests__/scenario-planner.test.js +0 -79
  780. package/dist/src/self-qa/__tests__/spec-emitter.test.d.ts +0 -1
  781. package/dist/src/self-qa/__tests__/spec-emitter.test.js +0 -62
  782. package/dist/src/storage/__tests__/migrations.test.d.ts +0 -12
  783. package/dist/src/storage/__tests__/migrations.test.js +0 -357
  784. package/dist/src/storage/__tests__/sweep-stale-pending.test.d.ts +0 -10
  785. package/dist/src/storage/__tests__/sweep-stale-pending.test.js +0 -97
  786. package/dist/src/storage/__tests__/ui-interaction-log.test.d.ts +0 -7
  787. package/dist/src/storage/__tests__/ui-interaction-log.test.js +0 -127
  788. package/dist/src/storage/atomic-io.test.d.ts +0 -1
  789. package/dist/src/storage/atomic-io.test.js +0 -74
  790. package/dist/src/storage/config.test.d.ts +0 -1
  791. package/dist/src/storage/config.test.js +0 -29
  792. package/dist/src/storage/session-experience-store.test.d.ts +0 -5
  793. package/dist/src/storage/session-experience-store.test.js +0 -86
  794. package/dist/src/storage/tool-results.test.d.ts +0 -1
  795. package/dist/src/storage/tool-results.test.js +0 -48
  796. package/dist/src/storage/transcript-response-entry.test.d.ts +0 -1
  797. package/dist/src/storage/transcript-response-entry.test.js +0 -98
  798. package/dist/src/storage/transcript.test.d.ts +0 -1
  799. package/dist/src/storage/transcript.test.js +0 -22
  800. package/dist/src/storage/usage-cap.test.d.ts +0 -1
  801. package/dist/src/storage/usage-cap.test.js +0 -51
  802. package/dist/src/tools/__tests__/native-tools.test.d.ts +0 -1
  803. package/dist/src/tools/__tests__/native-tools.test.js +0 -59
  804. package/dist/src/tools/__tests__/vision-gate.test.d.ts +0 -1
  805. package/dist/src/tools/__tests__/vision-gate.test.js +0 -56
  806. package/dist/src/tools/bash-output-cache.test.d.ts +0 -1
  807. package/dist/src/tools/bash-output-cache.test.js +0 -89
  808. package/dist/src/tools/bash-output-integration.test.d.ts +0 -10
  809. package/dist/src/tools/bash-output-integration.test.js +0 -30
  810. package/dist/src/tools/bash.test.d.ts +0 -1
  811. package/dist/src/tools/bash.test.js +0 -90
  812. package/dist/src/tools/computer.test.d.ts +0 -1
  813. package/dist/src/tools/computer.test.js +0 -142
  814. package/dist/src/tools/file-tracker.test.d.ts +0 -1
  815. package/dist/src/tools/file-tracker.test.js +0 -77
  816. package/dist/src/tools/file.test.d.ts +0 -1
  817. package/dist/src/tools/file.test.js +0 -106
  818. package/dist/src/tools/git-safety.test.d.ts +0 -1
  819. package/dist/src/tools/git-safety.test.js +0 -155
  820. package/dist/src/tools/registry-bash-empty-command.test.d.ts +0 -13
  821. package/dist/src/tools/registry-bash-empty-command.test.js +0 -57
  822. package/dist/src/tools/registry-bash-footer.test.d.ts +0 -7
  823. package/dist/src/tools/registry-bash-footer.test.js +0 -82
  824. package/dist/src/tools/registry-ee-query.test.d.ts +0 -11
  825. package/dist/src/tools/registry-ee-query.test.js +0 -71
  826. package/dist/src/tools/registry-git-safety.test.d.ts +0 -7
  827. package/dist/src/tools/registry-git-safety.test.js +0 -103
  828. package/dist/src/tools/registry-session-repeat.test.d.ts +0 -12
  829. package/dist/src/tools/registry-session-repeat.test.js +0 -87
  830. package/dist/src/tools/registry.test.d.ts +0 -1
  831. package/dist/src/tools/registry.test.js +0 -34
  832. package/dist/src/tools/schedule.test.d.ts +0 -1
  833. package/dist/src/tools/schedule.test.js +0 -118
  834. package/dist/src/tools/todo-write-snapshot.test.d.ts +0 -1
  835. package/dist/src/tools/todo-write-snapshot.test.js +0 -43
  836. package/dist/src/ui/__tests__/markdown-render.test.d.ts +0 -1
  837. package/dist/src/ui/__tests__/markdown-render.test.js +0 -65
  838. package/dist/src/ui/__tests__/picker-providers.test.d.ts +0 -1
  839. package/dist/src/ui/__tests__/picker-providers.test.js +0 -31
  840. package/dist/src/ui/cards/__tests__/product-status-card.test.d.ts +0 -1
  841. package/dist/src/ui/cards/__tests__/product-status-card.test.js +0 -27
  842. package/dist/src/ui/components/__tests__/council-leader-bubble.test.d.ts +0 -1
  843. package/dist/src/ui/components/__tests__/council-leader-bubble.test.js +0 -14
  844. package/dist/src/ui/components/__tests__/council-message-bubble.test.d.ts +0 -1
  845. package/dist/src/ui/components/__tests__/council-message-bubble.test.js +0 -74
  846. package/dist/src/ui/components/__tests__/council-phase-timeline.test.d.ts +0 -1
  847. package/dist/src/ui/components/__tests__/council-phase-timeline.test.js +0 -51
  848. package/dist/src/ui/components/__tests__/council-placeholder-bubble.test.d.ts +0 -1
  849. package/dist/src/ui/components/__tests__/council-placeholder-bubble.test.js +0 -14
  850. package/dist/src/ui/components/__tests__/council-question-card.test.d.ts +0 -1
  851. package/dist/src/ui/components/__tests__/council-question-card.test.js +0 -121
  852. package/dist/src/ui/components/__tests__/council-synthesis-banner.test.d.ts +0 -1
  853. package/dist/src/ui/components/__tests__/council-synthesis-banner.test.js +0 -11
  854. package/dist/src/ui/components/__tests__/task-list-panel.test.d.ts +0 -1
  855. package/dist/src/ui/components/__tests__/task-list-panel.test.js +0 -31
  856. package/dist/src/ui/components/__tests__/use-pair-quote-buffer.test.d.ts +0 -1
  857. package/dist/src/ui/components/__tests__/use-pair-quote-buffer.test.js +0 -37
  858. package/dist/src/ui/slash/__tests__/clear.test.d.ts +0 -1
  859. package/dist/src/ui/slash/__tests__/clear.test.js +0 -58
  860. package/dist/src/ui/slash/__tests__/compact.test.d.ts +0 -1
  861. package/dist/src/ui/slash/__tests__/compact.test.js +0 -43
  862. package/dist/src/ui/slash/__tests__/cost.test.d.ts +0 -1
  863. package/dist/src/ui/slash/__tests__/cost.test.js +0 -54
  864. package/dist/src/ui/slash/__tests__/discuss.test.d.ts +0 -1
  865. package/dist/src/ui/slash/__tests__/discuss.test.js +0 -83
  866. package/dist/src/ui/slash/__tests__/execute.test.d.ts +0 -1
  867. package/dist/src/ui/slash/__tests__/execute.test.js +0 -71
  868. package/dist/src/ui/slash/__tests__/expand.test.d.ts +0 -1
  869. package/dist/src/ui/slash/__tests__/expand.test.js +0 -67
  870. package/dist/src/ui/slash/__tests__/ideal.test.d.ts +0 -1
  871. package/dist/src/ui/slash/__tests__/ideal.test.js +0 -158
  872. package/dist/src/ui/slash/__tests__/menu-parity.test.d.ts +0 -17
  873. package/dist/src/ui/slash/__tests__/menu-parity.test.js +0 -43
  874. package/dist/src/ui/slash/__tests__/optimize.test.d.ts +0 -1
  875. package/dist/src/ui/slash/__tests__/optimize.test.js +0 -130
  876. package/dist/src/ui/slash/__tests__/pin.test.d.ts +0 -1
  877. package/dist/src/ui/slash/__tests__/pin.test.js +0 -38
  878. package/dist/src/ui/slash/__tests__/plan.test.d.ts +0 -1
  879. package/dist/src/ui/slash/__tests__/plan.test.js +0 -82
  880. package/dist/src/ui/slash/__tests__/ponytail.test.d.ts +0 -1
  881. package/dist/src/ui/slash/__tests__/ponytail.test.js +0 -37
  882. package/dist/src/ui/slash/__tests__/status-render.test.d.ts +0 -7
  883. package/dist/src/ui/slash/__tests__/status-render.test.js +0 -77
  884. package/dist/src/ui/slash/route.test.d.ts +0 -1
  885. package/dist/src/ui/slash/route.test.js +0 -70
  886. package/dist/src/ui/status-bar/index.test.d.ts +0 -1
  887. package/dist/src/ui/status-bar/index.test.js +0 -139
  888. package/dist/src/ui/status-bar/store.test.d.ts +0 -1
  889. package/dist/src/ui/status-bar/store.test.js +0 -116
  890. package/dist/src/ui/status-bar/tier-badge.test.d.ts +0 -1
  891. package/dist/src/ui/status-bar/tier-badge.test.js +0 -34
  892. package/dist/src/ui/status-bar/usd-meter.test.d.ts +0 -1
  893. package/dist/src/ui/status-bar/usd-meter.test.js +0 -32
  894. package/dist/src/ui/utils/__tests__/format.test.d.ts +0 -1
  895. package/dist/src/ui/utils/__tests__/format.test.js +0 -50
  896. package/dist/src/ui/utils/__tests__/tools.test.d.ts +0 -1
  897. package/dist/src/ui/utils/__tests__/tools.test.js +0 -48
  898. package/dist/src/ui/utils/relaunch.test.d.ts +0 -1
  899. package/dist/src/ui/utils/relaunch.test.js +0 -133
  900. package/dist/src/ui/utils/text.test.d.ts +0 -1
  901. package/dist/src/ui/utils/text.test.js +0 -47
  902. package/dist/src/usage/__tests__/product-ledger.test.d.ts +0 -1
  903. package/dist/src/usage/__tests__/product-ledger.test.js +0 -60
  904. package/dist/src/usage/downgrade.test.d.ts +0 -1
  905. package/dist/src/usage/downgrade.test.js +0 -70
  906. package/dist/src/usage/estimator.test.d.ts +0 -1
  907. package/dist/src/usage/estimator.test.js +0 -38
  908. package/dist/src/usage/ledger.test.d.ts +0 -1
  909. package/dist/src/usage/ledger.test.js +0 -171
  910. package/dist/src/usage/midstream.test.d.ts +0 -1
  911. package/dist/src/usage/midstream.test.js +0 -47
  912. package/dist/src/usage/thresholds.test.d.ts +0 -1
  913. package/dist/src/usage/thresholds.test.js +0 -77
  914. package/dist/src/utils/__tests__/auto-council-settings.test.d.ts +0 -1
  915. package/dist/src/utils/__tests__/auto-council-settings.test.js +0 -41
  916. package/dist/src/utils/__tests__/compaction-caps.test.d.ts +0 -21
  917. package/dist/src/utils/__tests__/compaction-caps.test.js +0 -187
  918. package/dist/src/utils/__tests__/ee-logger.test.d.ts +0 -11
  919. package/dist/src/utils/__tests__/ee-logger.test.js +0 -165
  920. package/dist/src/utils/__tests__/file-lock.test.d.ts +0 -1
  921. package/dist/src/utils/__tests__/file-lock.test.js +0 -66
  922. package/dist/src/utils/__tests__/footprint-gitignore.test.d.ts +0 -1
  923. package/dist/src/utils/__tests__/footprint-gitignore.test.js +0 -50
  924. package/dist/src/utils/__tests__/llm-deadline-abort.test.d.ts +0 -1
  925. package/dist/src/utils/__tests__/llm-deadline-abort.test.js +0 -33
  926. package/dist/src/utils/__tests__/llm-deadline.test.d.ts +0 -1
  927. package/dist/src/utils/__tests__/llm-deadline.test.js +0 -56
  928. package/dist/src/utils/__tests__/rate-limit.test.d.ts +0 -1
  929. package/dist/src/utils/__tests__/rate-limit.test.js +0 -38
  930. package/dist/src/utils/__tests__/settings-disabled-models.test.d.ts +0 -7
  931. package/dist/src/utils/__tests__/settings-disabled-models.test.js +0 -99
  932. package/dist/src/utils/__tests__/settings-web-research.test.d.ts +0 -1
  933. package/dist/src/utils/__tests__/settings-web-research.test.js +0 -46
  934. package/dist/src/utils/__tests__/slugify.test.d.ts +0 -1
  935. package/dist/src/utils/__tests__/slugify.test.js +0 -37
  936. package/dist/src/utils/__tests__/visible-retry.test.d.ts +0 -1
  937. package/dist/src/utils/__tests__/visible-retry.test.js +0 -143
  938. package/dist/src/utils/install-manager.test.d.ts +0 -1
  939. package/dist/src/utils/install-manager.test.js +0 -127
  940. package/dist/src/utils/instructions.test.d.ts +0 -1
  941. package/dist/src/utils/instructions.test.js +0 -93
  942. package/dist/src/utils/open-url.test.d.ts +0 -1
  943. package/dist/src/utils/open-url.test.js +0 -86
  944. package/dist/src/utils/permission-mode.test.d.ts +0 -1
  945. package/dist/src/utils/permission-mode.test.js +0 -188
  946. package/dist/src/utils/redactor.test.d.ts +0 -1
  947. package/dist/src/utils/redactor.test.js +0 -84
  948. package/dist/src/utils/settings.test.d.ts +0 -1
  949. package/dist/src/utils/settings.test.js +0 -212
  950. package/dist/src/utils/shell.test.d.ts +0 -1
  951. package/dist/src/utils/shell.test.js +0 -97
  952. package/dist/src/utils/skills.test.d.ts +0 -1
  953. package/dist/src/utils/skills.test.js +0 -45
  954. package/dist/src/utils/subagent-display.test.d.ts +0 -1
  955. package/dist/src/utils/subagent-display.test.js +0 -21
  956. package/dist/src/utils/subagents-settings.test.d.ts +0 -1
  957. package/dist/src/utils/subagents-settings.test.js +0 -64
  958. package/dist/src/utils/telegram-audio-settings.test.d.ts +0 -1
  959. package/dist/src/utils/telegram-audio-settings.test.js +0 -39
  960. package/dist/src/utils/update-checker.test.d.ts +0 -1
  961. package/dist/src/utils/update-checker.test.js +0 -138
  962. package/dist/src/verify/__tests__/coverage-parsers.test.d.ts +0 -1
  963. package/dist/src/verify/__tests__/coverage-parsers.test.js +0 -69
  964. package/dist/src/verify/__tests__/dotnet-recipe.test.d.ts +0 -10
  965. package/dist/src/verify/__tests__/dotnet-recipe.test.js +0 -70
  966. package/dist/src/verify/checkpoint.test.d.ts +0 -1
  967. package/dist/src/verify/checkpoint.test.js +0 -160
  968. package/dist/src/verify/entrypoint.test.d.ts +0 -1
  969. package/dist/src/verify/entrypoint.test.js +0 -233
  970. package/dist/src/verify/environment.test.d.ts +0 -1
  971. package/dist/src/verify/environment.test.js +0 -94
  972. package/dist/src/verify/orchestrator.test.d.ts +0 -1
  973. package/dist/src/verify/orchestrator.test.js +0 -126
  974. package/dist/src/verify/runtime-prep.test.d.ts +0 -1
  975. package/dist/src/verify/runtime-prep.test.js +0 -38
@@ -1,200 +0,0 @@
1
- /**
2
- * export-transcripts.test.ts
3
- *
4
- * Unit tests for exportTranscripts() — SQLite → JSONL transcript export.
5
- *
6
- * Strategy: redirect USERPROFILE (Windows) / HOME (POSIX) to a temp dir,
7
- * create a real SQLite DB at `~/.muonroi-cli/muonroi.db`, and call the
8
- * function. Also creates `~/.experience/config.json` so the emit sidecar
9
- * (transcript-emit) does not gate-return null.
10
- */
11
- import { Database } from "bun:sqlite";
12
- // @ts-expect-error — bun:test is provided by the bun runtime; this file runs
13
- // via `bun test`, not vitest (vitest cannot resolve bun:sqlite's `db.run` API).
14
- // Excluded from vitest in vitest.config.ts.
15
- import { afterEach, beforeEach, describe, expect, it } from "bun:test";
16
- import { mkdirSync, rmSync, writeFileSync } from "node:fs";
17
- import { tmpdir } from "node:os";
18
- import { join } from "node:path";
19
- let tmpHome = "";
20
- let origUserProfile;
21
- function cleanDb() {
22
- if (tmpHome) {
23
- try {
24
- rmSync(tmpHome, { recursive: true, force: true, maxRetries: 10, retryDelay: 50 });
25
- }
26
- catch {
27
- /* ok */
28
- }
29
- }
30
- }
31
- function bootstrapDb(sessions) {
32
- const dbDir = join(tmpHome, ".muonroi-cli");
33
- const dbPath = join(dbDir, "muonroi.db");
34
- mkdirSync(dbDir, { recursive: true });
35
- const db = new Database(dbPath, { create: true });
36
- db.run("CREATE TABLE IF NOT EXISTS sessions (id TEXT PRIMARY KEY, updated_at TEXT NOT NULL, cwd_last TEXT DEFAULT NULL)");
37
- db.run("CREATE TABLE IF NOT EXISTS messages (session_id TEXT NOT NULL REFERENCES sessions(id) ON DELETE CASCADE, seq INTEGER NOT NULL, role TEXT NOT NULL, message_json TEXT NOT NULL, created_at TEXT DEFAULT NULL, status TEXT DEFAULT NULL)");
38
- for (const s of sessions) {
39
- db.run("INSERT INTO sessions (id, updated_at, cwd_last) VALUES (?, ?, ?)", [s.sessionId, s.updatedAt, s.cwdLast]);
40
- for (const m of s.messages) {
41
- db.run("INSERT INTO messages (session_id, seq, role, message_json) VALUES (?, ?, ?, ?)", [
42
- s.sessionId,
43
- m.seq,
44
- m.role,
45
- m.messageJson,
46
- ]);
47
- }
48
- }
49
- db.close();
50
- }
51
- beforeEach(() => {
52
- tmpHome = join(tmpdir(), `muonroi-test-export-${Date.now()}`);
53
- const muonroiDir = join(tmpHome, ".muonroi-cli");
54
- const experienceDir = join(tmpHome, ".experience");
55
- mkdirSync(muonroiDir, { recursive: true });
56
- mkdirSync(experienceDir, { recursive: true });
57
- // Create a minimal config so transcript-emit's isEnabled() returns true.
58
- writeFileSync(join(experienceDir, "config.json"), JSON.stringify({}), "utf-8");
59
- origUserProfile = process.env.USERPROFILE;
60
- process.env.USERPROFILE = tmpHome;
61
- });
62
- afterEach(() => {
63
- cleanDb();
64
- if (origUserProfile !== undefined)
65
- process.env.USERPROFILE = origUserProfile;
66
- else
67
- delete process.env.USERPROFILE;
68
- });
69
- // ── tests ────────────────────────────────────────────────────────────
70
- describe("exportTranscripts", () => {
71
- it("no DB file → throws", async () => {
72
- // No bootstrapDb call — DB doesn't exist.
73
- const mod = await import("../export-transcripts.js");
74
- await expect(mod.exportTranscripts()).rejects.toThrow();
75
- });
76
- it("dry-run with 0 sessions => empty result", async () => {
77
- await bootstrapDb([]);
78
- const mod = await import("../export-transcripts.js");
79
- const res = await mod.exportTranscripts({ dryRun: true });
80
- expect(res.totalSessions).toBe(0);
81
- expect(res.written).toBe(0);
82
- expect(res.skippedEmpty).toBe(0);
83
- expect(res.skippedTooSmall).toBe(0);
84
- });
85
- it("dry-run emits sessions with >= 4 messages", async () => {
86
- await bootstrapDb([
87
- {
88
- sessionId: "sess-1",
89
- updatedAt: new Date().toISOString(),
90
- cwdLast: null,
91
- messages: [
92
- { seq: 1, role: "user", messageJson: JSON.stringify({ content: "hi" }) },
93
- { seq: 2, role: "assistant", messageJson: JSON.stringify({ content: "there" }) },
94
- { seq: 3, role: "user", messageJson: JSON.stringify({ content: "again" }) },
95
- { seq: 4, role: "assistant", messageJson: JSON.stringify({ content: "bye" }) },
96
- ],
97
- },
98
- ]);
99
- const mod = await import("../export-transcripts.js");
100
- const res = await mod.exportTranscripts({ dryRun: true });
101
- expect(res.totalSessions).toBe(1);
102
- expect(res.written).toBe(1);
103
- expect(res.skippedEmpty).toBe(0);
104
- expect(res.skippedTooSmall).toBe(0);
105
- });
106
- it("wet-run writes JSONL files", async () => {
107
- await bootstrapDb([
108
- {
109
- sessionId: "sess-1",
110
- updatedAt: new Date().toISOString(),
111
- cwdLast: null,
112
- messages: [
113
- { seq: 1, role: "user", messageJson: JSON.stringify({ content: "hi" }) },
114
- { seq: 2, role: "assistant", messageJson: JSON.stringify({ content: "there" }) },
115
- { seq: 3, role: "user", messageJson: JSON.stringify({ content: "again" }) },
116
- { seq: 4, role: "assistant", messageJson: JSON.stringify({ content: "bye" }) },
117
- ],
118
- },
119
- ]);
120
- const mod = await import("../export-transcripts.js");
121
- const res = await mod.exportTranscripts({ dryRun: false });
122
- expect(res.totalSessions).toBe(1);
123
- expect(res.written).toBe(1);
124
- expect(res.skippedEmpty).toBe(0);
125
- expect(res.skippedTooSmall).toBe(0);
126
- });
127
- it("skips sessions past maxAgeDays", async () => {
128
- const old = new Date(Date.now() - 100 * 86400_000).toISOString();
129
- await bootstrapDb([
130
- {
131
- sessionId: "sess-old",
132
- updatedAt: old,
133
- cwdLast: null,
134
- messages: [
135
- { seq: 1, role: "user", messageJson: JSON.stringify({ content: "old1" }) },
136
- { seq: 2, role: "assistant", messageJson: JSON.stringify({ content: "old resp1" }) },
137
- { seq: 3, role: "user", messageJson: JSON.stringify({ content: "old2" }) },
138
- { seq: 4, role: "assistant", messageJson: JSON.stringify({ content: "old resp2" }) },
139
- ],
140
- },
141
- ]);
142
- const mod = await import("../export-transcripts.js");
143
- const res = await mod.exportTranscripts({ dryRun: true, maxAgeDays: 7 });
144
- expect(res.totalSessions).toBe(0);
145
- expect(res.written).toBe(0);
146
- });
147
- it("skips sessions with too few messages", async () => {
148
- await bootstrapDb([
149
- {
150
- sessionId: "sess-small",
151
- updatedAt: new Date().toISOString(),
152
- cwdLast: null,
153
- messages: [{ seq: 1, role: "user", messageJson: JSON.stringify({ content: "only" }) }],
154
- },
155
- ]);
156
- const mod = await import("../export-transcripts.js");
157
- // Default minMessages = 4
158
- const res = await mod.exportTranscripts({ dryRun: true });
159
- expect(res.totalSessions).toBe(1);
160
- expect(res.written).toBe(0);
161
- expect(res.skippedTooSmall).toBe(1);
162
- });
163
- it("skippedEmpty when messages table returns nothing for a matched session", async () => {
164
- await bootstrapDb([
165
- {
166
- sessionId: "sess-empty",
167
- updatedAt: new Date().toISOString(),
168
- cwdLast: null,
169
- messages: [],
170
- },
171
- ]);
172
- const mod = await import("../export-transcripts.js");
173
- const res = await mod.exportTranscripts({ dryRun: true, maxAgeDays: 30 });
174
- expect(res.totalSessions).toBe(1);
175
- expect(res.written).toBe(0);
176
- expect(res.skippedEmpty).toBe(1);
177
- });
178
- it("bad JSON in message_json row — throws by default", async () => {
179
- await bootstrapDb([
180
- {
181
- sessionId: "sess-bad",
182
- updatedAt: new Date().toISOString(),
183
- cwdLast: null,
184
- messages: [{ seq: 1, role: "user", messageJson: "NOT_VALID_JSON" }],
185
- },
186
- ]);
187
- const mod = await import("../export-transcripts.js");
188
- // The function's inner callback in .map() wraps JSON.parse in try/catch
189
- // and returns null on failure. With null row messages.length<minMessages
190
- // so it falls through to skippedTooSmall. This is intentional per source.
191
- const res = await mod.exportTranscripts({ dryRun: true, minMessages: 1 });
192
- // minMessages=1, but the single row's parse fails → messages.length=0
193
- // -> skippedEmpty not skippedTooSmall
194
- expect(res.totalSessions).toBe(1);
195
- expect(res.written).toBe(0);
196
- expect(res.skippedEmpty).toBe(1);
197
- expect(res.skippedTooSmall).toBe(0);
198
- });
199
- });
200
- //# sourceMappingURL=export-transcripts.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,54 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- import { pilContext, resetPilContextCircuit } from "../bridge.js";
3
- vi.mock("../client-mode.js", () => ({
4
- getCachedEEClientMode: () => ({ mode: "thin", baseUrl: "https://stub", token: "x" }),
5
- }));
6
- vi.mock("../auth.js", () => ({ getCachedServerBaseUrl: () => "https://stub" }));
7
- const mockClient = vi.hoisted(() => ({ pilContext: vi.fn() }));
8
- vi.mock("../intercept.js", () => ({ getDefaultEEClient: () => mockClient }));
9
- describe("pilContext bridge wrapper", () => {
10
- beforeEach(() => {
11
- mockClient.pilContext.mockReset();
12
- resetPilContextCircuit();
13
- });
14
- it("returns parsed response when client succeeds", async () => {
15
- mockClient.pilContext.mockResolvedValueOnce({
16
- taskType: "debug",
17
- intentKind: "task",
18
- outputStyle: "balanced",
19
- confidence: 0.8,
20
- domain: null,
21
- gsd_phase: null,
22
- gsd_route_source: "none",
23
- t0_principles: [],
24
- t1_rules: [],
25
- t2_patterns: [],
26
- retrieval_skipped_reason: null,
27
- cache_hit: false,
28
- inference_ms: 100,
29
- schema_version: "1.0",
30
- });
31
- const result = await pilContext("test prompt");
32
- expect(result?.taskType).toBe("debug");
33
- });
34
- it("returns null on schema reject", async () => {
35
- mockClient.pilContext.mockResolvedValueOnce({ taskType: "debug" }); // missing required fields
36
- const result = await pilContext("test");
37
- expect(result).toBeNull();
38
- });
39
- it("returns null on client failure", async () => {
40
- mockClient.pilContext.mockResolvedValueOnce(null);
41
- const result = await pilContext("test");
42
- expect(result).toBeNull();
43
- });
44
- it("circuit opens after 5 failures in 30s, short-circuits 6th call", async () => {
45
- mockClient.pilContext.mockResolvedValue(null);
46
- for (let i = 0; i < 5; i++)
47
- await pilContext("test");
48
- mockClient.pilContext.mockClear();
49
- const result = await pilContext("test");
50
- expect(result).toBeNull();
51
- expect(mockClient.pilContext).not.toHaveBeenCalled();
52
- });
53
- });
54
- //# sourceMappingURL=pil-context-bridge.test.js.map
@@ -1,14 +0,0 @@
1
- /**
2
- * End-to-end pipeline integration test (ROUTE-12).
3
- *
4
- * Verifies all 5 events fire for a single tool invocation:
5
- * PreToolUse (intercept) -> PostToolUse (posttool) -> Judge -> Feedback -> Touch
6
- *
7
- * Uses real modules + stub HTTP server — no vi.mock.
8
- * Anti-patterns avoided:
9
- * - No HTTP call ordering by array index (fire-and-forget lands non-deterministically)
10
- * - resetEEClientState() in beforeEach (circuit breaker + cache contamination)
11
- * - resetHookState() in beforeEach (_lastWarningResponse contamination between tests)
12
- * - No vi.mock — integration test uses real modules + stub
13
- */
14
- export {};
@@ -1,151 +0,0 @@
1
- /**
2
- * End-to-end pipeline integration test (ROUTE-12).
3
- *
4
- * Verifies all 5 events fire for a single tool invocation:
5
- * PreToolUse (intercept) -> PostToolUse (posttool) -> Judge -> Feedback -> Touch
6
- *
7
- * Uses real modules + stub HTTP server — no vi.mock.
8
- * Anti-patterns avoided:
9
- * - No HTTP call ordering by array index (fire-and-forget lands non-deterministically)
10
- * - resetEEClientState() in beforeEach (circuit breaker + cache contamination)
11
- * - resetHookState() in beforeEach (_lastWarningResponse contamination between tests)
12
- * - No vi.mock — integration test uses real modules + stub
13
- */
14
- import { afterEach, beforeEach, describe, expect, it } from "vitest";
15
- import { startStubEEServer } from "../../__test-stubs__/ee-server.js";
16
- import { executeEventHooks, resetHookState } from "../../hooks/index.js";
17
- import { createEEClient, resetEEClientState } from "../client.js";
18
- import { setDefaultEEClient } from "../intercept.js";
19
- const sampleMatch = {
20
- principle_uuid: "P1",
21
- confidence: 0.9,
22
- why: "test match",
23
- message: "warning: test principle",
24
- embedding_model_version: "v1",
25
- scope_label: "global",
26
- last_matched_at: new Date().toISOString(),
27
- };
28
- describe("EE full pipeline integration (ROUTE-12)", () => {
29
- let stub;
30
- beforeEach(async () => {
31
- resetEEClientState();
32
- resetHookState();
33
- });
34
- afterEach(async () => {
35
- if (stub)
36
- await stub.stop();
37
- resetEEClientState();
38
- resetHookState();
39
- });
40
- it("fires all 5 events for a single tool invocation (intercept -> posttool -> judge -> feedback -> touch)", async () => {
41
- stub = await startStubEEServer({
42
- intercept: () => ({
43
- decision: "allow",
44
- matches: [sampleMatch],
45
- }),
46
- });
47
- const client = createEEClient({
48
- baseUrl: `http://127.0.0.1:${stub.port}`,
49
- timeoutMs: 2000,
50
- });
51
- setDefaultEEClient(client);
52
- // Event 1: PreToolUse — fires intercept, stores warning in _lastWarningResponse
53
- await executeEventHooks({
54
- hook_event_name: "PreToolUse",
55
- tool_name: "Edit",
56
- tool_input: { path: "/tmp/x.ts" },
57
- cwd: process.cwd(),
58
- }, process.cwd());
59
- // Event 2: PostToolUse — fires posttool + (judge -> feedback + touch via judgeCtx)
60
- await executeEventHooks({
61
- hook_event_name: "PostToolUse",
62
- tool_name: "Edit",
63
- tool_input: { path: "/tmp/x.ts" },
64
- tool_output: { result: "ok" },
65
- cwd: process.cwd(),
66
- }, process.cwd());
67
- // Allow fire-and-forget HTTP calls (feedback + touch) to settle
68
- await new Promise((r) => setTimeout(r, 500));
69
- // Assert all 5 pipeline stages fired
70
- expect(stub.calls.intercept).toHaveLength(1); // Stage 1: PreToolUse
71
- expect(stub.calls.posttool).toHaveLength(1); // Stage 2: PostToolUse
72
- expect(stub.calls.feedback.length).toBeGreaterThanOrEqual(1); // Stage 3+4: Judge FOLLOWED -> Feedback
73
- expect(stub.calls.touch.length).toBeGreaterThanOrEqual(1); // Stage 5: Touch (FOLLOWED path)
74
- // Verify feedback classification
75
- expect(stub.calls.feedback[0]).toMatchObject({
76
- principle_uuid: "P1",
77
- classification: "FOLLOWED",
78
- tool_name: "Edit",
79
- });
80
- });
81
- it("auto-judge classifies IRRELEVANT when no matches — feedback and touch not called", async () => {
82
- stub = await startStubEEServer({
83
- intercept: () => ({
84
- decision: "allow",
85
- matches: [], // empty matches => IRRELEVANT
86
- }),
87
- });
88
- const client = createEEClient({
89
- baseUrl: `http://127.0.0.1:${stub.port}`,
90
- timeoutMs: 2000,
91
- });
92
- setDefaultEEClient(client);
93
- await executeEventHooks({
94
- hook_event_name: "PreToolUse",
95
- tool_name: "Edit",
96
- tool_input: { path: "/tmp/y.ts" },
97
- cwd: process.cwd(),
98
- }, process.cwd());
99
- await executeEventHooks({
100
- hook_event_name: "PostToolUse",
101
- tool_name: "Edit",
102
- tool_input: { path: "/tmp/y.ts" },
103
- tool_output: { result: "ok" },
104
- cwd: process.cwd(),
105
- }, process.cwd());
106
- await new Promise((r) => setTimeout(r, 150));
107
- // intercept + posttool fire, but no feedback or touch (IRRELEVANT has no matches to report)
108
- expect(stub.calls.intercept).toHaveLength(1);
109
- expect(stub.calls.posttool).toHaveLength(1);
110
- expect(stub.calls.feedback).toHaveLength(0); // IRRELEVANT: judge.ts line 33 — no feedback for empty matches
111
- expect(stub.calls.touch).toHaveLength(0);
112
- });
113
- it("auto-judge classifies IGNORED when outcome fails — feedback called, touch not called", async () => {
114
- stub = await startStubEEServer({
115
- intercept: () => ({
116
- decision: "allow",
117
- matches: [sampleMatch],
118
- }),
119
- });
120
- const client = createEEClient({
121
- baseUrl: `http://127.0.0.1:${stub.port}`,
122
- timeoutMs: 2000,
123
- });
124
- setDefaultEEClient(client);
125
- // PreToolUse to populate _lastWarningResponse with matches
126
- await executeEventHooks({
127
- hook_event_name: "PreToolUse",
128
- tool_name: "Bash",
129
- tool_input: { command: "exit 1" },
130
- cwd: process.cwd(),
131
- }, process.cwd());
132
- // PostToolUseFailure — outcome.success=false => IGNORED classification
133
- await executeEventHooks({
134
- hook_event_name: "PostToolUseFailure",
135
- tool_name: "Bash",
136
- tool_input: { command: "exit 1" },
137
- error: "exit code 1",
138
- cwd: process.cwd(),
139
- }, process.cwd());
140
- await new Promise((r) => setTimeout(r, 150));
141
- expect(stub.calls.intercept).toHaveLength(1);
142
- expect(stub.calls.posttool).toHaveLength(1);
143
- expect(stub.calls.feedback).toHaveLength(1); // IGNORED: feedback fires
144
- expect(stub.calls.touch).toHaveLength(0); // IGNORED: touch does NOT fire
145
- expect(stub.calls.feedback[0]).toMatchObject({
146
- principle_uuid: "P1",
147
- classification: "IGNORED",
148
- });
149
- });
150
- });
151
- //# sourceMappingURL=pipeline.integration.test.js.map
@@ -1,10 +0,0 @@
1
- /**
2
- * formatRecallForAgent — compact, capped, inline-readable recall index.
3
- *
4
- * Locks the fix for the MCP/builtin ee_query overflow: the recallMode pipeline
5
- * returns ~30k of ranked text, and the old `JSON.stringify(resp)` path blew the
6
- * MCP per-result token cap (forcing a file spill) and JSON-escaped the index.
7
- * This formatter returns the raw ranked text, capped on a line boundary, with a
8
- * count + truncation footer and every `[id col]` handle in the kept region intact.
9
- */
10
- export {};
@@ -1,57 +0,0 @@
1
- /**
2
- * formatRecallForAgent — compact, capped, inline-readable recall index.
3
- *
4
- * Locks the fix for the MCP/builtin ee_query overflow: the recallMode pipeline
5
- * returns ~30k of ranked text, and the old `JSON.stringify(resp)` path blew the
6
- * MCP per-result token cap (forcing a file spill) and JSON-escaped the index.
7
- * This formatter returns the raw ranked text, capped on a line boundary, with a
8
- * count + truncation footer and every `[id col]` handle in the kept region intact.
9
- */
10
- import { describe, expect, it } from "vitest";
11
- import { formatRecallForAgent } from "../search.js";
12
- function resp(text, count) {
13
- return { text, count, entries: [] };
14
- }
15
- describe("formatRecallForAgent", () => {
16
- it("returns the ranked index plus a count footer when it fits", () => {
17
- const out = formatRecallForAgent(resp("- lesson one [id:abc col:experience-behavioral]", 1), { query: "redactor" });
18
- expect(out).toContain("[id:abc col:experience-behavioral]");
19
- expect(out).toContain('[recall: 1 entries for "redactor"]');
20
- expect(out).not.toContain("\\n"); // raw text, not JSON-escaped
21
- });
22
- it("reports zero entries (and never dumps) when nothing matched", () => {
23
- expect(formatRecallForAgent(resp(null, 0), { query: "nope" })).toBe('[recall: 0 entries for "nope" — the brain has nothing here; proceed without it.]');
24
- expect(formatRecallForAgent(resp("ignored stale text", 0))).toContain("0 entries");
25
- });
26
- it("caps oversized text and marks it truncated", () => {
27
- const big = `${"x".repeat(50_000)}`;
28
- const out = formatRecallForAgent(resp(big, 99), { maxChars: 6000, query: "wide" });
29
- expect(out.length).toBeLessThan(6500); // body cap + short footer
30
- expect(out).toContain("truncated");
31
- expect(out).toContain("/50000 chars");
32
- expect(out).toContain("99 entries");
33
- });
34
- it("cuts on a line boundary so a [id col] handle is never split", () => {
35
- // Padded so each line clears the 500-char clamp floor; budget lands inside
36
- // line C → line C is dropped whole rather than split mid-handle.
37
- const pad = "z".repeat(280);
38
- const lineA = `${pad} [id:a col:x]`;
39
- const lineB = `${pad} [id:b col:y]`;
40
- const lineC = `${pad} [id:c col:z]`;
41
- const text = [lineA, lineB, lineC].join("\n");
42
- const cInner = text.indexOf("[id:c col:z]") + 4; // mid-line-C, after the last newline
43
- const out = formatRecallForAgent(resp(text, 3), { maxChars: cInner });
44
- expect(out).toContain("[id:a col:x]");
45
- expect(out).toContain("[id:b col:y]");
46
- expect(out).not.toContain("[id:c col:z]"); // dropped whole, not a dangling partial
47
- expect(out).toContain("truncated");
48
- });
49
- it("clamps maxChars into [500, 20000]", () => {
50
- const text = "y".repeat(30_000);
51
- const tiny = formatRecallForAgent(resp(text, 1), { maxChars: 1 }); // clamped up to 500
52
- const bodyLen = tiny.split("\n\n")[0].length;
53
- expect(bodyLen).toBeGreaterThanOrEqual(500);
54
- expect(bodyLen).toBeLessThanOrEqual(20_000);
55
- });
56
- });
57
- //# sourceMappingURL=recall-format.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,45 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { createRecallLedger } from "../recall-ledger.js";
3
- describe("recall-ledger", () => {
4
- it("records entries as pending and counts them", () => {
5
- const l = createRecallLedger();
6
- l.record([
7
- { id: "a", collection: "c1" },
8
- { id: "b", collection: null },
9
- ], "q1");
10
- expect(l.pendingCount()).toBe(2);
11
- const pending = l.pending();
12
- expect(pending.map((p) => p.id)).toEqual(["a", "b"]);
13
- expect(pending[0].query).toBe("q1");
14
- });
15
- it("first sighting wins — re-recording an unrated id keeps the original query", () => {
16
- const l = createRecallLedger();
17
- l.record([{ id: "a", collection: "c1" }], "first");
18
- l.record([{ id: "a", collection: "c1" }], "second");
19
- expect(l.pendingCount()).toBe(1);
20
- expect(l.pending()[0].query).toBe("first");
21
- });
22
- it("clear() removes a rated id and reports whether it was pending", () => {
23
- const l = createRecallLedger();
24
- l.record([{ id: "a", collection: "c1" }], "q");
25
- expect(l.clear("a")).toBe(true);
26
- expect(l.clear("a")).toBe(false); // already gone
27
- expect(l.pendingCount()).toBe(0);
28
- });
29
- it("ignores entries with empty/missing ids and non-array input", () => {
30
- const l = createRecallLedger();
31
- l.record([
32
- { id: "", collection: "c" },
33
- { id: " ", collection: "c" },
34
- ], "q");
35
- l.record(undefined, "q");
36
- expect(l.pendingCount()).toBe(0);
37
- });
38
- it("reset() empties the ledger", () => {
39
- const l = createRecallLedger();
40
- l.record([{ id: "a", collection: "c" }], "q");
41
- l.reset();
42
- expect(l.pendingCount()).toBe(0);
43
- });
44
- });
45
- //# sourceMappingURL=recall-ledger.test.js.map
@@ -1 +0,0 @@
1
- export {};
@@ -1,74 +0,0 @@
1
- /**
2
- * render-sink-wiring.test.ts
3
- *
4
- * CQ-16a regression tests: emitMatches emits StreamChunk (not string) through custom sink.
5
- * Verifies observable behaviors locked after Wave 1-2 render.ts changes.
6
- */
7
- import { beforeEach, describe, expect, it } from "vitest";
8
- import { emitMatches, getRenderSink, setRenderSink, warningToChunk } from "../render.js";
9
- const FAKE_MATCH = {
10
- confidence: 0.85,
11
- message: "Test warning",
12
- why: "Because test",
13
- scope_label: "global",
14
- principle_uuid: "test-uuid-123",
15
- embedding_model_version: "nomic-embed-text-v1.5",
16
- last_matched_at: "2026-05-08T00:00:00Z",
17
- };
18
- describe("render-sink-wiring (CQ-16a)", () => {
19
- beforeEach(() => {
20
- // Reset to default sink to avoid test pollution
21
- setRenderSink((lineOrChunk) => {
22
- if (typeof lineOrChunk === "string")
23
- console.warn(lineOrChunk);
24
- });
25
- });
26
- it("emitMatches sends experience_warning StreamChunk through custom sink", () => {
27
- const captured = [];
28
- setRenderSink((c) => captured.push(c));
29
- emitMatches([FAKE_MATCH]);
30
- expect(captured).toHaveLength(1);
31
- const chunk = captured[0];
32
- expect(chunk.type).toBe("experience_warning");
33
- });
34
- it("emitMatches chunk carries experienceWarning payload", () => {
35
- const captured = [];
36
- setRenderSink((c) => captured.push(c));
37
- emitMatches([FAKE_MATCH]);
38
- const w = captured[0]?.experienceWarning;
39
- expect(w).toBeDefined();
40
- expect(w?.confidence).toBe(0.85);
41
- expect(w?.principleUuid).toBe("test-uuid-123");
42
- expect(w?.message).toBe("Test warning");
43
- });
44
- it("emitMatches with undefined does not call sink", () => {
45
- let called = false;
46
- setRenderSink(() => {
47
- called = true;
48
- });
49
- emitMatches(undefined);
50
- expect(called).toBe(false);
51
- });
52
- it("emitMatches with empty array does not call sink", () => {
53
- let called = false;
54
- setRenderSink(() => {
55
- called = true;
56
- });
57
- emitMatches([]);
58
- expect(called).toBe(false);
59
- });
60
- it("warningToChunk returns experience_warning StreamChunk with full payload", () => {
61
- const chunk = warningToChunk(FAKE_MATCH);
62
- expect(chunk.type).toBe("experience_warning");
63
- expect(chunk.experienceWarning?.confidence).toBe(0.85);
64
- expect(chunk.experienceWarning?.why).toBe("Because test");
65
- expect(chunk.experienceWarning?.scopeLabel).toBe("global");
66
- expect(chunk.experienceWarning?.principleUuid).toBe("test-uuid-123");
67
- });
68
- it("setRenderSink + getRenderSink roundtrip works", () => {
69
- const myFn = () => { };
70
- setRenderSink(myFn);
71
- expect(getRenderSink()).toBe(myFn);
72
- });
73
- });
74
- //# sourceMappingURL=render-sink-wiring.test.js.map
@@ -1 +0,0 @@
1
- export {};