muonroi-cli 1.8.1 → 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 (971) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +122 -122
  3. package/dist/src/cli/cost-forensics.js +12 -12
  4. package/dist/src/council/prompts.js +20 -20
  5. package/dist/src/generated/version.d.ts +1 -1
  6. package/dist/src/generated/version.js +1 -1
  7. package/dist/src/mcp/oauth-callback.js +2 -2
  8. package/dist/src/mcp/setup-guide-text.d.ts +1 -1
  9. package/dist/src/mcp/setup-guide-text.js +76 -74
  10. package/dist/src/ops/doctor.js +7 -7
  11. package/dist/src/orchestrator/orchestrator.js +22 -13
  12. package/dist/src/orchestrator/prompts.js +159 -159
  13. package/dist/src/pil/layer1-intent.js +37 -37
  14. package/dist/src/pil/layer2_5-ponytail.js +8 -8
  15. package/dist/src/product-loop/done-gate.js +3 -3
  16. package/dist/src/product-loop/loop-driver.js +18 -18
  17. package/dist/src/product-loop/progress-snapshot.js +4 -4
  18. package/dist/src/providers/mcp-vision-bridge.js +48 -48
  19. package/dist/src/reporter/index.js +1 -1
  20. package/dist/src/scaffold/bb-ecosystem-apply.js +47 -47
  21. package/dist/src/scaffold/bb-quality-gate.js +5 -5
  22. package/dist/src/scaffold/continuation-prompt.js +60 -60
  23. package/dist/src/scaffold/init-new.js +453 -453
  24. package/dist/src/self-qa/agentic-loop.js +19 -19
  25. package/dist/src/storage/interaction-log.js +5 -5
  26. package/dist/src/storage/migrations.js +125 -125
  27. package/dist/src/storage/session-experience-store.js +4 -4
  28. package/dist/src/storage/sessions.js +43 -43
  29. package/dist/src/storage/transcript.js +100 -100
  30. package/dist/src/storage/usage.js +14 -14
  31. package/dist/src/storage/workspaces.js +12 -12
  32. package/dist/src/ui/slash/council-inspect.js +4 -4
  33. package/dist/src/utils/clipboard-image.js +23 -23
  34. package/dist/src/utils/install-manager.d.ts +1 -0
  35. package/dist/src/utils/install-manager.js +29 -0
  36. package/dist/src/utils/side-question.js +2 -2
  37. package/dist/src/utils/skills.js +3 -3
  38. package/dist/src/utils/update-checker.js +12 -2
  39. package/package.json +8 -1
  40. package/dist/src/__test-helpers__/catalog-fixtures.d.ts +0 -22
  41. package/dist/src/__test-helpers__/catalog-fixtures.js +0 -55
  42. package/dist/src/__test-stubs__/ee-server.d.ts +0 -27
  43. package/dist/src/__test-stubs__/ee-server.js +0 -138
  44. package/dist/src/__test-stubs__/vitest-setup.d.ts +0 -1
  45. package/dist/src/__test-stubs__/vitest-setup.js +0 -38
  46. package/dist/src/__tests__/council/bubble-layout.test.d.ts +0 -1
  47. package/dist/src/__tests__/council/bubble-layout.test.js +0 -39
  48. package/dist/src/__tests__/council/code-block-truncate.test.d.ts +0 -1
  49. package/dist/src/__tests__/council/code-block-truncate.test.js +0 -45
  50. package/dist/src/__tests__/council/role-palette.test.d.ts +0 -1
  51. package/dist/src/__tests__/council/role-palette.test.js +0 -59
  52. package/dist/src/__tests__/first-run-wizard.test.d.ts +0 -1
  53. package/dist/src/__tests__/first-run-wizard.test.js +0 -9
  54. package/dist/src/agent-harness/__tests__/cli-flags.spec.d.ts +0 -1
  55. package/dist/src/agent-harness/__tests__/cli-flags.spec.js +0 -33
  56. package/dist/src/agent-harness/__tests__/driver.spec.d.ts +0 -1
  57. package/dist/src/agent-harness/__tests__/driver.spec.js +0 -141
  58. package/dist/src/agent-harness/__tests__/idle.spec.d.ts +0 -1
  59. package/dist/src/agent-harness/__tests__/idle.spec.js +0 -84
  60. package/dist/src/agent-harness/__tests__/mock-llm.spec.d.ts +0 -1
  61. package/dist/src/agent-harness/__tests__/mock-llm.spec.js +0 -91
  62. package/dist/src/agent-harness/__tests__/mock-model.spec.d.ts +0 -5
  63. package/dist/src/agent-harness/__tests__/mock-model.spec.js +0 -270
  64. package/dist/src/agent-harness/__tests__/predicate.spec.d.ts +0 -1
  65. package/dist/src/agent-harness/__tests__/predicate.spec.js +0 -27
  66. package/dist/src/agent-harness/__tests__/protocol.spec.d.ts +0 -1
  67. package/dist/src/agent-harness/__tests__/protocol.spec.js +0 -56
  68. package/dist/src/agent-harness/__tests__/schema.spec.d.ts +0 -1
  69. package/dist/src/agent-harness/__tests__/schema.spec.js +0 -76
  70. package/dist/src/agent-harness/__tests__/selector.spec.d.ts +0 -1
  71. package/dist/src/agent-harness/__tests__/selector.spec.js +0 -70
  72. package/dist/src/agent-harness/__tests__/sidechannel.spec.d.ts +0 -1
  73. package/dist/src/agent-harness/__tests__/sidechannel.spec.js +0 -29
  74. package/dist/src/agent-harness/__tests__/spec-helpers.spec.d.ts +0 -1
  75. package/dist/src/agent-harness/__tests__/spec-helpers.spec.js +0 -68
  76. package/dist/src/chat/__tests__/broadcast-bus.test.d.ts +0 -1
  77. package/dist/src/chat/__tests__/broadcast-bus.test.js +0 -81
  78. package/dist/src/chat/__tests__/channel-manager.test.d.ts +0 -1
  79. package/dist/src/chat/__tests__/channel-manager.test.js +0 -133
  80. package/dist/src/chat/__tests__/client.test.d.ts +0 -1
  81. package/dist/src/chat/__tests__/client.test.js +0 -109
  82. package/dist/src/chat/__tests__/discord-integration.test.d.ts +0 -1
  83. package/dist/src/chat/__tests__/discord-integration.test.js +0 -153
  84. package/dist/src/chat/__tests__/intent-prompt.test.d.ts +0 -1
  85. package/dist/src/chat/__tests__/intent-prompt.test.js +0 -80
  86. package/dist/src/chat/__tests__/verdict-resolver.test.d.ts +0 -1
  87. package/dist/src/chat/__tests__/verdict-resolver.test.js +0 -308
  88. package/dist/src/cli/__tests__/bw-vault.test.d.ts +0 -1
  89. package/dist/src/cli/__tests__/bw-vault.test.js +0 -87
  90. package/dist/src/cli/__tests__/keys-bundle.test.d.ts +0 -1
  91. package/dist/src/cli/__tests__/keys-bundle.test.js +0 -40
  92. package/dist/src/cli/__tests__/share-cmd.test.d.ts +0 -1
  93. package/dist/src/cli/__tests__/share-cmd.test.js +0 -175
  94. package/dist/src/cli/config/__tests__/model-picker.test.d.ts +0 -1
  95. package/dist/src/cli/config/__tests__/model-picker.test.js +0 -56
  96. package/dist/src/cli/config/__tests__/provider-fetch.test.d.ts +0 -1
  97. package/dist/src/cli/config/__tests__/provider-fetch.test.js +0 -38
  98. package/dist/src/cli/cost-forensics.test.d.ts +0 -1
  99. package/dist/src/cli/cost-forensics.test.js +0 -223
  100. package/dist/src/cli/experience-report.test.d.ts +0 -5
  101. package/dist/src/cli/experience-report.test.js +0 -63
  102. package/dist/src/cli/keys.test.d.ts +0 -1
  103. package/dist/src/cli/keys.test.js +0 -86
  104. package/dist/src/council/__tests__/abort-threading.test.d.ts +0 -1
  105. package/dist/src/council/__tests__/abort-threading.test.js +0 -193
  106. package/dist/src/council/__tests__/accounting.test.d.ts +0 -1
  107. package/dist/src/council/__tests__/accounting.test.js +0 -66
  108. package/dist/src/council/__tests__/audit-replay.test.d.ts +0 -1
  109. package/dist/src/council/__tests__/audit-replay.test.js +0 -241
  110. package/dist/src/council/__tests__/clarification-prompt.test.d.ts +0 -1
  111. package/dist/src/council/__tests__/clarification-prompt.test.js +0 -71
  112. package/dist/src/council/__tests__/clarifier-max-rounds.test.d.ts +0 -1
  113. package/dist/src/council/__tests__/clarifier-max-rounds.test.js +0 -46
  114. package/dist/src/council/__tests__/clarifier-options.test.d.ts +0 -1
  115. package/dist/src/council/__tests__/clarifier-options.test.js +0 -54
  116. package/dist/src/council/__tests__/clarifier-ready-gate.test.d.ts +0 -1
  117. package/dist/src/council/__tests__/clarifier-ready-gate.test.js +0 -265
  118. package/dist/src/council/__tests__/cost-aware.test.d.ts +0 -1
  119. package/dist/src/council/__tests__/cost-aware.test.js +0 -49
  120. package/dist/src/council/__tests__/council-turn-length-emit.test.d.ts +0 -1
  121. package/dist/src/council/__tests__/council-turn-length-emit.test.js +0 -130
  122. package/dist/src/council/__tests__/debate-planner-structured.test.d.ts +0 -1
  123. package/dist/src/council/__tests__/debate-planner-structured.test.js +0 -209
  124. package/dist/src/council/__tests__/debate-round-budget.test.d.ts +0 -1
  125. package/dist/src/council/__tests__/debate-round-budget.test.js +0 -45
  126. package/dist/src/council/__tests__/decisions-lock.test.d.ts +0 -6
  127. package/dist/src/council/__tests__/decisions-lock.test.js +0 -352
  128. package/dist/src/council/__tests__/evaluator-metrics.test.d.ts +0 -1
  129. package/dist/src/council/__tests__/evaluator-metrics.test.js +0 -463
  130. package/dist/src/council/__tests__/oauth-reachable.test.d.ts +0 -1
  131. package/dist/src/council/__tests__/oauth-reachable.test.js +0 -31
  132. package/dist/src/council/__tests__/parse-outcome-fallback.test.d.ts +0 -1
  133. package/dist/src/council/__tests__/parse-outcome-fallback.test.js +0 -114
  134. package/dist/src/council/__tests__/post-debate-recommendation.test.d.ts +0 -1
  135. package/dist/src/council/__tests__/post-debate-recommendation.test.js +0 -58
  136. package/dist/src/council/__tests__/research-tools.test.d.ts +0 -1
  137. package/dist/src/council/__tests__/research-tools.test.js +0 -214
  138. package/dist/src/council/__tests__/round-tools.test.d.ts +0 -1
  139. package/dist/src/council/__tests__/round-tools.test.js +0 -306
  140. package/dist/src/council/__tests__/tool-trace.test.d.ts +0 -1
  141. package/dist/src/council/__tests__/tool-trace.test.js +0 -131
  142. package/dist/src/council/__tests__/types-contract.test.d.ts +0 -9
  143. package/dist/src/council/__tests__/types-contract.test.js +0 -82
  144. package/dist/src/council/clarifier-question-cap.test.d.ts +0 -12
  145. package/dist/src/council/clarifier-question-cap.test.js +0 -73
  146. package/dist/src/daemon/scheduler.test.d.ts +0 -1
  147. package/dist/src/daemon/scheduler.test.js +0 -103
  148. package/dist/src/ee/__tests__/bb-design.test.d.ts +0 -14
  149. package/dist/src/ee/__tests__/bb-design.test.js +0 -180
  150. package/dist/src/ee/__tests__/ee-onboarding.test.d.ts +0 -1
  151. package/dist/src/ee/__tests__/ee-onboarding.test.js +0 -32
  152. package/dist/src/ee/__tests__/export-transcripts.test.d.ts +0 -11
  153. package/dist/src/ee/__tests__/export-transcripts.test.js +0 -200
  154. package/dist/src/ee/__tests__/pil-context-bridge.test.d.ts +0 -1
  155. package/dist/src/ee/__tests__/pil-context-bridge.test.js +0 -54
  156. package/dist/src/ee/__tests__/pipeline.integration.test.d.ts +0 -14
  157. package/dist/src/ee/__tests__/pipeline.integration.test.js +0 -151
  158. package/dist/src/ee/__tests__/recall-format.test.d.ts +0 -10
  159. package/dist/src/ee/__tests__/recall-format.test.js +0 -57
  160. package/dist/src/ee/__tests__/recall-ledger.test.d.ts +0 -1
  161. package/dist/src/ee/__tests__/recall-ledger.test.js +0 -45
  162. package/dist/src/ee/__tests__/render-sink-wiring.test.d.ts +0 -1
  163. package/dist/src/ee/__tests__/render-sink-wiring.test.js +0 -74
  164. package/dist/src/ee/artifact-cache.test.d.ts +0 -1
  165. package/dist/src/ee/artifact-cache.test.js +0 -69
  166. package/dist/src/ee/auth.test.d.ts +0 -1
  167. package/dist/src/ee/auth.test.js +0 -59
  168. package/dist/src/ee/bridge.test.d.ts +0 -1
  169. package/dist/src/ee/bridge.test.js +0 -230
  170. package/dist/src/ee/client.test.d.ts +0 -1
  171. package/dist/src/ee/client.test.js +0 -181
  172. package/dist/src/ee/extract-session.test.d.ts +0 -1
  173. package/dist/src/ee/extract-session.test.js +0 -192
  174. package/dist/src/ee/intercept.test.d.ts +0 -1
  175. package/dist/src/ee/intercept.test.js +0 -171
  176. package/dist/src/ee/judge.test.d.ts +0 -1
  177. package/dist/src/ee/judge.test.js +0 -190
  178. package/dist/src/ee/mistake-detector.test.d.ts +0 -1
  179. package/dist/src/ee/mistake-detector.test.js +0 -221
  180. package/dist/src/ee/offline-queue.test.d.ts +0 -1
  181. package/dist/src/ee/offline-queue.test.js +0 -246
  182. package/dist/src/ee/phase-outcome.test.d.ts +0 -1
  183. package/dist/src/ee/phase-outcome.test.js +0 -94
  184. package/dist/src/ee/phase-tracker.test.d.ts +0 -1
  185. package/dist/src/ee/phase-tracker.test.js +0 -142
  186. package/dist/src/ee/posttool.test.d.ts +0 -1
  187. package/dist/src/ee/posttool.test.js +0 -70
  188. package/dist/src/ee/prompt-stale.test.d.ts +0 -8
  189. package/dist/src/ee/prompt-stale.test.js +0 -76
  190. package/dist/src/ee/recall-mirror.test.d.ts +0 -1
  191. package/dist/src/ee/recall-mirror.test.js +0 -65
  192. package/dist/src/ee/render.test.d.ts +0 -1
  193. package/dist/src/ee/render.test.js +0 -63
  194. package/dist/src/ee/scope.test.d.ts +0 -1
  195. package/dist/src/ee/scope.test.js +0 -97
  196. package/dist/src/ee/search.test.d.ts +0 -1
  197. package/dist/src/ee/search.test.js +0 -23
  198. package/dist/src/ee/session-trajectory.test.d.ts +0 -1
  199. package/dist/src/ee/session-trajectory.test.js +0 -120
  200. package/dist/src/ee/touch.test.d.ts +0 -1
  201. package/dist/src/ee/touch.test.js +0 -62
  202. package/dist/src/ee/who-am-i.test.d.ts +0 -1
  203. package/dist/src/ee/who-am-i.test.js +0 -101
  204. package/dist/src/flow/__tests__/migration.test.d.ts +0 -1
  205. package/dist/src/flow/__tests__/migration.test.js +0 -105
  206. package/dist/src/flow/__tests__/parser.test.d.ts +0 -1
  207. package/dist/src/flow/__tests__/parser.test.js +0 -68
  208. package/dist/src/flow/__tests__/run-manager-product.test.d.ts +0 -1
  209. package/dist/src/flow/__tests__/run-manager-product.test.js +0 -49
  210. package/dist/src/flow/__tests__/run-manager.test.d.ts +0 -1
  211. package/dist/src/flow/__tests__/run-manager.test.js +0 -83
  212. package/dist/src/flow/__tests__/scaffold-checkpoint.test.d.ts +0 -1
  213. package/dist/src/flow/__tests__/scaffold-checkpoint.test.js +0 -93
  214. package/dist/src/flow/__tests__/scaffold.test.d.ts +0 -1
  215. package/dist/src/flow/__tests__/scaffold.test.js +0 -47
  216. package/dist/src/flow/__tests__/warning-persist.test.d.ts +0 -5
  217. package/dist/src/flow/__tests__/warning-persist.test.js +0 -96
  218. package/dist/src/flow/compaction/__tests__/compress.test.d.ts +0 -1
  219. package/dist/src/flow/compaction/__tests__/compress.test.js +0 -63
  220. package/dist/src/flow/compaction/__tests__/extract.test.d.ts +0 -1
  221. package/dist/src/flow/compaction/__tests__/extract.test.js +0 -66
  222. package/dist/src/flow/compaction/__tests__/preserve.test.d.ts +0 -1
  223. package/dist/src/flow/compaction/__tests__/preserve.test.js +0 -62
  224. package/dist/src/gsd/__tests__/gray-areas.test.d.ts +0 -1
  225. package/dist/src/gsd/__tests__/gray-areas.test.js +0 -29
  226. package/dist/src/gsd/__tests__/types.test.d.ts +0 -1
  227. package/dist/src/gsd/__tests__/types.test.js +0 -78
  228. package/dist/src/headless/__tests__/council-answers.test.d.ts +0 -1
  229. package/dist/src/headless/__tests__/council-answers.test.js +0 -251
  230. package/dist/src/headless/output.test.d.ts +0 -1
  231. package/dist/src/headless/output.test.js +0 -239
  232. package/dist/src/lsp/builtins.test.d.ts +0 -1
  233. package/dist/src/lsp/builtins.test.js +0 -112
  234. package/dist/src/lsp/client-normalize.test.d.ts +0 -12
  235. package/dist/src/lsp/client-normalize.test.js +0 -34
  236. package/dist/src/lsp/manager.test.d.ts +0 -1
  237. package/dist/src/lsp/manager.test.js +0 -194
  238. package/dist/src/lsp/npm-cache.test.d.ts +0 -1
  239. package/dist/src/lsp/npm-cache.test.js +0 -53
  240. package/dist/src/lsp/smoke.test.d.ts +0 -1
  241. package/dist/src/lsp/smoke.test.js +0 -56
  242. package/dist/src/maintain/__tests__/codebase-intel.test.d.ts +0 -5
  243. package/dist/src/maintain/__tests__/codebase-intel.test.js +0 -237
  244. package/dist/src/maintain/__tests__/gh-create-pr.test.d.ts +0 -11
  245. package/dist/src/maintain/__tests__/gh-create-pr.test.js +0 -160
  246. package/dist/src/maintain/__tests__/pr-builder.test.d.ts +0 -10
  247. package/dist/src/maintain/__tests__/pr-builder.test.js +0 -229
  248. package/dist/src/maintain/__tests__/repo-map.test.d.ts +0 -5
  249. package/dist/src/maintain/__tests__/repo-map.test.js +0 -90
  250. package/dist/src/maintain/__tests__/task-runner.test.d.ts +0 -11
  251. package/dist/src/maintain/__tests__/task-runner.test.js +0 -281
  252. package/dist/src/mcp/__tests__/auto-setup.test.d.ts +0 -1
  253. package/dist/src/mcp/__tests__/auto-setup.test.js +0 -155
  254. package/dist/src/mcp/__tests__/cap-tool-result.test.d.ts +0 -1
  255. package/dist/src/mcp/__tests__/cap-tool-result.test.js +0 -58
  256. package/dist/src/mcp/__tests__/client-pool.spec.d.ts +0 -1
  257. package/dist/src/mcp/__tests__/client-pool.spec.js +0 -169
  258. package/dist/src/mcp/__tests__/ee-tools.test.d.ts +0 -1
  259. package/dist/src/mcp/__tests__/ee-tools.test.js +0 -226
  260. package/dist/src/mcp/__tests__/forensics-tools.test.d.ts +0 -1
  261. package/dist/src/mcp/__tests__/forensics-tools.test.js +0 -54
  262. package/dist/src/mcp/__tests__/harness-driver-action-tools.spec.d.ts +0 -1
  263. package/dist/src/mcp/__tests__/harness-driver-action-tools.spec.js +0 -103
  264. package/dist/src/mcp/__tests__/harness-driver-async-tools.spec.d.ts +0 -1
  265. package/dist/src/mcp/__tests__/harness-driver-async-tools.spec.js +0 -112
  266. package/dist/src/mcp/__tests__/harness-driver-read-tools.spec.d.ts +0 -1
  267. package/dist/src/mcp/__tests__/harness-driver-read-tools.spec.js +0 -124
  268. package/dist/src/mcp/__tests__/harness-driver-security.spec.d.ts +0 -1
  269. package/dist/src/mcp/__tests__/harness-driver-security.spec.js +0 -61
  270. package/dist/src/mcp/__tests__/harness-driver.spec.d.ts +0 -1
  271. package/dist/src/mcp/__tests__/harness-driver.spec.js +0 -20
  272. package/dist/src/mcp/__tests__/lazy-schema.spec.d.ts +0 -1
  273. package/dist/src/mcp/__tests__/lazy-schema.spec.js +0 -152
  274. package/dist/src/mcp/__tests__/lsp-tools.test.d.ts +0 -1
  275. package/dist/src/mcp/__tests__/lsp-tools.test.js +0 -56
  276. package/dist/src/mcp/__tests__/mcp-keychain.test.d.ts +0 -1
  277. package/dist/src/mcp/__tests__/mcp-keychain.test.js +0 -40
  278. package/dist/src/mcp/__tests__/parallel-build.spec.d.ts +0 -1
  279. package/dist/src/mcp/__tests__/parallel-build.spec.js +0 -67
  280. package/dist/src/mcp/__tests__/research-onboarding.test.d.ts +0 -1
  281. package/dist/src/mcp/__tests__/research-onboarding.test.js +0 -148
  282. package/dist/src/mcp/__tests__/runtime-hydration.test.d.ts +0 -1
  283. package/dist/src/mcp/__tests__/runtime-hydration.test.js +0 -78
  284. package/dist/src/mcp/__tests__/runtime-output-cap.test.d.ts +0 -1
  285. package/dist/src/mcp/__tests__/runtime-output-cap.test.js +0 -42
  286. package/dist/src/mcp/__tests__/runtime-sanitize.test.d.ts +0 -1
  287. package/dist/src/mcp/__tests__/runtime-sanitize.test.js +0 -40
  288. package/dist/src/mcp/__tests__/self-verify-jobs.test.d.ts +0 -1
  289. package/dist/src/mcp/__tests__/self-verify-jobs.test.js +0 -92
  290. package/dist/src/mcp/__tests__/smart-filter.test.d.ts +0 -1
  291. package/dist/src/mcp/__tests__/smart-filter.test.js +0 -177
  292. package/dist/src/mcp/__tests__/tools-server.smoke.test.d.ts +0 -1
  293. package/dist/src/mcp/__tests__/tools-server.smoke.test.js +0 -42
  294. package/dist/src/mcp/parse-headers.test.d.ts +0 -1
  295. package/dist/src/mcp/parse-headers.test.js +0 -43
  296. package/dist/src/mcp/smoke.test.d.ts +0 -1
  297. package/dist/src/mcp/smoke.test.js +0 -159
  298. package/dist/src/models/__tests__/registry.test.d.ts +0 -1
  299. package/dist/src/models/__tests__/registry.test.js +0 -74
  300. package/dist/src/models/catalog-gemini.test.d.ts +0 -1
  301. package/dist/src/models/catalog-gemini.test.js +0 -48
  302. package/dist/src/models/catalog-url.test.d.ts +0 -1
  303. package/dist/src/models/catalog-url.test.js +0 -26
  304. package/dist/src/models/catalog-validation.test.d.ts +0 -1
  305. package/dist/src/models/catalog-validation.test.js +0 -63
  306. package/dist/src/ops/__tests__/doctor-council-mcp.test.d.ts +0 -1
  307. package/dist/src/ops/__tests__/doctor-council-mcp.test.js +0 -139
  308. package/dist/src/ops/__tests__/doctor-ee-health.test.d.ts +0 -1
  309. package/dist/src/ops/__tests__/doctor-ee-health.test.js +0 -134
  310. package/dist/src/ops/bug-report.test.d.ts +0 -1
  311. package/dist/src/ops/bug-report.test.js +0 -148
  312. package/dist/src/ops/doctor.test.d.ts +0 -1
  313. package/dist/src/ops/doctor.test.js +0 -97
  314. package/dist/src/orchestrator/__tests__/agent-base-url-switch.test.d.ts +0 -1
  315. package/dist/src/orchestrator/__tests__/agent-base-url-switch.test.js +0 -77
  316. package/dist/src/orchestrator/__tests__/auto-commit.test.d.ts +0 -1
  317. package/dist/src/orchestrator/__tests__/auto-commit.test.js +0 -142
  318. package/dist/src/orchestrator/__tests__/batch-turn-runner.test.d.ts +0 -1
  319. package/dist/src/orchestrator/__tests__/batch-turn-runner.test.js +0 -164
  320. package/dist/src/orchestrator/__tests__/council-manager.test.d.ts +0 -1
  321. package/dist/src/orchestrator/__tests__/council-manager.test.js +0 -148
  322. package/dist/src/orchestrator/__tests__/cross-turn-dedup.test.d.ts +0 -1
  323. package/dist/src/orchestrator/__tests__/cross-turn-dedup.test.js +0 -175
  324. package/dist/src/orchestrator/__tests__/current-call-id.test.d.ts +0 -16
  325. package/dist/src/orchestrator/__tests__/current-call-id.test.js +0 -138
  326. package/dist/src/orchestrator/__tests__/delegations.test.d.ts +0 -1
  327. package/dist/src/orchestrator/__tests__/delegations.test.js +0 -96
  328. package/dist/src/orchestrator/__tests__/error-forensics.test.d.ts +0 -1
  329. package/dist/src/orchestrator/__tests__/error-forensics.test.js +0 -93
  330. package/dist/src/orchestrator/__tests__/flow-resume.test.d.ts +0 -5
  331. package/dist/src/orchestrator/__tests__/flow-resume.test.js +0 -61
  332. package/dist/src/orchestrator/__tests__/humanize-api-error.test.d.ts +0 -1
  333. package/dist/src/orchestrator/__tests__/humanize-api-error.test.js +0 -68
  334. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.d.ts +0 -1
  335. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.js +0 -39
  336. package/dist/src/orchestrator/__tests__/message-processor.test.d.ts +0 -1
  337. package/dist/src/orchestrator/__tests__/message-processor.test.js +0 -189
  338. package/dist/src/orchestrator/__tests__/message-write-ahead.test.d.ts +0 -22
  339. package/dist/src/orchestrator/__tests__/message-write-ahead.test.js +0 -149
  340. package/dist/src/orchestrator/__tests__/project-stack.test.d.ts +0 -1
  341. package/dist/src/orchestrator/__tests__/project-stack.test.js +0 -65
  342. package/dist/src/orchestrator/__tests__/prompts.test.d.ts +0 -1
  343. package/dist/src/orchestrator/__tests__/prompts.test.js +0 -88
  344. package/dist/src/orchestrator/__tests__/read-path-budget.test.d.ts +0 -1
  345. package/dist/src/orchestrator/__tests__/read-path-budget.test.js +0 -156
  346. package/dist/src/orchestrator/__tests__/retry-classifier.test.d.ts +0 -1
  347. package/dist/src/orchestrator/__tests__/retry-classifier.test.js +0 -112
  348. package/dist/src/orchestrator/__tests__/retry-stream.test.d.ts +0 -1
  349. package/dist/src/orchestrator/__tests__/retry-stream.test.js +0 -151
  350. package/dist/src/orchestrator/__tests__/route-feedback.test.d.ts +0 -1
  351. package/dist/src/orchestrator/__tests__/route-feedback.test.js +0 -47
  352. package/dist/src/orchestrator/__tests__/stream-runner.test.d.ts +0 -1
  353. package/dist/src/orchestrator/__tests__/stream-runner.test.js +0 -202
  354. package/dist/src/orchestrator/__tests__/sub-agent-model-tier.test.d.ts +0 -1
  355. package/dist/src/orchestrator/__tests__/sub-agent-model-tier.test.js +0 -45
  356. package/dist/src/orchestrator/__tests__/sub-session-delegation.test.d.ts +0 -1
  357. package/dist/src/orchestrator/__tests__/sub-session-delegation.test.js +0 -507
  358. package/dist/src/orchestrator/__tests__/usage-events-shape.test.d.ts +0 -8
  359. package/dist/src/orchestrator/__tests__/usage-events-shape.test.js +0 -58
  360. package/dist/src/orchestrator/__tests__/usage-normalizer-c1.test.d.ts +0 -21
  361. package/dist/src/orchestrator/__tests__/usage-normalizer-c1.test.js +0 -155
  362. package/dist/src/orchestrator/__tests__/usage-shape-threading.test.d.ts +0 -1
  363. package/dist/src/orchestrator/__tests__/usage-shape-threading.test.js +0 -98
  364. package/dist/src/orchestrator/__tests__/write-ahead.test.d.ts +0 -20
  365. package/dist/src/orchestrator/__tests__/write-ahead.test.js +0 -134
  366. package/dist/src/orchestrator/abort.test.d.ts +0 -1
  367. package/dist/src/orchestrator/abort.test.js +0 -34
  368. package/dist/src/orchestrator/agent.test.d.ts +0 -1
  369. package/dist/src/orchestrator/agent.test.js +0 -178
  370. package/dist/src/orchestrator/cleanup.test.d.ts +0 -1
  371. package/dist/src/orchestrator/cleanup.test.js +0 -67
  372. package/dist/src/orchestrator/compaction.test.d.ts +0 -1
  373. package/dist/src/orchestrator/compaction.test.js +0 -187
  374. package/dist/src/orchestrator/delegations.test.d.ts +0 -1
  375. package/dist/src/orchestrator/delegations.test.js +0 -107
  376. package/dist/src/orchestrator/grounding-check.test.d.ts +0 -1
  377. package/dist/src/orchestrator/grounding-check.test.js +0 -94
  378. package/dist/src/orchestrator/interrupted-turn.test.d.ts +0 -1
  379. package/dist/src/orchestrator/interrupted-turn.test.js +0 -34
  380. package/dist/src/orchestrator/message-seq.test.d.ts +0 -1
  381. package/dist/src/orchestrator/message-seq.test.js +0 -24
  382. package/dist/src/orchestrator/pending-calls.test.d.ts +0 -1
  383. package/dist/src/orchestrator/pending-calls.test.js +0 -188
  384. package/dist/src/orchestrator/provider-options-shape.spec.d.ts +0 -1
  385. package/dist/src/orchestrator/provider-options-shape.spec.js +0 -63
  386. package/dist/src/orchestrator/reasoning.test.d.ts +0 -1
  387. package/dist/src/orchestrator/reasoning.test.js +0 -101
  388. package/dist/src/orchestrator/repetition-detector.test.d.ts +0 -1
  389. package/dist/src/orchestrator/repetition-detector.test.js +0 -103
  390. package/dist/src/orchestrator/sandbox.test.d.ts +0 -1
  391. package/dist/src/orchestrator/sandbox.test.js +0 -99
  392. package/dist/src/orchestrator/scope-ceiling.test.d.ts +0 -13
  393. package/dist/src/orchestrator/scope-ceiling.test.js +0 -181
  394. package/dist/src/orchestrator/scope-reminder.test.d.ts +0 -15
  395. package/dist/src/orchestrator/scope-reminder.test.js +0 -225
  396. package/dist/src/orchestrator/session-experience.test.d.ts +0 -6
  397. package/dist/src/orchestrator/session-experience.test.js +0 -72
  398. package/dist/src/orchestrator/stall-rescue.test.d.ts +0 -1
  399. package/dist/src/orchestrator/stall-rescue.test.js +0 -117
  400. package/dist/src/orchestrator/stall-watchdog.test.d.ts +0 -1
  401. package/dist/src/orchestrator/stall-watchdog.test.js +0 -153
  402. package/dist/src/orchestrator/steer-inbox.test.d.ts +0 -1
  403. package/dist/src/orchestrator/steer-inbox.test.js +0 -33
  404. package/dist/src/orchestrator/sub-agent-cap.test.d.ts +0 -1
  405. package/dist/src/orchestrator/sub-agent-cap.test.js +0 -208
  406. package/dist/src/orchestrator/subagent-compactor.spec.d.ts +0 -1
  407. package/dist/src/orchestrator/subagent-compactor.spec.js +0 -636
  408. package/dist/src/orchestrator/text-tool-call-detector.test.d.ts +0 -1
  409. package/dist/src/orchestrator/text-tool-call-detector.test.js +0 -147
  410. package/dist/src/orchestrator/token-counter.test.d.ts +0 -1
  411. package/dist/src/orchestrator/token-counter.test.js +0 -57
  412. package/dist/src/orchestrator/tool-args-hash.test.d.ts +0 -1
  413. package/dist/src/orchestrator/tool-args-hash.test.js +0 -105
  414. package/dist/src/orchestrator/tool-args-repair.test.d.ts +0 -1
  415. package/dist/src/orchestrator/tool-args-repair.test.js +0 -136
  416. package/dist/src/orchestrator/tool-loop-askcard.test.d.ts +0 -1
  417. package/dist/src/orchestrator/tool-loop-askcard.test.js +0 -71
  418. package/dist/src/orchestrator/tool-loop-cap.test.d.ts +0 -1
  419. package/dist/src/orchestrator/tool-loop-cap.test.js +0 -176
  420. package/dist/src/orchestrator/tool-repetition-detector.test.d.ts +0 -1
  421. package/dist/src/orchestrator/tool-repetition-detector.test.js +0 -101
  422. package/dist/src/pil/__tests__/budget.test.d.ts +0 -1
  423. package/dist/src/pil/__tests__/budget.test.js +0 -33
  424. package/dist/src/pil/__tests__/clarity-gate.test.d.ts +0 -1
  425. package/dist/src/pil/__tests__/clarity-gate.test.js +0 -37
  426. package/dist/src/pil/__tests__/config.test.d.ts +0 -1
  427. package/dist/src/pil/__tests__/config.test.js +0 -57
  428. package/dist/src/pil/__tests__/discovery-cache.test.d.ts +0 -1
  429. package/dist/src/pil/__tests__/discovery-cache.test.js +0 -38
  430. package/dist/src/pil/__tests__/discovery-types.test.d.ts +0 -1
  431. package/dist/src/pil/__tests__/discovery-types.test.js +0 -65
  432. package/dist/src/pil/__tests__/discovery.test.d.ts +0 -1
  433. package/dist/src/pil/__tests__/discovery.test.js +0 -178
  434. package/dist/src/pil/__tests__/dual-run.test.d.ts +0 -1
  435. package/dist/src/pil/__tests__/dual-run.test.js +0 -51
  436. package/dist/src/pil/__tests__/layer1-intent-trace.test.d.ts +0 -1
  437. package/dist/src/pil/__tests__/layer1-intent-trace.test.js +0 -138
  438. package/dist/src/pil/__tests__/layer1-intent.test.d.ts +0 -1
  439. package/dist/src/pil/__tests__/layer1-intent.test.js +0 -329
  440. package/dist/src/pil/__tests__/layer15-context-scan.test.d.ts +0 -1
  441. package/dist/src/pil/__tests__/layer15-context-scan.test.js +0 -64
  442. package/dist/src/pil/__tests__/layer16-clarity.test.d.ts +0 -1
  443. package/dist/src/pil/__tests__/layer16-clarity.test.js +0 -72
  444. package/dist/src/pil/__tests__/layer17-feasibility.test.d.ts +0 -1
  445. package/dist/src/pil/__tests__/layer17-feasibility.test.js +0 -36
  446. package/dist/src/pil/__tests__/layer18-acceptance.test.d.ts +0 -1
  447. package/dist/src/pil/__tests__/layer18-acceptance.test.js +0 -18
  448. package/dist/src/pil/__tests__/layer2-personality.test.d.ts +0 -1
  449. package/dist/src/pil/__tests__/layer2-personality.test.js +0 -57
  450. package/dist/src/pil/__tests__/layer2_5-ponytail.test.d.ts +0 -1
  451. package/dist/src/pil/__tests__/layer2_5-ponytail.test.js +0 -53
  452. package/dist/src/pil/__tests__/layer3-ee-injection.test.d.ts +0 -1
  453. package/dist/src/pil/__tests__/layer3-ee-injection.test.js +0 -221
  454. package/dist/src/pil/__tests__/layer3-injected-chunk.test.d.ts +0 -1
  455. package/dist/src/pil/__tests__/layer3-injected-chunk.test.js +0 -134
  456. package/dist/src/pil/__tests__/layer4-gsd.test.d.ts +0 -1
  457. package/dist/src/pil/__tests__/layer4-gsd.test.js +0 -191
  458. package/dist/src/pil/__tests__/layer5-context.test.d.ts +0 -1
  459. package/dist/src/pil/__tests__/layer5-context.test.js +0 -175
  460. package/dist/src/pil/__tests__/layer6-output.test.d.ts +0 -1
  461. package/dist/src/pil/__tests__/layer6-output.test.js +0 -465
  462. package/dist/src/pil/__tests__/llm-classify.test.d.ts +0 -1
  463. package/dist/src/pil/__tests__/llm-classify.test.js +0 -275
  464. package/dist/src/pil/__tests__/native-capabilities-workbook.test.d.ts +0 -1
  465. package/dist/src/pil/__tests__/native-capabilities-workbook.test.js +0 -40
  466. package/dist/src/pil/__tests__/ollama-classify.test.d.ts +0 -1
  467. package/dist/src/pil/__tests__/ollama-classify.test.js +0 -68
  468. package/dist/src/pil/__tests__/orchestrator-integration.test.d.ts +0 -10
  469. package/dist/src/pil/__tests__/orchestrator-integration.test.js +0 -100
  470. package/dist/src/pil/__tests__/pipeline.test.d.ts +0 -1
  471. package/dist/src/pil/__tests__/pipeline.test.js +0 -188
  472. package/dist/src/pil/__tests__/renderer-coverage.test.d.ts +0 -7
  473. package/dist/src/pil/__tests__/renderer-coverage.test.js +0 -42
  474. package/dist/src/pil/__tests__/response-tools.test.d.ts +0 -1
  475. package/dist/src/pil/__tests__/response-tools.test.js +0 -242
  476. package/dist/src/pil/__tests__/schema.test.d.ts +0 -1
  477. package/dist/src/pil/__tests__/schema.test.js +0 -202
  478. package/dist/src/pil/__tests__/scoreComplexity.test.d.ts +0 -1
  479. package/dist/src/pil/__tests__/scoreComplexity.test.js +0 -119
  480. package/dist/src/pil/__tests__/scoreSufficiency.test.d.ts +0 -8
  481. package/dist/src/pil/__tests__/scoreSufficiency.test.js +0 -89
  482. package/dist/src/pil/__tests__/store.test.d.ts +0 -1
  483. package/dist/src/pil/__tests__/store.test.js +0 -44
  484. package/dist/src/pil/__tests__/surface-compaction-artifacts.test.d.ts +0 -1
  485. package/dist/src/pil/__tests__/surface-compaction-artifacts.test.js +0 -112
  486. package/dist/src/pil/__tests__/task-tier-map.test.d.ts +0 -1
  487. package/dist/src/pil/__tests__/task-tier-map.test.js +0 -33
  488. package/dist/src/pil/agent-operating-contract.test.d.ts +0 -1
  489. package/dist/src/pil/agent-operating-contract.test.js +0 -80
  490. package/dist/src/pil/cheap-model-playbook.test.d.ts +0 -1
  491. package/dist/src/pil/cheap-model-playbook.test.js +0 -160
  492. package/dist/src/pil/cheap-model-workbooks.test.d.ts +0 -1
  493. package/dist/src/pil/cheap-model-workbooks.test.js +0 -129
  494. package/dist/src/pil/layer1-intent.test.d.ts +0 -1
  495. package/dist/src/pil/layer1-intent.test.js +0 -764
  496. package/dist/src/pil/layer1_5-complexity-size.test.d.ts +0 -10
  497. package/dist/src/pil/layer1_5-complexity-size.test.js +0 -248
  498. package/dist/src/pil/session-experience-injection.test.d.ts +0 -6
  499. package/dist/src/pil/session-experience-injection.test.js +0 -79
  500. package/dist/src/pil/session-state.test.d.ts +0 -1
  501. package/dist/src/pil/session-state.test.js +0 -73
  502. package/dist/src/playbook/__tests__/directives.test.d.ts +0 -1
  503. package/dist/src/playbook/__tests__/directives.test.js +0 -115
  504. package/dist/src/product-loop/__tests__/artifact-io.test.d.ts +0 -1
  505. package/dist/src/product-loop/__tests__/artifact-io.test.js +0 -83
  506. package/dist/src/product-loop/__tests__/assumption-ledger.test.d.ts +0 -1
  507. package/dist/src/product-loop/__tests__/assumption-ledger.test.js +0 -261
  508. package/dist/src/product-loop/__tests__/backlog-builder.test.d.ts +0 -10
  509. package/dist/src/product-loop/__tests__/backlog-builder.test.js +0 -175
  510. package/dist/src/product-loop/__tests__/backlog-store.test.d.ts +0 -4
  511. package/dist/src/product-loop/__tests__/backlog-store.test.js +0 -96
  512. package/dist/src/product-loop/__tests__/cb2-retry-bonus.test.d.ts +0 -13
  513. package/dist/src/product-loop/__tests__/cb2-retry-bonus.test.js +0 -158
  514. package/dist/src/product-loop/__tests__/circuit-breakers-coverage.test.d.ts +0 -1
  515. package/dist/src/product-loop/__tests__/circuit-breakers-coverage.test.js +0 -67
  516. package/dist/src/product-loop/__tests__/circuit-breakers.test.d.ts +0 -1
  517. package/dist/src/product-loop/__tests__/circuit-breakers.test.js +0 -79
  518. package/dist/src/product-loop/__tests__/complexity-routing.spec.d.ts +0 -11
  519. package/dist/src/product-loop/__tests__/complexity-routing.spec.js +0 -240
  520. package/dist/src/product-loop/__tests__/context-policy.test.d.ts +0 -1
  521. package/dist/src/product-loop/__tests__/context-policy.test.js +0 -266
  522. package/dist/src/product-loop/__tests__/cost-preview.test.d.ts +0 -1
  523. package/dist/src/product-loop/__tests__/cost-preview.test.js +0 -111
  524. package/dist/src/product-loop/__tests__/cost-scoper.test.d.ts +0 -1
  525. package/dist/src/product-loop/__tests__/cost-scoper.test.js +0 -50
  526. package/dist/src/product-loop/__tests__/cross-run-memory.test.d.ts +0 -1
  527. package/dist/src/product-loop/__tests__/cross-run-memory.test.js +0 -168
  528. package/dist/src/product-loop/__tests__/design-output.spec.d.ts +0 -1
  529. package/dist/src/product-loop/__tests__/design-output.spec.js +0 -36
  530. package/dist/src/product-loop/__tests__/discover.test.d.ts +0 -1
  531. package/dist/src/product-loop/__tests__/discover.test.js +0 -83
  532. package/dist/src/product-loop/__tests__/discovery-context-format.test.d.ts +0 -13
  533. package/dist/src/product-loop/__tests__/discovery-context-format.test.js +0 -100
  534. package/dist/src/product-loop/__tests__/discovery-council-runner.test.d.ts +0 -1
  535. package/dist/src/product-loop/__tests__/discovery-council-runner.test.js +0 -13
  536. package/dist/src/product-loop/__tests__/discovery-detection.test.d.ts +0 -1
  537. package/dist/src/product-loop/__tests__/discovery-detection.test.js +0 -151
  538. package/dist/src/product-loop/__tests__/discovery-ecosystem.test.d.ts +0 -8
  539. package/dist/src/product-loop/__tests__/discovery-ecosystem.test.js +0 -209
  540. package/dist/src/product-loop/__tests__/discovery-integration.test.d.ts +0 -1
  541. package/dist/src/product-loop/__tests__/discovery-integration.test.js +0 -126
  542. package/dist/src/product-loop/__tests__/discovery-interview.test.d.ts +0 -1
  543. package/dist/src/product-loop/__tests__/discovery-interview.test.js +0 -394
  544. package/dist/src/product-loop/__tests__/discovery-migrations.test.d.ts +0 -1
  545. package/dist/src/product-loop/__tests__/discovery-migrations.test.js +0 -69
  546. package/dist/src/product-loop/__tests__/discovery-persistence.test.d.ts +0 -1
  547. package/dist/src/product-loop/__tests__/discovery-persistence.test.js +0 -146
  548. package/dist/src/product-loop/__tests__/discovery-prompt-parser.test.d.ts +0 -1
  549. package/dist/src/product-loop/__tests__/discovery-prompt-parser.test.js +0 -65
  550. package/dist/src/product-loop/__tests__/discovery-prompt-specificity.test.d.ts +0 -1
  551. package/dist/src/product-loop/__tests__/discovery-prompt-specificity.test.js +0 -55
  552. package/dist/src/product-loop/__tests__/discovery-recommender-ecosystem.test.d.ts +0 -9
  553. package/dist/src/product-loop/__tests__/discovery-recommender-ecosystem.test.js +0 -178
  554. package/dist/src/product-loop/__tests__/discovery-recommender.test.d.ts +0 -1
  555. package/dist/src/product-loop/__tests__/discovery-recommender.test.js +0 -316
  556. package/dist/src/product-loop/__tests__/discovery-schema.test.d.ts +0 -1
  557. package/dist/src/product-loop/__tests__/discovery-schema.test.js +0 -77
  558. package/dist/src/product-loop/__tests__/done-gate-coverage.test.d.ts +0 -1
  559. package/dist/src/product-loop/__tests__/done-gate-coverage.test.js +0 -135
  560. package/dist/src/product-loop/__tests__/done-gate.test.d.ts +0 -1
  561. package/dist/src/product-loop/__tests__/done-gate.test.js +0 -122
  562. package/dist/src/product-loop/__tests__/ee-extract-wiring.test.d.ts +0 -8
  563. package/dist/src/product-loop/__tests__/ee-extract-wiring.test.js +0 -186
  564. package/dist/src/product-loop/__tests__/extract-to-ee.test.d.ts +0 -1
  565. package/dist/src/product-loop/__tests__/extract-to-ee.test.js +0 -161
  566. package/dist/src/product-loop/__tests__/feedback-routing.test.d.ts +0 -1
  567. package/dist/src/product-loop/__tests__/feedback-routing.test.js +0 -83
  568. package/dist/src/product-loop/__tests__/gather-selectable-alts.test.d.ts +0 -15
  569. package/dist/src/product-loop/__tests__/gather-selectable-alts.test.js +0 -143
  570. package/dist/src/product-loop/__tests__/hot-path.spec.d.ts +0 -11
  571. package/dist/src/product-loop/__tests__/hot-path.spec.js +0 -146
  572. package/dist/src/product-loop/__tests__/integration.test.d.ts +0 -7
  573. package/dist/src/product-loop/__tests__/integration.test.js +0 -301
  574. package/dist/src/product-loop/__tests__/loop-driver-audit.test.d.ts +0 -1
  575. package/dist/src/product-loop/__tests__/loop-driver-audit.test.js +0 -269
  576. package/dist/src/product-loop/__tests__/loop-driver.test.d.ts +0 -1
  577. package/dist/src/product-loop/__tests__/loop-driver.test.js +0 -225
  578. package/dist/src/product-loop/__tests__/maintenance-task-synthesis.test.d.ts +0 -8
  579. package/dist/src/product-loop/__tests__/maintenance-task-synthesis.test.js +0 -67
  580. package/dist/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.d.ts +0 -13
  581. package/dist/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.js +0 -268
  582. package/dist/src/product-loop/__tests__/phase-a2-backlog-build.test.d.ts +0 -8
  583. package/dist/src/product-loop/__tests__/phase-a2-backlog-build.test.js +0 -162
  584. package/dist/src/product-loop/__tests__/phase-budget.test.d.ts +0 -1
  585. package/dist/src/product-loop/__tests__/phase-budget.test.js +0 -149
  586. package/dist/src/product-loop/__tests__/phase-orchestrator-integration.test.d.ts +0 -1
  587. package/dist/src/product-loop/__tests__/phase-orchestrator-integration.test.js +0 -138
  588. package/dist/src/product-loop/__tests__/phase-plan.test.d.ts +0 -1
  589. package/dist/src/product-loop/__tests__/phase-plan.test.js +0 -208
  590. package/dist/src/product-loop/__tests__/phase-rituals.test.d.ts +0 -1
  591. package/dist/src/product-loop/__tests__/phase-rituals.test.js +0 -174
  592. package/dist/src/product-loop/__tests__/phase-runner.test.d.ts +0 -1
  593. package/dist/src/product-loop/__tests__/phase-runner.test.js +0 -414
  594. package/dist/src/product-loop/__tests__/phase-tracker-bridge.test.d.ts +0 -1
  595. package/dist/src/product-loop/__tests__/phase-tracker-bridge.test.js +0 -67
  596. package/dist/src/product-loop/__tests__/pick-backend-stack.test.d.ts +0 -11
  597. package/dist/src/product-loop/__tests__/pick-backend-stack.test.js +0 -95
  598. package/dist/src/product-loop/__tests__/product-identity.test.d.ts +0 -1
  599. package/dist/src/product-loop/__tests__/product-identity.test.js +0 -40
  600. package/dist/src/product-loop/__tests__/progress-snapshot.test.d.ts +0 -8
  601. package/dist/src/product-loop/__tests__/progress-snapshot.test.js +0 -152
  602. package/dist/src/product-loop/__tests__/reality-anchor.test.d.ts +0 -1
  603. package/dist/src/product-loop/__tests__/reality-anchor.test.js +0 -49
  604. package/dist/src/product-loop/__tests__/repo-audit.test.d.ts +0 -1
  605. package/dist/src/product-loop/__tests__/repo-audit.test.js +0 -97
  606. package/dist/src/product-loop/__tests__/repo-brief.test.d.ts +0 -9
  607. package/dist/src/product-loop/__tests__/repo-brief.test.js +0 -132
  608. package/dist/src/product-loop/__tests__/role-memory.test.d.ts +0 -1
  609. package/dist/src/product-loop/__tests__/role-memory.test.js +0 -56
  610. package/dist/src/product-loop/__tests__/role-registry.test.d.ts +0 -1
  611. package/dist/src/product-loop/__tests__/role-registry.test.js +0 -222
  612. package/dist/src/product-loop/__tests__/role-routing-ee.test.d.ts +0 -1
  613. package/dist/src/product-loop/__tests__/role-routing-ee.test.js +0 -79
  614. package/dist/src/product-loop/__tests__/route-decision-emit.test.d.ts +0 -10
  615. package/dist/src/product-loop/__tests__/route-decision-emit.test.js +0 -222
  616. package/dist/src/product-loop/__tests__/seed-questions.test.d.ts +0 -1
  617. package/dist/src/product-loop/__tests__/seed-questions.test.js +0 -30
  618. package/dist/src/product-loop/__tests__/ship-polish.test.d.ts +0 -1
  619. package/dist/src/product-loop/__tests__/ship-polish.test.js +0 -96
  620. package/dist/src/product-loop/__tests__/sprint-planner.test.d.ts +0 -6
  621. package/dist/src/product-loop/__tests__/sprint-planner.test.js +0 -140
  622. package/dist/src/product-loop/__tests__/sprint-runner-backlog.test.d.ts +0 -8
  623. package/dist/src/product-loop/__tests__/sprint-runner-backlog.test.js +0 -221
  624. package/dist/src/product-loop/__tests__/sprint-runner-emit.test.d.ts +0 -14
  625. package/dist/src/product-loop/__tests__/sprint-runner-emit.test.js +0 -279
  626. package/dist/src/product-loop/__tests__/sprint-runner-phase-chunks.test.d.ts +0 -14
  627. package/dist/src/product-loop/__tests__/sprint-runner-phase-chunks.test.js +0 -193
  628. package/dist/src/product-loop/__tests__/sprint-runner.test.d.ts +0 -1
  629. package/dist/src/product-loop/__tests__/sprint-runner.test.js +0 -432
  630. package/dist/src/product-loop/__tests__/sprint-self-verify.test.d.ts +0 -8
  631. package/dist/src/product-loop/__tests__/sprint-self-verify.test.js +0 -73
  632. package/dist/src/product-loop/__tests__/sprint-store.test.d.ts +0 -7
  633. package/dist/src/product-loop/__tests__/sprint-store.test.js +0 -84
  634. package/dist/src/product-loop/__tests__/stakeholder-acl.test.d.ts +0 -1
  635. package/dist/src/product-loop/__tests__/stakeholder-acl.test.js +0 -83
  636. package/dist/src/product-loop/__tests__/state-md-ee-injections.test.d.ts +0 -8
  637. package/dist/src/product-loop/__tests__/state-md-ee-injections.test.js +0 -182
  638. package/dist/src/product-loop/__tests__/sufficiency-routing.spec.d.ts +0 -12
  639. package/dist/src/product-loop/__tests__/sufficiency-routing.spec.js +0 -140
  640. package/dist/src/product-loop/__tests__/typed-artifacts.test.d.ts +0 -1
  641. package/dist/src/product-loop/__tests__/typed-artifacts.test.js +0 -222
  642. package/dist/src/product-loop/__tests__/types.test.d.ts +0 -1
  643. package/dist/src/product-loop/__tests__/types.test.js +0 -79
  644. package/dist/src/product-loop/__tests__/verify-failure-threshold.test.d.ts +0 -9
  645. package/dist/src/product-loop/__tests__/verify-failure-threshold.test.js +0 -146
  646. package/dist/src/product-loop/__tests__/verify-failure-tracking.test.d.ts +0 -4
  647. package/dist/src/product-loop/__tests__/verify-failure-tracking.test.js +0 -122
  648. package/dist/src/product-loop/__tests__/verify-result.test.d.ts +0 -1
  649. package/dist/src/product-loop/__tests__/verify-result.test.js +0 -53
  650. package/dist/src/providers/__tests__/adapter-oauth-wiring.test.d.ts +0 -8
  651. package/dist/src/providers/__tests__/adapter-oauth-wiring.test.js +0 -125
  652. package/dist/src/providers/__tests__/capabilities-cosmetic.test.d.ts +0 -1
  653. package/dist/src/providers/__tests__/capabilities-cosmetic.test.js +0 -109
  654. package/dist/src/providers/__tests__/capabilities-flags.test.d.ts +0 -1
  655. package/dist/src/providers/__tests__/capabilities-flags.test.js +0 -145
  656. package/dist/src/providers/__tests__/capabilities-provider-options.test.d.ts +0 -1
  657. package/dist/src/providers/__tests__/capabilities-provider-options.test.js +0 -201
  658. package/dist/src/providers/__tests__/capabilities-sanitize.test.d.ts +0 -1
  659. package/dist/src/providers/__tests__/capabilities-sanitize.test.js +0 -60
  660. package/dist/src/providers/__tests__/capabilities.test.d.ts +0 -1
  661. package/dist/src/providers/__tests__/capabilities.test.js +0 -41
  662. package/dist/src/providers/__tests__/provider-coverage.test.d.ts +0 -1
  663. package/dist/src/providers/__tests__/provider-coverage.test.js +0 -45
  664. package/dist/src/providers/__tests__/reasoning-roundtrip.test.d.ts +0 -1
  665. package/dist/src/providers/__tests__/reasoning-roundtrip.test.js +0 -216
  666. package/dist/src/providers/__tests__/runtime-integration.test.d.ts +0 -1
  667. package/dist/src/providers/__tests__/runtime-integration.test.js +0 -93
  668. package/dist/src/providers/__tests__/runtime.test.d.ts +0 -1
  669. package/dist/src/providers/__tests__/runtime.test.js +0 -80
  670. package/dist/src/providers/__tests__/siliconflow-sse-repair.test.d.ts +0 -1
  671. package/dist/src/providers/__tests__/siliconflow-sse-repair.test.js +0 -267
  672. package/dist/src/providers/__tests__/strategies-registry.test.d.ts +0 -8
  673. package/dist/src/providers/__tests__/strategies-registry.test.js +0 -49
  674. package/dist/src/providers/__tests__/strategies-resolve.test.d.ts +0 -12
  675. package/dist/src/providers/__tests__/strategies-resolve.test.js +0 -128
  676. package/dist/src/providers/__tests__/wire-debug.test.d.ts +0 -1
  677. package/dist/src/providers/__tests__/wire-debug.test.js +0 -39
  678. package/dist/src/providers/adapter.test.d.ts +0 -1
  679. package/dist/src/providers/adapter.test.js +0 -19
  680. package/dist/src/providers/auth/__tests__/browser-flow.test.d.ts +0 -8
  681. package/dist/src/providers/auth/__tests__/browser-flow.test.js +0 -186
  682. package/dist/src/providers/auth/__tests__/device-flow.test.d.ts +0 -6
  683. package/dist/src/providers/auth/__tests__/device-flow.test.js +0 -219
  684. package/dist/src/providers/auth/__tests__/gemini-oauth.test.d.ts +0 -4
  685. package/dist/src/providers/auth/__tests__/gemini-oauth.test.js +0 -306
  686. package/dist/src/providers/auth/__tests__/grok-oauth.test.d.ts +0 -8
  687. package/dist/src/providers/auth/__tests__/grok-oauth.test.js +0 -236
  688. package/dist/src/providers/auth/__tests__/openai-oauth.test.d.ts +0 -7
  689. package/dist/src/providers/auth/__tests__/openai-oauth.test.js +0 -309
  690. package/dist/src/providers/auth/__tests__/token-store.test.d.ts +0 -7
  691. package/dist/src/providers/auth/__tests__/token-store.test.js +0 -125
  692. package/dist/src/providers/errors.test.d.ts +0 -1
  693. package/dist/src/providers/errors.test.js +0 -66
  694. package/dist/src/providers/gemini.test.d.ts +0 -1
  695. package/dist/src/providers/gemini.test.js +0 -37
  696. package/dist/src/providers/keychain.test.d.ts +0 -1
  697. package/dist/src/providers/keychain.test.js +0 -84
  698. package/dist/src/providers/mcp-vision-bridge.test.d.ts +0 -1
  699. package/dist/src/providers/mcp-vision-bridge.test.js +0 -381
  700. package/dist/src/providers/ollama.test.d.ts +0 -1
  701. package/dist/src/providers/ollama.test.js +0 -37
  702. package/dist/src/providers/openai-compatible.test.d.ts +0 -1
  703. package/dist/src/providers/openai-compatible.test.js +0 -53
  704. package/dist/src/providers/openai.test.d.ts +0 -1
  705. package/dist/src/providers/openai.test.js +0 -53
  706. package/dist/src/providers/pricing.test.d.ts +0 -1
  707. package/dist/src/providers/pricing.test.js +0 -81
  708. package/dist/src/providers/prompt-cache-key.spec.d.ts +0 -5
  709. package/dist/src/providers/prompt-cache-key.spec.js +0 -24
  710. package/dist/src/providers/runtime-mock.spec.d.ts +0 -8
  711. package/dist/src/providers/runtime-mock.spec.js +0 -69
  712. package/dist/src/providers/vision-proxy.test.d.ts +0 -1
  713. package/dist/src/providers/vision-proxy.test.js +0 -212
  714. package/dist/src/reporter/__tests__/acl-check.test.d.ts +0 -6
  715. package/dist/src/reporter/__tests__/acl-check.test.js +0 -59
  716. package/dist/src/reporter/__tests__/auto-fire.test.d.ts +0 -10
  717. package/dist/src/reporter/__tests__/auto-fire.test.js +0 -140
  718. package/dist/src/reporter/__tests__/budget.test.d.ts +0 -7
  719. package/dist/src/reporter/__tests__/budget.test.js +0 -60
  720. package/dist/src/reporter/__tests__/handlers.test.d.ts +0 -7
  721. package/dist/src/reporter/__tests__/handlers.test.js +0 -163
  722. package/dist/src/reporter/__tests__/query-router.test.d.ts +0 -6
  723. package/dist/src/reporter/__tests__/query-router.test.js +0 -90
  724. package/dist/src/router/__tests__/step-router.test.d.ts +0 -4
  725. package/dist/src/router/__tests__/step-router.test.js +0 -131
  726. package/dist/src/router/classifier/index.test.d.ts +0 -1
  727. package/dist/src/router/classifier/index.test.js +0 -29
  728. package/dist/src/router/classifier/regex.test.d.ts +0 -1
  729. package/dist/src/router/classifier/regex.test.js +0 -44
  730. package/dist/src/router/classifier/tree-sitter.test.d.ts +0 -1
  731. package/dist/src/router/classifier/tree-sitter.test.js +0 -23
  732. package/dist/src/router/cold.test.d.ts +0 -1
  733. package/dist/src/router/cold.test.js +0 -56
  734. package/dist/src/router/decide.test.d.ts +0 -1
  735. package/dist/src/router/decide.test.js +0 -198
  736. package/dist/src/router/health.test.d.ts +0 -1
  737. package/dist/src/router/health.test.js +0 -52
  738. package/dist/src/router/provider-sentinel.test.d.ts +0 -1
  739. package/dist/src/router/provider-sentinel.test.js +0 -20
  740. package/dist/src/router/role-override.test.d.ts +0 -1
  741. package/dist/src/router/role-override.test.js +0 -26
  742. package/dist/src/router/warm.test.d.ts +0 -1
  743. package/dist/src/router/warm.test.js +0 -202
  744. package/dist/src/scaffold/__tests__/continuation-prompt.test.d.ts +0 -4
  745. package/dist/src/scaffold/__tests__/continuation-prompt.test.js +0 -79
  746. package/dist/src/scaffold/__tests__/continue-as-council.spec.d.ts +0 -10
  747. package/dist/src/scaffold/__tests__/continue-as-council.spec.js +0 -102
  748. package/dist/src/scaffold/__tests__/dotnet-assembly-name.test.d.ts +0 -1
  749. package/dist/src/scaffold/__tests__/dotnet-assembly-name.test.js +0 -27
  750. package/dist/src/scaffold/__tests__/fe-scaffold-contents.test.d.ts +0 -1
  751. package/dist/src/scaffold/__tests__/fe-scaffold-contents.test.js +0 -106
  752. package/dist/src/scaffold/__tests__/init-new.smoke.spec.d.ts +0 -15
  753. package/dist/src/scaffold/__tests__/init-new.smoke.spec.js +0 -81
  754. package/dist/src/scaffold/__tests__/init-new.spec.d.ts +0 -5
  755. package/dist/src/scaffold/__tests__/init-new.spec.js +0 -378
  756. package/dist/src/scaffold/__tests__/install-bb-templates.spec.d.ts +0 -1
  757. package/dist/src/scaffold/__tests__/install-bb-templates.spec.js +0 -77
  758. package/dist/src/scaffold/__tests__/point-to-existing.spec.d.ts +0 -7
  759. package/dist/src/scaffold/__tests__/point-to-existing.spec.js +0 -94
  760. package/dist/src/self-qa/__tests__/agentic-context.test.d.ts +0 -1
  761. package/dist/src/self-qa/__tests__/agentic-context.test.js +0 -98
  762. package/dist/src/self-qa/__tests__/agentic-loop.test.d.ts +0 -1
  763. package/dist/src/self-qa/__tests__/agentic-loop.test.js +0 -62
  764. package/dist/src/self-qa/__tests__/delta-encoder.test.d.ts +0 -1
  765. package/dist/src/self-qa/__tests__/delta-encoder.test.js +0 -97
  766. package/dist/src/self-qa/__tests__/judge.test.d.ts +0 -1
  767. package/dist/src/self-qa/__tests__/judge.test.js +0 -131
  768. package/dist/src/self-qa/__tests__/scenario-planner.test.d.ts +0 -1
  769. package/dist/src/self-qa/__tests__/scenario-planner.test.js +0 -79
  770. package/dist/src/self-qa/__tests__/spec-emitter.test.d.ts +0 -1
  771. package/dist/src/self-qa/__tests__/spec-emitter.test.js +0 -62
  772. package/dist/src/storage/__tests__/hierarchical-session.test.d.ts +0 -1
  773. package/dist/src/storage/__tests__/hierarchical-session.test.js +0 -161
  774. package/dist/src/storage/__tests__/migrations.test.d.ts +0 -12
  775. package/dist/src/storage/__tests__/migrations.test.js +0 -357
  776. package/dist/src/storage/__tests__/sweep-stale-pending.test.d.ts +0 -10
  777. package/dist/src/storage/__tests__/sweep-stale-pending.test.js +0 -97
  778. package/dist/src/storage/__tests__/ui-interaction-log.test.d.ts +0 -7
  779. package/dist/src/storage/__tests__/ui-interaction-log.test.js +0 -127
  780. package/dist/src/storage/atomic-io.test.d.ts +0 -1
  781. package/dist/src/storage/atomic-io.test.js +0 -74
  782. package/dist/src/storage/config.test.d.ts +0 -1
  783. package/dist/src/storage/config.test.js +0 -29
  784. package/dist/src/storage/session-experience-store.test.d.ts +0 -5
  785. package/dist/src/storage/session-experience-store.test.js +0 -86
  786. package/dist/src/storage/tool-results.test.d.ts +0 -1
  787. package/dist/src/storage/tool-results.test.js +0 -48
  788. package/dist/src/storage/transcript-response-entry.test.d.ts +0 -1
  789. package/dist/src/storage/transcript-response-entry.test.js +0 -111
  790. package/dist/src/storage/transcript.test.d.ts +0 -1
  791. package/dist/src/storage/transcript.test.js +0 -22
  792. package/dist/src/storage/usage-cap.test.d.ts +0 -1
  793. package/dist/src/storage/usage-cap.test.js +0 -51
  794. package/dist/src/tools/__tests__/native-tools.test.d.ts +0 -1
  795. package/dist/src/tools/__tests__/native-tools.test.js +0 -59
  796. package/dist/src/tools/__tests__/vision-gate.test.d.ts +0 -1
  797. package/dist/src/tools/__tests__/vision-gate.test.js +0 -56
  798. package/dist/src/tools/bash-output-cache.test.d.ts +0 -1
  799. package/dist/src/tools/bash-output-cache.test.js +0 -89
  800. package/dist/src/tools/bash-output-integration.test.d.ts +0 -10
  801. package/dist/src/tools/bash-output-integration.test.js +0 -30
  802. package/dist/src/tools/bash.test.d.ts +0 -1
  803. package/dist/src/tools/bash.test.js +0 -90
  804. package/dist/src/tools/computer.test.d.ts +0 -1
  805. package/dist/src/tools/computer.test.js +0 -142
  806. package/dist/src/tools/file-tracker.test.d.ts +0 -1
  807. package/dist/src/tools/file-tracker.test.js +0 -77
  808. package/dist/src/tools/file.test.d.ts +0 -1
  809. package/dist/src/tools/file.test.js +0 -106
  810. package/dist/src/tools/git-safety.test.d.ts +0 -1
  811. package/dist/src/tools/git-safety.test.js +0 -155
  812. package/dist/src/tools/registry-bash-empty-command.test.d.ts +0 -13
  813. package/dist/src/tools/registry-bash-empty-command.test.js +0 -57
  814. package/dist/src/tools/registry-bash-footer.test.d.ts +0 -7
  815. package/dist/src/tools/registry-bash-footer.test.js +0 -82
  816. package/dist/src/tools/registry-ee-query.test.d.ts +0 -11
  817. package/dist/src/tools/registry-ee-query.test.js +0 -71
  818. package/dist/src/tools/registry-git-safety.test.d.ts +0 -7
  819. package/dist/src/tools/registry-git-safety.test.js +0 -103
  820. package/dist/src/tools/registry-session-repeat.test.d.ts +0 -12
  821. package/dist/src/tools/registry-session-repeat.test.js +0 -87
  822. package/dist/src/tools/registry.test.d.ts +0 -1
  823. package/dist/src/tools/registry.test.js +0 -34
  824. package/dist/src/tools/schedule.test.d.ts +0 -1
  825. package/dist/src/tools/schedule.test.js +0 -118
  826. package/dist/src/tools/todo-write-snapshot.test.d.ts +0 -1
  827. package/dist/src/tools/todo-write-snapshot.test.js +0 -43
  828. package/dist/src/ui/__tests__/markdown-render.test.d.ts +0 -1
  829. package/dist/src/ui/__tests__/markdown-render.test.js +0 -65
  830. package/dist/src/ui/__tests__/picker-providers.test.d.ts +0 -1
  831. package/dist/src/ui/__tests__/picker-providers.test.js +0 -31
  832. package/dist/src/ui/cards/__tests__/product-status-card.test.d.ts +0 -1
  833. package/dist/src/ui/cards/__tests__/product-status-card.test.js +0 -27
  834. package/dist/src/ui/components/__tests__/council-leader-bubble.test.d.ts +0 -1
  835. package/dist/src/ui/components/__tests__/council-leader-bubble.test.js +0 -14
  836. package/dist/src/ui/components/__tests__/council-message-bubble.test.d.ts +0 -1
  837. package/dist/src/ui/components/__tests__/council-message-bubble.test.js +0 -74
  838. package/dist/src/ui/components/__tests__/council-phase-timeline.test.d.ts +0 -1
  839. package/dist/src/ui/components/__tests__/council-phase-timeline.test.js +0 -51
  840. package/dist/src/ui/components/__tests__/council-placeholder-bubble.test.d.ts +0 -1
  841. package/dist/src/ui/components/__tests__/council-placeholder-bubble.test.js +0 -14
  842. package/dist/src/ui/components/__tests__/council-question-card.test.d.ts +0 -1
  843. package/dist/src/ui/components/__tests__/council-question-card.test.js +0 -121
  844. package/dist/src/ui/components/__tests__/council-synthesis-banner.test.d.ts +0 -1
  845. package/dist/src/ui/components/__tests__/council-synthesis-banner.test.js +0 -11
  846. package/dist/src/ui/components/__tests__/task-list-panel.test.d.ts +0 -1
  847. package/dist/src/ui/components/__tests__/task-list-panel.test.js +0 -31
  848. package/dist/src/ui/components/__tests__/use-pair-quote-buffer.test.d.ts +0 -1
  849. package/dist/src/ui/components/__tests__/use-pair-quote-buffer.test.js +0 -37
  850. package/dist/src/ui/slash/__tests__/clear.test.d.ts +0 -1
  851. package/dist/src/ui/slash/__tests__/clear.test.js +0 -58
  852. package/dist/src/ui/slash/__tests__/compact.test.d.ts +0 -1
  853. package/dist/src/ui/slash/__tests__/compact.test.js +0 -43
  854. package/dist/src/ui/slash/__tests__/cost.test.d.ts +0 -1
  855. package/dist/src/ui/slash/__tests__/cost.test.js +0 -54
  856. package/dist/src/ui/slash/__tests__/discuss.test.d.ts +0 -1
  857. package/dist/src/ui/slash/__tests__/discuss.test.js +0 -83
  858. package/dist/src/ui/slash/__tests__/execute.test.d.ts +0 -1
  859. package/dist/src/ui/slash/__tests__/execute.test.js +0 -71
  860. package/dist/src/ui/slash/__tests__/expand.test.d.ts +0 -1
  861. package/dist/src/ui/slash/__tests__/expand.test.js +0 -67
  862. package/dist/src/ui/slash/__tests__/ideal.test.d.ts +0 -1
  863. package/dist/src/ui/slash/__tests__/ideal.test.js +0 -158
  864. package/dist/src/ui/slash/__tests__/menu-parity.test.d.ts +0 -17
  865. package/dist/src/ui/slash/__tests__/menu-parity.test.js +0 -43
  866. package/dist/src/ui/slash/__tests__/optimize.test.d.ts +0 -1
  867. package/dist/src/ui/slash/__tests__/optimize.test.js +0 -130
  868. package/dist/src/ui/slash/__tests__/pin.test.d.ts +0 -1
  869. package/dist/src/ui/slash/__tests__/pin.test.js +0 -38
  870. package/dist/src/ui/slash/__tests__/plan.test.d.ts +0 -1
  871. package/dist/src/ui/slash/__tests__/plan.test.js +0 -82
  872. package/dist/src/ui/slash/__tests__/ponytail.test.d.ts +0 -1
  873. package/dist/src/ui/slash/__tests__/ponytail.test.js +0 -37
  874. package/dist/src/ui/slash/__tests__/status-render.test.d.ts +0 -7
  875. package/dist/src/ui/slash/__tests__/status-render.test.js +0 -77
  876. package/dist/src/ui/slash/route.test.d.ts +0 -1
  877. package/dist/src/ui/slash/route.test.js +0 -70
  878. package/dist/src/ui/status-bar/index.test.d.ts +0 -1
  879. package/dist/src/ui/status-bar/index.test.js +0 -139
  880. package/dist/src/ui/status-bar/store.test.d.ts +0 -1
  881. package/dist/src/ui/status-bar/store.test.js +0 -116
  882. package/dist/src/ui/status-bar/tier-badge.test.d.ts +0 -1
  883. package/dist/src/ui/status-bar/tier-badge.test.js +0 -34
  884. package/dist/src/ui/status-bar/usd-meter.test.d.ts +0 -1
  885. package/dist/src/ui/status-bar/usd-meter.test.js +0 -32
  886. package/dist/src/ui/utils/__tests__/format.test.d.ts +0 -1
  887. package/dist/src/ui/utils/__tests__/format.test.js +0 -50
  888. package/dist/src/ui/utils/__tests__/tools.test.d.ts +0 -1
  889. package/dist/src/ui/utils/__tests__/tools.test.js +0 -48
  890. package/dist/src/ui/utils/relaunch.test.d.ts +0 -1
  891. package/dist/src/ui/utils/relaunch.test.js +0 -133
  892. package/dist/src/ui/utils/text.test.d.ts +0 -1
  893. package/dist/src/ui/utils/text.test.js +0 -47
  894. package/dist/src/usage/__tests__/product-ledger.test.d.ts +0 -1
  895. package/dist/src/usage/__tests__/product-ledger.test.js +0 -60
  896. package/dist/src/usage/downgrade.test.d.ts +0 -1
  897. package/dist/src/usage/downgrade.test.js +0 -70
  898. package/dist/src/usage/estimator.test.d.ts +0 -1
  899. package/dist/src/usage/estimator.test.js +0 -38
  900. package/dist/src/usage/ledger.test.d.ts +0 -1
  901. package/dist/src/usage/ledger.test.js +0 -171
  902. package/dist/src/usage/midstream.test.d.ts +0 -1
  903. package/dist/src/usage/midstream.test.js +0 -47
  904. package/dist/src/usage/thresholds.test.d.ts +0 -1
  905. package/dist/src/usage/thresholds.test.js +0 -77
  906. package/dist/src/utils/__tests__/auto-council-settings.test.d.ts +0 -1
  907. package/dist/src/utils/__tests__/auto-council-settings.test.js +0 -41
  908. package/dist/src/utils/__tests__/compaction-caps.test.d.ts +0 -21
  909. package/dist/src/utils/__tests__/compaction-caps.test.js +0 -187
  910. package/dist/src/utils/__tests__/ee-logger.test.d.ts +0 -11
  911. package/dist/src/utils/__tests__/ee-logger.test.js +0 -165
  912. package/dist/src/utils/__tests__/file-lock.test.d.ts +0 -1
  913. package/dist/src/utils/__tests__/file-lock.test.js +0 -66
  914. package/dist/src/utils/__tests__/footprint-gitignore.test.d.ts +0 -1
  915. package/dist/src/utils/__tests__/footprint-gitignore.test.js +0 -50
  916. package/dist/src/utils/__tests__/llm-deadline-abort.test.d.ts +0 -1
  917. package/dist/src/utils/__tests__/llm-deadline-abort.test.js +0 -33
  918. package/dist/src/utils/__tests__/llm-deadline.test.d.ts +0 -1
  919. package/dist/src/utils/__tests__/llm-deadline.test.js +0 -68
  920. package/dist/src/utils/__tests__/logger.test.d.ts +0 -1
  921. package/dist/src/utils/__tests__/logger.test.js +0 -115
  922. package/dist/src/utils/__tests__/rate-limit.test.d.ts +0 -1
  923. package/dist/src/utils/__tests__/rate-limit.test.js +0 -38
  924. package/dist/src/utils/__tests__/settings-agent-first.test.d.ts +0 -1
  925. package/dist/src/utils/__tests__/settings-agent-first.test.js +0 -48
  926. package/dist/src/utils/__tests__/settings-disabled-models.test.d.ts +0 -7
  927. package/dist/src/utils/__tests__/settings-disabled-models.test.js +0 -99
  928. package/dist/src/utils/__tests__/settings-web-research.test.d.ts +0 -1
  929. package/dist/src/utils/__tests__/settings-web-research.test.js +0 -46
  930. package/dist/src/utils/__tests__/slugify.test.d.ts +0 -1
  931. package/dist/src/utils/__tests__/slugify.test.js +0 -37
  932. package/dist/src/utils/__tests__/visible-retry.test.d.ts +0 -1
  933. package/dist/src/utils/__tests__/visible-retry.test.js +0 -143
  934. package/dist/src/utils/install-manager.test.d.ts +0 -1
  935. package/dist/src/utils/install-manager.test.js +0 -169
  936. package/dist/src/utils/instructions.test.d.ts +0 -1
  937. package/dist/src/utils/instructions.test.js +0 -93
  938. package/dist/src/utils/open-url.test.d.ts +0 -1
  939. package/dist/src/utils/open-url.test.js +0 -86
  940. package/dist/src/utils/permission-mode.test.d.ts +0 -1
  941. package/dist/src/utils/permission-mode.test.js +0 -188
  942. package/dist/src/utils/redactor.test.d.ts +0 -1
  943. package/dist/src/utils/redactor.test.js +0 -84
  944. package/dist/src/utils/settings.test.d.ts +0 -1
  945. package/dist/src/utils/settings.test.js +0 -212
  946. package/dist/src/utils/shell.test.d.ts +0 -1
  947. package/dist/src/utils/shell.test.js +0 -97
  948. package/dist/src/utils/skills.test.d.ts +0 -1
  949. package/dist/src/utils/skills.test.js +0 -45
  950. package/dist/src/utils/subagent-display.test.d.ts +0 -1
  951. package/dist/src/utils/subagent-display.test.js +0 -21
  952. package/dist/src/utils/subagents-settings.test.d.ts +0 -1
  953. package/dist/src/utils/subagents-settings.test.js +0 -64
  954. package/dist/src/utils/telegram-audio-settings.test.d.ts +0 -1
  955. package/dist/src/utils/telegram-audio-settings.test.js +0 -39
  956. package/dist/src/utils/update-checker.test.d.ts +0 -1
  957. package/dist/src/utils/update-checker.test.js +0 -142
  958. package/dist/src/verify/__tests__/coverage-parsers.test.d.ts +0 -1
  959. package/dist/src/verify/__tests__/coverage-parsers.test.js +0 -69
  960. package/dist/src/verify/__tests__/dotnet-recipe.test.d.ts +0 -10
  961. package/dist/src/verify/__tests__/dotnet-recipe.test.js +0 -70
  962. package/dist/src/verify/checkpoint.test.d.ts +0 -1
  963. package/dist/src/verify/checkpoint.test.js +0 -160
  964. package/dist/src/verify/entrypoint.test.d.ts +0 -1
  965. package/dist/src/verify/entrypoint.test.js +0 -233
  966. package/dist/src/verify/environment.test.d.ts +0 -1
  967. package/dist/src/verify/environment.test.js +0 -94
  968. package/dist/src/verify/orchestrator.test.d.ts +0 -1
  969. package/dist/src/verify/orchestrator.test.js +0 -126
  970. package/dist/src/verify/runtime-prep.test.d.ts +0 -1
  971. package/dist/src/verify/runtime-prep.test.js +0 -38
@@ -451,54 +451,54 @@ function reactClientPackageJson(projectName) {
451
451
  }, null, 2);
452
452
  }
453
453
  function reactViteConfig() {
454
- return `import { defineConfig } from "vite";
455
- import react from "@vitejs/plugin-react";
456
-
457
- export default defineConfig({
458
- plugins: [react()],
459
- define: {
460
- __MUONROI_HARNESS__: JSON.stringify(process.env.NODE_ENV !== "production"),
461
- },
462
- });
454
+ return `import { defineConfig } from "vite";
455
+ import react from "@vitejs/plugin-react";
456
+
457
+ export default defineConfig({
458
+ plugins: [react()],
459
+ define: {
460
+ __MUONROI_HARNESS__: JSON.stringify(process.env.NODE_ENV !== "production"),
461
+ },
462
+ });
463
463
  `;
464
464
  }
465
465
  function reactIndexHtml(projectName) {
466
- return `<!doctype html>
467
- <html lang="en">
468
- <head>
469
- <meta charset="UTF-8" />
470
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
471
- <title>${projectName}</title>
472
- </head>
473
- <body>
474
- <div id="root"></div>
475
- <script type="module" src="/src/main.tsx"></script>
476
- </body>
477
- </html>
466
+ return `<!doctype html>
467
+ <html lang="en">
468
+ <head>
469
+ <meta charset="UTF-8" />
470
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
471
+ <title>${projectName}</title>
472
+ </head>
473
+ <body>
474
+ <div id="root"></div>
475
+ <script type="module" src="/src/main.tsx"></script>
476
+ </body>
477
+ </html>
478
478
  `;
479
479
  }
480
480
  function reactMainTsx() {
481
- return `import { StrictMode } from "react";
482
- import { createRoot } from "react-dom/client";
483
- import { SemanticProvider, Semantic } from "@muonroi/agent-harness-react";
484
- import { createSemanticRegistry } from "@muonroi/agent-harness-core/registry";
485
- import { ErrorBoundary } ${"from"} "./components/ErrorBoundary";
486
- ${"import"} "./styles/app.css";
487
-
488
- const registry = createSemanticRegistry();
489
-
490
- createRoot(document.getElementById("root")!).render(
491
- <StrictMode>
492
- <SemanticProvider registry={registry}>
493
- <ErrorBoundary>
494
- <Semantic id="root" role="region" name="App root">
495
- {/* Your application components go here */}
496
- <h1>Hello from ${"{projectName}"}</h1>
497
- </Semantic>
498
- </ErrorBoundary>
499
- </SemanticProvider>
500
- </StrictMode>,
501
- );
481
+ return `import { StrictMode } from "react";
482
+ import { createRoot } from "react-dom/client";
483
+ import { SemanticProvider, Semantic } from "@muonroi/agent-harness-react";
484
+ import { createSemanticRegistry } from "@muonroi/agent-harness-core/registry";
485
+ import { ErrorBoundary } ${"from"} "./components/ErrorBoundary";
486
+ ${"import"} "./styles/app.css";
487
+
488
+ const registry = createSemanticRegistry();
489
+
490
+ createRoot(document.getElementById("root")!).render(
491
+ <StrictMode>
492
+ <SemanticProvider registry={registry}>
493
+ <ErrorBoundary>
494
+ <Semantic id="root" role="region" name="App root">
495
+ {/* Your application components go here */}
496
+ <h1>Hello from ${"{projectName}"}</h1>
497
+ </Semantic>
498
+ </ErrorBoundary>
499
+ </SemanticProvider>
500
+ </StrictMode>,
501
+ );
502
502
  `;
503
503
  }
504
504
  function reactTsConfig() {
@@ -525,211 +525,211 @@ function reactTsConfig() {
525
525
  }, null, 2);
526
526
  }
527
527
  function reactEnvExample() {
528
- return `# Copy to .env.local and edit. NEVER commit .env.local.
529
- VITE_API_BASE=http://localhost:5000
528
+ return `# Copy to .env.local and edit. NEVER commit .env.local.
529
+ VITE_API_BASE=http://localhost:5000
530
530
  `;
531
531
  }
532
532
  function reactGitignore() {
533
- return `node_modules/
534
- dist/
535
- .env
536
- .env.local
537
- .env.*.local
538
- *.log
539
- .vite/
540
- coverage/
533
+ return `node_modules/
534
+ dist/
535
+ .env
536
+ .env.local
537
+ .env.*.local
538
+ *.log
539
+ .vite/
540
+ coverage/
541
541
  `;
542
542
  }
543
543
  function reactReadme(projectName) {
544
- return `# ${projectName} — client
545
-
546
- React + Vite + TypeScript (strict) frontend wired to the agent harness via
547
- \`@muonroi/agent-harness-react\`.
548
-
549
- ## Setup
550
-
551
- \`\`\`bash
552
- bun install
553
- cp .env.example .env.local # then edit VITE_API_BASE
554
- bun run dev
555
- \`\`\`
556
-
557
- ## Layout
558
-
559
- - \`src/api/\` — typed HTTP client + DTO types (mirror server contracts)
560
- - \`src/components/\` — reusable UI (ErrorBoundary, Toast)
561
- - \`src/styles/\` — tokens + global reset
562
- - \`src/main.tsx\` — bootstrap (do NOT remove SemanticProvider)
563
-
564
- ## Conventions
565
-
566
- - Every async view has loading / empty / error states.
567
- - No inline \`style={{...}}\` — use CSS modules or tokens from \`styles/app.css\`.
568
- - API base lives in \`import.meta.env.VITE_API_BASE\`. Never hardcode URLs.
569
- - Wrap user-visible regions with \`<Semantic id role name>\` so harness specs can target them.
544
+ return `# ${projectName} — client
545
+
546
+ React + Vite + TypeScript (strict) frontend wired to the agent harness via
547
+ \`@muonroi/agent-harness-react\`.
548
+
549
+ ## Setup
550
+
551
+ \`\`\`bash
552
+ bun install
553
+ cp .env.example .env.local # then edit VITE_API_BASE
554
+ bun run dev
555
+ \`\`\`
556
+
557
+ ## Layout
558
+
559
+ - \`src/api/\` — typed HTTP client + DTO types (mirror server contracts)
560
+ - \`src/components/\` — reusable UI (ErrorBoundary, Toast)
561
+ - \`src/styles/\` — tokens + global reset
562
+ - \`src/main.tsx\` — bootstrap (do NOT remove SemanticProvider)
563
+
564
+ ## Conventions
565
+
566
+ - Every async view has loading / empty / error states.
567
+ - No inline \`style={{...}}\` — use CSS modules or tokens from \`styles/app.css\`.
568
+ - API base lives in \`import.meta.env.VITE_API_BASE\`. Never hardcode URLs.
569
+ - Wrap user-visible regions with \`<Semantic id role name>\` so harness specs can target them.
570
570
  `;
571
571
  }
572
572
  function reactApiClient() {
573
- return `/**
574
- * Typed HTTP client. Reads API base from \`VITE_API_BASE\` env var.
575
- * Never hardcode URLs in components — import this client.
576
- */
577
-
578
- const API_BASE: string = import.meta.env.VITE_API_BASE ?? "";
579
-
580
- if (!API_BASE) {
581
- // Surfaces during dev if VITE_API_BASE is missing from .env.local.
582
- console.warn("[api] VITE_API_BASE is empty — set it in .env.local");
583
- }
584
-
585
- export class ApiError extends Error {
586
- constructor(public readonly status: number, public readonly body: unknown, message: string) {
587
- super(message);
588
- this.name = "ApiError";
589
- }
590
- }
591
-
592
- interface RequestOptions {
593
- method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
594
- body?: unknown;
595
- signal?: AbortSignal;
596
- token?: string | null;
597
- }
598
-
599
- export async function apiFetch<T>(path: string, opts: RequestOptions = {}): Promise<T> {
600
- const headers: Record<string, string> = { "Content-Type": "application/json" };
601
- const token = opts.token ?? (typeof localStorage !== "undefined" ? localStorage.getItem("access_token") : null);
602
- if (token) headers.Authorization = \`Bearer \${token}\`;
603
-
604
- const res = await fetch(\`\${API_BASE}\${path}\`, {
605
- method: opts.method ?? "GET",
606
- headers,
607
- body: opts.body ? JSON.stringify(opts.body) : undefined,
608
- signal: opts.signal,
609
- });
610
-
611
- let body: unknown = null;
612
- const text = await res.text();
613
- if (text) {
614
- try {
615
- body = JSON.parse(text);
616
- } catch {
617
- body = text;
618
- }
619
- }
620
-
621
- if (!res.ok) {
622
- throw new ApiError(res.status, body, \`HTTP \${res.status} on \${opts.method ?? "GET"} \${path}\`);
623
- }
624
- return body as T;
625
- }
573
+ return `/**
574
+ * Typed HTTP client. Reads API base from \`VITE_API_BASE\` env var.
575
+ * Never hardcode URLs in components — import this client.
576
+ */
577
+
578
+ const API_BASE: string = import.meta.env.VITE_API_BASE ?? "";
579
+
580
+ if (!API_BASE) {
581
+ // Surfaces during dev if VITE_API_BASE is missing from .env.local.
582
+ console.warn("[api] VITE_API_BASE is empty — set it in .env.local");
583
+ }
584
+
585
+ export class ApiError extends Error {
586
+ constructor(public readonly status: number, public readonly body: unknown, message: string) {
587
+ super(message);
588
+ this.name = "ApiError";
589
+ }
590
+ }
591
+
592
+ interface RequestOptions {
593
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
594
+ body?: unknown;
595
+ signal?: AbortSignal;
596
+ token?: string | null;
597
+ }
598
+
599
+ export async function apiFetch<T>(path: string, opts: RequestOptions = {}): Promise<T> {
600
+ const headers: Record<string, string> = { "Content-Type": "application/json" };
601
+ const token = opts.token ?? (typeof localStorage !== "undefined" ? localStorage.getItem("access_token") : null);
602
+ if (token) headers.Authorization = \`Bearer \${token}\`;
603
+
604
+ const res = await fetch(\`\${API_BASE}\${path}\`, {
605
+ method: opts.method ?? "GET",
606
+ headers,
607
+ body: opts.body ? JSON.stringify(opts.body) : undefined,
608
+ signal: opts.signal,
609
+ });
610
+
611
+ let body: unknown = null;
612
+ const text = await res.text();
613
+ if (text) {
614
+ try {
615
+ body = JSON.parse(text);
616
+ } catch {
617
+ body = text;
618
+ }
619
+ }
620
+
621
+ if (!res.ok) {
622
+ throw new ApiError(res.status, body, \`HTTP \${res.status} on \${opts.method ?? "GET"} \${path}\`);
623
+ }
624
+ return body as T;
625
+ }
626
626
  `;
627
627
  }
628
628
  function reactApiTypes() {
629
- return `/**
630
- * API request/response DTOs. Mirror server-side contracts here so the
631
- * compiler catches contract drift early. Replace the placeholder once
632
- * you generate domain types.
633
- */
634
- export interface Envelope<T> {
635
- result: T;
636
- error?: string | null;
637
- }
638
-
639
- // EXAMPLE — delete or replace with your real DTOs.
640
- // export interface TodoDto {
641
- // id: string;
642
- // title: string;
643
- // isCompleted: boolean;
644
- // createdAt: string;
645
- // }
646
- export {};
629
+ return `/**
630
+ * API request/response DTOs. Mirror server-side contracts here so the
631
+ * compiler catches contract drift early. Replace the placeholder once
632
+ * you generate domain types.
633
+ */
634
+ export interface Envelope<T> {
635
+ result: T;
636
+ error?: string | null;
637
+ }
638
+
639
+ // EXAMPLE — delete or replace with your real DTOs.
640
+ // export interface TodoDto {
641
+ // id: string;
642
+ // title: string;
643
+ // isCompleted: boolean;
644
+ // createdAt: string;
645
+ // }
646
+ export {};
647
647
  `;
648
648
  }
649
649
  function reactErrorBoundary() {
650
- return `import { Component, type ErrorInfo, type ReactNode } from "react";
651
-
652
- interface Props {
653
- children: ReactNode;
654
- fallback?: (error: Error) => ReactNode;
655
- }
656
-
657
- interface State {
658
- error: Error | null;
659
- }
660
-
661
- /**
662
- * Root-level error boundary. Catches uncaught render/effect errors and
663
- * shows a fallback instead of an unmounted blank page. Logs to console
664
- * for dev; replace the logger with your telemetry sink in prod.
665
- */
666
- export class ErrorBoundary extends Component<Props, State> {
667
- state: State = { error: null };
668
-
669
- static getDerivedStateFromError(error: Error): State {
670
- return { error };
671
- }
672
-
673
- componentDidCatch(error: Error, info: ErrorInfo): void {
674
- console.error("[ErrorBoundary]", error, info);
675
- }
676
-
677
- render(): ReactNode {
678
- if (this.state.error) {
679
- if (this.props.fallback) return this.props.fallback(this.state.error);
680
- return (
681
- <div role="alert" style={{ padding: "1rem", color: "var(--color-error, #b91c1c)" }}>
682
- <h2>Something went wrong</h2>
683
- <pre style={{ whiteSpace: "pre-wrap" }}>{this.state.error.message}</pre>
684
- </div>
685
- );
686
- }
687
- return this.props.children;
688
- }
689
- }
650
+ return `import { Component, type ErrorInfo, type ReactNode } from "react";
651
+
652
+ interface Props {
653
+ children: ReactNode;
654
+ fallback?: (error: Error) => ReactNode;
655
+ }
656
+
657
+ interface State {
658
+ error: Error | null;
659
+ }
660
+
661
+ /**
662
+ * Root-level error boundary. Catches uncaught render/effect errors and
663
+ * shows a fallback instead of an unmounted blank page. Logs to console
664
+ * for dev; replace the logger with your telemetry sink in prod.
665
+ */
666
+ export class ErrorBoundary extends Component<Props, State> {
667
+ state: State = { error: null };
668
+
669
+ static getDerivedStateFromError(error: Error): State {
670
+ return { error };
671
+ }
672
+
673
+ componentDidCatch(error: Error, info: ErrorInfo): void {
674
+ console.error("[ErrorBoundary]", error, info);
675
+ }
676
+
677
+ render(): ReactNode {
678
+ if (this.state.error) {
679
+ if (this.props.fallback) return this.props.fallback(this.state.error);
680
+ return (
681
+ <div role="alert" style={{ padding: "1rem", color: "var(--color-error, #b91c1c)" }}>
682
+ <h2>Something went wrong</h2>
683
+ <pre style={{ whiteSpace: "pre-wrap" }}>{this.state.error.message}</pre>
684
+ </div>
685
+ );
686
+ }
687
+ return this.props.children;
688
+ }
689
+ }
690
690
  `;
691
691
  }
692
692
  function reactAppCss() {
693
- return `:root {
694
- --color-bg: #ffffff;
695
- --color-fg: #111827;
696
- --color-muted: #6b7280;
697
- --color-primary: #2563eb;
698
- --color-primary-hover: #1d4ed8;
699
- --color-border: #e5e7eb;
700
- --color-error: #b91c1c;
701
- --color-success: #15803d;
702
- --space-1: 0.25rem;
703
- --space-2: 0.5rem;
704
- --space-3: 0.75rem;
705
- --space-4: 1rem;
706
- --space-6: 1.5rem;
707
- --space-8: 2rem;
708
- --radius: 0.5rem;
709
- --font-stack: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
710
- }
711
-
712
- @media (prefers-color-scheme: dark) {
713
- :root {
714
- --color-bg: #0b1220;
715
- --color-fg: #f3f4f6;
716
- --color-muted: #9ca3af;
717
- --color-border: #1f2937;
718
- }
719
- }
720
-
721
- * { box-sizing: border-box; }
722
- html, body, #root { height: 100%; }
723
- body {
724
- margin: 0;
725
- background: var(--color-bg);
726
- color: var(--color-fg);
727
- font-family: var(--font-stack);
728
- line-height: 1.5;
729
- }
730
- button { font: inherit; cursor: pointer; }
731
- input, textarea, select { font: inherit; }
732
- a { color: var(--color-primary); }
693
+ return `:root {
694
+ --color-bg: #ffffff;
695
+ --color-fg: #111827;
696
+ --color-muted: #6b7280;
697
+ --color-primary: #2563eb;
698
+ --color-primary-hover: #1d4ed8;
699
+ --color-border: #e5e7eb;
700
+ --color-error: #b91c1c;
701
+ --color-success: #15803d;
702
+ --space-1: 0.25rem;
703
+ --space-2: 0.5rem;
704
+ --space-3: 0.75rem;
705
+ --space-4: 1rem;
706
+ --space-6: 1.5rem;
707
+ --space-8: 2rem;
708
+ --radius: 0.5rem;
709
+ --font-stack: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
710
+ }
711
+
712
+ @media (prefers-color-scheme: dark) {
713
+ :root {
714
+ --color-bg: #0b1220;
715
+ --color-fg: #f3f4f6;
716
+ --color-muted: #9ca3af;
717
+ --color-border: #1f2937;
718
+ }
719
+ }
720
+
721
+ * { box-sizing: border-box; }
722
+ html, body, #root { height: 100%; }
723
+ body {
724
+ margin: 0;
725
+ background: var(--color-bg);
726
+ color: var(--color-fg);
727
+ font-family: var(--font-stack);
728
+ line-height: 1.5;
729
+ }
730
+ button { font: inherit; cursor: pointer; }
731
+ input, textarea, select { font: inherit; }
732
+ a { color: var(--color-primary); }
733
733
  `;
734
734
  }
735
735
  function angularClientPackageJson(projectName) {
@@ -756,37 +756,37 @@ function angularClientPackageJson(projectName) {
756
756
  }, null, 2);
757
757
  }
758
758
  function angularMainTs() {
759
- return `import { bootstrapApplication } from "@angular/platform-browser";
760
- import { ErrorHandler } from "@angular/core";
761
- import { provideHttpClient } from "@angular/common/http";
762
- import { AppComponent } } ${"from"} "./app/app.component";
763
- ${"import"} { AppErrorHandler } ${"from"} "./app/error-handler";
764
- ${"import"} "./styles.css";
765
-
766
- bootstrapApplication(AppComponent, {
767
- providers: [
768
- provideHttpClient(),
769
- { provide: ErrorHandler, useClass: AppErrorHandler },
770
- ],
771
- }).catch((err) => console.error(err));
759
+ return `import { bootstrapApplication } from "@angular/platform-browser";
760
+ import { ErrorHandler } from "@angular/core";
761
+ import { provideHttpClient } from "@angular/common/http";
762
+ import { AppComponent } } ${"from"} "./app/app.component";
763
+ ${"import"} { AppErrorHandler } ${"from"} "./app/error-handler";
764
+ ${"import"} "./styles.css";
765
+
766
+ bootstrapApplication(AppComponent, {
767
+ providers: [
768
+ provideHttpClient(),
769
+ { provide: ErrorHandler, useClass: AppErrorHandler },
770
+ ],
771
+ }).catch((err) => console.error(err));
772
772
  `;
773
773
  }
774
774
  function angularAppComponentTs(projectName) {
775
- return `import { Component } from "@angular/core";
776
- import { SemanticDirective } from "@muonroi/agent-harness-angular";
777
-
778
- @Component({
779
- selector: "app-root",
780
- standalone: true,
781
- imports: [SemanticDirective],
782
- template: \`
783
- <div muonroiSemantic id="root" role="region" name="App root">
784
- <!-- Your application components go here -->
785
- <h1>Hello from ${projectName}</h1>
786
- </div>
787
- \`,
788
- })
789
- export class AppComponent {}
775
+ return `import { Component } from "@angular/core";
776
+ import { SemanticDirective } from "@muonroi/agent-harness-angular";
777
+
778
+ @Component({
779
+ selector: "app-root",
780
+ standalone: true,
781
+ imports: [SemanticDirective],
782
+ template: \`
783
+ <div muonroiSemantic id="root" role="region" name="App root">
784
+ <!-- Your application components go here -->
785
+ <h1>Hello from ${projectName}</h1>
786
+ </div>
787
+ \`,
788
+ })
789
+ export class AppComponent {}
790
790
  `;
791
791
  }
792
792
  function angularTsConfig() {
@@ -807,193 +807,193 @@ function angularTsConfig() {
807
807
  }, null, 2);
808
808
  }
809
809
  function angularEnvironmentTs() {
810
- return `/**
811
- * Build-time environment config. Angular CLI swaps this file with
812
- * \`environment.prod.ts\` when building for production via fileReplacements
813
- * in angular.json. Never hardcode API URLs in components — import this.
814
- */
815
- export const environment = {
816
- production: false,
817
- apiBase: "http://localhost:5000",
818
- };
810
+ return `/**
811
+ * Build-time environment config. Angular CLI swaps this file with
812
+ * \`environment.prod.ts\` when building for production via fileReplacements
813
+ * in angular.json. Never hardcode API URLs in components — import this.
814
+ */
815
+ export const environment = {
816
+ production: false,
817
+ apiBase: "http://localhost:5000",
818
+ };
819
819
  `;
820
820
  }
821
821
  function angularEnvironmentProdTs() {
822
- return `export const environment = {
823
- production: true,
824
- // Replaced at build time; set via your deploy pipeline.
825
- apiBase: "",
826
- };
822
+ return `export const environment = {
823
+ production: true,
824
+ // Replaced at build time; set via your deploy pipeline.
825
+ apiBase: "",
826
+ };
827
827
  `;
828
828
  }
829
829
  function angularApiServiceTs() {
830
- return `import { Injectable, inject } from "@angular/core";
831
- import { HttpClient, HttpErrorResponse, HttpHeaders } from "@angular/common/http";
832
- import { Observable, catchError, throwError } from "rxjs";
833
- ${"import"} { environment } ${"from"} "../environments/environment";
834
-
835
- /**
836
- * Typed HTTP client wrapper. Reads API base from environment.apiBase.
837
- * Components must call methods on this service, never inject HttpClient
838
- * directly, so URL configuration stays centralized.
839
- */
840
- export class ApiError extends Error {
841
- constructor(public readonly status: number, public readonly body: unknown, message: string) {
842
- super(message);
843
- this.name = "ApiError";
844
- }
845
- }
846
-
847
- @Injectable({ providedIn: "root" })
848
- export class ApiService {
849
- private readonly http = inject(HttpClient);
850
-
851
- private headers(): HttpHeaders {
852
- let h = new HttpHeaders({ "Content-Type": "application/json" });
853
- const token =
854
- typeof localStorage !== "undefined" ? localStorage.getItem("access_token") : null;
855
- if (token) h = h.set("Authorization", \`Bearer \${token}\`);
856
- return h;
857
- }
858
-
859
- private wrap<T>(obs: Observable<T>): Observable<T> {
860
- return obs.pipe(
861
- catchError((err: HttpErrorResponse) =>
862
- throwError(() => new ApiError(err.status, err.error, err.message)),
863
- ),
864
- );
865
- }
866
-
867
- get<T>(path: string): Observable<T> {
868
- return this.wrap(this.http.get<T>(\`\${environment.apiBase}\${path}\`, { headers: this.headers() }));
869
- }
870
-
871
- post<T>(path: string, body: unknown): Observable<T> {
872
- return this.wrap(
873
- this.http.post<T>(\`\${environment.apiBase}\${path}\`, body, { headers: this.headers() }),
874
- );
875
- }
876
-
877
- put<T>(path: string, body: unknown): Observable<T> {
878
- return this.wrap(
879
- this.http.put<T>(\`\${environment.apiBase}\${path}\`, body, { headers: this.headers() }),
880
- );
881
- }
882
-
883
- delete<T>(path: string): Observable<T> {
884
- return this.wrap(
885
- this.http.delete<T>(\`\${environment.apiBase}\${path}\`, { headers: this.headers() }),
886
- );
887
- }
888
- }
830
+ return `import { Injectable, inject } from "@angular/core";
831
+ import { HttpClient, HttpErrorResponse, HttpHeaders } from "@angular/common/http";
832
+ import { Observable, catchError, throwError } from "rxjs";
833
+ ${"import"} { environment } ${"from"} "../environments/environment";
834
+
835
+ /**
836
+ * Typed HTTP client wrapper. Reads API base from environment.apiBase.
837
+ * Components must call methods on this service, never inject HttpClient
838
+ * directly, so URL configuration stays centralized.
839
+ */
840
+ export class ApiError extends Error {
841
+ constructor(public readonly status: number, public readonly body: unknown, message: string) {
842
+ super(message);
843
+ this.name = "ApiError";
844
+ }
845
+ }
846
+
847
+ @Injectable({ providedIn: "root" })
848
+ export class ApiService {
849
+ private readonly http = inject(HttpClient);
850
+
851
+ private headers(): HttpHeaders {
852
+ let h = new HttpHeaders({ "Content-Type": "application/json" });
853
+ const token =
854
+ typeof localStorage !== "undefined" ? localStorage.getItem("access_token") : null;
855
+ if (token) h = h.set("Authorization", \`Bearer \${token}\`);
856
+ return h;
857
+ }
858
+
859
+ private wrap<T>(obs: Observable<T>): Observable<T> {
860
+ return obs.pipe(
861
+ catchError((err: HttpErrorResponse) =>
862
+ throwError(() => new ApiError(err.status, err.error, err.message)),
863
+ ),
864
+ );
865
+ }
866
+
867
+ get<T>(path: string): Observable<T> {
868
+ return this.wrap(this.http.get<T>(\`\${environment.apiBase}\${path}\`, { headers: this.headers() }));
869
+ }
870
+
871
+ post<T>(path: string, body: unknown): Observable<T> {
872
+ return this.wrap(
873
+ this.http.post<T>(\`\${environment.apiBase}\${path}\`, body, { headers: this.headers() }),
874
+ );
875
+ }
876
+
877
+ put<T>(path: string, body: unknown): Observable<T> {
878
+ return this.wrap(
879
+ this.http.put<T>(\`\${environment.apiBase}\${path}\`, body, { headers: this.headers() }),
880
+ );
881
+ }
882
+
883
+ delete<T>(path: string): Observable<T> {
884
+ return this.wrap(
885
+ this.http.delete<T>(\`\${environment.apiBase}\${path}\`, { headers: this.headers() }),
886
+ );
887
+ }
888
+ }
889
889
  `;
890
890
  }
891
891
  function angularErrorHandlerTs() {
892
- return `import { ErrorHandler, Injectable } from "@angular/core";
893
-
894
- /**
895
- * Root error handler. Replace the console sink with your telemetry
896
- * provider in prod. Angular wires this via providers: [{ provide:
897
- * ErrorHandler, useClass: AppErrorHandler }].
898
- */
899
- @Injectable({ providedIn: "root" })
900
- export class AppErrorHandler implements ErrorHandler {
901
- handleError(error: unknown): void {
902
- console.error("[AppErrorHandler]", error);
903
- }
904
- }
892
+ return `import { ErrorHandler, Injectable } from "@angular/core";
893
+
894
+ /**
895
+ * Root error handler. Replace the console sink with your telemetry
896
+ * provider in prod. Angular wires this via providers: [{ provide:
897
+ * ErrorHandler, useClass: AppErrorHandler }].
898
+ */
899
+ @Injectable({ providedIn: "root" })
900
+ export class AppErrorHandler implements ErrorHandler {
901
+ handleError(error: unknown): void {
902
+ console.error("[AppErrorHandler]", error);
903
+ }
904
+ }
905
905
  `;
906
906
  }
907
907
  function angularStylesCss() {
908
- return `:root {
909
- --color-bg: #ffffff;
910
- --color-fg: #111827;
911
- --color-muted: #6b7280;
912
- --color-primary: #2563eb;
913
- --color-primary-hover: #1d4ed8;
914
- --color-border: #e5e7eb;
915
- --color-error: #b91c1c;
916
- --color-success: #15803d;
917
- --space-1: 0.25rem;
918
- --space-2: 0.5rem;
919
- --space-3: 0.75rem;
920
- --space-4: 1rem;
921
- --space-6: 1.5rem;
922
- --space-8: 2rem;
923
- --radius: 0.5rem;
924
- --font-stack: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
925
- }
926
-
927
- @media (prefers-color-scheme: dark) {
928
- :root {
929
- --color-bg: #0b1220;
930
- --color-fg: #f3f4f6;
931
- --color-muted: #9ca3af;
932
- --color-border: #1f2937;
933
- }
934
- }
935
-
936
- * { box-sizing: border-box; }
937
- html, body { height: 100%; margin: 0; }
938
- body {
939
- background: var(--color-bg);
940
- color: var(--color-fg);
941
- font-family: var(--font-stack);
942
- line-height: 1.5;
943
- }
944
- button { font: inherit; cursor: pointer; }
945
- input, textarea, select { font: inherit; }
946
- a { color: var(--color-primary); }
908
+ return `:root {
909
+ --color-bg: #ffffff;
910
+ --color-fg: #111827;
911
+ --color-muted: #6b7280;
912
+ --color-primary: #2563eb;
913
+ --color-primary-hover: #1d4ed8;
914
+ --color-border: #e5e7eb;
915
+ --color-error: #b91c1c;
916
+ --color-success: #15803d;
917
+ --space-1: 0.25rem;
918
+ --space-2: 0.5rem;
919
+ --space-3: 0.75rem;
920
+ --space-4: 1rem;
921
+ --space-6: 1.5rem;
922
+ --space-8: 2rem;
923
+ --radius: 0.5rem;
924
+ --font-stack: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
925
+ }
926
+
927
+ @media (prefers-color-scheme: dark) {
928
+ :root {
929
+ --color-bg: #0b1220;
930
+ --color-fg: #f3f4f6;
931
+ --color-muted: #9ca3af;
932
+ --color-border: #1f2937;
933
+ }
934
+ }
935
+
936
+ * { box-sizing: border-box; }
937
+ html, body { height: 100%; margin: 0; }
938
+ body {
939
+ background: var(--color-bg);
940
+ color: var(--color-fg);
941
+ font-family: var(--font-stack);
942
+ line-height: 1.5;
943
+ }
944
+ button { font: inherit; cursor: pointer; }
945
+ input, textarea, select { font: inherit; }
946
+ a { color: var(--color-primary); }
947
947
  `;
948
948
  }
949
949
  function angularGitignore() {
950
- return `node_modules/
951
- dist/
952
- .angular/
953
- .env
954
- .env.local
955
- *.log
956
- coverage/
950
+ return `node_modules/
951
+ dist/
952
+ .angular/
953
+ .env
954
+ .env.local
955
+ *.log
956
+ coverage/
957
957
  `;
958
958
  }
959
959
  function angularReadme(projectName) {
960
- return `# ${projectName} — client
961
-
962
- Angular (standalone components) + agent harness via \`@muonroi/agent-harness-angular\`.
963
-
964
- ## Setup
965
-
966
- \`\`\`bash
967
- bun install
968
- bun run dev
969
- \`\`\`
970
-
971
- Edit \`src/environments/environment.ts\` to point \`apiBase\` at your backend.
972
-
973
- ## Layout
974
-
975
- - \`src/api/\` — \`ApiService\` (typed HTTP) + DTO types
976
- - \`src/environments/\` — env config (dev + prod). \`apiBase\` is the only URL knob.
977
- - \`src/app/\` — components. Do NOT remove \`muonroiSemantic\` attributes.
978
-
979
- ## Conventions
980
-
981
- - Every async view has loading / empty / error states.
982
- - API URLs come from \`environment.apiBase\`. Never hardcode.
983
- - Wrap user-visible regions with \`[muonroiSemantic]\` so harness specs can target them.
984
- - AppErrorHandler is wired via providers — extend it instead of console.error.
960
+ return `# ${projectName} — client
961
+
962
+ Angular (standalone components) + agent harness via \`@muonroi/agent-harness-angular\`.
963
+
964
+ ## Setup
965
+
966
+ \`\`\`bash
967
+ bun install
968
+ bun run dev
969
+ \`\`\`
970
+
971
+ Edit \`src/environments/environment.ts\` to point \`apiBase\` at your backend.
972
+
973
+ ## Layout
974
+
975
+ - \`src/api/\` — \`ApiService\` (typed HTTP) + DTO types
976
+ - \`src/environments/\` — env config (dev + prod). \`apiBase\` is the only URL knob.
977
+ - \`src/app/\` — components. Do NOT remove \`muonroiSemantic\` attributes.
978
+
979
+ ## Conventions
980
+
981
+ - Every async view has loading / empty / error states.
982
+ - API URLs come from \`environment.apiBase\`. Never hardcode.
983
+ - Wrap user-visible regions with \`[muonroiSemantic]\` so harness specs can target them.
984
+ - AppErrorHandler is wired via providers — extend it instead of console.error.
985
985
  `;
986
986
  }
987
987
  function angularApiTypes() {
988
- return `/**
989
- * API request/response DTOs. Mirror server-side contracts here so the
990
- * compiler catches contract drift early.
991
- */
992
- export interface Envelope<T> {
993
- result: T;
994
- error?: string | null;
995
- }
996
- export {};
988
+ return `/**
989
+ * API request/response DTOs. Mirror server-side contracts here so the
990
+ * compiler catches contract drift early.
991
+ */
992
+ export interface Envelope<T> {
993
+ result: T;
994
+ error?: string | null;
995
+ }
996
+ export {};
997
997
  `;
998
998
  }
999
999
  // ---------------------------------------------------------------------------
@@ -1374,41 +1374,41 @@ async function injectPackagesProps(propsPath, eePackages, commercial, fsOps) {
1374
1374
  await fsOps.writeFile(propsPath, updatedContent);
1375
1375
  }
1376
1376
  function buildMinimalPackagesProps() {
1377
- return `<Project>
1378
- <PropertyGroup>
1379
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
1380
- </PropertyGroup>
1381
- <ItemGroup>
1382
- </ItemGroup>
1377
+ return `<Project>
1378
+ <PropertyGroup>
1379
+ <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
1380
+ </PropertyGroup>
1381
+ <ItemGroup>
1382
+ </ItemGroup>
1383
1383
  </Project>`;
1384
1384
  }
1385
1385
  function buildEEIntentMd(opts) {
1386
1386
  const date = new Date().toISOString().slice(0, 10);
1387
1387
  const packageList = opts.eePackages.length > 0 ? opts.eePackages.map((p) => `- ${p}`).join("\n") : "_(none)_";
1388
- return `# EE-INTENT.md
1389
-
1390
- Generated by muonroi-cli on ${date}.
1391
-
1392
- ## Project
1393
- **Name:** ${opts.projectName}
1394
-
1395
- ## Template
1396
- **Package:** ${opts.template.nugetId}
1397
- **Short name:** ${opts.template.shortName}
1398
- **Version:** ${opts.template.version}
1399
-
1400
- ## EE-Recommended Packages
1401
- ${packageList}
1402
-
1403
- ## Coverage
1404
- **Status:** ${opts.coverage}
1405
- ${opts.coverage === "partial" ? "\n> Some recommended packages have weak EE coverage (< 0.70). Code-gen applied generic wiring only for low-coverage packages. Run `bun run ee:ingest-bb` to improve coverage.\n" : ""}
1406
-
1407
- ## Resume
1408
- To re-apply or fix scaffold issues interactively:
1409
- \`\`\`
1410
- /ideal --resume .
1411
- \`\`\`
1388
+ return `# EE-INTENT.md
1389
+
1390
+ Generated by muonroi-cli on ${date}.
1391
+
1392
+ ## Project
1393
+ **Name:** ${opts.projectName}
1394
+
1395
+ ## Template
1396
+ **Package:** ${opts.template.nugetId}
1397
+ **Short name:** ${opts.template.shortName}
1398
+ **Version:** ${opts.template.version}
1399
+
1400
+ ## EE-Recommended Packages
1401
+ ${packageList}
1402
+
1403
+ ## Coverage
1404
+ **Status:** ${opts.coverage}
1405
+ ${opts.coverage === "partial" ? "\n> Some recommended packages have weak EE coverage (< 0.70). Code-gen applied generic wiring only for low-coverage packages. Run `bun run ee:ingest-bb` to improve coverage.\n" : ""}
1406
+
1407
+ ## Resume
1408
+ To re-apply or fix scaffold issues interactively:
1409
+ \`\`\`
1410
+ /ideal --resume .
1411
+ \`\`\`
1412
1412
  `;
1413
1413
  }
1414
1414
  //# sourceMappingURL=init-new.js.map