muonroi-cli 1.4.0 → 1.5.0

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 (2000) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +122 -122
  3. package/dist/packages/agent-harness-core/src/predicate.d.ts +1 -1
  4. package/dist/src/agent-harness/__tests__/mock-model.spec.js +48 -1
  5. package/dist/src/agent-harness/mock-model.d.ts +11 -0
  6. package/dist/src/agent-harness/mock-model.js +21 -0
  7. package/dist/src/cli/cost-forensics.js +12 -12
  8. package/dist/src/council/__tests__/clarification-prompt.test.js +51 -0
  9. package/dist/src/council/__tests__/clarifier-ready-gate.test.js +32 -0
  10. package/dist/src/council/__tests__/decisions-lock.test.js +17 -1
  11. package/dist/src/council/__tests__/oauth-reachable.test.d.ts +1 -0
  12. package/dist/src/council/__tests__/oauth-reachable.test.js +31 -0
  13. package/dist/src/council/__tests__/parse-outcome-fallback.test.js +11 -0
  14. package/dist/src/council/clarifier.js +9 -1
  15. package/dist/src/council/debate.js +5 -1
  16. package/dist/src/council/decisions-lock.js +3 -3
  17. package/dist/src/council/index.js +12 -5
  18. package/dist/src/council/leader.d.ts +0 -17
  19. package/dist/src/council/leader.js +22 -15
  20. package/dist/src/council/planner.js +1 -1
  21. package/dist/src/council/prompts.js +63 -57
  22. package/dist/src/council/types.d.ts +7 -0
  23. package/dist/src/ee/__tests__/ee-onboarding.test.d.ts +1 -0
  24. package/dist/src/ee/__tests__/ee-onboarding.test.js +32 -0
  25. package/dist/src/ee/auth.d.ts +9 -0
  26. package/dist/src/ee/auth.js +19 -0
  27. package/dist/src/ee/ee-onboarding.d.ts +5 -0
  28. package/dist/src/ee/ee-onboarding.js +76 -0
  29. package/dist/src/generated/version.d.ts +1 -1
  30. package/dist/src/generated/version.js +1 -1
  31. package/dist/src/headless/output.js +6 -4
  32. package/dist/src/headless/output.test.js +4 -3
  33. package/dist/src/index.js +20 -1
  34. package/dist/src/mcp/__tests__/auto-setup.test.js +74 -0
  35. package/dist/src/mcp/__tests__/client-pool.spec.d.ts +1 -0
  36. package/dist/src/mcp/__tests__/client-pool.spec.js +98 -0
  37. package/dist/src/mcp/__tests__/parallel-build.spec.d.ts +1 -0
  38. package/dist/src/mcp/__tests__/parallel-build.spec.js +67 -0
  39. package/dist/src/mcp/__tests__/smart-filter.test.js +56 -0
  40. package/dist/src/mcp/auto-setup.js +56 -2
  41. package/dist/src/mcp/client-pool.d.ts +46 -0
  42. package/dist/src/mcp/client-pool.js +212 -0
  43. package/dist/src/mcp/oauth-callback.js +2 -2
  44. package/dist/src/mcp/parse-headers.test.js +14 -14
  45. package/dist/src/mcp/runtime.d.ts +28 -0
  46. package/dist/src/mcp/runtime.js +117 -51
  47. package/dist/src/mcp/self-verify-runner.d.ts +14 -0
  48. package/dist/src/mcp/self-verify-runner.js +38 -0
  49. package/dist/src/mcp/setup-guide-text.d.ts +9 -0
  50. package/dist/src/mcp/setup-guide-text.js +84 -0
  51. package/dist/src/mcp/smart-filter.js +49 -0
  52. package/dist/src/mcp/smoke.test.js +43 -43
  53. package/dist/src/mcp/tools-server.d.ts +7 -0
  54. package/dist/src/mcp/tools-server.js +19 -22
  55. package/dist/src/models/catalog.json +349 -349
  56. package/dist/src/ops/__tests__/doctor-ee-health.test.js +21 -0
  57. package/dist/src/ops/doctor.d.ts +3 -2
  58. package/dist/src/ops/doctor.js +47 -11
  59. package/dist/src/ops/doctor.test.js +4 -3
  60. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.d.ts +1 -0
  61. package/dist/src/orchestrator/__tests__/mcp-capability-block.test.js +39 -0
  62. package/dist/src/orchestrator/__tests__/project-stack.test.d.ts +1 -0
  63. package/dist/src/orchestrator/__tests__/project-stack.test.js +65 -0
  64. package/dist/src/orchestrator/batch-turn-runner.js +7 -11
  65. package/dist/src/orchestrator/message-processor.js +57 -27
  66. package/dist/src/orchestrator/orchestrator.js +26 -0
  67. package/dist/src/orchestrator/prompts.d.ts +51 -0
  68. package/dist/src/orchestrator/prompts.js +257 -134
  69. package/dist/src/orchestrator/scope-ceiling.js +6 -1
  70. package/dist/src/orchestrator/stream-runner.js +20 -15
  71. package/dist/src/orchestrator/text-tool-call-detector.test.js +13 -13
  72. package/dist/src/pil/__tests__/clarity-gate.test.js +24 -215
  73. package/dist/src/pil/__tests__/config.test.js +1 -17
  74. package/dist/src/pil/__tests__/discovery.test.js +144 -11
  75. package/dist/src/pil/__tests__/layer1-intent-trace.test.js +7 -2
  76. package/dist/src/pil/__tests__/layer1-intent.test.js +3 -0
  77. package/dist/src/pil/__tests__/layer16-clarity.test.js +32 -116
  78. package/dist/src/pil/__tests__/layer4-gsd.test.js +37 -0
  79. package/dist/src/pil/__tests__/layer6-output.test.js +137 -18
  80. package/dist/src/pil/__tests__/llm-classify.test.js +49 -2
  81. package/dist/src/pil/agent-operating-contract.d.ts +1 -1
  82. package/dist/src/pil/agent-operating-contract.js +2 -0
  83. package/dist/src/pil/agent-operating-contract.test.js +7 -2
  84. package/dist/src/pil/cheap-model-playbook.js +35 -35
  85. package/dist/src/pil/cheap-model-workbooks.js +16 -13
  86. package/dist/src/pil/clarity-gate.d.ts +21 -19
  87. package/dist/src/pil/clarity-gate.js +26 -153
  88. package/dist/src/pil/config.d.ts +9 -1
  89. package/dist/src/pil/config.js +15 -4
  90. package/dist/src/pil/discovery.js +211 -136
  91. package/dist/src/pil/layer1-intent.d.ts +12 -0
  92. package/dist/src/pil/layer1-intent.js +283 -38
  93. package/dist/src/pil/layer1-intent.test.js +210 -4
  94. package/dist/src/pil/layer16-clarity.d.ts +25 -11
  95. package/dist/src/pil/layer16-clarity.js +19 -306
  96. package/dist/src/pil/layer4-gsd.js +18 -6
  97. package/dist/src/pil/layer6-output.d.ts +2 -0
  98. package/dist/src/pil/layer6-output.js +137 -22
  99. package/dist/src/pil/llm-classify.d.ts +26 -0
  100. package/dist/src/pil/llm-classify.js +34 -5
  101. package/dist/src/pil/native-capabilities-workbook.d.ts +1 -1
  102. package/dist/src/pil/native-capabilities-workbook.js +82 -76
  103. package/dist/src/pil/schema.d.ts +8 -0
  104. package/dist/src/pil/schema.js +12 -1
  105. package/dist/src/pil/task-tier-map.js +4 -0
  106. package/dist/src/pil/types.d.ts +11 -1
  107. package/dist/src/product-loop/done-gate.js +3 -3
  108. package/dist/src/product-loop/loop-driver.js +18 -18
  109. package/dist/src/product-loop/progress-snapshot.js +4 -4
  110. package/dist/src/providers/auth/gemini-oauth.js +6 -15
  111. package/dist/src/providers/auth/grok-oauth.js +6 -15
  112. package/dist/src/providers/auth/openai-oauth.js +6 -15
  113. package/dist/src/providers/mcp-vision-bridge.js +48 -48
  114. package/dist/src/reporter/index.js +1 -1
  115. package/dist/src/scaffold/bb-ecosystem-apply.js +47 -47
  116. package/dist/src/scaffold/bb-quality-gate.js +5 -5
  117. package/dist/src/scaffold/continuation-prompt.js +60 -60
  118. package/dist/src/scaffold/init-new.js +453 -453
  119. package/dist/src/self-qa/__tests__/scenario-planner.test.js +3 -3
  120. package/dist/src/self-qa/agentic-loop.js +24 -19
  121. package/dist/src/self-qa/spec-emitter.js +26 -23
  122. package/dist/src/storage/__tests__/migrations.test.js +2 -2
  123. package/dist/src/storage/interaction-log.js +5 -5
  124. package/dist/src/storage/migrations.js +122 -122
  125. package/dist/src/storage/sessions.js +42 -42
  126. package/dist/src/storage/transcript.js +91 -84
  127. package/dist/src/storage/usage.js +14 -14
  128. package/dist/src/storage/workspaces.js +12 -12
  129. package/dist/src/tools/__tests__/native-tools.test.d.ts +1 -0
  130. package/dist/src/tools/__tests__/native-tools.test.js +53 -0
  131. package/dist/src/tools/git-safety.d.ts +61 -0
  132. package/dist/src/tools/git-safety.js +141 -0
  133. package/dist/src/tools/git-safety.test.d.ts +1 -0
  134. package/dist/src/tools/git-safety.test.js +111 -0
  135. package/dist/src/tools/native-tools.d.ts +31 -0
  136. package/dist/src/tools/native-tools.js +273 -0
  137. package/dist/src/tools/registry-git-safety.test.d.ts +7 -0
  138. package/dist/src/tools/registry-git-safety.test.js +92 -0
  139. package/dist/src/tools/registry.js +39 -4
  140. package/dist/src/ui/__tests__/markdown-render.test.d.ts +1 -0
  141. package/dist/src/ui/__tests__/markdown-render.test.js +48 -0
  142. package/dist/src/ui/app.js +0 -0
  143. package/dist/src/ui/components/message-view.js +4 -1
  144. package/dist/src/ui/components/structured-response-view.js +7 -3
  145. package/dist/src/ui/components/tool-group.js +7 -1
  146. package/dist/src/ui/markdown-render.d.ts +41 -0
  147. package/dist/src/ui/markdown-render.js +223 -0
  148. package/dist/src/ui/markdown.d.ts +10 -0
  149. package/dist/src/ui/markdown.js +12 -35
  150. package/dist/src/ui/slash/council-inspect.js +4 -4
  151. package/dist/src/ui/slash/export.js +4 -4
  152. package/dist/src/ui/utils/text.d.ts +8 -0
  153. package/dist/src/ui/utils/text.js +16 -0
  154. package/dist/src/ui/utils/text.test.d.ts +1 -0
  155. package/dist/src/ui/utils/text.test.js +23 -0
  156. package/dist/src/usage/ledger.js +48 -15
  157. package/dist/src/utils/__tests__/footprint-gitignore.test.d.ts +1 -0
  158. package/dist/src/utils/__tests__/footprint-gitignore.test.js +50 -0
  159. package/dist/src/utils/clipboard-image.js +23 -23
  160. package/dist/src/utils/open-url.d.ts +56 -0
  161. package/dist/src/utils/open-url.js +58 -0
  162. package/dist/src/utils/open-url.test.d.ts +1 -0
  163. package/dist/src/utils/open-url.test.js +86 -0
  164. package/dist/src/utils/settings.d.ts +12 -0
  165. package/dist/src/utils/settings.js +48 -0
  166. package/dist/src/utils/side-question.js +2 -2
  167. package/dist/src/utils/skills.js +3 -3
  168. package/dist/src/verify/__tests__/coverage-parsers.test.js +30 -30
  169. package/dist/src/verify/environment.js +2 -1
  170. package/package.json +3 -2
  171. package/dist/muonroi-cli-standalone.exe +0 -0
  172. package/dist/packages/agent-harness-core/src/driver.js.map +0 -1
  173. package/dist/packages/agent-harness-core/src/event-filter.js.map +0 -1
  174. package/dist/packages/agent-harness-core/src/event-redact.js.map +0 -1
  175. package/dist/packages/agent-harness-core/src/idle.js.map +0 -1
  176. package/dist/packages/agent-harness-core/src/index.js.map +0 -1
  177. package/dist/packages/agent-harness-core/src/mcp-server.js.map +0 -1
  178. package/dist/packages/agent-harness-core/src/mock-llm.js.map +0 -1
  179. package/dist/packages/agent-harness-core/src/predicate.js.map +0 -1
  180. package/dist/packages/agent-harness-core/src/protocol.js.map +0 -1
  181. package/dist/packages/agent-harness-core/src/registry.js.map +0 -1
  182. package/dist/packages/agent-harness-core/src/selector.js.map +0 -1
  183. package/dist/packages/agent-harness-core/src/spec-helpers.js.map +0 -1
  184. package/dist/packages/agent-harness-core/src/transports/sidechannel.js.map +0 -1
  185. package/dist/packages/agent-harness-core/src/transports/ws.js.map +0 -1
  186. package/dist/packages/agent-harness-opentui/src/agent-mode.js.map +0 -1
  187. package/dist/packages/agent-harness-opentui/src/index.js.map +0 -1
  188. package/dist/packages/agent-harness-opentui/src/input-bridge.js.map +0 -1
  189. package/dist/packages/agent-harness-opentui/src/install.js.map +0 -1
  190. package/dist/packages/agent-harness-opentui/src/reconciler-hook.js.map +0 -1
  191. package/dist/packages/agent-harness-opentui/src/semantic.js.map +0 -1
  192. package/dist/src/__test-helpers__/catalog-fixtures.js.map +0 -1
  193. package/dist/src/__test-stubs__/ee-server.js.map +0 -1
  194. package/dist/src/__test-stubs__/vitest-setup.js.map +0 -1
  195. package/dist/src/__tests__/council/bubble-layout.test.js.map +0 -1
  196. package/dist/src/__tests__/council/code-block-truncate.test.js.map +0 -1
  197. package/dist/src/__tests__/council/role-palette.test.js.map +0 -1
  198. package/dist/src/__tests__/first-run-wizard.test.js.map +0 -1
  199. package/dist/src/agent-harness/__tests__/cli-flags.spec.js.map +0 -1
  200. package/dist/src/agent-harness/__tests__/driver.spec.js.map +0 -1
  201. package/dist/src/agent-harness/__tests__/idle.spec.js.map +0 -1
  202. package/dist/src/agent-harness/__tests__/mock-llm.spec.js.map +0 -1
  203. package/dist/src/agent-harness/__tests__/mock-model.spec.js.map +0 -1
  204. package/dist/src/agent-harness/__tests__/predicate.spec.js.map +0 -1
  205. package/dist/src/agent-harness/__tests__/protocol.spec.js.map +0 -1
  206. package/dist/src/agent-harness/__tests__/schema.spec.js.map +0 -1
  207. package/dist/src/agent-harness/__tests__/selector.spec.js.map +0 -1
  208. package/dist/src/agent-harness/__tests__/sidechannel.spec.js.map +0 -1
  209. package/dist/src/agent-harness/__tests__/spec-helpers.spec.js.map +0 -1
  210. package/dist/src/agent-harness/index.js.map +0 -1
  211. package/dist/src/agent-harness/mock-model.js.map +0 -1
  212. package/dist/src/agent-harness/test-spawn.js.map +0 -1
  213. package/dist/src/billing/index.js.map +0 -1
  214. package/dist/src/chat/__tests__/broadcast-bus.test.js.map +0 -1
  215. package/dist/src/chat/__tests__/channel-manager.test.js.map +0 -1
  216. package/dist/src/chat/__tests__/client.test.js.map +0 -1
  217. package/dist/src/chat/__tests__/discord-integration.test.js.map +0 -1
  218. package/dist/src/chat/__tests__/intent-prompt.test.js.map +0 -1
  219. package/dist/src/chat/__tests__/verdict-resolver.test.js.map +0 -1
  220. package/dist/src/chat/broadcast-bus.js.map +0 -1
  221. package/dist/src/chat/channel-manager.js.map +0 -1
  222. package/dist/src/chat/chat-keychain.js.map +0 -1
  223. package/dist/src/chat/factory.js.map +0 -1
  224. package/dist/src/chat/intent-prompt.js.map +0 -1
  225. package/dist/src/chat/providers/discord/client.js.map +0 -1
  226. package/dist/src/chat/types.js.map +0 -1
  227. package/dist/src/chat/verdict-constants.js.map +0 -1
  228. package/dist/src/chat/verdict-resolver.js.map +0 -1
  229. package/dist/src/cli/__tests__/bw-vault.test.js.map +0 -1
  230. package/dist/src/cli/__tests__/keys-bundle.test.js.map +0 -1
  231. package/dist/src/cli/__tests__/share-cmd.test.js.map +0 -1
  232. package/dist/src/cli/bw-vault.js.map +0 -1
  233. package/dist/src/cli/config/__tests__/model-picker.test.js.map +0 -1
  234. package/dist/src/cli/config/__tests__/provider-fetch.test.js.map +0 -1
  235. package/dist/src/cli/config/index.js.map +0 -1
  236. package/dist/src/cli/config/model-picker.js.map +0 -1
  237. package/dist/src/cli/config/provider-fetch.js.map +0 -1
  238. package/dist/src/cli/config/screen-council.js.map +0 -1
  239. package/dist/src/cli/config/screen-models.js.map +0 -1
  240. package/dist/src/cli/config/screen-providers.js.map +0 -1
  241. package/dist/src/cli/config/tui.js.map +0 -1
  242. package/dist/src/cli/cost-forensics.js.map +0 -1
  243. package/dist/src/cli/cost-forensics.test.js.map +0 -1
  244. package/dist/src/cli/keys-bundle.js.map +0 -1
  245. package/dist/src/cli/keys.js.map +0 -1
  246. package/dist/src/cli/keys.test.js.map +0 -1
  247. package/dist/src/cli/pil-report.js.map +0 -1
  248. package/dist/src/cli/reporter-cmd.js.map +0 -1
  249. package/dist/src/cli/share-cmd.js.map +0 -1
  250. package/dist/src/cli/usage-report.js.map +0 -1
  251. package/dist/src/cloud/index.js.map +0 -1
  252. package/dist/src/council/__tests__/accounting.test.js.map +0 -1
  253. package/dist/src/council/__tests__/audit-replay.test.js.map +0 -1
  254. package/dist/src/council/__tests__/clarifier-max-rounds.test.js.map +0 -1
  255. package/dist/src/council/__tests__/clarifier-options.test.js.map +0 -1
  256. package/dist/src/council/__tests__/clarifier-ready-gate.test.js.map +0 -1
  257. package/dist/src/council/__tests__/cost-aware.test.js.map +0 -1
  258. package/dist/src/council/__tests__/debate-planner-structured.test.js.map +0 -1
  259. package/dist/src/council/__tests__/decisions-lock.test.js.map +0 -1
  260. package/dist/src/council/__tests__/evaluator-metrics.test.js.map +0 -1
  261. package/dist/src/council/__tests__/parse-outcome-fallback.test.js.map +0 -1
  262. package/dist/src/council/__tests__/research-tools.test.js.map +0 -1
  263. package/dist/src/council/__tests__/round-tools.test.js.map +0 -1
  264. package/dist/src/council/__tests__/tool-trace.test.js.map +0 -1
  265. package/dist/src/council/__tests__/types-contract.test.js.map +0 -1
  266. package/dist/src/council/clarifier.js.map +0 -1
  267. package/dist/src/council/context.js.map +0 -1
  268. package/dist/src/council/debate-planner.js.map +0 -1
  269. package/dist/src/council/debate.js.map +0 -1
  270. package/dist/src/council/decisions-lock.js.map +0 -1
  271. package/dist/src/council/executor.js.map +0 -1
  272. package/dist/src/council/index.js.map +0 -1
  273. package/dist/src/council/leader.js.map +0 -1
  274. package/dist/src/council/llm.js.map +0 -1
  275. package/dist/src/council/phase-events.js.map +0 -1
  276. package/dist/src/council/planner.js.map +0 -1
  277. package/dist/src/council/preflight.js.map +0 -1
  278. package/dist/src/council/prompts.js.map +0 -1
  279. package/dist/src/council/types.js.map +0 -1
  280. package/dist/src/daemon/scheduler.js.map +0 -1
  281. package/dist/src/daemon/scheduler.test.js.map +0 -1
  282. package/dist/src/ee/__tests__/bb-design.test.js.map +0 -1
  283. package/dist/src/ee/__tests__/export-transcripts.test.js.map +0 -1
  284. package/dist/src/ee/__tests__/pil-context-bridge.test.js.map +0 -1
  285. package/dist/src/ee/__tests__/pipeline.integration.test.js.map +0 -1
  286. package/dist/src/ee/__tests__/recall-format.test.js.map +0 -1
  287. package/dist/src/ee/__tests__/recall-ledger.test.js.map +0 -1
  288. package/dist/src/ee/__tests__/render-sink-wiring.test.js.map +0 -1
  289. package/dist/src/ee/auth.js.map +0 -1
  290. package/dist/src/ee/auth.test.js.map +0 -1
  291. package/dist/src/ee/bb-design.js.map +0 -1
  292. package/dist/src/ee/bb-retrieval.js.map +0 -1
  293. package/dist/src/ee/bridge.js.map +0 -1
  294. package/dist/src/ee/bridge.test.js.map +0 -1
  295. package/dist/src/ee/client-mode.js.map +0 -1
  296. package/dist/src/ee/client.js.map +0 -1
  297. package/dist/src/ee/client.test.js.map +0 -1
  298. package/dist/src/ee/council-bridge.js.map +0 -1
  299. package/dist/src/ee/embedding-cache.js.map +0 -1
  300. package/dist/src/ee/export-transcripts.js.map +0 -1
  301. package/dist/src/ee/extract-session.js.map +0 -1
  302. package/dist/src/ee/extract-session.test.js.map +0 -1
  303. package/dist/src/ee/health.js.map +0 -1
  304. package/dist/src/ee/index.js.map +0 -1
  305. package/dist/src/ee/intercept.js.map +0 -1
  306. package/dist/src/ee/intercept.test.js.map +0 -1
  307. package/dist/src/ee/judge.js.map +0 -1
  308. package/dist/src/ee/judge.test.js.map +0 -1
  309. package/dist/src/ee/mistake-detector.js.map +0 -1
  310. package/dist/src/ee/mistake-detector.test.js.map +0 -1
  311. package/dist/src/ee/offline-queue.js.map +0 -1
  312. package/dist/src/ee/offline-queue.test.js.map +0 -1
  313. package/dist/src/ee/phase-outcome.js.map +0 -1
  314. package/dist/src/ee/phase-outcome.test.js.map +0 -1
  315. package/dist/src/ee/phase-tracker.js.map +0 -1
  316. package/dist/src/ee/phase-tracker.test.js.map +0 -1
  317. package/dist/src/ee/posttool.js.map +0 -1
  318. package/dist/src/ee/posttool.test.js.map +0 -1
  319. package/dist/src/ee/prompt-stale.js.map +0 -1
  320. package/dist/src/ee/prompt-stale.test.js.map +0 -1
  321. package/dist/src/ee/recall-ledger.js.map +0 -1
  322. package/dist/src/ee/recall-mirror.test.js.map +0 -1
  323. package/dist/src/ee/render.js.map +0 -1
  324. package/dist/src/ee/render.test.js.map +0 -1
  325. package/dist/src/ee/scope.js.map +0 -1
  326. package/dist/src/ee/scope.test.js.map +0 -1
  327. package/dist/src/ee/search.js.map +0 -1
  328. package/dist/src/ee/session-trajectory.js.map +0 -1
  329. package/dist/src/ee/session-trajectory.test.js.map +0 -1
  330. package/dist/src/ee/tenant.js.map +0 -1
  331. package/dist/src/ee/touch.test.js.map +0 -1
  332. package/dist/src/ee/transcript-emit.js.map +0 -1
  333. package/dist/src/ee/types.js.map +0 -1
  334. package/dist/src/flow/__tests__/migration.test.js.map +0 -1
  335. package/dist/src/flow/__tests__/parser.test.js.map +0 -1
  336. package/dist/src/flow/__tests__/run-manager-product.test.js.map +0 -1
  337. package/dist/src/flow/__tests__/run-manager.test.js.map +0 -1
  338. package/dist/src/flow/__tests__/scaffold-checkpoint.test.js.map +0 -1
  339. package/dist/src/flow/__tests__/scaffold.test.js.map +0 -1
  340. package/dist/src/flow/__tests__/warning-persist.test.js.map +0 -1
  341. package/dist/src/flow/artifact-io.js.map +0 -1
  342. package/dist/src/flow/compaction/__tests__/compress.test.js.map +0 -1
  343. package/dist/src/flow/compaction/__tests__/extract.test.js.map +0 -1
  344. package/dist/src/flow/compaction/__tests__/preserve.test.js.map +0 -1
  345. package/dist/src/flow/compaction/compress.js.map +0 -1
  346. package/dist/src/flow/compaction/extract.js.map +0 -1
  347. package/dist/src/flow/compaction/index.js.map +0 -1
  348. package/dist/src/flow/compaction/preserve.js.map +0 -1
  349. package/dist/src/flow/index.js.map +0 -1
  350. package/dist/src/flow/migration.js.map +0 -1
  351. package/dist/src/flow/parser.js.map +0 -1
  352. package/dist/src/flow/run-manager.js.map +0 -1
  353. package/dist/src/flow/scaffold-checkpoint.js.map +0 -1
  354. package/dist/src/flow/scaffold.js.map +0 -1
  355. package/dist/src/flow/warning-persist.js.map +0 -1
  356. package/dist/src/generated/version.js.map +0 -1
  357. package/dist/src/gsd/__tests__/complexity.test.js.map +0 -1
  358. package/dist/src/gsd/__tests__/directives.test.js.map +0 -1
  359. package/dist/src/gsd/__tests__/gray-areas.test.js.map +0 -1
  360. package/dist/src/gsd/__tests__/types.test.js.map +0 -1
  361. package/dist/src/gsd/complexity.js.map +0 -1
  362. package/dist/src/gsd/directives.js.map +0 -1
  363. package/dist/src/gsd/gray-areas.js.map +0 -1
  364. package/dist/src/gsd/index.js.map +0 -1
  365. package/dist/src/gsd/types.js.map +0 -1
  366. package/dist/src/headless/__tests__/council-answers.test.js.map +0 -1
  367. package/dist/src/headless/council-answers.js.map +0 -1
  368. package/dist/src/headless/output.js.map +0 -1
  369. package/dist/src/headless/output.test.js.map +0 -1
  370. package/dist/src/hooks/config.js.map +0 -1
  371. package/dist/src/hooks/index.js.map +0 -1
  372. package/dist/src/hooks/types.js.map +0 -1
  373. package/dist/src/index.js.map +0 -1
  374. package/dist/src/lsp/builtins.js.map +0 -1
  375. package/dist/src/lsp/builtins.test.js.map +0 -1
  376. package/dist/src/lsp/client.js.map +0 -1
  377. package/dist/src/lsp/manager.js.map +0 -1
  378. package/dist/src/lsp/manager.test.js.map +0 -1
  379. package/dist/src/lsp/npm-cache.js.map +0 -1
  380. package/dist/src/lsp/npm-cache.test.js.map +0 -1
  381. package/dist/src/lsp/runtime.js.map +0 -1
  382. package/dist/src/lsp/smoke.test.js.map +0 -1
  383. package/dist/src/lsp/types.js.map +0 -1
  384. package/dist/src/maintain/__tests__/codebase-intel.test.js.map +0 -1
  385. package/dist/src/maintain/__tests__/gh-create-pr.test.js.map +0 -1
  386. package/dist/src/maintain/__tests__/pr-builder.test.js.map +0 -1
  387. package/dist/src/maintain/__tests__/repo-map.test.js.map +0 -1
  388. package/dist/src/maintain/__tests__/task-runner.test.js.map +0 -1
  389. package/dist/src/maintain/codebase-intel.js.map +0 -1
  390. package/dist/src/maintain/gh-create-pr.js.map +0 -1
  391. package/dist/src/maintain/index.js.map +0 -1
  392. package/dist/src/maintain/pr-builder.js.map +0 -1
  393. package/dist/src/maintain/repo-map.js.map +0 -1
  394. package/dist/src/maintain/task-runner.js.map +0 -1
  395. package/dist/src/maintain/types.js.map +0 -1
  396. package/dist/src/mcp/__tests__/auto-setup.test.js.map +0 -1
  397. package/dist/src/mcp/__tests__/cap-tool-result.test.js.map +0 -1
  398. package/dist/src/mcp/__tests__/ee-tools.test.js.map +0 -1
  399. package/dist/src/mcp/__tests__/forensics-tools.test.js.map +0 -1
  400. package/dist/src/mcp/__tests__/harness-driver-action-tools.spec.js.map +0 -1
  401. package/dist/src/mcp/__tests__/harness-driver-async-tools.spec.js.map +0 -1
  402. package/dist/src/mcp/__tests__/harness-driver-read-tools.spec.js.map +0 -1
  403. package/dist/src/mcp/__tests__/harness-driver-security.spec.js.map +0 -1
  404. package/dist/src/mcp/__tests__/harness-driver.spec.js.map +0 -1
  405. package/dist/src/mcp/__tests__/lazy-schema.spec.js.map +0 -1
  406. package/dist/src/mcp/__tests__/lsp-tools.test.js.map +0 -1
  407. package/dist/src/mcp/__tests__/mcp-keychain.test.js.map +0 -1
  408. package/dist/src/mcp/__tests__/research-onboarding.test.js.map +0 -1
  409. package/dist/src/mcp/__tests__/runtime-hydration.test.js.map +0 -1
  410. package/dist/src/mcp/__tests__/runtime-output-cap.test.js.map +0 -1
  411. package/dist/src/mcp/__tests__/runtime-sanitize.test.js.map +0 -1
  412. package/dist/src/mcp/__tests__/self-verify-jobs.test.js.map +0 -1
  413. package/dist/src/mcp/__tests__/smart-filter.test.js.map +0 -1
  414. package/dist/src/mcp/__tests__/tools-server.smoke.test.js.map +0 -1
  415. package/dist/src/mcp/auto-setup.js.map +0 -1
  416. package/dist/src/mcp/cap-tool-result.js.map +0 -1
  417. package/dist/src/mcp/catalog.js.map +0 -1
  418. package/dist/src/mcp/ee-tools.js.map +0 -1
  419. package/dist/src/mcp/forensics-tools.js.map +0 -1
  420. package/dist/src/mcp/lsp-tools.js.map +0 -1
  421. package/dist/src/mcp/mcp-keychain.js.map +0 -1
  422. package/dist/src/mcp/oauth-callback.js.map +0 -1
  423. package/dist/src/mcp/oauth-provider.js.map +0 -1
  424. package/dist/src/mcp/opentui-spawn.js.map +0 -1
  425. package/dist/src/mcp/parse-headers.js.map +0 -1
  426. package/dist/src/mcp/parse-headers.test.js.map +0 -1
  427. package/dist/src/mcp/research-onboarding.js.map +0 -1
  428. package/dist/src/mcp/runtime.js.map +0 -1
  429. package/dist/src/mcp/self-verify-jobs.js.map +0 -1
  430. package/dist/src/mcp/smart-filter.js.map +0 -1
  431. package/dist/src/mcp/smoke.test.js.map +0 -1
  432. package/dist/src/mcp/tools-server.js.map +0 -1
  433. package/dist/src/mcp/validate.js.map +0 -1
  434. package/dist/src/models/__tests__/registry.test.js.map +0 -1
  435. package/dist/src/models/catalog-client.js.map +0 -1
  436. package/dist/src/models/catalog-gemini.test.js.map +0 -1
  437. package/dist/src/models/catalog-url.test.js.map +0 -1
  438. package/dist/src/models/catalog-validation.test.js.map +0 -1
  439. package/dist/src/models/classify-tier.js.map +0 -1
  440. package/dist/src/models/index.js.map +0 -1
  441. package/dist/src/models/registry.js.map +0 -1
  442. package/dist/src/ops/__tests__/doctor-council-mcp.test.js.map +0 -1
  443. package/dist/src/ops/__tests__/doctor-ee-health.test.js.map +0 -1
  444. package/dist/src/ops/bug-report.js.map +0 -1
  445. package/dist/src/ops/bug-report.test.js.map +0 -1
  446. package/dist/src/ops/doctor.js.map +0 -1
  447. package/dist/src/ops/doctor.test.js.map +0 -1
  448. package/dist/src/orchestrator/__tests__/agent-base-url-switch.test.js.map +0 -1
  449. package/dist/src/orchestrator/__tests__/batch-turn-runner.test.js.map +0 -1
  450. package/dist/src/orchestrator/__tests__/council-manager.test.js.map +0 -1
  451. package/dist/src/orchestrator/__tests__/cross-turn-dedup.test.js.map +0 -1
  452. package/dist/src/orchestrator/__tests__/current-call-id.test.js.map +0 -1
  453. package/dist/src/orchestrator/__tests__/error-forensics.test.js.map +0 -1
  454. package/dist/src/orchestrator/__tests__/flow-resume.test.js.map +0 -1
  455. package/dist/src/orchestrator/__tests__/humanize-api-error.test.js.map +0 -1
  456. package/dist/src/orchestrator/__tests__/message-processor.test.js.map +0 -1
  457. package/dist/src/orchestrator/__tests__/message-write-ahead.test.js.map +0 -1
  458. package/dist/src/orchestrator/__tests__/read-path-budget.test.js.map +0 -1
  459. package/dist/src/orchestrator/__tests__/retry-classifier.test.js.map +0 -1
  460. package/dist/src/orchestrator/__tests__/retry-stream.test.js.map +0 -1
  461. package/dist/src/orchestrator/__tests__/route-feedback.test.js.map +0 -1
  462. package/dist/src/orchestrator/__tests__/stream-runner.test.js.map +0 -1
  463. package/dist/src/orchestrator/__tests__/sub-agent-model-tier.test.js.map +0 -1
  464. package/dist/src/orchestrator/__tests__/usage-events-shape.test.js.map +0 -1
  465. package/dist/src/orchestrator/__tests__/usage-normalizer-c1.test.js.map +0 -1
  466. package/dist/src/orchestrator/__tests__/usage-shape-threading.test.js.map +0 -1
  467. package/dist/src/orchestrator/__tests__/write-ahead.test.js.map +0 -1
  468. package/dist/src/orchestrator/abort.js.map +0 -1
  469. package/dist/src/orchestrator/abort.test.js.map +0 -1
  470. package/dist/src/orchestrator/agent-options.js.map +0 -1
  471. package/dist/src/orchestrator/agent.test.js.map +0 -1
  472. package/dist/src/orchestrator/batch-turn-runner.js.map +0 -1
  473. package/dist/src/orchestrator/batch-utils.js.map +0 -1
  474. package/dist/src/orchestrator/cleanup.test.js.map +0 -1
  475. package/dist/src/orchestrator/compaction.js.map +0 -1
  476. package/dist/src/orchestrator/compaction.test.js.map +0 -1
  477. package/dist/src/orchestrator/council-manager.js.map +0 -1
  478. package/dist/src/orchestrator/cross-turn-dedup.js.map +0 -1
  479. package/dist/src/orchestrator/delegations.js.map +0 -1
  480. package/dist/src/orchestrator/delegations.test.js.map +0 -1
  481. package/dist/src/orchestrator/error-utils.js.map +0 -1
  482. package/dist/src/orchestrator/flow-resume.js.map +0 -1
  483. package/dist/src/orchestrator/grounding-check.js.map +0 -1
  484. package/dist/src/orchestrator/grounding-check.test.js.map +0 -1
  485. package/dist/src/orchestrator/interrupted-turn.js.map +0 -1
  486. package/dist/src/orchestrator/interrupted-turn.test.js.map +0 -1
  487. package/dist/src/orchestrator/message-processor.js.map +0 -1
  488. package/dist/src/orchestrator/message-seq.js.map +0 -1
  489. package/dist/src/orchestrator/message-seq.test.js.map +0 -1
  490. package/dist/src/orchestrator/orchestrator.js.map +0 -1
  491. package/dist/src/orchestrator/pending-calls.js.map +0 -1
  492. package/dist/src/orchestrator/pending-calls.test.js.map +0 -1
  493. package/dist/src/orchestrator/prompts.js.map +0 -1
  494. package/dist/src/orchestrator/provider-options-shape.js.map +0 -1
  495. package/dist/src/orchestrator/provider-options-shape.spec.js.map +0 -1
  496. package/dist/src/orchestrator/read-path-budget.js.map +0 -1
  497. package/dist/src/orchestrator/reasoning.js.map +0 -1
  498. package/dist/src/orchestrator/reasoning.test.js.map +0 -1
  499. package/dist/src/orchestrator/repair-tool-call.js.map +0 -1
  500. package/dist/src/orchestrator/repetition-detector.js.map +0 -1
  501. package/dist/src/orchestrator/repetition-detector.test.js.map +0 -1
  502. package/dist/src/orchestrator/retry-classifier.js.map +0 -1
  503. package/dist/src/orchestrator/retry-stream.js.map +0 -1
  504. package/dist/src/orchestrator/sandbox.test.js.map +0 -1
  505. package/dist/src/orchestrator/scope-ceiling.js.map +0 -1
  506. package/dist/src/orchestrator/scope-ceiling.test.js.map +0 -1
  507. package/dist/src/orchestrator/scope-reminder.js.map +0 -1
  508. package/dist/src/orchestrator/scope-reminder.test.js.map +0 -1
  509. package/dist/src/orchestrator/stall-rescue.js.map +0 -1
  510. package/dist/src/orchestrator/stall-rescue.test.js.map +0 -1
  511. package/dist/src/orchestrator/stall-watchdog.js.map +0 -1
  512. package/dist/src/orchestrator/stall-watchdog.test.js.map +0 -1
  513. package/dist/src/orchestrator/stream-runner.js.map +0 -1
  514. package/dist/src/orchestrator/sub-agent-cap.js.map +0 -1
  515. package/dist/src/orchestrator/sub-agent-cap.test.js.map +0 -1
  516. package/dist/src/orchestrator/sub-agent-model-tier.js.map +0 -1
  517. package/dist/src/orchestrator/subagent-compactor.js.map +0 -1
  518. package/dist/src/orchestrator/subagent-compactor.spec.js.map +0 -1
  519. package/dist/src/orchestrator/text-tool-call-detector.js.map +0 -1
  520. package/dist/src/orchestrator/text-tool-call-detector.test.js.map +0 -1
  521. package/dist/src/orchestrator/token-counter.js.map +0 -1
  522. package/dist/src/orchestrator/token-counter.test.js.map +0 -1
  523. package/dist/src/orchestrator/tool-args-hash.js.map +0 -1
  524. package/dist/src/orchestrator/tool-args-hash.test.js.map +0 -1
  525. package/dist/src/orchestrator/tool-args-repair.js.map +0 -1
  526. package/dist/src/orchestrator/tool-args-repair.test.js.map +0 -1
  527. package/dist/src/orchestrator/tool-loop-cap.js.map +0 -1
  528. package/dist/src/orchestrator/tool-loop-cap.test.js.map +0 -1
  529. package/dist/src/orchestrator/tool-repetition-detector.js.map +0 -1
  530. package/dist/src/orchestrator/tool-repetition-detector.test.js.map +0 -1
  531. package/dist/src/orchestrator/tool-utils.js.map +0 -1
  532. package/dist/src/orchestrator/turn-runner-deps.js.map +0 -1
  533. package/dist/src/pil/__tests__/budget.test.js.map +0 -1
  534. package/dist/src/pil/__tests__/clarity-gate.test.js.map +0 -1
  535. package/dist/src/pil/__tests__/config.test.js.map +0 -1
  536. package/dist/src/pil/__tests__/discovery-cache.test.js.map +0 -1
  537. package/dist/src/pil/__tests__/discovery-types.test.js.map +0 -1
  538. package/dist/src/pil/__tests__/discovery.test.js.map +0 -1
  539. package/dist/src/pil/__tests__/dual-run.test.js.map +0 -1
  540. package/dist/src/pil/__tests__/layer1-intent-trace.test.js.map +0 -1
  541. package/dist/src/pil/__tests__/layer1-intent.test.js.map +0 -1
  542. package/dist/src/pil/__tests__/layer15-context-scan.test.js.map +0 -1
  543. package/dist/src/pil/__tests__/layer16-clarity.test.js.map +0 -1
  544. package/dist/src/pil/__tests__/layer17-feasibility.test.js.map +0 -1
  545. package/dist/src/pil/__tests__/layer18-acceptance.test.js.map +0 -1
  546. package/dist/src/pil/__tests__/layer2-personality.test.js.map +0 -1
  547. package/dist/src/pil/__tests__/layer3-ee-injection.test.js.map +0 -1
  548. package/dist/src/pil/__tests__/layer3-injected-chunk.test.js.map +0 -1
  549. package/dist/src/pil/__tests__/layer4-gsd.test.js.map +0 -1
  550. package/dist/src/pil/__tests__/layer5-context.test.js.map +0 -1
  551. package/dist/src/pil/__tests__/layer6-output.test.js.map +0 -1
  552. package/dist/src/pil/__tests__/llm-classify.test.js.map +0 -1
  553. package/dist/src/pil/__tests__/native-capabilities-workbook.test.js.map +0 -1
  554. package/dist/src/pil/__tests__/ollama-classify.test.js.map +0 -1
  555. package/dist/src/pil/__tests__/orchestrator-integration.test.js.map +0 -1
  556. package/dist/src/pil/__tests__/pipeline.test.js.map +0 -1
  557. package/dist/src/pil/__tests__/renderer-coverage.test.js.map +0 -1
  558. package/dist/src/pil/__tests__/response-tools.test.js.map +0 -1
  559. package/dist/src/pil/__tests__/schema.test.js.map +0 -1
  560. package/dist/src/pil/__tests__/scoreComplexity.test.js.map +0 -1
  561. package/dist/src/pil/__tests__/scoreSufficiency.test.js.map +0 -1
  562. package/dist/src/pil/__tests__/store.test.js.map +0 -1
  563. package/dist/src/pil/__tests__/task-tier-map.test.js.map +0 -1
  564. package/dist/src/pil/agent-operating-contract.js.map +0 -1
  565. package/dist/src/pil/agent-operating-contract.test.js.map +0 -1
  566. package/dist/src/pil/budget-log.js.map +0 -1
  567. package/dist/src/pil/budget.js.map +0 -1
  568. package/dist/src/pil/cheap-model-playbook.js.map +0 -1
  569. package/dist/src/pil/cheap-model-playbook.test.js.map +0 -1
  570. package/dist/src/pil/cheap-model-workbooks.js.map +0 -1
  571. package/dist/src/pil/cheap-model-workbooks.test.js.map +0 -1
  572. package/dist/src/pil/clarity-gate.js.map +0 -1
  573. package/dist/src/pil/config.js.map +0 -1
  574. package/dist/src/pil/discovery-cache.js.map +0 -1
  575. package/dist/src/pil/discovery-types.js.map +0 -1
  576. package/dist/src/pil/discovery.js.map +0 -1
  577. package/dist/src/pil/index.js.map +0 -1
  578. package/dist/src/pil/layer1-intent.js.map +0 -1
  579. package/dist/src/pil/layer1-intent.test.js.map +0 -1
  580. package/dist/src/pil/layer15-context-scan.js.map +0 -1
  581. package/dist/src/pil/layer16-clarity.js.map +0 -1
  582. package/dist/src/pil/layer16-clarity.test.js +0 -31
  583. package/dist/src/pil/layer16-clarity.test.js.map +0 -1
  584. package/dist/src/pil/layer17-feasibility.js.map +0 -1
  585. package/dist/src/pil/layer18-acceptance.js.map +0 -1
  586. package/dist/src/pil/layer1_5-complexity-size.js.map +0 -1
  587. package/dist/src/pil/layer1_5-complexity-size.test.js.map +0 -1
  588. package/dist/src/pil/layer2-personality.js.map +0 -1
  589. package/dist/src/pil/layer3-ee-injection.js.map +0 -1
  590. package/dist/src/pil/layer4-gsd.js.map +0 -1
  591. package/dist/src/pil/layer5-context.js.map +0 -1
  592. package/dist/src/pil/layer6-output.js.map +0 -1
  593. package/dist/src/pil/llm-classify.js.map +0 -1
  594. package/dist/src/pil/native-capabilities-workbook.js.map +0 -1
  595. package/dist/src/pil/ollama-classify.js.map +0 -1
  596. package/dist/src/pil/pipeline.js.map +0 -1
  597. package/dist/src/pil/response-tools.js.map +0 -1
  598. package/dist/src/pil/schema.js.map +0 -1
  599. package/dist/src/pil/session-state.js.map +0 -1
  600. package/dist/src/pil/session-state.test.js.map +0 -1
  601. package/dist/src/pil/store.js.map +0 -1
  602. package/dist/src/pil/task-tier-map.js.map +0 -1
  603. package/dist/src/pil/timeout.js.map +0 -1
  604. package/dist/src/pil/types.js.map +0 -1
  605. package/dist/src/product-loop/__tests__/artifact-io.test.js.map +0 -1
  606. package/dist/src/product-loop/__tests__/assumption-ledger.test.js.map +0 -1
  607. package/dist/src/product-loop/__tests__/backlog-builder.test.js.map +0 -1
  608. package/dist/src/product-loop/__tests__/backlog-store.test.js.map +0 -1
  609. package/dist/src/product-loop/__tests__/cb2-retry-bonus.test.js.map +0 -1
  610. package/dist/src/product-loop/__tests__/circuit-breakers-coverage.test.js.map +0 -1
  611. package/dist/src/product-loop/__tests__/circuit-breakers.test.js.map +0 -1
  612. package/dist/src/product-loop/__tests__/complexity-routing.spec.js.map +0 -1
  613. package/dist/src/product-loop/__tests__/context-policy.test.js.map +0 -1
  614. package/dist/src/product-loop/__tests__/cost-preview.test.js.map +0 -1
  615. package/dist/src/product-loop/__tests__/cost-scoper.test.js.map +0 -1
  616. package/dist/src/product-loop/__tests__/cross-run-memory.test.js.map +0 -1
  617. package/dist/src/product-loop/__tests__/design-output.spec.js.map +0 -1
  618. package/dist/src/product-loop/__tests__/discover.test.js.map +0 -1
  619. package/dist/src/product-loop/__tests__/discovery-context-format.test.js.map +0 -1
  620. package/dist/src/product-loop/__tests__/discovery-council-runner.test.js.map +0 -1
  621. package/dist/src/product-loop/__tests__/discovery-detection.test.js.map +0 -1
  622. package/dist/src/product-loop/__tests__/discovery-ecosystem.test.js.map +0 -1
  623. package/dist/src/product-loop/__tests__/discovery-integration.test.js.map +0 -1
  624. package/dist/src/product-loop/__tests__/discovery-interview.test.js.map +0 -1
  625. package/dist/src/product-loop/__tests__/discovery-migrations.test.js.map +0 -1
  626. package/dist/src/product-loop/__tests__/discovery-persistence.test.js.map +0 -1
  627. package/dist/src/product-loop/__tests__/discovery-prompt-parser.test.js.map +0 -1
  628. package/dist/src/product-loop/__tests__/discovery-prompt-specificity.test.js.map +0 -1
  629. package/dist/src/product-loop/__tests__/discovery-recommender-ecosystem.test.js.map +0 -1
  630. package/dist/src/product-loop/__tests__/discovery-recommender.test.js.map +0 -1
  631. package/dist/src/product-loop/__tests__/discovery-schema.test.js.map +0 -1
  632. package/dist/src/product-loop/__tests__/done-gate-coverage.test.js.map +0 -1
  633. package/dist/src/product-loop/__tests__/done-gate.test.js.map +0 -1
  634. package/dist/src/product-loop/__tests__/ee-extract-wiring.test.js.map +0 -1
  635. package/dist/src/product-loop/__tests__/extract-to-ee.test.js.map +0 -1
  636. package/dist/src/product-loop/__tests__/feedback-routing.test.js.map +0 -1
  637. package/dist/src/product-loop/__tests__/gather-selectable-alts.test.js.map +0 -1
  638. package/dist/src/product-loop/__tests__/hot-path.spec.js.map +0 -1
  639. package/dist/src/product-loop/__tests__/integration.test.js.map +0 -1
  640. package/dist/src/product-loop/__tests__/loop-driver-audit.test.js.map +0 -1
  641. package/dist/src/product-loop/__tests__/loop-driver.test.js.map +0 -1
  642. package/dist/src/product-loop/__tests__/maintenance-task-synthesis.test.js.map +0 -1
  643. package/dist/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.js.map +0 -1
  644. package/dist/src/product-loop/__tests__/phase-a2-backlog-build.test.js.map +0 -1
  645. package/dist/src/product-loop/__tests__/phase-budget.test.js.map +0 -1
  646. package/dist/src/product-loop/__tests__/phase-orchestrator-integration.test.js.map +0 -1
  647. package/dist/src/product-loop/__tests__/phase-plan.test.js.map +0 -1
  648. package/dist/src/product-loop/__tests__/phase-rituals.test.js.map +0 -1
  649. package/dist/src/product-loop/__tests__/phase-runner.test.js.map +0 -1
  650. package/dist/src/product-loop/__tests__/phase-tracker-bridge.test.js.map +0 -1
  651. package/dist/src/product-loop/__tests__/pick-backend-stack.test.js.map +0 -1
  652. package/dist/src/product-loop/__tests__/product-identity.test.js.map +0 -1
  653. package/dist/src/product-loop/__tests__/progress-snapshot.test.js.map +0 -1
  654. package/dist/src/product-loop/__tests__/reality-anchor.test.js.map +0 -1
  655. package/dist/src/product-loop/__tests__/repo-audit.test.js.map +0 -1
  656. package/dist/src/product-loop/__tests__/repo-brief.test.js.map +0 -1
  657. package/dist/src/product-loop/__tests__/role-memory.test.js.map +0 -1
  658. package/dist/src/product-loop/__tests__/role-registry.test.js.map +0 -1
  659. package/dist/src/product-loop/__tests__/role-routing-ee.test.js.map +0 -1
  660. package/dist/src/product-loop/__tests__/route-decision-emit.test.js.map +0 -1
  661. package/dist/src/product-loop/__tests__/seed-questions.test.js.map +0 -1
  662. package/dist/src/product-loop/__tests__/ship-polish.test.js.map +0 -1
  663. package/dist/src/product-loop/__tests__/sprint-planner.test.js.map +0 -1
  664. package/dist/src/product-loop/__tests__/sprint-runner-backlog.test.js.map +0 -1
  665. package/dist/src/product-loop/__tests__/sprint-runner-emit.test.js.map +0 -1
  666. package/dist/src/product-loop/__tests__/sprint-runner-phase-chunks.test.js.map +0 -1
  667. package/dist/src/product-loop/__tests__/sprint-runner.test.js.map +0 -1
  668. package/dist/src/product-loop/__tests__/sprint-self-verify.test.js.map +0 -1
  669. package/dist/src/product-loop/__tests__/sprint-store.test.js.map +0 -1
  670. package/dist/src/product-loop/__tests__/stakeholder-acl.test.js.map +0 -1
  671. package/dist/src/product-loop/__tests__/state-md-ee-injections.test.js.map +0 -1
  672. package/dist/src/product-loop/__tests__/sufficiency-routing.spec.js.map +0 -1
  673. package/dist/src/product-loop/__tests__/typed-artifacts.test.js.map +0 -1
  674. package/dist/src/product-loop/__tests__/types.test.js.map +0 -1
  675. package/dist/src/product-loop/__tests__/verify-failure-threshold.test.js.map +0 -1
  676. package/dist/src/product-loop/__tests__/verify-failure-tracking.test.js.map +0 -1
  677. package/dist/src/product-loop/__tests__/verify-result.test.js.map +0 -1
  678. package/dist/src/product-loop/artifact-io.js.map +0 -1
  679. package/dist/src/product-loop/assumption-ledger.js.map +0 -1
  680. package/dist/src/product-loop/backlog-builder.js.map +0 -1
  681. package/dist/src/product-loop/backlog-store.js.map +0 -1
  682. package/dist/src/product-loop/circuit-breakers.js.map +0 -1
  683. package/dist/src/product-loop/context-policy.js.map +0 -1
  684. package/dist/src/product-loop/cost-preview.js.map +0 -1
  685. package/dist/src/product-loop/cost-scoper.js.map +0 -1
  686. package/dist/src/product-loop/cross-run-memory.js.map +0 -1
  687. package/dist/src/product-loop/design-output.js.map +0 -1
  688. package/dist/src/product-loop/discover.js.map +0 -1
  689. package/dist/src/product-loop/discovery-context-format.js.map +0 -1
  690. package/dist/src/product-loop/discovery-council-runner.js.map +0 -1
  691. package/dist/src/product-loop/discovery-detection.js.map +0 -1
  692. package/dist/src/product-loop/discovery-ecosystem.js.map +0 -1
  693. package/dist/src/product-loop/discovery-interview.js.map +0 -1
  694. package/dist/src/product-loop/discovery-migrations.js.map +0 -1
  695. package/dist/src/product-loop/discovery-persistence.js.map +0 -1
  696. package/dist/src/product-loop/discovery-prompt-parser.js.map +0 -1
  697. package/dist/src/product-loop/discovery-recommender.js.map +0 -1
  698. package/dist/src/product-loop/discovery-schema.js.map +0 -1
  699. package/dist/src/product-loop/done-gate.js.map +0 -1
  700. package/dist/src/product-loop/feedback-routing.js.map +0 -1
  701. package/dist/src/product-loop/gather.js.map +0 -1
  702. package/dist/src/product-loop/index.js.map +0 -1
  703. package/dist/src/product-loop/loop-driver.js.map +0 -1
  704. package/dist/src/product-loop/phase-budget.js.map +0 -1
  705. package/dist/src/product-loop/phase-plan.js.map +0 -1
  706. package/dist/src/product-loop/phase-rituals.js.map +0 -1
  707. package/dist/src/product-loop/phase-runner.js.map +0 -1
  708. package/dist/src/product-loop/phase-tracker-bridge.js.map +0 -1
  709. package/dist/src/product-loop/product-identity.js.map +0 -1
  710. package/dist/src/product-loop/progress-snapshot.js.map +0 -1
  711. package/dist/src/product-loop/reality-anchor.js.map +0 -1
  712. package/dist/src/product-loop/repo-audit.js.map +0 -1
  713. package/dist/src/product-loop/repo-brief.js.map +0 -1
  714. package/dist/src/product-loop/role-memory.js.map +0 -1
  715. package/dist/src/product-loop/role-registry.js.map +0 -1
  716. package/dist/src/product-loop/seed-questions.js.map +0 -1
  717. package/dist/src/product-loop/ship-polish.js.map +0 -1
  718. package/dist/src/product-loop/sprint-planner.js.map +0 -1
  719. package/dist/src/product-loop/sprint-runner.js.map +0 -1
  720. package/dist/src/product-loop/sprint-self-verify.js.map +0 -1
  721. package/dist/src/product-loop/sprint-store.js.map +0 -1
  722. package/dist/src/product-loop/stakeholder-acl.js.map +0 -1
  723. package/dist/src/product-loop/typed-artifacts.js.map +0 -1
  724. package/dist/src/product-loop/types.js.map +0 -1
  725. package/dist/src/product-loop/verify-failure-tracking.js.map +0 -1
  726. package/dist/src/product-loop/verify-result.js.map +0 -1
  727. package/dist/src/providers/__test-utils__/load-fixture.js.map +0 -1
  728. package/dist/src/providers/__tests__/adapter-oauth-wiring.test.js.map +0 -1
  729. package/dist/src/providers/__tests__/capabilities-cosmetic.test.js.map +0 -1
  730. package/dist/src/providers/__tests__/capabilities-flags.test.js.map +0 -1
  731. package/dist/src/providers/__tests__/capabilities-provider-options.test.js.map +0 -1
  732. package/dist/src/providers/__tests__/capabilities-sanitize.test.js.map +0 -1
  733. package/dist/src/providers/__tests__/capabilities.test.js.map +0 -1
  734. package/dist/src/providers/__tests__/provider-coverage.test.js.map +0 -1
  735. package/dist/src/providers/__tests__/reasoning-roundtrip.test.js.map +0 -1
  736. package/dist/src/providers/__tests__/runtime-integration.test.js.map +0 -1
  737. package/dist/src/providers/__tests__/runtime.test.js.map +0 -1
  738. package/dist/src/providers/__tests__/siliconflow-sse-repair.test.js.map +0 -1
  739. package/dist/src/providers/__tests__/strategies-registry.test.js.map +0 -1
  740. package/dist/src/providers/__tests__/strategies-resolve.test.js.map +0 -1
  741. package/dist/src/providers/__tests__/wire-debug.test.js.map +0 -1
  742. package/dist/src/providers/adapter.js.map +0 -1
  743. package/dist/src/providers/adapter.test.js.map +0 -1
  744. package/dist/src/providers/anthropic.js.map +0 -1
  745. package/dist/src/providers/auth/__tests__/browser-flow.test.js.map +0 -1
  746. package/dist/src/providers/auth/__tests__/device-flow.test.js.map +0 -1
  747. package/dist/src/providers/auth/__tests__/gemini-oauth.test.js.map +0 -1
  748. package/dist/src/providers/auth/__tests__/grok-oauth.test.js.map +0 -1
  749. package/dist/src/providers/auth/__tests__/openai-oauth.test.js.map +0 -1
  750. package/dist/src/providers/auth/__tests__/token-store.test.js.map +0 -1
  751. package/dist/src/providers/auth/browser-flow.js.map +0 -1
  752. package/dist/src/providers/auth/device-flow.js.map +0 -1
  753. package/dist/src/providers/auth/gemini-oauth.js.map +0 -1
  754. package/dist/src/providers/auth/grok-oauth.js.map +0 -1
  755. package/dist/src/providers/auth/openai-oauth.js.map +0 -1
  756. package/dist/src/providers/auth/registry.js.map +0 -1
  757. package/dist/src/providers/auth/token-store.js.map +0 -1
  758. package/dist/src/providers/auth/types.js.map +0 -1
  759. package/dist/src/providers/capabilities.js.map +0 -1
  760. package/dist/src/providers/endpoints.js.map +0 -1
  761. package/dist/src/providers/errors.js.map +0 -1
  762. package/dist/src/providers/errors.test.js.map +0 -1
  763. package/dist/src/providers/gemini.js.map +0 -1
  764. package/dist/src/providers/gemini.test.js.map +0 -1
  765. package/dist/src/providers/index.js.map +0 -1
  766. package/dist/src/providers/keychain.js.map +0 -1
  767. package/dist/src/providers/keychain.test.js.map +0 -1
  768. package/dist/src/providers/mcp-vision-bridge.js.map +0 -1
  769. package/dist/src/providers/mcp-vision-bridge.test.js.map +0 -1
  770. package/dist/src/providers/ollama.js.map +0 -1
  771. package/dist/src/providers/ollama.test.js.map +0 -1
  772. package/dist/src/providers/openai-compatible.js.map +0 -1
  773. package/dist/src/providers/openai-compatible.test.js.map +0 -1
  774. package/dist/src/providers/openai.js.map +0 -1
  775. package/dist/src/providers/openai.test.js.map +0 -1
  776. package/dist/src/providers/patch-zod-schema.js.map +0 -1
  777. package/dist/src/providers/pricing.js.map +0 -1
  778. package/dist/src/providers/pricing.test.js.map +0 -1
  779. package/dist/src/providers/prompt-cache-key.spec.js.map +0 -1
  780. package/dist/src/providers/runtime-mock.spec.js.map +0 -1
  781. package/dist/src/providers/runtime.js.map +0 -1
  782. package/dist/src/providers/siliconflow-sse-repair.js.map +0 -1
  783. package/dist/src/providers/strategies/anthropic.strategy.js.map +0 -1
  784. package/dist/src/providers/strategies/base.strategy.js.map +0 -1
  785. package/dist/src/providers/strategies/deepseek.strategy.js.map +0 -1
  786. package/dist/src/providers/strategies/google.strategy.js.map +0 -1
  787. package/dist/src/providers/strategies/ollama.strategy.js.map +0 -1
  788. package/dist/src/providers/strategies/openai.strategy.js.map +0 -1
  789. package/dist/src/providers/strategies/registry.js.map +0 -1
  790. package/dist/src/providers/strategies/siliconflow.strategy.js.map +0 -1
  791. package/dist/src/providers/strategies/xai.strategy.js.map +0 -1
  792. package/dist/src/providers/stream-loop.js.map +0 -1
  793. package/dist/src/providers/types.js.map +0 -1
  794. package/dist/src/providers/vision-proxy.js.map +0 -1
  795. package/dist/src/providers/vision-proxy.test.js.map +0 -1
  796. package/dist/src/providers/wire-debug.js.map +0 -1
  797. package/dist/src/reporter/__tests__/acl-check.test.js.map +0 -1
  798. package/dist/src/reporter/__tests__/auto-fire.test.js.map +0 -1
  799. package/dist/src/reporter/__tests__/budget.test.js.map +0 -1
  800. package/dist/src/reporter/__tests__/handlers.test.js.map +0 -1
  801. package/dist/src/reporter/__tests__/query-router.test.js.map +0 -1
  802. package/dist/src/reporter/acl-check.js.map +0 -1
  803. package/dist/src/reporter/auto-fire.js.map +0 -1
  804. package/dist/src/reporter/budget.js.map +0 -1
  805. package/dist/src/reporter/handlers.js.map +0 -1
  806. package/dist/src/reporter/index.js.map +0 -1
  807. package/dist/src/reporter/query-router.js.map +0 -1
  808. package/dist/src/router/__tests__/step-router.test.js.map +0 -1
  809. package/dist/src/router/classifier/grammars.js.map +0 -1
  810. package/dist/src/router/classifier/index.js.map +0 -1
  811. package/dist/src/router/classifier/index.test.js.map +0 -1
  812. package/dist/src/router/classifier/regex.js.map +0 -1
  813. package/dist/src/router/classifier/regex.test.js.map +0 -1
  814. package/dist/src/router/classifier/tree-sitter.js.map +0 -1
  815. package/dist/src/router/classifier/tree-sitter.test.js.map +0 -1
  816. package/dist/src/router/cold.js.map +0 -1
  817. package/dist/src/router/cold.test.js.map +0 -1
  818. package/dist/src/router/decide.js.map +0 -1
  819. package/dist/src/router/decide.test.js.map +0 -1
  820. package/dist/src/router/health.js.map +0 -1
  821. package/dist/src/router/health.test.js.map +0 -1
  822. package/dist/src/router/provider-sentinel.js.map +0 -1
  823. package/dist/src/router/provider-sentinel.test.js.map +0 -1
  824. package/dist/src/router/role-override.test.js.map +0 -1
  825. package/dist/src/router/step-router.js.map +0 -1
  826. package/dist/src/router/store.js.map +0 -1
  827. package/dist/src/router/types.js.map +0 -1
  828. package/dist/src/router/warm.js.map +0 -1
  829. package/dist/src/router/warm.test.js.map +0 -1
  830. package/dist/src/scaffold/__tests__/continuation-prompt.test.js.map +0 -1
  831. package/dist/src/scaffold/__tests__/continue-as-council.spec.js.map +0 -1
  832. package/dist/src/scaffold/__tests__/dotnet-assembly-name.test.js.map +0 -1
  833. package/dist/src/scaffold/__tests__/fe-scaffold-contents.test.js.map +0 -1
  834. package/dist/src/scaffold/__tests__/init-new.smoke.spec.js.map +0 -1
  835. package/dist/src/scaffold/__tests__/init-new.spec.js.map +0 -1
  836. package/dist/src/scaffold/__tests__/install-bb-templates.spec.js.map +0 -1
  837. package/dist/src/scaffold/__tests__/point-to-existing.spec.js.map +0 -1
  838. package/dist/src/scaffold/bb-ecosystem-apply.js.map +0 -1
  839. package/dist/src/scaffold/bb-quality-gate.js.map +0 -1
  840. package/dist/src/scaffold/continuation-prompt.js.map +0 -1
  841. package/dist/src/scaffold/continue-as-council.js.map +0 -1
  842. package/dist/src/scaffold/init-new.js.map +0 -1
  843. package/dist/src/scaffold/point-to-existing.js.map +0 -1
  844. package/dist/src/scaffold/resume-from-gate-failures.js.map +0 -1
  845. package/dist/src/self-qa/__tests__/agentic-context.test.js.map +0 -1
  846. package/dist/src/self-qa/__tests__/agentic-loop.test.js.map +0 -1
  847. package/dist/src/self-qa/__tests__/delta-encoder.test.js.map +0 -1
  848. package/dist/src/self-qa/__tests__/judge.test.js.map +0 -1
  849. package/dist/src/self-qa/__tests__/scenario-planner.test.js.map +0 -1
  850. package/dist/src/self-qa/__tests__/spec-emitter.test.js.map +0 -1
  851. package/dist/src/self-qa/agentic-context.js.map +0 -1
  852. package/dist/src/self-qa/agentic-loop.js.map +0 -1
  853. package/dist/src/self-qa/delta-encoder.js.map +0 -1
  854. package/dist/src/self-qa/index.js.map +0 -1
  855. package/dist/src/self-qa/judge.js.map +0 -1
  856. package/dist/src/self-qa/orchestrator.js.map +0 -1
  857. package/dist/src/self-qa/scenario-planner.js.map +0 -1
  858. package/dist/src/self-qa/spec-emitter.js.map +0 -1
  859. package/dist/src/self-qa/types.js.map +0 -1
  860. package/dist/src/storage/__tests__/migrations.test.js.map +0 -1
  861. package/dist/src/storage/__tests__/sweep-stale-pending.test.js.map +0 -1
  862. package/dist/src/storage/__tests__/ui-interaction-log.test.js.map +0 -1
  863. package/dist/src/storage/atomic-io.js.map +0 -1
  864. package/dist/src/storage/atomic-io.test.js.map +0 -1
  865. package/dist/src/storage/config.js.map +0 -1
  866. package/dist/src/storage/config.test.js.map +0 -1
  867. package/dist/src/storage/db.js.map +0 -1
  868. package/dist/src/storage/index.js.map +0 -1
  869. package/dist/src/storage/interaction-log.js.map +0 -1
  870. package/dist/src/storage/migrations.js.map +0 -1
  871. package/dist/src/storage/session-dir.js.map +0 -1
  872. package/dist/src/storage/sessions.js.map +0 -1
  873. package/dist/src/storage/tool-results.js.map +0 -1
  874. package/dist/src/storage/transcript-response-entry.test.js.map +0 -1
  875. package/dist/src/storage/transcript-view.js.map +0 -1
  876. package/dist/src/storage/transcript.js.map +0 -1
  877. package/dist/src/storage/transcript.test.js.map +0 -1
  878. package/dist/src/storage/ui-interaction-log.js.map +0 -1
  879. package/dist/src/storage/usage-cap.js.map +0 -1
  880. package/dist/src/storage/usage-cap.test.js.map +0 -1
  881. package/dist/src/storage/usage.js.map +0 -1
  882. package/dist/src/storage/workspaces.js.map +0 -1
  883. package/dist/src/tools/__tests__/vision-gate.test.js.map +0 -1
  884. package/dist/src/tools/bash-output-cache.js.map +0 -1
  885. package/dist/src/tools/bash-output-cache.test.js.map +0 -1
  886. package/dist/src/tools/bash-output-integration.test.js.map +0 -1
  887. package/dist/src/tools/bash.js.map +0 -1
  888. package/dist/src/tools/bash.test.js.map +0 -1
  889. package/dist/src/tools/computer.js.map +0 -1
  890. package/dist/src/tools/computer.test.js.map +0 -1
  891. package/dist/src/tools/file-tracker.js.map +0 -1
  892. package/dist/src/tools/file-tracker.test.js.map +0 -1
  893. package/dist/src/tools/file.js.map +0 -1
  894. package/dist/src/tools/file.test.js.map +0 -1
  895. package/dist/src/tools/grep.js.map +0 -1
  896. package/dist/src/tools/registry-bash-empty-command.test.js.map +0 -1
  897. package/dist/src/tools/registry-bash-footer.test.js.map +0 -1
  898. package/dist/src/tools/registry-ee-query.test.js.map +0 -1
  899. package/dist/src/tools/registry-session-repeat.test.js.map +0 -1
  900. package/dist/src/tools/registry.js.map +0 -1
  901. package/dist/src/tools/registry.test.js.map +0 -1
  902. package/dist/src/tools/schedule.js.map +0 -1
  903. package/dist/src/tools/schedule.test.js.map +0 -1
  904. package/dist/src/tools/todo-write-snapshot.js.map +0 -1
  905. package/dist/src/tools/todo-write-snapshot.test.js.map +0 -1
  906. package/dist/src/tools/vision-gate.js.map +0 -1
  907. package/dist/src/types/index.js.map +0 -1
  908. package/dist/src/ui/__tests__/picker-providers.test.js.map +0 -1
  909. package/dist/src/ui/agents-modal.js.map +0 -1
  910. package/dist/src/ui/app.js.map +0 -1
  911. package/dist/src/ui/cards/__tests__/product-status-card.test.js.map +0 -1
  912. package/dist/src/ui/cards/product-status-card.js.map +0 -1
  913. package/dist/src/ui/components/SuggestionOverlay.js.map +0 -1
  914. package/dist/src/ui/components/Toast.js.map +0 -1
  915. package/dist/src/ui/components/__tests__/council-leader-bubble.test.js.map +0 -1
  916. package/dist/src/ui/components/__tests__/council-message-bubble.test.js.map +0 -1
  917. package/dist/src/ui/components/__tests__/council-phase-timeline.test.js.map +0 -1
  918. package/dist/src/ui/components/__tests__/council-placeholder-bubble.test.js.map +0 -1
  919. package/dist/src/ui/components/__tests__/council-question-card.test.js.map +0 -1
  920. package/dist/src/ui/components/__tests__/council-synthesis-banner.test.js.map +0 -1
  921. package/dist/src/ui/components/__tests__/task-list-panel.test.js.map +0 -1
  922. package/dist/src/ui/components/__tests__/use-pair-quote-buffer.test.js.map +0 -1
  923. package/dist/src/ui/components/btw-overlay.js.map +0 -1
  924. package/dist/src/ui/components/bubble-layout.js.map +0 -1
  925. package/dist/src/ui/components/code-block-truncate.js.map +0 -1
  926. package/dist/src/ui/components/copy-flash-banner.js.map +0 -1
  927. package/dist/src/ui/components/council-info-card.js.map +0 -1
  928. package/dist/src/ui/components/council-leader-bubble.js.map +0 -1
  929. package/dist/src/ui/components/council-message-bubble.js.map +0 -1
  930. package/dist/src/ui/components/council-phase-timeline.js.map +0 -1
  931. package/dist/src/ui/components/council-placeholder-bubble.js.map +0 -1
  932. package/dist/src/ui/components/council-question-card.js.map +0 -1
  933. package/dist/src/ui/components/council-status-list.js.map +0 -1
  934. package/dist/src/ui/components/council-synthesis-banner.js.map +0 -1
  935. package/dist/src/ui/components/diff-view.js.map +0 -1
  936. package/dist/src/ui/components/halt-recovery-card.js.map +0 -1
  937. package/dist/src/ui/components/hero-logo.js.map +0 -1
  938. package/dist/src/ui/components/init-new-form-card.js.map +0 -1
  939. package/dist/src/ui/components/lsp-views.js.map +0 -1
  940. package/dist/src/ui/components/media-views.js.map +0 -1
  941. package/dist/src/ui/components/message-view.js.map +0 -1
  942. package/dist/src/ui/components/point-to-existing-form-card.js.map +0 -1
  943. package/dist/src/ui/components/prompt-box.js.map +0 -1
  944. package/dist/src/ui/components/role-palette.js.map +0 -1
  945. package/dist/src/ui/components/session-header.js.map +0 -1
  946. package/dist/src/ui/components/slash-inline-menu.js.map +0 -1
  947. package/dist/src/ui/components/structured-response-view.js.map +0 -1
  948. package/dist/src/ui/components/task-list-panel.js.map +0 -1
  949. package/dist/src/ui/components/tool-group.js.map +0 -1
  950. package/dist/src/ui/components/tool-result-views.js.map +0 -1
  951. package/dist/src/ui/components/use-pair-quote-buffer.js.map +0 -1
  952. package/dist/src/ui/constants.js.map +0 -1
  953. package/dist/src/ui/hooks/use-agent-editor.js.map +0 -1
  954. package/dist/src/ui/hooks/use-mcp-editor.js.map +0 -1
  955. package/dist/src/ui/hooks/use-model-picker.js.map +0 -1
  956. package/dist/src/ui/hooks/useTypeahead.js.map +0 -1
  957. package/dist/src/ui/markdown.js.map +0 -1
  958. package/dist/src/ui/mcp-modal-types.js.map +0 -1
  959. package/dist/src/ui/mcp-modal.js.map +0 -1
  960. package/dist/src/ui/modals/api-key-modal.js.map +0 -1
  961. package/dist/src/ui/modals/connect-modal.js.map +0 -1
  962. package/dist/src/ui/modals/model-picker-modal.js.map +0 -1
  963. package/dist/src/ui/modals/sandbox-picker-modal.js.map +0 -1
  964. package/dist/src/ui/modals/update-modal.js.map +0 -1
  965. package/dist/src/ui/modals/wallet-picker-modal.js.map +0 -1
  966. package/dist/src/ui/picker-providers.js.map +0 -1
  967. package/dist/src/ui/plan.js.map +0 -1
  968. package/dist/src/ui/schedule-modal.js.map +0 -1
  969. package/dist/src/ui/slash/__tests__/clear.test.js.map +0 -1
  970. package/dist/src/ui/slash/__tests__/compact.test.js.map +0 -1
  971. package/dist/src/ui/slash/__tests__/cost.test.js.map +0 -1
  972. package/dist/src/ui/slash/__tests__/discuss.test.js.map +0 -1
  973. package/dist/src/ui/slash/__tests__/execute.test.js.map +0 -1
  974. package/dist/src/ui/slash/__tests__/expand.test.js.map +0 -1
  975. package/dist/src/ui/slash/__tests__/ideal.test.js.map +0 -1
  976. package/dist/src/ui/slash/__tests__/menu-parity.test.js.map +0 -1
  977. package/dist/src/ui/slash/__tests__/optimize.test.js.map +0 -1
  978. package/dist/src/ui/slash/__tests__/pin.test.js.map +0 -1
  979. package/dist/src/ui/slash/__tests__/plan.test.js.map +0 -1
  980. package/dist/src/ui/slash/__tests__/status-render.test.js.map +0 -1
  981. package/dist/src/ui/slash/clear.js.map +0 -1
  982. package/dist/src/ui/slash/compact.js.map +0 -1
  983. package/dist/src/ui/slash/cost.js.map +0 -1
  984. package/dist/src/ui/slash/council-inspect.js.map +0 -1
  985. package/dist/src/ui/slash/council.js.map +0 -1
  986. package/dist/src/ui/slash/debug.js.map +0 -1
  987. package/dist/src/ui/slash/discuss.js.map +0 -1
  988. package/dist/src/ui/slash/ee.js.map +0 -1
  989. package/dist/src/ui/slash/execute.js.map +0 -1
  990. package/dist/src/ui/slash/expand.js.map +0 -1
  991. package/dist/src/ui/slash/export.js.map +0 -1
  992. package/dist/src/ui/slash/ideal.js.map +0 -1
  993. package/dist/src/ui/slash/menu-items.js.map +0 -1
  994. package/dist/src/ui/slash/optimize.js.map +0 -1
  995. package/dist/src/ui/slash/pin.js.map +0 -1
  996. package/dist/src/ui/slash/plan.js.map +0 -1
  997. package/dist/src/ui/slash/registry.js.map +0 -1
  998. package/dist/src/ui/slash/route.js.map +0 -1
  999. package/dist/src/ui/slash/route.test.js.map +0 -1
  1000. package/dist/src/ui/slash/status.js.map +0 -1
  1001. package/dist/src/ui/state/active-run.js.map +0 -1
  1002. package/dist/src/ui/status-bar/index.js.map +0 -1
  1003. package/dist/src/ui/status-bar/index.test.js.map +0 -1
  1004. package/dist/src/ui/status-bar/store.js.map +0 -1
  1005. package/dist/src/ui/status-bar/store.test.js.map +0 -1
  1006. package/dist/src/ui/status-bar/tier-badge.js.map +0 -1
  1007. package/dist/src/ui/status-bar/tier-badge.test.js.map +0 -1
  1008. package/dist/src/ui/status-bar/usd-meter.js.map +0 -1
  1009. package/dist/src/ui/status-bar/usd-meter.test.js.map +0 -1
  1010. package/dist/src/ui/syntax-highlight.js.map +0 -1
  1011. package/dist/src/ui/terminal-selection-text.js.map +0 -1
  1012. package/dist/src/ui/theme.js.map +0 -1
  1013. package/dist/src/ui/types.js.map +0 -1
  1014. package/dist/src/ui/utils/__tests__/format.test.js.map +0 -1
  1015. package/dist/src/ui/utils/__tests__/tools.test.js.map +0 -1
  1016. package/dist/src/ui/utils/color.js.map +0 -1
  1017. package/dist/src/ui/utils/format.js.map +0 -1
  1018. package/dist/src/ui/utils/modal.js.map +0 -1
  1019. package/dist/src/ui/utils/text.js.map +0 -1
  1020. package/dist/src/ui/utils/tools.js.map +0 -1
  1021. package/dist/src/usage/__tests__/product-ledger.test.js.map +0 -1
  1022. package/dist/src/usage/cost-log.js.map +0 -1
  1023. package/dist/src/usage/decision-log.js.map +0 -1
  1024. package/dist/src/usage/downgrade.js.map +0 -1
  1025. package/dist/src/usage/downgrade.test.js.map +0 -1
  1026. package/dist/src/usage/estimator.js.map +0 -1
  1027. package/dist/src/usage/estimator.test.js.map +0 -1
  1028. package/dist/src/usage/ledger.js.map +0 -1
  1029. package/dist/src/usage/ledger.test.js.map +0 -1
  1030. package/dist/src/usage/midstream.js.map +0 -1
  1031. package/dist/src/usage/midstream.test.js.map +0 -1
  1032. package/dist/src/usage/product-ledger.js.map +0 -1
  1033. package/dist/src/usage/thresholds.js.map +0 -1
  1034. package/dist/src/usage/thresholds.test.js.map +0 -1
  1035. package/dist/src/usage/types.js.map +0 -1
  1036. package/dist/src/utils/__tests__/auto-council-settings.test.js.map +0 -1
  1037. package/dist/src/utils/__tests__/ee-logger.test.js.map +0 -1
  1038. package/dist/src/utils/__tests__/file-lock.test.js.map +0 -1
  1039. package/dist/src/utils/__tests__/llm-deadline.test.js.map +0 -1
  1040. package/dist/src/utils/__tests__/rate-limit.test.js.map +0 -1
  1041. package/dist/src/utils/__tests__/settings-disabled-models.test.js.map +0 -1
  1042. package/dist/src/utils/__tests__/settings-web-research.test.js.map +0 -1
  1043. package/dist/src/utils/__tests__/slugify.test.js.map +0 -1
  1044. package/dist/src/utils/__tests__/visible-retry.test.js.map +0 -1
  1045. package/dist/src/utils/at-mentions.js.map +0 -1
  1046. package/dist/src/utils/clipboard-image.js.map +0 -1
  1047. package/dist/src/utils/ee-logger.js.map +0 -1
  1048. package/dist/src/utils/file-index.js.map +0 -1
  1049. package/dist/src/utils/file-lock.js.map +0 -1
  1050. package/dist/src/utils/git-root.js.map +0 -1
  1051. package/dist/src/utils/host-clipboard.js.map +0 -1
  1052. package/dist/src/utils/install-manager.js.map +0 -1
  1053. package/dist/src/utils/install-manager.test.js.map +0 -1
  1054. package/dist/src/utils/instructions.js.map +0 -1
  1055. package/dist/src/utils/instructions.test.js.map +0 -1
  1056. package/dist/src/utils/llm-deadline.js.map +0 -1
  1057. package/dist/src/utils/permission-mode.js.map +0 -1
  1058. package/dist/src/utils/permission-mode.test.js.map +0 -1
  1059. package/dist/src/utils/rate-limit.js.map +0 -1
  1060. package/dist/src/utils/redactor.js.map +0 -1
  1061. package/dist/src/utils/redactor.test.js.map +0 -1
  1062. package/dist/src/utils/settings.js.map +0 -1
  1063. package/dist/src/utils/settings.test.js.map +0 -1
  1064. package/dist/src/utils/shell.js.map +0 -1
  1065. package/dist/src/utils/shell.test.js.map +0 -1
  1066. package/dist/src/utils/side-question.js.map +0 -1
  1067. package/dist/src/utils/skills.js.map +0 -1
  1068. package/dist/src/utils/skills.test.js.map +0 -1
  1069. package/dist/src/utils/slugify.js.map +0 -1
  1070. package/dist/src/utils/subagent-display.js.map +0 -1
  1071. package/dist/src/utils/subagent-display.test.js.map +0 -1
  1072. package/dist/src/utils/subagents-settings.test.js.map +0 -1
  1073. package/dist/src/utils/telegram-audio-settings.test.js.map +0 -1
  1074. package/dist/src/utils/update-checker.js.map +0 -1
  1075. package/dist/src/utils/update-checker.test.js.map +0 -1
  1076. package/dist/src/utils/visible-retry.js.map +0 -1
  1077. package/dist/src/verify/__tests__/coverage-parsers.test.js.map +0 -1
  1078. package/dist/src/verify/__tests__/dotnet-recipe.test.js.map +0 -1
  1079. package/dist/src/verify/checkpoint.js.map +0 -1
  1080. package/dist/src/verify/checkpoint.test.js.map +0 -1
  1081. package/dist/src/verify/coverage-parsers.js.map +0 -1
  1082. package/dist/src/verify/entrypoint.js.map +0 -1
  1083. package/dist/src/verify/entrypoint.test.js.map +0 -1
  1084. package/dist/src/verify/environment.js.map +0 -1
  1085. package/dist/src/verify/environment.test.js.map +0 -1
  1086. package/dist/src/verify/evidence.js.map +0 -1
  1087. package/dist/src/verify/orchestrator.js.map +0 -1
  1088. package/dist/src/verify/orchestrator.test.js.map +0 -1
  1089. package/dist/src/verify/recipes.js.map +0 -1
  1090. package/dist/src/verify/retry.js.map +0 -1
  1091. package/dist/src/verify/runtime-prep.test.js.map +0 -1
  1092. package/src/__test-helpers__/catalog-fixtures.ts +0 -57
  1093. package/src/__test-stubs__/ee-server.ts +0 -173
  1094. package/src/__test-stubs__/vitest-setup.ts +0 -36
  1095. package/src/__tests__/council/bubble-layout.test.ts +0 -45
  1096. package/src/__tests__/council/code-block-truncate.test.ts +0 -50
  1097. package/src/__tests__/council/role-palette.test.ts +0 -66
  1098. package/src/__tests__/first-run-wizard.test.ts +0 -9
  1099. package/src/agent-harness/__tests__/cli-flags.spec.ts +0 -35
  1100. package/src/agent-harness/__tests__/driver.spec.ts +0 -154
  1101. package/src/agent-harness/__tests__/idle.spec.ts +0 -90
  1102. package/src/agent-harness/__tests__/mock-llm.spec.ts +0 -126
  1103. package/src/agent-harness/__tests__/mock-model.spec.ts +0 -195
  1104. package/src/agent-harness/__tests__/predicate.spec.ts +0 -33
  1105. package/src/agent-harness/__tests__/protocol.spec.ts +0 -62
  1106. package/src/agent-harness/__tests__/schema.spec.ts +0 -81
  1107. package/src/agent-harness/__tests__/selector.spec.ts +0 -82
  1108. package/src/agent-harness/__tests__/sidechannel.spec.ts +0 -40
  1109. package/src/agent-harness/__tests__/spec-helpers.spec.ts +0 -76
  1110. package/src/agent-harness/index.ts +0 -24
  1111. package/src/agent-harness/mock-model.ts +0 -445
  1112. package/src/agent-harness/test-spawn.ts +0 -221
  1113. package/src/billing/index.ts +0 -5
  1114. package/src/bun-sqlite.d.ts +0 -15
  1115. package/src/chat/__tests__/broadcast-bus.test.ts +0 -90
  1116. package/src/chat/__tests__/channel-manager.test.ts +0 -149
  1117. package/src/chat/__tests__/client.test.ts +0 -118
  1118. package/src/chat/__tests__/discord-integration.test.ts +0 -162
  1119. package/src/chat/__tests__/intent-prompt.test.ts +0 -92
  1120. package/src/chat/__tests__/verdict-resolver.test.ts +0 -336
  1121. package/src/chat/broadcast-bus.ts +0 -53
  1122. package/src/chat/channel-manager.ts +0 -146
  1123. package/src/chat/chat-keychain.ts +0 -137
  1124. package/src/chat/factory.ts +0 -37
  1125. package/src/chat/intent-prompt.ts +0 -72
  1126. package/src/chat/providers/discord/client.ts +0 -91
  1127. package/src/chat/types.ts +0 -42
  1128. package/src/chat/verdict-constants.ts +0 -26
  1129. package/src/chat/verdict-resolver.ts +0 -231
  1130. package/src/cli/__tests__/bw-vault.test.ts +0 -97
  1131. package/src/cli/__tests__/keys-bundle.test.ts +0 -46
  1132. package/src/cli/__tests__/share-cmd.test.ts +0 -197
  1133. package/src/cli/bw-vault.ts +0 -184
  1134. package/src/cli/config/__tests__/model-picker.test.ts +0 -59
  1135. package/src/cli/config/__tests__/provider-fetch.test.ts +0 -38
  1136. package/src/cli/config/index.ts +0 -112
  1137. package/src/cli/config/model-picker.ts +0 -193
  1138. package/src/cli/config/provider-fetch.ts +0 -75
  1139. package/src/cli/config/screen-council.ts +0 -245
  1140. package/src/cli/config/screen-models.ts +0 -104
  1141. package/src/cli/config/screen-providers.ts +0 -197
  1142. package/src/cli/config/tui.ts +0 -153
  1143. package/src/cli/cost-forensics.test.ts +0 -273
  1144. package/src/cli/cost-forensics.ts +0 -337
  1145. package/src/cli/keys-bundle.ts +0 -91
  1146. package/src/cli/keys.test.ts +0 -104
  1147. package/src/cli/keys.ts +0 -816
  1148. package/src/cli/pil-report.ts +0 -202
  1149. package/src/cli/reporter-cmd.ts +0 -154
  1150. package/src/cli/share-cmd.ts +0 -132
  1151. package/src/cli/usage-report.ts +0 -398
  1152. package/src/cloud/index.ts +0 -5
  1153. package/src/council/__tests__/accounting.test.ts +0 -72
  1154. package/src/council/__tests__/audit-replay.test.ts +0 -344
  1155. package/src/council/__tests__/clarifier-max-rounds.test.ts +0 -90
  1156. package/src/council/__tests__/clarifier-options.test.ts +0 -63
  1157. package/src/council/__tests__/clarifier-ready-gate.test.ts +0 -268
  1158. package/src/council/__tests__/cost-aware.test.ts +0 -60
  1159. package/src/council/__tests__/debate-planner-structured.test.ts +0 -236
  1160. package/src/council/__tests__/decisions-lock.test.ts +0 -404
  1161. package/src/council/__tests__/evaluator-metrics.test.ts +0 -513
  1162. package/src/council/__tests__/parse-outcome-fallback.test.ts +0 -125
  1163. package/src/council/__tests__/research-tools.test.ts +0 -239
  1164. package/src/council/__tests__/round-tools.test.ts +0 -334
  1165. package/src/council/__tests__/tool-trace.test.ts +0 -152
  1166. package/src/council/__tests__/types-contract.test.ts +0 -88
  1167. package/src/council/clarifier.ts +0 -507
  1168. package/src/council/context.ts +0 -249
  1169. package/src/council/debate-planner.ts +0 -303
  1170. package/src/council/debate.ts +0 -1179
  1171. package/src/council/decisions-lock.ts +0 -312
  1172. package/src/council/executor.ts +0 -27
  1173. package/src/council/index.ts +0 -956
  1174. package/src/council/leader.ts +0 -281
  1175. package/src/council/llm.ts +0 -939
  1176. package/src/council/phase-events.ts +0 -64
  1177. package/src/council/planner.ts +0 -303
  1178. package/src/council/preflight.ts +0 -86
  1179. package/src/council/prompts.ts +0 -698
  1180. package/src/council/types.ts +0 -304
  1181. package/src/daemon/scheduler.test.ts +0 -128
  1182. package/src/daemon/scheduler.ts +0 -152
  1183. package/src/ee/.gitkeep +0 -0
  1184. package/src/ee/__tests__/bb-design.test.ts +0 -223
  1185. package/src/ee/__tests__/export-transcripts.test.ts +0 -222
  1186. package/src/ee/__tests__/pil-context-bridge.test.ts +0 -59
  1187. package/src/ee/__tests__/pipeline.integration.test.ts +0 -193
  1188. package/src/ee/__tests__/recall-format.test.ts +0 -66
  1189. package/src/ee/__tests__/recall-ledger.test.ts +0 -55
  1190. package/src/ee/__tests__/render-sink-wiring.test.ts +0 -89
  1191. package/src/ee/auth.test.ts +0 -76
  1192. package/src/ee/auth.ts +0 -80
  1193. package/src/ee/bb-design.ts +0 -284
  1194. package/src/ee/bb-retrieval.ts +0 -467
  1195. package/src/ee/bridge.test.ts +0 -283
  1196. package/src/ee/bridge.ts +0 -443
  1197. package/src/ee/client-mode.ts +0 -161
  1198. package/src/ee/client.test.ts +0 -201
  1199. package/src/ee/client.ts +0 -683
  1200. package/src/ee/council-bridge.ts +0 -89
  1201. package/src/ee/embedding-cache.ts +0 -42
  1202. package/src/ee/export-transcripts.ts +0 -160
  1203. package/src/ee/extract-session.test.ts +0 -231
  1204. package/src/ee/extract-session.ts +0 -71
  1205. package/src/ee/health.ts +0 -83
  1206. package/src/ee/index.ts +0 -33
  1207. package/src/ee/intercept.test.ts +0 -197
  1208. package/src/ee/intercept.ts +0 -168
  1209. package/src/ee/judge.test.ts +0 -213
  1210. package/src/ee/judge.ts +0 -126
  1211. package/src/ee/mistake-detector.test.ts +0 -252
  1212. package/src/ee/mistake-detector.ts +0 -297
  1213. package/src/ee/offline-queue.test.ts +0 -302
  1214. package/src/ee/offline-queue.ts +0 -205
  1215. package/src/ee/phase-outcome.test.ts +0 -107
  1216. package/src/ee/phase-outcome.ts +0 -165
  1217. package/src/ee/phase-tracker.test.ts +0 -175
  1218. package/src/ee/phase-tracker.ts +0 -180
  1219. package/src/ee/posttool.test.ts +0 -81
  1220. package/src/ee/posttool.ts +0 -16
  1221. package/src/ee/prompt-stale.test.ts +0 -92
  1222. package/src/ee/prompt-stale.ts +0 -39
  1223. package/src/ee/recall-ledger.ts +0 -71
  1224. package/src/ee/recall-mirror.test.ts +0 -74
  1225. package/src/ee/render.test.ts +0 -74
  1226. package/src/ee/render.ts +0 -68
  1227. package/src/ee/scope.test.ts +0 -112
  1228. package/src/ee/scope.ts +0 -93
  1229. package/src/ee/search.ts +0 -259
  1230. package/src/ee/session-trajectory.test.ts +0 -139
  1231. package/src/ee/session-trajectory.ts +0 -226
  1232. package/src/ee/tenant.ts +0 -14
  1233. package/src/ee/touch.test.ts +0 -73
  1234. package/src/ee/transcript-emit.ts +0 -174
  1235. package/src/ee/types.ts +0 -432
  1236. package/src/flow/.gitkeep +0 -0
  1237. package/src/flow/__tests__/migration.test.ts +0 -133
  1238. package/src/flow/__tests__/parser.test.ts +0 -77
  1239. package/src/flow/__tests__/run-manager-product.test.ts +0 -59
  1240. package/src/flow/__tests__/run-manager.test.ts +0 -95
  1241. package/src/flow/__tests__/scaffold-checkpoint.test.ts +0 -113
  1242. package/src/flow/__tests__/scaffold.test.ts +0 -57
  1243. package/src/flow/__tests__/warning-persist.test.ts +0 -112
  1244. package/src/flow/artifact-io.ts +0 -41
  1245. package/src/flow/compaction/__tests__/compress.test.ts +0 -69
  1246. package/src/flow/compaction/__tests__/extract.test.ts +0 -74
  1247. package/src/flow/compaction/__tests__/preserve.test.ts +0 -69
  1248. package/src/flow/compaction/compress.ts +0 -67
  1249. package/src/flow/compaction/extract.ts +0 -60
  1250. package/src/flow/compaction/index.ts +0 -86
  1251. package/src/flow/compaction/preserve.ts +0 -48
  1252. package/src/flow/index.ts +0 -18
  1253. package/src/flow/migration.ts +0 -139
  1254. package/src/flow/parser.ts +0 -78
  1255. package/src/flow/run-manager.ts +0 -162
  1256. package/src/flow/scaffold-checkpoint.ts +0 -132
  1257. package/src/flow/scaffold.ts +0 -52
  1258. package/src/flow/warning-persist.ts +0 -84
  1259. package/src/generated/version.ts +0 -5
  1260. package/src/gsd/.gitkeep +0 -0
  1261. package/src/gsd/__tests__/complexity.test.ts +0 -0
  1262. package/src/gsd/__tests__/directives.test.ts +0 -88
  1263. package/src/gsd/__tests__/gray-areas.test.ts +0 -33
  1264. package/src/gsd/__tests__/types.test.ts +0 -91
  1265. package/src/gsd/complexity.ts +0 -124
  1266. package/src/gsd/directives.ts +0 -141
  1267. package/src/gsd/gray-areas.ts +0 -144
  1268. package/src/gsd/index.ts +0 -1
  1269. package/src/gsd/types.ts +0 -63
  1270. package/src/headless/__tests__/council-answers.test.ts +0 -300
  1271. package/src/headless/council-answers.ts +0 -152
  1272. package/src/headless/output.test.ts +0 -201
  1273. package/src/headless/output.ts +0 -312
  1274. package/src/hooks/config.ts +0 -41
  1275. package/src/hooks/index.ts +0 -569
  1276. package/src/hooks/types.ts +0 -263
  1277. package/src/index.ts +0 -1762
  1278. package/src/lsp/builtins.test.ts +0 -129
  1279. package/src/lsp/builtins.ts +0 -453
  1280. package/src/lsp/client.ts +0 -342
  1281. package/src/lsp/manager.test.ts +0 -198
  1282. package/src/lsp/manager.ts +0 -343
  1283. package/src/lsp/npm-cache.test.ts +0 -70
  1284. package/src/lsp/npm-cache.ts +0 -111
  1285. package/src/lsp/runtime.ts +0 -70
  1286. package/src/lsp/smoke.test.ts +0 -74
  1287. package/src/lsp/types.ts +0 -119
  1288. package/src/maintain/__tests__/codebase-intel.test.ts +0 -320
  1289. package/src/maintain/__tests__/gh-create-pr.test.ts +0 -195
  1290. package/src/maintain/__tests__/pr-builder.test.ts +0 -282
  1291. package/src/maintain/__tests__/repo-map.test.ts +0 -128
  1292. package/src/maintain/__tests__/task-runner.test.ts +0 -347
  1293. package/src/maintain/codebase-intel.ts +0 -595
  1294. package/src/maintain/gh-create-pr.ts +0 -148
  1295. package/src/maintain/index.ts +0 -14
  1296. package/src/maintain/pr-builder.ts +0 -373
  1297. package/src/maintain/repo-map.ts +0 -205
  1298. package/src/maintain/task-runner.ts +0 -481
  1299. package/src/maintain/types.ts +0 -49
  1300. package/src/mcp/__tests__/auto-setup.test.ts +0 -88
  1301. package/src/mcp/__tests__/cap-tool-result.test.ts +0 -65
  1302. package/src/mcp/__tests__/ee-tools.test.ts +0 -248
  1303. package/src/mcp/__tests__/forensics-tools.test.ts +0 -66
  1304. package/src/mcp/__tests__/harness-driver-action-tools.spec.ts +0 -116
  1305. package/src/mcp/__tests__/harness-driver-async-tools.spec.ts +0 -129
  1306. package/src/mcp/__tests__/harness-driver-read-tools.spec.ts +0 -140
  1307. package/src/mcp/__tests__/harness-driver-security.spec.ts +0 -69
  1308. package/src/mcp/__tests__/harness-driver.spec.ts +0 -21
  1309. package/src/mcp/__tests__/lazy-schema.spec.ts +0 -173
  1310. package/src/mcp/__tests__/lsp-tools.test.ts +0 -72
  1311. package/src/mcp/__tests__/mcp-keychain.test.ts +0 -46
  1312. package/src/mcp/__tests__/research-onboarding.test.ts +0 -163
  1313. package/src/mcp/__tests__/runtime-hydration.test.ts +0 -86
  1314. package/src/mcp/__tests__/runtime-output-cap.test.ts +0 -49
  1315. package/src/mcp/__tests__/runtime-sanitize.test.ts +0 -44
  1316. package/src/mcp/__tests__/self-verify-jobs.test.ts +0 -102
  1317. package/src/mcp/__tests__/smart-filter.test.ts +0 -139
  1318. package/src/mcp/__tests__/tools-server.smoke.test.ts +0 -41
  1319. package/src/mcp/auto-setup.ts +0 -99
  1320. package/src/mcp/cap-tool-result.ts +0 -68
  1321. package/src/mcp/catalog.ts +0 -155
  1322. package/src/mcp/ee-tools.ts +0 -204
  1323. package/src/mcp/forensics-tools.ts +0 -65
  1324. package/src/mcp/lsp-tools.ts +0 -78
  1325. package/src/mcp/mcp-keychain.ts +0 -85
  1326. package/src/mcp/oauth-callback.ts +0 -75
  1327. package/src/mcp/oauth-provider.ts +0 -128
  1328. package/src/mcp/opentui-spawn.ts +0 -64
  1329. package/src/mcp/parse-headers.test.ts +0 -54
  1330. package/src/mcp/parse-headers.ts +0 -35
  1331. package/src/mcp/research-onboarding.ts +0 -143
  1332. package/src/mcp/runtime.ts +0 -182
  1333. package/src/mcp/self-verify-jobs.ts +0 -137
  1334. package/src/mcp/smart-filter.ts +0 -138
  1335. package/src/mcp/smoke.test.ts +0 -170
  1336. package/src/mcp/tools-server.ts +0 -174
  1337. package/src/mcp/validate.ts +0 -48
  1338. package/src/models/__tests__/registry.test.ts +0 -95
  1339. package/src/models/catalog-client.ts +0 -234
  1340. package/src/models/catalog-gemini.test.ts +0 -52
  1341. package/src/models/catalog-url.test.ts +0 -27
  1342. package/src/models/catalog-validation.test.ts +0 -74
  1343. package/src/models/catalog.README.md +0 -136
  1344. package/src/models/catalog.json +0 -349
  1345. package/src/models/classify-tier.ts +0 -48
  1346. package/src/models/index.ts +0 -9
  1347. package/src/models/registry.ts +0 -87
  1348. package/src/ops/__tests__/doctor-council-mcp.test.ts +0 -161
  1349. package/src/ops/__tests__/doctor-ee-health.test.ts +0 -129
  1350. package/src/ops/bug-report.test.ts +0 -172
  1351. package/src/ops/bug-report.ts +0 -80
  1352. package/src/ops/doctor.test.ts +0 -108
  1353. package/src/ops/doctor.ts +0 -366
  1354. package/src/orchestrator/__tests__/agent-base-url-switch.test.ts +0 -87
  1355. package/src/orchestrator/__tests__/batch-turn-runner.test.ts +0 -186
  1356. package/src/orchestrator/__tests__/council-manager.test.ts +0 -171
  1357. package/src/orchestrator/__tests__/cross-turn-dedup.test.ts +0 -201
  1358. package/src/orchestrator/__tests__/current-call-id.test.ts +0 -160
  1359. package/src/orchestrator/__tests__/error-forensics.test.ts +0 -99
  1360. package/src/orchestrator/__tests__/flow-resume.test.ts +0 -71
  1361. package/src/orchestrator/__tests__/humanize-api-error.test.ts +0 -74
  1362. package/src/orchestrator/__tests__/message-processor.test.ts +0 -201
  1363. package/src/orchestrator/__tests__/message-write-ahead.test.ts +0 -170
  1364. package/src/orchestrator/__tests__/read-path-budget.test.ts +0 -170
  1365. package/src/orchestrator/__tests__/retry-classifier.test.ts +0 -131
  1366. package/src/orchestrator/__tests__/retry-stream.test.ts +0 -186
  1367. package/src/orchestrator/__tests__/route-feedback.test.ts +0 -55
  1368. package/src/orchestrator/__tests__/stream-runner.test.ts +0 -201
  1369. package/src/orchestrator/__tests__/sub-agent-model-tier.test.ts +0 -53
  1370. package/src/orchestrator/__tests__/usage-events-shape.test.ts +0 -80
  1371. package/src/orchestrator/__tests__/usage-normalizer-c1.test.ts +0 -172
  1372. package/src/orchestrator/__tests__/usage-shape-threading.test.ts +0 -111
  1373. package/src/orchestrator/__tests__/write-ahead.test.ts +0 -162
  1374. package/src/orchestrator/abort.test.ts +0 -37
  1375. package/src/orchestrator/abort.ts +0 -51
  1376. package/src/orchestrator/agent-options.ts +0 -167
  1377. package/src/orchestrator/agent.test.ts +0 -191
  1378. package/src/orchestrator/batch-turn-runner.ts +0 -425
  1379. package/src/orchestrator/batch-utils.ts +0 -340
  1380. package/src/orchestrator/cleanup.test.ts +0 -86
  1381. package/src/orchestrator/compaction.test.ts +0 -200
  1382. package/src/orchestrator/compaction.ts +0 -626
  1383. package/src/orchestrator/council-manager.ts +0 -572
  1384. package/src/orchestrator/cross-turn-dedup.ts +0 -208
  1385. package/src/orchestrator/delegations.test.ts +0 -145
  1386. package/src/orchestrator/delegations.ts +0 -370
  1387. package/src/orchestrator/error-utils.ts +0 -165
  1388. package/src/orchestrator/flow-resume.ts +0 -54
  1389. package/src/orchestrator/grounding-check.test.ts +0 -111
  1390. package/src/orchestrator/grounding-check.ts +0 -138
  1391. package/src/orchestrator/interrupted-turn.test.ts +0 -39
  1392. package/src/orchestrator/interrupted-turn.ts +0 -27
  1393. package/src/orchestrator/message-processor.ts +0 -3364
  1394. package/src/orchestrator/message-seq.test.ts +0 -29
  1395. package/src/orchestrator/message-seq.ts +0 -19
  1396. package/src/orchestrator/orchestrator.ts +0 -2752
  1397. package/src/orchestrator/pending-calls.test.ts +0 -226
  1398. package/src/orchestrator/pending-calls.ts +0 -240
  1399. package/src/orchestrator/prompts.ts +0 -579
  1400. package/src/orchestrator/provider-options-shape.spec.ts +0 -67
  1401. package/src/orchestrator/provider-options-shape.ts +0 -70
  1402. package/src/orchestrator/read-path-budget.ts +0 -205
  1403. package/src/orchestrator/reasoning.test.ts +0 -114
  1404. package/src/orchestrator/reasoning.ts +0 -116
  1405. package/src/orchestrator/repair-tool-call.ts +0 -54
  1406. package/src/orchestrator/repetition-detector.test.ts +0 -127
  1407. package/src/orchestrator/repetition-detector.ts +0 -140
  1408. package/src/orchestrator/retry-classifier.ts +0 -140
  1409. package/src/orchestrator/retry-stream.ts +0 -159
  1410. package/src/orchestrator/sandbox.test.ts +0 -117
  1411. package/src/orchestrator/scope-ceiling.test.ts +0 -215
  1412. package/src/orchestrator/scope-ceiling.ts +0 -234
  1413. package/src/orchestrator/scope-reminder.test.ts +0 -232
  1414. package/src/orchestrator/scope-reminder.ts +0 -230
  1415. package/src/orchestrator/stall-rescue.test.ts +0 -100
  1416. package/src/orchestrator/stall-rescue.ts +0 -95
  1417. package/src/orchestrator/stall-watchdog.test.ts +0 -83
  1418. package/src/orchestrator/stall-watchdog.ts +0 -87
  1419. package/src/orchestrator/stream-runner.ts +0 -939
  1420. package/src/orchestrator/sub-agent-cap.test.ts +0 -227
  1421. package/src/orchestrator/sub-agent-cap.ts +0 -240
  1422. package/src/orchestrator/sub-agent-model-tier.ts +0 -58
  1423. package/src/orchestrator/subagent-compactor.spec.ts +0 -332
  1424. package/src/orchestrator/subagent-compactor.ts +0 -456
  1425. package/src/orchestrator/text-tool-call-detector.test.ts +0 -99
  1426. package/src/orchestrator/text-tool-call-detector.ts +0 -200
  1427. package/src/orchestrator/token-counter.test.ts +0 -69
  1428. package/src/orchestrator/token-counter.ts +0 -81
  1429. package/src/orchestrator/tool-args-hash.test.ts +0 -121
  1430. package/src/orchestrator/tool-args-hash.ts +0 -221
  1431. package/src/orchestrator/tool-args-repair.test.ts +0 -156
  1432. package/src/orchestrator/tool-args-repair.ts +0 -227
  1433. package/src/orchestrator/tool-loop-cap.test.ts +0 -193
  1434. package/src/orchestrator/tool-loop-cap.ts +0 -174
  1435. package/src/orchestrator/tool-repetition-detector.test.ts +0 -119
  1436. package/src/orchestrator/tool-repetition-detector.ts +0 -0
  1437. package/src/orchestrator/tool-utils.ts +0 -214
  1438. package/src/orchestrator/turn-runner-deps.ts +0 -85
  1439. package/src/pil/__tests__/budget.test.ts +0 -39
  1440. package/src/pil/__tests__/clarity-gate.test.ts +0 -299
  1441. package/src/pil/__tests__/config.test.ts +0 -78
  1442. package/src/pil/__tests__/discovery-cache.test.ts +0 -45
  1443. package/src/pil/__tests__/discovery-types.test.ts +0 -68
  1444. package/src/pil/__tests__/discovery.test.ts +0 -141
  1445. package/src/pil/__tests__/dual-run.test.ts +0 -53
  1446. package/src/pil/__tests__/layer1-intent-trace.test.ts +0 -142
  1447. package/src/pil/__tests__/layer1-intent.test.ts +0 -365
  1448. package/src/pil/__tests__/layer15-context-scan.test.ts +0 -76
  1449. package/src/pil/__tests__/layer16-clarity.test.ts +0 -184
  1450. package/src/pil/__tests__/layer17-feasibility.test.ts +0 -42
  1451. package/src/pil/__tests__/layer18-acceptance.test.ts +0 -116
  1452. package/src/pil/__tests__/layer2-personality.test.ts +0 -63
  1453. package/src/pil/__tests__/layer3-ee-injection.test.ts +0 -189
  1454. package/src/pil/__tests__/layer3-injected-chunk.test.ts +0 -122
  1455. package/src/pil/__tests__/layer4-gsd.test.ts +0 -109
  1456. package/src/pil/__tests__/layer5-context.test.ts +0 -157
  1457. package/src/pil/__tests__/layer6-output.test.ts +0 -362
  1458. package/src/pil/__tests__/llm-classify.test.ts +0 -140
  1459. package/src/pil/__tests__/native-capabilities-workbook.test.ts +0 -45
  1460. package/src/pil/__tests__/ollama-classify.test.ts +0 -81
  1461. package/src/pil/__tests__/orchestrator-integration.test.ts +0 -107
  1462. package/src/pil/__tests__/pipeline.test.ts +0 -191
  1463. package/src/pil/__tests__/renderer-coverage.test.ts +0 -46
  1464. package/src/pil/__tests__/response-tools.test.ts +0 -239
  1465. package/src/pil/__tests__/schema.test.ts +0 -233
  1466. package/src/pil/__tests__/scoreComplexity.test.ts +0 -134
  1467. package/src/pil/__tests__/scoreSufficiency.test.ts +0 -104
  1468. package/src/pil/__tests__/store.test.ts +0 -49
  1469. package/src/pil/__tests__/task-tier-map.test.ts +0 -41
  1470. package/src/pil/agent-operating-contract.test.ts +0 -84
  1471. package/src/pil/agent-operating-contract.ts +0 -70
  1472. package/src/pil/budget-log.ts +0 -86
  1473. package/src/pil/budget.ts +0 -18
  1474. package/src/pil/cheap-model-playbook.test.ts +0 -191
  1475. package/src/pil/cheap-model-playbook.ts +0 -153
  1476. package/src/pil/cheap-model-workbooks.test.ts +0 -154
  1477. package/src/pil/cheap-model-workbooks.ts +0 -109
  1478. package/src/pil/clarity-gate.ts +0 -188
  1479. package/src/pil/config.ts +0 -25
  1480. package/src/pil/discovery-cache.ts +0 -20
  1481. package/src/pil/discovery-types.ts +0 -97
  1482. package/src/pil/discovery.ts +0 -397
  1483. package/src/pil/index.ts +0 -24
  1484. package/src/pil/layer1-intent.test.ts +0 -520
  1485. package/src/pil/layer1-intent.ts +0 -1236
  1486. package/src/pil/layer15-context-scan.ts +0 -159
  1487. package/src/pil/layer16-clarity.test.ts +0 -35
  1488. package/src/pil/layer16-clarity.ts +0 -417
  1489. package/src/pil/layer17-feasibility.ts +0 -40
  1490. package/src/pil/layer18-acceptance.ts +0 -98
  1491. package/src/pil/layer1_5-complexity-size.test.ts +0 -279
  1492. package/src/pil/layer1_5-complexity-size.ts +0 -175
  1493. package/src/pil/layer2-personality.ts +0 -46
  1494. package/src/pil/layer3-ee-injection.ts +0 -406
  1495. package/src/pil/layer4-gsd.ts +0 -124
  1496. package/src/pil/layer5-context.ts +0 -171
  1497. package/src/pil/layer6-output.ts +0 -364
  1498. package/src/pil/llm-classify.ts +0 -199
  1499. package/src/pil/native-capabilities-workbook.ts +0 -124
  1500. package/src/pil/ollama-classify.ts +0 -49
  1501. package/src/pil/pipeline.ts +0 -313
  1502. package/src/pil/response-tools.ts +0 -187
  1503. package/src/pil/schema.ts +0 -111
  1504. package/src/pil/session-state.test.ts +0 -88
  1505. package/src/pil/session-state.ts +0 -157
  1506. package/src/pil/store.ts +0 -29
  1507. package/src/pil/task-tier-map.ts +0 -97
  1508. package/src/pil/timeout.ts +0 -10
  1509. package/src/pil/types.ts +0 -168
  1510. package/src/product-loop/__tests__/artifact-io.test.ts +0 -97
  1511. package/src/product-loop/__tests__/assumption-ledger.test.ts +0 -292
  1512. package/src/product-loop/__tests__/backlog-builder.test.ts +0 -200
  1513. package/src/product-loop/__tests__/backlog-store.test.ts +0 -119
  1514. package/src/product-loop/__tests__/cb2-retry-bonus.test.ts +0 -182
  1515. package/src/product-loop/__tests__/circuit-breakers-coverage.test.ts +0 -82
  1516. package/src/product-loop/__tests__/circuit-breakers.test.ts +0 -90
  1517. package/src/product-loop/__tests__/complexity-routing.spec.ts +0 -315
  1518. package/src/product-loop/__tests__/context-policy.test.ts +0 -280
  1519. package/src/product-loop/__tests__/cost-preview.test.ts +0 -118
  1520. package/src/product-loop/__tests__/cost-scoper.test.ts +0 -76
  1521. package/src/product-loop/__tests__/cross-run-memory.test.ts +0 -195
  1522. package/src/product-loop/__tests__/design-output.spec.ts +0 -39
  1523. package/src/product-loop/__tests__/discover.test.ts +0 -98
  1524. package/src/product-loop/__tests__/discovery-context-format.test.ts +0 -111
  1525. package/src/product-loop/__tests__/discovery-council-runner.test.ts +0 -13
  1526. package/src/product-loop/__tests__/discovery-detection.test.ts +0 -180
  1527. package/src/product-loop/__tests__/discovery-ecosystem.test.ts +0 -246
  1528. package/src/product-loop/__tests__/discovery-integration.test.ts +0 -133
  1529. package/src/product-loop/__tests__/discovery-interview.test.ts +0 -305
  1530. package/src/product-loop/__tests__/discovery-migrations.test.ts +0 -75
  1531. package/src/product-loop/__tests__/discovery-persistence.test.ts +0 -171
  1532. package/src/product-loop/__tests__/discovery-prompt-parser.test.ts +0 -77
  1533. package/src/product-loop/__tests__/discovery-prompt-specificity.test.ts +0 -65
  1534. package/src/product-loop/__tests__/discovery-recommender-ecosystem.test.ts +0 -192
  1535. package/src/product-loop/__tests__/discovery-recommender.test.ts +0 -382
  1536. package/src/product-loop/__tests__/discovery-schema.test.ts +0 -102
  1537. package/src/product-loop/__tests__/done-gate-coverage.test.ts +0 -151
  1538. package/src/product-loop/__tests__/done-gate.test.ts +0 -140
  1539. package/src/product-loop/__tests__/ee-extract-wiring.test.ts +0 -222
  1540. package/src/product-loop/__tests__/extract-to-ee.test.ts +0 -205
  1541. package/src/product-loop/__tests__/feedback-routing.test.ts +0 -93
  1542. package/src/product-loop/__tests__/gather-selectable-alts.test.ts +0 -119
  1543. package/src/product-loop/__tests__/hot-path.spec.ts +0 -177
  1544. package/src/product-loop/__tests__/integration.test.ts +0 -350
  1545. package/src/product-loop/__tests__/loop-driver-audit.test.ts +0 -327
  1546. package/src/product-loop/__tests__/loop-driver.test.ts +0 -253
  1547. package/src/product-loop/__tests__/maintenance-task-synthesis.test.ts +0 -78
  1548. package/src/product-loop/__tests__/phase-a1-a3-sprint-runner.test.ts +0 -315
  1549. package/src/product-loop/__tests__/phase-a2-backlog-build.test.ts +0 -189
  1550. package/src/product-loop/__tests__/phase-budget.test.ts +0 -172
  1551. package/src/product-loop/__tests__/phase-orchestrator-integration.test.ts +0 -143
  1552. package/src/product-loop/__tests__/phase-plan.test.ts +0 -241
  1553. package/src/product-loop/__tests__/phase-rituals.test.ts +0 -205
  1554. package/src/product-loop/__tests__/phase-runner.test.ts +0 -454
  1555. package/src/product-loop/__tests__/phase-tracker-bridge.test.ts +0 -85
  1556. package/src/product-loop/__tests__/pick-backend-stack.test.ts +0 -117
  1557. package/src/product-loop/__tests__/product-identity.test.ts +0 -47
  1558. package/src/product-loop/__tests__/progress-snapshot.test.ts +0 -180
  1559. package/src/product-loop/__tests__/reality-anchor.test.ts +0 -58
  1560. package/src/product-loop/__tests__/repo-audit.test.ts +0 -103
  1561. package/src/product-loop/__tests__/repo-brief.test.ts +0 -155
  1562. package/src/product-loop/__tests__/role-memory.test.ts +0 -70
  1563. package/src/product-loop/__tests__/role-registry.test.ts +0 -235
  1564. package/src/product-loop/__tests__/role-routing-ee.test.ts +0 -90
  1565. package/src/product-loop/__tests__/route-decision-emit.test.ts +0 -258
  1566. package/src/product-loop/__tests__/seed-questions.test.ts +0 -33
  1567. package/src/product-loop/__tests__/ship-polish.test.ts +0 -109
  1568. package/src/product-loop/__tests__/sprint-planner.test.ts +0 -166
  1569. package/src/product-loop/__tests__/sprint-runner-backlog.test.ts +0 -248
  1570. package/src/product-loop/__tests__/sprint-runner-emit.test.ts +0 -324
  1571. package/src/product-loop/__tests__/sprint-runner-phase-chunks.test.ts +0 -220
  1572. package/src/product-loop/__tests__/sprint-runner.test.ts +0 -501
  1573. package/src/product-loop/__tests__/sprint-self-verify.test.ts +0 -77
  1574. package/src/product-loop/__tests__/sprint-store.test.ts +0 -98
  1575. package/src/product-loop/__tests__/stakeholder-acl.test.ts +0 -94
  1576. package/src/product-loop/__tests__/state-md-ee-injections.test.ts +0 -229
  1577. package/src/product-loop/__tests__/sufficiency-routing.spec.ts +0 -183
  1578. package/src/product-loop/__tests__/typed-artifacts.test.ts +0 -259
  1579. package/src/product-loop/__tests__/types.test.ts +0 -103
  1580. package/src/product-loop/__tests__/verify-failure-threshold.test.ts +0 -178
  1581. package/src/product-loop/__tests__/verify-failure-tracking.test.ts +0 -154
  1582. package/src/product-loop/__tests__/verify-result.test.ts +0 -60
  1583. package/src/product-loop/artifact-io.ts +0 -239
  1584. package/src/product-loop/assumption-ledger.ts +0 -270
  1585. package/src/product-loop/backlog-builder.ts +0 -253
  1586. package/src/product-loop/backlog-store.ts +0 -62
  1587. package/src/product-loop/circuit-breakers.ts +0 -76
  1588. package/src/product-loop/context-policy.ts +0 -180
  1589. package/src/product-loop/cost-preview.ts +0 -139
  1590. package/src/product-loop/cost-scoper.ts +0 -49
  1591. package/src/product-loop/cross-run-memory.ts +0 -450
  1592. package/src/product-loop/design-output.ts +0 -24
  1593. package/src/product-loop/discover.ts +0 -159
  1594. package/src/product-loop/discovery-context-format.ts +0 -56
  1595. package/src/product-loop/discovery-council-runner.ts +0 -78
  1596. package/src/product-loop/discovery-detection.ts +0 -161
  1597. package/src/product-loop/discovery-ecosystem.ts +0 -239
  1598. package/src/product-loop/discovery-interview.ts +0 -288
  1599. package/src/product-loop/discovery-migrations.ts +0 -40
  1600. package/src/product-loop/discovery-persistence.ts +0 -219
  1601. package/src/product-loop/discovery-prompt-parser.ts +0 -80
  1602. package/src/product-loop/discovery-recommender.ts +0 -514
  1603. package/src/product-loop/discovery-schema.ts +0 -143
  1604. package/src/product-loop/done-gate.ts +0 -224
  1605. package/src/product-loop/feedback-routing.ts +0 -82
  1606. package/src/product-loop/gather.ts +0 -386
  1607. package/src/product-loop/index.ts +0 -1855
  1608. package/src/product-loop/loop-driver.ts +0 -900
  1609. package/src/product-loop/phase-budget.ts +0 -182
  1610. package/src/product-loop/phase-plan.ts +0 -158
  1611. package/src/product-loop/phase-rituals.ts +0 -158
  1612. package/src/product-loop/phase-runner.ts +0 -455
  1613. package/src/product-loop/phase-tracker-bridge.ts +0 -60
  1614. package/src/product-loop/product-identity.ts +0 -11
  1615. package/src/product-loop/progress-snapshot.ts +0 -216
  1616. package/src/product-loop/reality-anchor.ts +0 -45
  1617. package/src/product-loop/repo-audit.ts +0 -314
  1618. package/src/product-loop/repo-brief.ts +0 -235
  1619. package/src/product-loop/role-memory.ts +0 -72
  1620. package/src/product-loop/role-registry.ts +0 -175
  1621. package/src/product-loop/seed-questions.ts +0 -51
  1622. package/src/product-loop/ship-polish.ts +0 -164
  1623. package/src/product-loop/sprint-planner.ts +0 -241
  1624. package/src/product-loop/sprint-runner.ts +0 -801
  1625. package/src/product-loop/sprint-self-verify.ts +0 -189
  1626. package/src/product-loop/sprint-store.ts +0 -96
  1627. package/src/product-loop/stakeholder-acl.ts +0 -82
  1628. package/src/product-loop/typed-artifacts.ts +0 -332
  1629. package/src/product-loop/types.ts +0 -570
  1630. package/src/product-loop/verify-failure-tracking.ts +0 -225
  1631. package/src/product-loop/verify-result.ts +0 -39
  1632. package/src/providers/.gitkeep +0 -0
  1633. package/src/providers/__test-utils__/load-fixture.ts +0 -36
  1634. package/src/providers/__tests__/adapter-oauth-wiring.test.ts +0 -147
  1635. package/src/providers/__tests__/capabilities-cosmetic.test.ts +0 -119
  1636. package/src/providers/__tests__/capabilities-flags.test.ts +0 -166
  1637. package/src/providers/__tests__/capabilities-provider-options.test.ts +0 -232
  1638. package/src/providers/__tests__/capabilities-sanitize.test.ts +0 -66
  1639. package/src/providers/__tests__/capabilities.test.ts +0 -44
  1640. package/src/providers/__tests__/provider-coverage.test.ts +0 -48
  1641. package/src/providers/__tests__/reasoning-roundtrip.test.ts +0 -150
  1642. package/src/providers/__tests__/runtime-integration.test.ts +0 -106
  1643. package/src/providers/__tests__/runtime.test.ts +0 -94
  1644. package/src/providers/__tests__/siliconflow-sse-repair.test.ts +0 -300
  1645. package/src/providers/__tests__/strategies-registry.test.ts +0 -55
  1646. package/src/providers/__tests__/strategies-resolve.test.ts +0 -137
  1647. package/src/providers/__tests__/wire-debug.test.ts +0 -42
  1648. package/src/providers/adapter.test.ts +0 -21
  1649. package/src/providers/adapter.ts +0 -156
  1650. package/src/providers/anthropic.ts +0 -174
  1651. package/src/providers/auth/__tests__/browser-flow.test.ts +0 -230
  1652. package/src/providers/auth/__tests__/device-flow.test.ts +0 -263
  1653. package/src/providers/auth/__tests__/gemini-oauth.test.ts +0 -387
  1654. package/src/providers/auth/__tests__/grok-oauth.test.ts +0 -283
  1655. package/src/providers/auth/__tests__/openai-oauth.test.ts +0 -378
  1656. package/src/providers/auth/__tests__/token-store.test.ts +0 -152
  1657. package/src/providers/auth/browser-flow.ts +0 -140
  1658. package/src/providers/auth/device-flow.ts +0 -221
  1659. package/src/providers/auth/gemini-oauth.ts +0 -351
  1660. package/src/providers/auth/grok-oauth.ts +0 -406
  1661. package/src/providers/auth/openai-oauth.ts +0 -455
  1662. package/src/providers/auth/registry.ts +0 -138
  1663. package/src/providers/auth/token-store.ts +0 -154
  1664. package/src/providers/auth/types.ts +0 -111
  1665. package/src/providers/capabilities.ts +0 -355
  1666. package/src/providers/endpoints.ts +0 -68
  1667. package/src/providers/errors.test.ts +0 -76
  1668. package/src/providers/errors.ts +0 -46
  1669. package/src/providers/gemini.test.ts +0 -46
  1670. package/src/providers/gemini.ts +0 -42
  1671. package/src/providers/index.ts +0 -28
  1672. package/src/providers/keychain.test.ts +0 -100
  1673. package/src/providers/keychain.ts +0 -278
  1674. package/src/providers/mcp-vision-bridge.test.ts +0 -513
  1675. package/src/providers/mcp-vision-bridge.ts +0 -1020
  1676. package/src/providers/ollama.test.ts +0 -46
  1677. package/src/providers/ollama.ts +0 -36
  1678. package/src/providers/openai-compatible.test.ts +0 -63
  1679. package/src/providers/openai-compatible.ts +0 -62
  1680. package/src/providers/openai.test.ts +0 -65
  1681. package/src/providers/openai.ts +0 -56
  1682. package/src/providers/patch-zod-schema.ts +0 -126
  1683. package/src/providers/pricing.test.ts +0 -97
  1684. package/src/providers/pricing.ts +0 -128
  1685. package/src/providers/prompt-cache-key.spec.ts +0 -28
  1686. package/src/providers/runtime-mock.spec.ts +0 -86
  1687. package/src/providers/runtime.ts +0 -311
  1688. package/src/providers/siliconflow-sse-repair.ts +0 -201
  1689. package/src/providers/strategies/anthropic.strategy.ts +0 -25
  1690. package/src/providers/strategies/base.strategy.ts +0 -76
  1691. package/src/providers/strategies/deepseek.strategy.ts +0 -55
  1692. package/src/providers/strategies/google.strategy.ts +0 -28
  1693. package/src/providers/strategies/ollama.strategy.ts +0 -22
  1694. package/src/providers/strategies/openai.strategy.ts +0 -55
  1695. package/src/providers/strategies/registry.ts +0 -43
  1696. package/src/providers/strategies/siliconflow.strategy.ts +0 -28
  1697. package/src/providers/strategies/xai.strategy.ts +0 -33
  1698. package/src/providers/stream-loop.ts +0 -83
  1699. package/src/providers/types.ts +0 -145
  1700. package/src/providers/vision-proxy.test.ts +0 -252
  1701. package/src/providers/vision-proxy.ts +0 -317
  1702. package/src/providers/wire-debug.ts +0 -163
  1703. package/src/reporter/__tests__/acl-check.test.ts +0 -71
  1704. package/src/reporter/__tests__/auto-fire.test.ts +0 -161
  1705. package/src/reporter/__tests__/budget.test.ts +0 -74
  1706. package/src/reporter/__tests__/handlers.test.ts +0 -192
  1707. package/src/reporter/__tests__/query-router.test.ts +0 -115
  1708. package/src/reporter/acl-check.ts +0 -54
  1709. package/src/reporter/auto-fire.ts +0 -168
  1710. package/src/reporter/budget.ts +0 -59
  1711. package/src/reporter/handlers.ts +0 -212
  1712. package/src/reporter/index.ts +0 -210
  1713. package/src/reporter/query-router.ts +0 -51
  1714. package/src/router/.gitkeep +0 -0
  1715. package/src/router/__tests__/step-router.test.ts +0 -150
  1716. package/src/router/classifier/grammars.ts +0 -17
  1717. package/src/router/classifier/index.test.ts +0 -33
  1718. package/src/router/classifier/index.ts +0 -21
  1719. package/src/router/classifier/regex.test.ts +0 -51
  1720. package/src/router/classifier/regex.ts +0 -160
  1721. package/src/router/classifier/tree-sitter.test.ts +0 -26
  1722. package/src/router/classifier/tree-sitter.ts +0 -87
  1723. package/src/router/cold.test.ts +0 -62
  1724. package/src/router/cold.ts +0 -27
  1725. package/src/router/decide.test.ts +0 -209
  1726. package/src/router/decide.ts +0 -509
  1727. package/src/router/health.test.ts +0 -59
  1728. package/src/router/health.ts +0 -49
  1729. package/src/router/provider-sentinel.test.ts +0 -22
  1730. package/src/router/provider-sentinel.ts +0 -20
  1731. package/src/router/role-override.test.ts +0 -37
  1732. package/src/router/step-router.ts +0 -194
  1733. package/src/router/store.ts +0 -47
  1734. package/src/router/types.ts +0 -20
  1735. package/src/router/warm.test.ts +0 -234
  1736. package/src/router/warm.ts +0 -93
  1737. package/src/scaffold/__tests__/continuation-prompt.test.ts +0 -93
  1738. package/src/scaffold/__tests__/continue-as-council.spec.ts +0 -122
  1739. package/src/scaffold/__tests__/dotnet-assembly-name.test.ts +0 -28
  1740. package/src/scaffold/__tests__/fe-scaffold-contents.test.ts +0 -127
  1741. package/src/scaffold/__tests__/init-new.smoke.spec.ts +0 -99
  1742. package/src/scaffold/__tests__/init-new.spec.ts +0 -450
  1743. package/src/scaffold/__tests__/install-bb-templates.spec.ts +0 -86
  1744. package/src/scaffold/__tests__/point-to-existing.spec.ts +0 -114
  1745. package/src/scaffold/bb-ecosystem-apply.ts +0 -457
  1746. package/src/scaffold/bb-quality-gate.ts +0 -287
  1747. package/src/scaffold/continuation-prompt.ts +0 -80
  1748. package/src/scaffold/continue-as-council.ts +0 -99
  1749. package/src/scaffold/init-new.ts +0 -1691
  1750. package/src/scaffold/point-to-existing.ts +0 -83
  1751. package/src/scaffold/resume-from-gate-failures.ts +0 -167
  1752. package/src/self-qa/__tests__/agentic-context.test.ts +0 -104
  1753. package/src/self-qa/__tests__/agentic-loop.test.ts +0 -70
  1754. package/src/self-qa/__tests__/delta-encoder.test.ts +0 -113
  1755. package/src/self-qa/__tests__/judge.test.ts +0 -152
  1756. package/src/self-qa/__tests__/scenario-planner.test.ts +0 -87
  1757. package/src/self-qa/__tests__/spec-emitter.test.ts +0 -67
  1758. package/src/self-qa/agentic-context.ts +0 -211
  1759. package/src/self-qa/agentic-loop.ts +0 -590
  1760. package/src/self-qa/delta-encoder.ts +0 -149
  1761. package/src/self-qa/index.ts +0 -117
  1762. package/src/self-qa/judge.ts +0 -248
  1763. package/src/self-qa/orchestrator.ts +0 -269
  1764. package/src/self-qa/scenario-planner.ts +0 -289
  1765. package/src/self-qa/spec-emitter.ts +0 -152
  1766. package/src/self-qa/types.ts +0 -98
  1767. package/src/storage/__tests__/migrations.test.ts +0 -395
  1768. package/src/storage/__tests__/sweep-stale-pending.test.ts +0 -112
  1769. package/src/storage/__tests__/ui-interaction-log.test.ts +0 -136
  1770. package/src/storage/atomic-io.test.ts +0 -92
  1771. package/src/storage/atomic-io.ts +0 -160
  1772. package/src/storage/config.test.ts +0 -33
  1773. package/src/storage/config.ts +0 -53
  1774. package/src/storage/db.ts +0 -184
  1775. package/src/storage/index.ts +0 -26
  1776. package/src/storage/interaction-log.ts +0 -126
  1777. package/src/storage/migrations.ts +0 -205
  1778. package/src/storage/session-dir.ts +0 -37
  1779. package/src/storage/sessions.ts +0 -225
  1780. package/src/storage/tool-results.ts +0 -56
  1781. package/src/storage/transcript-response-entry.test.ts +0 -115
  1782. package/src/storage/transcript-view.ts +0 -45
  1783. package/src/storage/transcript.test.ts +0 -24
  1784. package/src/storage/transcript.ts +0 -637
  1785. package/src/storage/ui-interaction-log.ts +0 -170
  1786. package/src/storage/usage-cap.test.ts +0 -59
  1787. package/src/storage/usage-cap.ts +0 -81
  1788. package/src/storage/usage.ts +0 -117
  1789. package/src/storage/workspaces.ts +0 -84
  1790. package/src/tools/__tests__/vision-gate.test.ts +0 -66
  1791. package/src/tools/bash-output-cache.test.ts +0 -113
  1792. package/src/tools/bash-output-cache.ts +0 -156
  1793. package/src/tools/bash-output-integration.test.ts +0 -33
  1794. package/src/tools/bash.test.ts +0 -447
  1795. package/src/tools/bash.ts +0 -769
  1796. package/src/tools/computer.test.ts +0 -187
  1797. package/src/tools/computer.ts +0 -632
  1798. package/src/tools/file-tracker.test.ts +0 -101
  1799. package/src/tools/file-tracker.ts +0 -70
  1800. package/src/tools/file.test.ts +0 -151
  1801. package/src/tools/file.ts +0 -203
  1802. package/src/tools/grep.ts +0 -187
  1803. package/src/tools/registry-bash-empty-command.test.ts +0 -64
  1804. package/src/tools/registry-bash-footer.test.ts +0 -95
  1805. package/src/tools/registry-ee-query.test.ts +0 -57
  1806. package/src/tools/registry-session-repeat.test.ts +0 -105
  1807. package/src/tools/registry.test.ts +0 -38
  1808. package/src/tools/registry.ts +0 -704
  1809. package/src/tools/schedule.test.ts +0 -143
  1810. package/src/tools/schedule.ts +0 -610
  1811. package/src/tools/todo-write-snapshot.test.ts +0 -53
  1812. package/src/tools/todo-write-snapshot.ts +0 -63
  1813. package/src/tools/vision-gate.ts +0 -74
  1814. package/src/types/index.ts +0 -550
  1815. package/src/ui/__tests__/picker-providers.test.ts +0 -37
  1816. package/src/ui/agents-modal.tsx +0 -293
  1817. package/src/ui/app.tsx +0 -7084
  1818. package/src/ui/cards/__tests__/product-status-card.test.ts +0 -30
  1819. package/src/ui/cards/product-status-card.tsx +0 -117
  1820. package/src/ui/components/SuggestionOverlay.tsx +0 -38
  1821. package/src/ui/components/Toast.tsx +0 -100
  1822. package/src/ui/components/__tests__/council-leader-bubble.test.ts +0 -16
  1823. package/src/ui/components/__tests__/council-message-bubble.test.ts +0 -85
  1824. package/src/ui/components/__tests__/council-phase-timeline.test.ts +0 -57
  1825. package/src/ui/components/__tests__/council-placeholder-bubble.test.ts +0 -16
  1826. package/src/ui/components/__tests__/council-question-card.test.ts +0 -133
  1827. package/src/ui/components/__tests__/council-synthesis-banner.test.ts +0 -12
  1828. package/src/ui/components/__tests__/task-list-panel.test.ts +0 -37
  1829. package/src/ui/components/__tests__/use-pair-quote-buffer.test.ts +0 -41
  1830. package/src/ui/components/btw-overlay.tsx +0 -66
  1831. package/src/ui/components/bubble-layout.ts +0 -66
  1832. package/src/ui/components/code-block-truncate.ts +0 -24
  1833. package/src/ui/components/copy-flash-banner.tsx +0 -31
  1834. package/src/ui/components/council-info-card.tsx +0 -44
  1835. package/src/ui/components/council-leader-bubble.tsx +0 -40
  1836. package/src/ui/components/council-message-bubble.tsx +0 -110
  1837. package/src/ui/components/council-phase-timeline.tsx +0 -112
  1838. package/src/ui/components/council-placeholder-bubble.tsx +0 -64
  1839. package/src/ui/components/council-question-card.tsx +0 -256
  1840. package/src/ui/components/council-status-list.tsx +0 -111
  1841. package/src/ui/components/council-synthesis-banner.tsx +0 -36
  1842. package/src/ui/components/diff-view.tsx +0 -225
  1843. package/src/ui/components/halt-recovery-card.tsx +0 -84
  1844. package/src/ui/components/hero-logo.tsx +0 -62
  1845. package/src/ui/components/init-new-form-card.tsx +0 -470
  1846. package/src/ui/components/lsp-views.tsx +0 -104
  1847. package/src/ui/components/media-views.tsx +0 -66
  1848. package/src/ui/components/message-view.tsx +0 -442
  1849. package/src/ui/components/point-to-existing-form-card.tsx +0 -136
  1850. package/src/ui/components/prompt-box.tsx +0 -306
  1851. package/src/ui/components/role-palette.ts +0 -62
  1852. package/src/ui/components/session-header.tsx +0 -68
  1853. package/src/ui/components/slash-inline-menu.tsx +0 -63
  1854. package/src/ui/components/structured-response-view.tsx +0 -191
  1855. package/src/ui/components/task-list-panel.tsx +0 -127
  1856. package/src/ui/components/tool-group.tsx +0 -129
  1857. package/src/ui/components/tool-result-views.tsx +0 -258
  1858. package/src/ui/components/use-pair-quote-buffer.ts +0 -23
  1859. package/src/ui/constants.ts +0 -242
  1860. package/src/ui/hooks/use-agent-editor.ts +0 -61
  1861. package/src/ui/hooks/use-mcp-editor.ts +0 -39
  1862. package/src/ui/hooks/use-model-picker.ts +0 -50
  1863. package/src/ui/hooks/useTypeahead.ts +0 -160
  1864. package/src/ui/markdown.tsx +0 -49
  1865. package/src/ui/mcp-modal-types.ts +0 -33
  1866. package/src/ui/mcp-modal.tsx +0 -484
  1867. package/src/ui/modals/api-key-modal.tsx +0 -99
  1868. package/src/ui/modals/connect-modal.tsx +0 -259
  1869. package/src/ui/modals/model-picker-modal.tsx +0 -347
  1870. package/src/ui/modals/sandbox-picker-modal.tsx +0 -99
  1871. package/src/ui/modals/update-modal.tsx +0 -67
  1872. package/src/ui/modals/wallet-picker-modal.tsx +0 -186
  1873. package/src/ui/picker-providers.ts +0 -41
  1874. package/src/ui/plan.tsx +0 -346
  1875. package/src/ui/schedule-modal.tsx +0 -138
  1876. package/src/ui/slash/__tests__/clear.test.ts +0 -86
  1877. package/src/ui/slash/__tests__/compact.test.ts +0 -56
  1878. package/src/ui/slash/__tests__/cost.test.ts +0 -62
  1879. package/src/ui/slash/__tests__/discuss.test.ts +0 -101
  1880. package/src/ui/slash/__tests__/execute.test.ts +0 -86
  1881. package/src/ui/slash/__tests__/expand.test.ts +0 -86
  1882. package/src/ui/slash/__tests__/ideal.test.ts +0 -182
  1883. package/src/ui/slash/__tests__/menu-parity.test.ts +0 -44
  1884. package/src/ui/slash/__tests__/optimize.test.ts +0 -155
  1885. package/src/ui/slash/__tests__/pin.test.ts +0 -47
  1886. package/src/ui/slash/__tests__/plan.test.ts +0 -98
  1887. package/src/ui/slash/__tests__/status-render.test.ts +0 -82
  1888. package/src/ui/slash/clear.ts +0 -89
  1889. package/src/ui/slash/compact.ts +0 -46
  1890. package/src/ui/slash/cost.ts +0 -63
  1891. package/src/ui/slash/council-inspect.ts +0 -188
  1892. package/src/ui/slash/council.ts +0 -30
  1893. package/src/ui/slash/debug.ts +0 -153
  1894. package/src/ui/slash/discuss.ts +0 -71
  1895. package/src/ui/slash/ee.ts +0 -304
  1896. package/src/ui/slash/execute.ts +0 -44
  1897. package/src/ui/slash/expand.ts +0 -51
  1898. package/src/ui/slash/export.ts +0 -309
  1899. package/src/ui/slash/ideal.ts +0 -292
  1900. package/src/ui/slash/menu-items.ts +0 -107
  1901. package/src/ui/slash/optimize.ts +0 -47
  1902. package/src/ui/slash/pin.ts +0 -41
  1903. package/src/ui/slash/plan.ts +0 -62
  1904. package/src/ui/slash/registry.ts +0 -47
  1905. package/src/ui/slash/route.test.ts +0 -82
  1906. package/src/ui/slash/route.ts +0 -43
  1907. package/src/ui/slash/status.ts +0 -36
  1908. package/src/ui/state/active-run.ts +0 -56
  1909. package/src/ui/status-bar/index.test.tsx +0 -154
  1910. package/src/ui/status-bar/index.tsx +0 -126
  1911. package/src/ui/status-bar/store.test.ts +0 -131
  1912. package/src/ui/status-bar/store.ts +0 -332
  1913. package/src/ui/status-bar/tier-badge.test.tsx +0 -38
  1914. package/src/ui/status-bar/tier-badge.tsx +0 -29
  1915. package/src/ui/status-bar/usd-meter.test.tsx +0 -37
  1916. package/src/ui/status-bar/usd-meter.tsx +0 -22
  1917. package/src/ui/syntax-highlight.ts +0 -627
  1918. package/src/ui/terminal-selection-text.ts +0 -72
  1919. package/src/ui/theme.ts +0 -95
  1920. package/src/ui/types.ts +0 -83
  1921. package/src/ui/utils/__tests__/format.test.ts +0 -71
  1922. package/src/ui/utils/__tests__/tools.test.ts +0 -57
  1923. package/src/ui/utils/color.ts +0 -19
  1924. package/src/ui/utils/format.ts +0 -133
  1925. package/src/ui/utils/modal.ts +0 -9
  1926. package/src/ui/utils/text.ts +0 -32
  1927. package/src/ui/utils/tools.ts +0 -137
  1928. package/src/usage/.gitkeep +0 -0
  1929. package/src/usage/__tests__/product-ledger.test.ts +0 -86
  1930. package/src/usage/cost-log.ts +0 -158
  1931. package/src/usage/decision-log.ts +0 -86
  1932. package/src/usage/downgrade.test.ts +0 -86
  1933. package/src/usage/downgrade.ts +0 -88
  1934. package/src/usage/estimator.test.ts +0 -43
  1935. package/src/usage/estimator.ts +0 -58
  1936. package/src/usage/ledger.test.ts +0 -200
  1937. package/src/usage/ledger.ts +0 -253
  1938. package/src/usage/midstream.test.ts +0 -55
  1939. package/src/usage/midstream.ts +0 -51
  1940. package/src/usage/product-ledger.ts +0 -119
  1941. package/src/usage/thresholds.test.ts +0 -83
  1942. package/src/usage/thresholds.ts +0 -74
  1943. package/src/usage/types.ts +0 -41
  1944. package/src/utils/__tests__/auto-council-settings.test.ts +0 -46
  1945. package/src/utils/__tests__/ee-logger.test.ts +0 -197
  1946. package/src/utils/__tests__/file-lock.test.ts +0 -74
  1947. package/src/utils/__tests__/llm-deadline.test.ts +0 -64
  1948. package/src/utils/__tests__/rate-limit.test.ts +0 -42
  1949. package/src/utils/__tests__/settings-disabled-models.test.ts +0 -113
  1950. package/src/utils/__tests__/settings-web-research.test.ts +0 -45
  1951. package/src/utils/__tests__/slugify.test.ts +0 -45
  1952. package/src/utils/__tests__/visible-retry.test.ts +0 -195
  1953. package/src/utils/at-mentions.ts +0 -120
  1954. package/src/utils/clipboard-image.ts +0 -139
  1955. package/src/utils/ee-logger.ts +0 -163
  1956. package/src/utils/file-index.ts +0 -152
  1957. package/src/utils/file-lock.ts +0 -66
  1958. package/src/utils/git-root.ts +0 -17
  1959. package/src/utils/host-clipboard.ts +0 -68
  1960. package/src/utils/install-manager.test.ts +0 -167
  1961. package/src/utils/install-manager.ts +0 -429
  1962. package/src/utils/instructions.test.ts +0 -112
  1963. package/src/utils/instructions.ts +0 -149
  1964. package/src/utils/llm-deadline.ts +0 -80
  1965. package/src/utils/permission-mode.test.ts +0 -121
  1966. package/src/utils/permission-mode.ts +0 -94
  1967. package/src/utils/rate-limit.ts +0 -21
  1968. package/src/utils/redactor.test.ts +0 -100
  1969. package/src/utils/redactor.ts +0 -223
  1970. package/src/utils/settings.test.ts +0 -181
  1971. package/src/utils/settings.ts +0 -1163
  1972. package/src/utils/shell.test.ts +0 -102
  1973. package/src/utils/shell.ts +0 -204
  1974. package/src/utils/side-question.ts +0 -39
  1975. package/src/utils/skills.test.ts +0 -58
  1976. package/src/utils/skills.ts +0 -207
  1977. package/src/utils/slugify.ts +0 -9
  1978. package/src/utils/subagent-display.test.ts +0 -23
  1979. package/src/utils/subagent-display.ts +0 -11
  1980. package/src/utils/subagents-settings.test.ts +0 -84
  1981. package/src/utils/telegram-audio-settings.test.ts +0 -44
  1982. package/src/utils/update-checker.test.ts +0 -182
  1983. package/src/utils/update-checker.ts +0 -33
  1984. package/src/utils/visible-retry.ts +0 -56
  1985. package/src/verify/__tests__/coverage-parsers.test.ts +0 -86
  1986. package/src/verify/__tests__/dotnet-recipe.test.ts +0 -88
  1987. package/src/verify/checkpoint.test.ts +0 -186
  1988. package/src/verify/checkpoint.ts +0 -239
  1989. package/src/verify/coverage-parsers.ts +0 -76
  1990. package/src/verify/entrypoint.test.ts +0 -293
  1991. package/src/verify/entrypoint.ts +0 -495
  1992. package/src/verify/environment.test.ts +0 -119
  1993. package/src/verify/environment.ts +0 -115
  1994. package/src/verify/evidence.ts +0 -104
  1995. package/src/verify/orchestrator.test.ts +0 -159
  1996. package/src/verify/orchestrator.ts +0 -129
  1997. package/src/verify/recipes.ts +0 -592
  1998. package/src/verify/retry.ts +0 -62
  1999. package/src/verify/runtime-prep.test.ts +0 -47
  2000. /package/dist/src/{pil/layer16-clarity.test.d.ts → council/__tests__/clarification-prompt.test.d.ts} +0 -0
@@ -1,1163 +0,0 @@
1
- import * as fs from "fs";
2
- import * as os from "os";
3
- import * as path from "path";
4
- import type { HooksConfig } from "../hooks/types";
5
- import type {
6
- LspBuiltInServerId,
7
- LspBuiltInServerSettings,
8
- LspCustomServerConfig,
9
- LspSettings,
10
- NormalizedLspSettings,
11
- } from "../lsp/types";
12
- import {
13
- getEffectiveReasoningEffort,
14
- getFirstCatalogModel,
15
- getFirstCatalogProvider,
16
- getModelByTier,
17
- getModelIds,
18
- getModelInfo,
19
- MODELS,
20
- normalizeModelId,
21
- } from "../models/registry.js";
22
- import { apiBaseFor, PROVIDER_ENDPOINTS } from "../providers/endpoints.js";
23
- import type { ProviderId } from "../providers/types.js";
24
- import { ALL_PROVIDER_IDS } from "../providers/types.js";
25
- import type { AgentMode, ReasoningEffort } from "../types/index";
26
- import { normalizeShellSettings, type ShellSettings } from "./shell";
27
-
28
- export type ModelRole = "leader" | "implement" | "verify" | "research";
29
-
30
- export function getCatalogDefaultModel(): string {
31
- const provider = getDefaultProvider();
32
- if (provider) {
33
- const m = getModelByTier("fast", provider);
34
- if (m) return m.id;
35
- }
36
- const m = getModelByTier("fast");
37
- if (m) return m.id;
38
- return getFirstCatalogModel().id;
39
- }
40
-
41
- export type TelegramStreamingMode = "off" | "partial";
42
- export type SandboxMode = "off" | "shuru";
43
- export type CouncilExperienceMode = "off" | "advisory" | "enforcing";
44
-
45
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. Wallet UI only. */
46
- export type PaymentChain = "base" | "base-sepolia";
47
-
48
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. Wallet UI only. */
49
- export interface PaymentApprovalSettings {
50
- autoApprove?: boolean;
51
- }
52
-
53
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. Wallet UI only. */
54
- export interface PaymentSettings {
55
- enabled?: boolean;
56
- chain?: PaymentChain;
57
- approval?: PaymentApprovalSettings;
58
- }
59
-
60
- const DEFAULT_PAYMENT_SETTINGS: Required<PaymentSettings> = {
61
- enabled: false,
62
- chain: "base-sepolia",
63
- approval: { autoApprove: false },
64
- };
65
-
66
- const DEFAULT_LSP_SETTINGS: NormalizedLspSettings = {
67
- enabled: true,
68
- tool: true,
69
- autoInstall: true,
70
- startupTimeoutMs: 30_000,
71
- requestTimeoutMs: 30_000,
72
- diagnosticsDebounceMs: 200,
73
- builtins: {},
74
- servers: [],
75
- };
76
-
77
- export interface SandboxSecretConfig {
78
- name: string;
79
- fromEnv: string;
80
- hosts: string[];
81
- }
82
-
83
- export interface SandboxSettings {
84
- allowNet?: boolean;
85
- allowedHosts?: string[];
86
- ports?: string[];
87
- cpus?: number;
88
- memory?: number;
89
- diskSize?: number;
90
- secrets?: SandboxSecretConfig[];
91
- from?: string;
92
- allowEphemeralInstall?: boolean;
93
- guestWorkdir?: string;
94
- syncHostWorkspace?: boolean;
95
- verifyBaseFrom?: string;
96
- shellInit?: string[];
97
- hostBrowserCommandsOnHost?: boolean;
98
- }
99
-
100
- export interface TelegramAudioInputSettings {
101
- /** Enable Telegram voice/audio transcription before sending text to the agent. Default: true. */
102
- enabled?: boolean;
103
- /** Language code (e.g. `en`, `fr`) forwarded to the STT endpoint. Default: en. */
104
- language?: string;
105
- }
106
-
107
- export interface TelegramSettings {
108
- botToken?: string;
109
- approvedUserIds?: number[];
110
- sessionsByUserId?: Record<string, string>;
111
- /** Live preview while generating. Default: partial (send + edit). Use `off` for buffer-then-send only. */
112
- streaming?: TelegramStreamingMode;
113
- /** Send `typing` chat action on an interval while the agent runs. Default: true. */
114
- typingIndicator?: boolean;
115
- /** Reserved: Bot API `sendMessageDraft` for private DMs (not implemented yet). */
116
- nativeDrafts?: boolean;
117
- audioInput?: TelegramAudioInputSettings;
118
- }
119
-
120
- export type McpRemoteTransport = "http" | "sse";
121
-
122
- export interface McpServerConfig {
123
- id: string;
124
- label: string;
125
- enabled: boolean;
126
- transport: McpRemoteTransport | "stdio";
127
- url?: string;
128
- headers?: Record<string, string>;
129
- command?: string;
130
- args?: string[];
131
- env?: Record<string, string>;
132
- cwd?: string;
133
- }
134
-
135
- export interface McpSettings {
136
- servers?: McpServerConfig[];
137
- }
138
-
139
- export interface CustomSubagentConfig {
140
- name: string;
141
- model: string;
142
- instruction: string;
143
- }
144
-
145
- const RESERVED_SUBAGENT_NAMES = new Set([
146
- "general",
147
- "explore",
148
- "vision",
149
- "verify",
150
- "verify-detect",
151
- "verify-manifest",
152
- "computer",
153
- ]);
154
-
155
- export function isReservedSubagentName(name: string): boolean {
156
- return RESERVED_SUBAGENT_NAMES.has(name.trim().toLowerCase());
157
- }
158
-
159
- export function parseSubAgentsRawList(raw: unknown): CustomSubagentConfig[] {
160
- if (!Array.isArray(raw)) return [];
161
-
162
- const validModels = new Set(getModelIds());
163
- const seen = new Set<string>();
164
- const agents: CustomSubagentConfig[] = [];
165
-
166
- for (const item of raw) {
167
- if (!item || typeof item !== "object") continue;
168
-
169
- const entry = item as Record<string, unknown>;
170
- const name = typeof entry.name === "string" ? entry.name.trim() : "";
171
- const model = typeof entry.model === "string" ? normalizeModelId(entry.model) : "";
172
- const instruction = typeof entry.instruction === "string" ? entry.instruction : "";
173
-
174
- if (!name || isReservedSubagentName(name) || !validModels.has(model)) {
175
- continue;
176
- }
177
-
178
- const dedupeKey = name.toLowerCase();
179
- if (seen.has(dedupeKey)) continue;
180
- seen.add(dedupeKey);
181
-
182
- agents.push({ name, model, instruction });
183
- }
184
-
185
- return agents;
186
- }
187
-
188
- export function loadValidSubAgents(): CustomSubagentConfig[] {
189
- return parseSubAgentsRawList(loadUserSettings().subAgents);
190
- }
191
-
192
- export interface ProviderKeyConfig {
193
- apiKey: string;
194
- baseURL?: string;
195
- }
196
-
197
- export interface UserSettings {
198
- apiKey?: string;
199
- defaultModel?: string;
200
- /**
201
- * Preferred provider. When set, the splash/config UI hides the model
202
- * picker and the router picks the model from this provider's catalog
203
- * (first balanced model, falling back to fast/premium). The legacy
204
- * defaultModel field stays as the hard pin for legacy paths.
205
- */
206
- defaultProvider?: ProviderId;
207
- sandboxMode?: SandboxMode;
208
- sandbox?: SandboxSettings;
209
- /** Shell used by the bash tool. On Windows, defaults to Git Bash when present. */
210
- shell?: ShellSettings;
211
- lsp?: LspSettings;
212
- reasoningEffortByModel?: Record<string, ReasoningEffort>;
213
- telegram?: TelegramSettings;
214
- mcp?: McpSettings;
215
- subAgents?: CustomSubagentConfig[];
216
- hooks?: HooksConfig;
217
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. */
218
- payments?: PaymentSettings;
219
- modeModels?: Partial<Record<AgentMode, string>>;
220
- ecosystem?: { name: string; patterns: string[] };
221
- autoCompactAfterTurn?: boolean;
222
- /** Minimum % of context window to trigger post-turn auto-compact (default 0.25 = 25%, range 0.05-0.50). */
223
- autoCompactThresholdPct?: number;
224
- roleModels?: Partial<Record<ModelRole, string>>;
225
- councilRounds?: number;
226
- autoCouncil?: boolean;
227
- /**
228
- * Minimum PIL confidence required to auto-trigger council for plan/analyze
229
- * tasks. Default 0.85. Range 0.5-1.0. Lower values trigger council more
230
- * eagerly (better debate coverage, higher cost); higher values restrict it
231
- * to clearly-architectural prompts.
232
- */
233
- autoCouncilConfidence?: number;
234
- /**
235
- * Minimum number of configured roleModels required before auto-council
236
- * triggers. Default 2 — a "debate" needs at least two participants. Range 1-4.
237
- * Set to 1 to allow single-model auto-council (degenerate; mostly useful for
238
- * preserving legacy behavior).
239
- */
240
- autoCouncilMinRoles?: number;
241
- councilPreferMultiProvider?: boolean;
242
- /** EE involvement level in council debates. Default: advisory. CQ-19. */
243
- councilExperienceMode?: CouncilExperienceMode;
244
- /**
245
- * Cost-aware council sub-task routing. When true (default), trivial leader
246
- * sub-tasks (research-need decision, round summary, evaluation JSON parse,
247
- * clarification question gen, spec synthesis) drop down to a cheaper
248
- * fast/balanced tier model on the SAME provider, with fallback to the
249
- * leader model when no cheaper model is reachable.
250
- *
251
- * Final synthesis and debate-plan ALWAYS use the leader model — those
252
- * decide structure and quality, not throughput.
253
- */
254
- councilCostAware?: boolean;
255
- /** Set true after the user has been prompted (or skipped) the web-research onboarding. */
256
- webResearchPrompted?: boolean;
257
- /**
258
- * Unix ms timestamp of the last npm-registry update check. Used to throttle
259
- * checkForUpdate to once per day so the CLI never spams the registry on
260
- * every launch.
261
- */
262
- lastUpdateCheck?: number;
263
- /**
264
- * When true, the TUI skips the "Update available — install now?" modal and
265
- * runs the update silently when a newer version is detected. Defaults to
266
- * false (interactive prompt).
267
- */
268
- autoUpdate?: boolean;
269
- providers?: {
270
- anthropic?: ProviderKeyConfig;
271
- openai?: ProviderKeyConfig;
272
- google?: ProviderKeyConfig;
273
- deepseek?: ProviderKeyConfig;
274
- siliconflow?: ProviderKeyConfig;
275
- xai?: ProviderKeyConfig;
276
- ollama?: { baseURL?: string };
277
- };
278
- /** Providers the user has explicitly disabled in the model picker (still configured but hidden). */
279
- disabledProviders?: ProviderId[];
280
- /** Models the user has explicitly disabled in the model picker. Migration: missing field -> empty array. */
281
- disabledModels?: string[];
282
- /**
283
- * BB-aware EE context injection in /ideal CB-1 council prompts.
284
- * When false, fetchBBContext returns empty immediately — no network call, no telemetry.
285
- * Default: true.
286
- */
287
- eeBBContext?: boolean;
288
- /**
289
- * Ecosystem-aware bias for /ideal discovery + council + research prompts.
290
- * When true, leader recommendations, debate stances, and research lenses all
291
- * frame the answer around Muonroi ecosystem packages (BB, templates,
292
- * agent-harness-*) instead of generic options like "Node.js + Express".
293
- * Set to false to use muonroi-cli for projects outside the Muonroi ecosystem.
294
- * Default: true.
295
- */
296
- discoveryEcosystemBias?: boolean;
297
- /** Step-aware model routing: downgrade to cheaper model for tool-execution steps. */
298
- stepRouter?: {
299
- /** Enable step-aware routing. Default: true. */
300
- enabled?: boolean;
301
- /** Tier to use for tool-execution steps. Default: "fast". */
302
- toolExecutionTier?: "fast" | "balanced";
303
- /** Switch back to premium for final synthesis. Default: false. */
304
- premiumSynthesis?: boolean;
305
- };
306
- /**
307
- * Reporter auto-fire settings (B2).
308
- * Controls whether the reporter posts to Discord automatically on sprint
309
- * lifecycle events (sprint done, plan committed, halt).
310
- */
311
- reporter?: {
312
- /**
313
- * Enable automatic Discord posts on sprint lifecycle events.
314
- * Default: false (opt-in, to avoid accidental Discord spam on first ship).
315
- */
316
- autoFire?: boolean;
317
- };
318
- /**
319
- * Maximum cumulative chars of tool output a `task` sub-agent may receive
320
- * before its tool results get progressively trimmed (then stubbed out).
321
- * Prevents one sub-agent from accumulating 500k+ billed input tokens via
322
- * unbounded read_file/grep loops. Default 120_000 (~30k tokens). Range
323
- * 20_000–600_000.
324
- */
325
- subAgentBudgetChars?: number;
326
- /**
327
- * Cumulative tool-output budget for the TOP-LEVEL orchestrator tool loop
328
- * (the agentic streamText loop in runTurn, separate from sub-agents).
329
- * Same tiered compression as the sub-agent cap, but with a larger
330
- * default so casual single-tool turns are unaffected. Range
331
- * 50_000–1_500_000. Env override: MUONROI_TOP_LEVEL_TOOL_BUDGET_CHARS.
332
- * Default 400_000 (~100k tokens).
333
- */
334
- topLevelToolBudgetChars?: number;
335
- }
336
-
337
- export interface ProjectSettings {
338
- model?: string;
339
- sandboxMode?: SandboxMode;
340
- sandbox?: SandboxSettings;
341
- shell?: ShellSettings;
342
- lsp?: LspSettings;
343
- }
344
-
345
- const USER_DIR = path.join(os.homedir(), ".muonroi-cli");
346
- const USER_SETTINGS_PATH = path.join(USER_DIR, "user-settings.json");
347
-
348
- function ensureDir(dir: string): void {
349
- if (!fs.existsSync(dir)) {
350
- fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
351
- }
352
- }
353
-
354
- function readJson<T>(filePath: string): T | null {
355
- try {
356
- if (!fs.existsSync(filePath)) return null;
357
- return JSON.parse(fs.readFileSync(filePath, "utf-8")) as T;
358
- } catch {
359
- return null;
360
- }
361
- }
362
-
363
- function writeJson(filePath: string, data: unknown): void {
364
- ensureDir(path.dirname(filePath));
365
- fs.writeFileSync(filePath, JSON.stringify(data, null, 2), { mode: 0o600 });
366
- }
367
-
368
- export function loadUserSettings(): UserSettings {
369
- return readJson<UserSettings>(USER_SETTINGS_PATH) || {};
370
- }
371
-
372
- export function saveUserSettings(partial: Partial<UserSettings>): void {
373
- const current = loadUserSettings();
374
- const next: UserSettings = {
375
- ...current,
376
- ...partial,
377
- ...(partial.apiKey !== undefined ? { apiKey: partial.apiKey } : {}),
378
- ...(partial.defaultModel !== undefined ? { defaultModel: normalizeModelId(partial.defaultModel) } : {}),
379
- ...(partial.sandboxMode !== undefined ? { sandboxMode: normalizeSandboxMode(partial.sandboxMode) } : {}),
380
- ...(partial.reasoningEffortByModel !== undefined
381
- ? {
382
- reasoningEffortByModel: Object.fromEntries(
383
- Object.entries(partial.reasoningEffortByModel).map(([modelId, effort]) => [
384
- normalizeModelId(modelId),
385
- effort,
386
- ]),
387
- ),
388
- }
389
- : {}),
390
- ...(partial.telegram !== undefined
391
- ? {
392
- telegram: {
393
- ...current.telegram,
394
- ...partial.telegram,
395
- audioInput: {
396
- ...current.telegram?.audioInput,
397
- ...partial.telegram?.audioInput,
398
- },
399
- sessionsByUserId: {
400
- ...current.telegram?.sessionsByUserId,
401
- ...partial.telegram?.sessionsByUserId,
402
- },
403
- },
404
- }
405
- : {}),
406
- ...(partial.mcp !== undefined
407
- ? {
408
- mcp: {
409
- ...current.mcp,
410
- ...partial.mcp,
411
- servers: partial.mcp.servers ?? current.mcp?.servers ?? [],
412
- },
413
- }
414
- : {}),
415
- ...(partial.subAgents !== undefined
416
- ? {
417
- subAgents: partial.subAgents.map((agent) => ({
418
- ...agent,
419
- model: normalizeModelId(agent.model),
420
- })),
421
- }
422
- : {}),
423
- ...(partial.sandbox !== undefined
424
- ? { sandbox: normalizeSandboxSettings({ ...current.sandbox, ...partial.sandbox }) }
425
- : {}),
426
- ...(partial.shell !== undefined ? { shell: normalizeShellSettings({ ...current.shell, ...partial.shell }) } : {}),
427
- ...(partial.lsp !== undefined
428
- ? {
429
- lsp: mergeLspSettings(current.lsp, partial.lsp),
430
- }
431
- : {}),
432
- ...(partial.payments !== undefined
433
- ? {
434
- payments: {
435
- ...current.payments,
436
- ...partial.payments,
437
- approval: {
438
- ...current.payments?.approval,
439
- ...partial.payments?.approval,
440
- },
441
- },
442
- }
443
- : {}),
444
- };
445
-
446
- writeJson(USER_SETTINGS_PATH, next);
447
- }
448
-
449
- export function loadProjectSettings(): ProjectSettings {
450
- const projectPath = path.join(process.cwd(), ".muonroi-cli", "settings.json");
451
- return readJson<ProjectSettings>(projectPath) || {};
452
- }
453
-
454
- export function saveProjectSettings(partial: Partial<ProjectSettings>): void {
455
- const projectPath = path.join(process.cwd(), ".muonroi-cli", "settings.json");
456
- const current = loadProjectSettings();
457
- writeJson(projectPath, {
458
- ...current,
459
- ...partial,
460
- ...(partial.model !== undefined ? { model: normalizeModelId(partial.model) } : {}),
461
- ...(partial.sandboxMode !== undefined ? { sandboxMode: normalizeSandboxMode(partial.sandboxMode) } : {}),
462
- ...(partial.sandbox !== undefined
463
- ? { sandbox: normalizeSandboxSettings({ ...current.sandbox, ...partial.sandbox }) }
464
- : {}),
465
- ...(partial.shell !== undefined ? { shell: normalizeShellSettings({ ...current.shell, ...partial.shell }) } : {}),
466
- ...(partial.lsp !== undefined
467
- ? {
468
- lsp: mergeLspSettings(current.lsp, partial.lsp),
469
- }
470
- : {}),
471
- });
472
- }
473
-
474
- export function getApiKey(): string | undefined {
475
- // Test escape hatch (api-key harness spec): suppress all key sources so the
476
- // boot flow reaches the API-key modal. See src/index.ts resolveKeyForModel.
477
- if (process.env.MUONROI_TEST_NO_KEYCHAIN === "1") return undefined;
478
- return process.env.MUONROI_API_KEY || loadUserSettings().apiKey;
479
- }
480
-
481
- export function getBaseURL(provider?: string): string {
482
- if (process.env.MUONROI_BASE_URL) return process.env.MUONROI_BASE_URL;
483
- const id = (provider ?? getDefaultProvider() ?? detectProviderFromCatalog()) as ProviderId;
484
- const endpoint = PROVIDER_ENDPOINTS[id]?.apiBase;
485
- if (!endpoint)
486
- throw new Error(`No API base URL for provider "${id}". Configure a provider in settings or catalog.json.`);
487
- return endpoint;
488
- }
489
-
490
- function detectProviderFromCatalog(): string {
491
- return getFirstCatalogProvider();
492
- }
493
-
494
- /**
495
- * Build provider configs for adapter creation.
496
- * Reads env vars + user-settings.json providers section.
497
- * Anthropic uses the main apiKey; others use providers.* keys.
498
- */
499
- export function getProviderConfigs(
500
- mainApiKey?: string,
501
- ): Record<string, { apiKey?: string; baseURL?: string; model?: string }> {
502
- const settings = loadUserSettings();
503
- const p = settings.providers ?? {};
504
-
505
- const configs: Record<string, { apiKey?: string; baseURL?: string; model?: string }> = {};
506
-
507
- // Anthropic — main API key
508
- const anthropicKey = mainApiKey ?? getApiKey();
509
- if (anthropicKey) {
510
- configs.anthropic = { apiKey: anthropicKey, baseURL: getBaseURL() };
511
- }
512
-
513
- // OpenAI
514
- const openaiKey = process.env.OPENAI_API_KEY ?? p.openai?.apiKey;
515
- if (openaiKey) {
516
- configs.openai = { apiKey: openaiKey, baseURL: p.openai?.baseURL };
517
- }
518
-
519
- // Google Gemini
520
- const googleKey = process.env.GOOGLE_API_KEY ?? p.google?.apiKey;
521
- if (googleKey) {
522
- configs.google = { apiKey: googleKey, baseURL: p.google?.baseURL };
523
- }
524
-
525
- // DeepSeek
526
- const deepseekKey = process.env.DEEPSEEK_API_KEY ?? p.deepseek?.apiKey;
527
- if (deepseekKey) {
528
- configs.deepseek = {
529
- apiKey: deepseekKey,
530
- baseURL: p.deepseek?.baseURL ?? apiBaseFor("deepseek"),
531
- };
532
- }
533
-
534
- // SiliconFlow
535
- const siliconflowKey = process.env.SILICONFLOW_API_KEY ?? p.siliconflow?.apiKey;
536
- if (siliconflowKey) {
537
- configs.siliconflow = {
538
- apiKey: siliconflowKey,
539
- baseURL: p.siliconflow?.baseURL ?? apiBaseFor("siliconflow"),
540
- };
541
- }
542
-
543
- // xAI / Grok (OpenAI-compatible)
544
- const xaiKey = process.env.XAI_API_KEY ?? p.xai?.apiKey;
545
- if (xaiKey) {
546
- configs.xai = {
547
- apiKey: xaiKey,
548
- baseURL: p.xai?.baseURL ?? apiBaseFor("xai"),
549
- };
550
- }
551
-
552
- // Ollama — no key needed, just baseURL
553
- const ollamaURL = process.env.OLLAMA_URL ?? p.ollama?.baseURL ?? "http://localhost:11434";
554
- configs.ollama = { baseURL: ollamaURL };
555
-
556
- return configs;
557
- }
558
-
559
- export function getCurrentModel(mode?: AgentMode): string {
560
- // Only honor a configured model if it resolves to a known catalog entry.
561
- // Stale configs (e.g. retired ids like "deepseek-chat") otherwise break boot.
562
- // If the catalog hasn't loaded yet, skip validation and return the raw normalized id.
563
- const catalogReady = MODELS.length > 0;
564
- const pickValid = (id: string | undefined): string | undefined => {
565
- if (!id) return undefined;
566
- const normalized = normalizeModelId(id);
567
- if (!catalogReady) return normalized;
568
- return getModelInfo(normalized) ? normalized : undefined;
569
- };
570
-
571
- const envModel = pickValid(process.env.MUONROI_MODEL);
572
- if (envModel) return envModel;
573
-
574
- const project = loadProjectSettings();
575
- const projectModel = pickValid(project.model);
576
- if (projectModel) return projectModel;
577
-
578
- if (mode) {
579
- const user = loadUserSettings();
580
- const modeModel = pickValid(user.modeModels?.[mode]);
581
- if (modeModel) return modeModel;
582
- }
583
-
584
- const user = loadUserSettings();
585
- return pickValid(user.defaultModel) ?? getCatalogDefaultModel();
586
- }
587
-
588
- /**
589
- * Returns the explicitly configured model for a mode, or undefined if none is set.
590
- * Only MUONROI_MODEL env var suppresses this (absolute override). Project-level model
591
- * does NOT suppress — modeModels is an explicit per-mode config that applies on mode switch.
592
- */
593
- export function getModeSpecificModel(mode: AgentMode): string | undefined {
594
- if (process.env.MUONROI_MODEL) return undefined;
595
-
596
- const user = loadUserSettings();
597
- const modeModel = user.modeModels?.[mode];
598
- return modeModel ? normalizeModelId(modeModel) : undefined;
599
- }
600
-
601
- export function normalizeSandboxMode(value: unknown): SandboxMode {
602
- return value === "shuru" ? "shuru" : "off";
603
- }
604
-
605
- function isNonNullObject(v: unknown): v is Record<string, unknown> {
606
- return typeof v === "object" && v !== null && !Array.isArray(v);
607
- }
608
-
609
- function normalizeSecretConfig(raw: unknown): SandboxSecretConfig | null {
610
- if (!isNonNullObject(raw)) return null;
611
- const name = typeof raw.name === "string" ? raw.name.trim() : "";
612
- const fromEnv = typeof raw.fromEnv === "string" ? raw.fromEnv.trim() : "";
613
- const hosts = Array.isArray(raw.hosts)
614
- ? raw.hosts.filter((h): h is string => typeof h === "string" && h.trim() !== "")
615
- : [];
616
- if (!name || !fromEnv) return null;
617
- return { name, fromEnv, hosts };
618
- }
619
-
620
- export function normalizeSandboxSettings(raw: unknown): SandboxSettings {
621
- if (!isNonNullObject(raw)) return {};
622
- const result: SandboxSettings = {};
623
-
624
- if (typeof raw.allowNet === "boolean") result.allowNet = raw.allowNet;
625
- if (Array.isArray(raw.allowedHosts)) {
626
- const hosts = raw.allowedHosts.filter((h): h is string => typeof h === "string" && h.trim() !== "");
627
- if (hosts.length > 0) result.allowedHosts = hosts;
628
- }
629
- if (Array.isArray(raw.ports)) {
630
- const ports = raw.ports.filter((p): p is string => typeof p === "string" && /^\d+:\d+$/.test(p.trim()));
631
- if (ports.length > 0) result.ports = ports;
632
- }
633
- if (typeof raw.cpus === "number" && raw.cpus > 0) result.cpus = raw.cpus;
634
- if (typeof raw.memory === "number" && raw.memory > 0) result.memory = raw.memory;
635
- if (typeof raw.diskSize === "number" && raw.diskSize > 0) result.diskSize = raw.diskSize;
636
- if (Array.isArray(raw.secrets)) {
637
- const secrets = raw.secrets.map(normalizeSecretConfig).filter((s): s is SandboxSecretConfig => s !== null);
638
- if (secrets.length > 0) result.secrets = secrets;
639
- }
640
- if (typeof raw.from === "string" && raw.from.trim()) result.from = raw.from.trim();
641
- if (typeof raw.verifyBaseFrom === "string" && raw.verifyBaseFrom.trim())
642
- result.verifyBaseFrom = raw.verifyBaseFrom.trim();
643
- if (typeof raw.allowEphemeralInstall === "boolean") result.allowEphemeralInstall = raw.allowEphemeralInstall;
644
- if (typeof raw.syncHostWorkspace === "boolean") result.syncHostWorkspace = raw.syncHostWorkspace;
645
- if (typeof raw.guestWorkdir === "string" && raw.guestWorkdir.trim()) result.guestWorkdir = raw.guestWorkdir.trim();
646
- if (Array.isArray(raw.shellInit)) {
647
- const shellInit = raw.shellInit.filter((line): line is string => typeof line === "string" && line.trim() !== "");
648
- if (shellInit.length > 0) result.shellInit = shellInit;
649
- }
650
- if (typeof raw.hostBrowserCommandsOnHost === "boolean")
651
- result.hostBrowserCommandsOnHost = raw.hostBrowserCommandsOnHost;
652
-
653
- return result;
654
- }
655
-
656
- export function mergeSandboxSettings(
657
- base: SandboxSettings | undefined,
658
- override: SandboxSettings | undefined,
659
- ): SandboxSettings {
660
- if (!base && !override) return {};
661
- if (!base) return { ...override };
662
- if (!override) return { ...base };
663
- return {
664
- allowNet: override.allowNet ?? base.allowNet,
665
- allowedHosts: override.allowedHosts ?? base.allowedHosts,
666
- ports: override.ports ?? base.ports,
667
- cpus: override.cpus ?? base.cpus,
668
- memory: override.memory ?? base.memory,
669
- diskSize: override.diskSize ?? base.diskSize,
670
- secrets: override.secrets ?? base.secrets,
671
- from: override.from ?? base.from,
672
- allowEphemeralInstall: override.allowEphemeralInstall ?? base.allowEphemeralInstall,
673
- guestWorkdir: override.guestWorkdir ?? base.guestWorkdir,
674
- syncHostWorkspace: override.syncHostWorkspace ?? base.syncHostWorkspace,
675
- verifyBaseFrom: override.verifyBaseFrom ?? base.verifyBaseFrom,
676
- shellInit: override.shellInit ?? base.shellInit,
677
- hostBrowserCommandsOnHost: override.hostBrowserCommandsOnHost ?? base.hostBrowserCommandsOnHost,
678
- };
679
- }
680
-
681
- function normalizeLspBuiltInServerSettings(raw: unknown): LspBuiltInServerSettings | undefined {
682
- if (!isNonNullObject(raw)) return undefined;
683
- const result: LspBuiltInServerSettings = {};
684
-
685
- if (typeof raw.enabled === "boolean") result.enabled = raw.enabled;
686
- if (typeof raw.command === "string" && raw.command.trim()) result.command = raw.command.trim();
687
- if (Array.isArray(raw.args)) {
688
- const args = raw.args.filter((value): value is string => typeof value === "string");
689
- if (args.length > 0) result.args = args;
690
- }
691
- if (isNonNullObject(raw.env)) {
692
- const envEntries = Object.entries(raw.env).filter(
693
- (entry): entry is [string, string] => typeof entry[1] === "string",
694
- );
695
- const env = Object.fromEntries(envEntries);
696
- if (Object.keys(env).length > 0) result.env = env;
697
- }
698
- if (isNonNullObject(raw.initialization)) {
699
- result.initialization = raw.initialization;
700
- }
701
- if (Array.isArray(raw.rootMarkers)) {
702
- const rootMarkers = raw.rootMarkers.filter(
703
- (value): value is string => typeof value === "string" && value.trim() !== "",
704
- );
705
- if (rootMarkers.length > 0) result.rootMarkers = rootMarkers;
706
- }
707
- if (Array.isArray(raw.extensions)) {
708
- const extensions = raw.extensions.filter(
709
- (value): value is string => typeof value === "string" && value.trim() !== "",
710
- );
711
- if (extensions.length > 0) result.extensions = extensions;
712
- }
713
-
714
- return result;
715
- }
716
-
717
- function normalizeLspCustomServerConfig(raw: unknown): LspCustomServerConfig | null {
718
- if (!isNonNullObject(raw)) return null;
719
- const id = typeof raw.id === "string" ? raw.id.trim() : "";
720
- const command = typeof raw.command === "string" ? raw.command.trim() : "";
721
- const extensions = Array.isArray(raw.extensions)
722
- ? raw.extensions.filter((value): value is string => typeof value === "string" && value.trim() !== "")
723
- : [];
724
- if (!id || !command || extensions.length === 0) return null;
725
-
726
- const result: LspCustomServerConfig = {
727
- id,
728
- command,
729
- extensions,
730
- };
731
-
732
- if (typeof raw.enabled === "boolean") result.enabled = raw.enabled;
733
- if (Array.isArray(raw.args)) {
734
- result.args = raw.args.filter((value): value is string => typeof value === "string");
735
- }
736
- if (isNonNullObject(raw.env)) {
737
- result.env = Object.fromEntries(
738
- Object.entries(raw.env).filter((entry): entry is [string, string] => typeof entry[1] === "string"),
739
- );
740
- }
741
- if (isNonNullObject(raw.initialization)) {
742
- result.initialization = raw.initialization;
743
- }
744
- if (Array.isArray(raw.rootMarkers)) {
745
- result.rootMarkers = raw.rootMarkers.filter(
746
- (value): value is string => typeof value === "string" && value.trim() !== "",
747
- );
748
- }
749
- if (isNonNullObject(raw.languageIds)) {
750
- result.languageIds = Object.fromEntries(
751
- Object.entries(raw.languageIds)
752
- .filter((entry): entry is [string, string] => typeof entry[1] === "string" && entry[0].trim() !== "")
753
- .map(([key, value]) => [key.trim(), value]),
754
- );
755
- }
756
-
757
- return result;
758
- }
759
-
760
- export function normalizeLspSettings(raw: unknown): NormalizedLspSettings {
761
- if (!isNonNullObject(raw)) return { ...DEFAULT_LSP_SETTINGS };
762
-
763
- const builtins: Partial<Record<LspBuiltInServerId, LspBuiltInServerSettings>> = {};
764
- if (isNonNullObject(raw.builtins)) {
765
- for (const [key, value] of Object.entries(raw.builtins)) {
766
- const normalized = normalizeLspBuiltInServerSettings(value);
767
- if (!normalized) continue;
768
- builtins[key as LspBuiltInServerId] = normalized;
769
- }
770
- }
771
-
772
- return {
773
- enabled: typeof raw.enabled === "boolean" ? raw.enabled : DEFAULT_LSP_SETTINGS.enabled,
774
- tool: typeof raw.tool === "boolean" ? raw.tool : DEFAULT_LSP_SETTINGS.tool,
775
- autoInstall: typeof raw.autoInstall === "boolean" ? raw.autoInstall : DEFAULT_LSP_SETTINGS.autoInstall,
776
- startupTimeoutMs:
777
- typeof raw.startupTimeoutMs === "number" && raw.startupTimeoutMs > 0
778
- ? raw.startupTimeoutMs
779
- : DEFAULT_LSP_SETTINGS.startupTimeoutMs,
780
- requestTimeoutMs:
781
- typeof raw.requestTimeoutMs === "number" && raw.requestTimeoutMs > 0
782
- ? raw.requestTimeoutMs
783
- : DEFAULT_LSP_SETTINGS.requestTimeoutMs,
784
- diagnosticsDebounceMs:
785
- typeof raw.diagnosticsDebounceMs === "number" && raw.diagnosticsDebounceMs >= 0
786
- ? raw.diagnosticsDebounceMs
787
- : DEFAULT_LSP_SETTINGS.diagnosticsDebounceMs,
788
- builtins,
789
- servers: Array.isArray(raw.servers)
790
- ? raw.servers
791
- .map(normalizeLspCustomServerConfig)
792
- .filter((value): value is LspCustomServerConfig => value !== null)
793
- : [],
794
- };
795
- }
796
-
797
- export function mergeLspSettings(
798
- base: LspSettings | undefined,
799
- override: LspSettings | undefined,
800
- ): NormalizedLspSettings {
801
- const baseNormalized = normalizeLspSettings(base);
802
- const overrideNormalized = normalizeLspSettings(override);
803
-
804
- return {
805
- enabled: override?.enabled ?? base?.enabled ?? DEFAULT_LSP_SETTINGS.enabled,
806
- tool: override?.tool ?? base?.tool ?? DEFAULT_LSP_SETTINGS.tool,
807
- autoInstall: override?.autoInstall ?? base?.autoInstall ?? DEFAULT_LSP_SETTINGS.autoInstall,
808
- startupTimeoutMs: override?.startupTimeoutMs ?? base?.startupTimeoutMs ?? DEFAULT_LSP_SETTINGS.startupTimeoutMs,
809
- requestTimeoutMs: override?.requestTimeoutMs ?? base?.requestTimeoutMs ?? DEFAULT_LSP_SETTINGS.requestTimeoutMs,
810
- diagnosticsDebounceMs:
811
- override?.diagnosticsDebounceMs ?? base?.diagnosticsDebounceMs ?? DEFAULT_LSP_SETTINGS.diagnosticsDebounceMs,
812
- builtins: {
813
- ...baseNormalized.builtins,
814
- ...overrideNormalized.builtins,
815
- },
816
- servers:
817
- override?.servers !== undefined
818
- ? overrideNormalized.servers
819
- : base?.servers !== undefined
820
- ? baseNormalized.servers
821
- : DEFAULT_LSP_SETTINGS.servers,
822
- };
823
- }
824
-
825
- export function getCurrentSandboxMode(): SandboxMode {
826
- const project = loadProjectSettings();
827
- if (project.sandboxMode) return normalizeSandboxMode(project.sandboxMode);
828
- const user = loadUserSettings();
829
- if (user.sandboxMode) return normalizeSandboxMode(user.sandboxMode);
830
- return "off";
831
- }
832
-
833
- export function getCurrentSandboxSettings(): SandboxSettings {
834
- const user = loadUserSettings();
835
- const project = loadProjectSettings();
836
- return mergeSandboxSettings(user.sandbox, project.sandbox);
837
- }
838
-
839
- export function getCurrentShellSettings(): ShellSettings {
840
- const user = loadUserSettings();
841
- const project = loadProjectSettings();
842
- return { ...(user.shell ?? {}), ...(project.shell ?? {}) };
843
- }
844
-
845
- export function getCurrentLspSettings(): NormalizedLspSettings {
846
- const user = loadUserSettings();
847
- const project = loadProjectSettings();
848
- return mergeLspSettings(user.lsp, project.lsp);
849
- }
850
-
851
- export function getReasoningEffortForModel(modelId: string): ReasoningEffort | undefined {
852
- const normalizedModelId = normalizeModelId(modelId);
853
- const savedEfforts = loadUserSettings().reasoningEffortByModel ?? {};
854
- const effort =
855
- savedEfforts[normalizedModelId] ??
856
- Object.entries(savedEfforts).find(([savedModelId]) => normalizeModelId(savedModelId) === normalizedModelId)?.[1];
857
- return getEffectiveReasoningEffort(normalizedModelId, effort);
858
- }
859
-
860
- export function getTelegramBotToken(): string | undefined {
861
- const env = process.env.TELEGRAM_BOT_TOKEN?.trim();
862
- if (env) return env;
863
- return loadUserSettings().telegram?.botToken?.trim();
864
- }
865
-
866
- export function saveApprovedTelegramUserId(userId: number): void {
867
- const settings = loadUserSettings();
868
- const approvedUserIds = new Set(settings.telegram?.approvedUserIds ?? []);
869
- approvedUserIds.add(userId);
870
- saveUserSettings({
871
- telegram: {
872
- ...settings.telegram,
873
- approvedUserIds: [...approvedUserIds],
874
- },
875
- });
876
- }
877
-
878
- export function resolveTelegramStreamSettings(t: TelegramSettings | undefined): {
879
- streaming: TelegramStreamingMode;
880
- typingIndicator: boolean;
881
- nativeDrafts: boolean;
882
- } {
883
- return {
884
- streaming: t?.streaming === "off" ? "off" : "partial",
885
- typingIndicator: t?.typingIndicator !== false,
886
- nativeDrafts: t?.nativeDrafts === true,
887
- };
888
- }
889
-
890
- export function resolveTelegramAudioInputSettings(t: TelegramSettings | undefined): {
891
- enabled: boolean;
892
- language: string;
893
- } {
894
- return {
895
- enabled: t?.audioInput?.enabled !== false,
896
- language: t?.audioInput?.language?.trim() || "en",
897
- };
898
- }
899
-
900
- export function loadMcpServers(): McpServerConfig[] {
901
- return loadUserSettings().mcp?.servers ?? [];
902
- }
903
-
904
- export function saveMcpServers(servers: McpServerConfig[]): void {
905
- saveUserSettings({ mcp: { servers } });
906
- }
907
-
908
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. Wallet UI only. */
909
- export function loadPaymentSettings(): Required<PaymentSettings> {
910
- const payments = loadUserSettings().payments;
911
- return {
912
- enabled: payments?.enabled ?? DEFAULT_PAYMENT_SETTINGS.enabled,
913
- chain:
914
- payments?.chain === "base" || payments?.chain === "base-sepolia"
915
- ? payments.chain
916
- : DEFAULT_PAYMENT_SETTINGS.chain,
917
- approval: {
918
- autoApprove: payments?.approval?.autoApprove ?? DEFAULT_PAYMENT_SETTINGS.approval.autoApprove,
919
- },
920
- };
921
- }
922
-
923
- /** @deprecated Phase 4 will replace with LemonSqueezy billing. Wallet UI only. */
924
- export function savePaymentSettings(partial: PaymentSettings): void {
925
- saveUserSettings({ payments: partial });
926
- }
927
-
928
- export function isAutoCompactAfterTurnEnabled(): boolean {
929
- return loadUserSettings().autoCompactAfterTurn ?? true;
930
- }
931
-
932
- export function getAutoCompactThresholdPct(): number {
933
- const val = loadUserSettings().autoCompactThresholdPct;
934
- if (typeof val === "number" && val >= 0.05 && val <= 0.5) return val;
935
- return 0.25; // default 25% — compact later to reduce summarize-call frequency
936
- }
937
-
938
- /**
939
- * Per-invocation cap on cumulative tool-output chars inside a `task`
940
- * sub-agent. See orchestrator/sub-agent-cap.ts for the tiered compression
941
- * schedule. Env override: MUONROI_SUB_AGENT_BUDGET_CHARS.
942
- */
943
- export function getSubAgentBudgetChars(): number {
944
- const envRaw = process.env.MUONROI_SUB_AGENT_BUDGET_CHARS;
945
- if (envRaw) {
946
- const n = Number(envRaw);
947
- if (Number.isFinite(n) && n >= 20_000 && n <= 600_000) return Math.floor(n);
948
- }
949
- const val = loadUserSettings().subAgentBudgetChars;
950
- if (typeof val === "number" && val >= 20_000 && val <= 600_000) return Math.floor(val);
951
- return 120_000;
952
- }
953
-
954
- /**
955
- * Stall watchdog timeout (ms) for streaming model calls: if the provider sends
956
- * no stream chunk for this long, the stream is aborted and the error is
957
- * surfaced as a toast instead of leaving the agent silently frozen. Re-armed on
958
- * every chunk, so it only fires on genuine stalls (first-chunk or mid-stream),
959
- * never on an actively-producing stream. Range 10_000–600_000; 0 disables.
960
- * Default 120_000 (2 min). Env override: MUONROI_PROVIDER_STALL_TIMEOUT_MS.
961
- */
962
- export function getProviderStallTimeoutMs(): number {
963
- const envRaw = process.env.MUONROI_PROVIDER_STALL_TIMEOUT_MS;
964
- if (envRaw !== undefined && envRaw !== "") {
965
- const n = Number(envRaw);
966
- if (Number.isFinite(n) && n === 0) return 0; // explicit disable
967
- if (Number.isFinite(n) && n >= 10_000 && n <= 600_000) return Math.floor(n);
968
- }
969
- return 120_000;
970
- }
971
-
972
- /**
973
- * Phase B3 — threshold (in chars of cumulative message content) above which
974
- * the sub-agent `prepareStep` compactor rewrites older tool_result parts
975
- * into short summary stubs. Below the threshold compaction is a no-op.
976
- * Env override: MUONROI_SUBAGENT_COMPACT_THRESHOLD_CHARS.
977
- */
978
- export function getSubAgentCompactThresholdChars(): number {
979
- const envRaw = process.env.MUONROI_SUBAGENT_COMPACT_THRESHOLD_CHARS;
980
- if (envRaw) {
981
- const n = Number(envRaw);
982
- if (Number.isFinite(n) && n >= 20_000 && n <= 500_000) return Math.floor(n);
983
- }
984
- // Phase C5 — lowered from 80_000 to 40_000 chars. Evidence from session
985
- // bcf1f0951567: 88 prepareStep iterations grew billed input to 68K *tokens*
986
- // (~273K char-equivalent), but the chars-based threshold never fired
987
- // because each tool result is already capped to 32K chars. Lowering the
988
- // trigger to 40K chars makes compaction fire ~step 30 instead of never —
989
- // projected peak ~35K tokens, ~$0.085 saved per equivalent session.
990
- return 40_000;
991
- }
992
-
993
- /**
994
- * Phase B3 — number of trailing tool turns kept verbatim during sub-agent
995
- * compaction. Each tool turn = one assistant tool-call + one tool message.
996
- * Env override: MUONROI_SUBAGENT_COMPACT_KEEP_LAST.
997
- */
998
- export function getSubAgentCompactKeepLast(): number {
999
- const envRaw = process.env.MUONROI_SUBAGENT_COMPACT_KEEP_LAST;
1000
- if (envRaw) {
1001
- const n = Number(envRaw);
1002
- if (Number.isFinite(n) && n >= 1 && n <= 20) return Math.floor(n);
1003
- }
1004
- return 3;
1005
- }
1006
-
1007
- /**
1008
- * Phase B4 — threshold (in chars of cumulative message content) above which
1009
- * the top-level `prepareStep` compactor rewrites older tool_result parts
1010
- * into short summary stubs. Higher than the sub-agent default because
1011
- * top-level loops typically carry more useful early context.
1012
- * Env override: MUONROI_TOP_LEVEL_COMPACT_THRESHOLD_CHARS.
1013
- */
1014
- export function getTopLevelCompactThresholdChars(): number {
1015
- const envRaw = process.env.MUONROI_TOP_LEVEL_COMPACT_THRESHOLD_CHARS;
1016
- if (envRaw) {
1017
- const n = Number(envRaw);
1018
- if (Number.isFinite(n) && n >= 50_000 && n <= 1_500_000) return Math.floor(n);
1019
- }
1020
- // Phase C5 — lowered from 200_000 to 100_000 chars (symmetric with the
1021
- // sub-agent 80→40K reduction). Same evidence applies: tool results are
1022
- // capped, so the chars threshold rarely trips while token billing climbs.
1023
- return 100_000;
1024
- }
1025
-
1026
- /**
1027
- * Phase B4 — number of trailing tool turns kept verbatim during top-level
1028
- * compaction. Higher than sub-agent default because top-level agents make
1029
- * decisions across longer horizons.
1030
- * Env override: MUONROI_TOP_LEVEL_COMPACT_KEEP_LAST.
1031
- */
1032
- export function getTopLevelCompactKeepLast(): number {
1033
- const envRaw = process.env.MUONROI_TOP_LEVEL_COMPACT_KEEP_LAST;
1034
- if (envRaw) {
1035
- const n = Number(envRaw);
1036
- if (Number.isFinite(n) && n >= 1 && n <= 30) return Math.floor(n);
1037
- }
1038
- return 5;
1039
- }
1040
-
1041
- /**
1042
- * Per-turn cap on cumulative tool-output chars inside the top-level
1043
- * orchestrator agentic loop. Same tiered compression as the sub-agent cap,
1044
- * higher default so single-tool turns are unaffected. Env override:
1045
- * MUONROI_TOP_LEVEL_TOOL_BUDGET_CHARS.
1046
- */
1047
- export function getTopLevelToolBudgetChars(): number {
1048
- const envRaw = process.env.MUONROI_TOP_LEVEL_TOOL_BUDGET_CHARS;
1049
- if (envRaw) {
1050
- const n = Number(envRaw);
1051
- if (Number.isFinite(n) && n >= 50_000 && n <= 1_500_000) return Math.floor(n);
1052
- }
1053
- const val = loadUserSettings().topLevelToolBudgetChars;
1054
- if (typeof val === "number" && val >= 50_000 && val <= 1_500_000) return Math.floor(val);
1055
- return 400_000;
1056
- }
1057
-
1058
- export function getRoleModel(role: ModelRole): string | undefined {
1059
- return loadUserSettings().roleModels?.[role];
1060
- }
1061
-
1062
- export function getRoleModels(): Partial<Record<ModelRole, string>> {
1063
- return loadUserSettings().roleModels ?? {};
1064
- }
1065
-
1066
- export function getCouncilRounds(): number {
1067
- const r = loadUserSettings().councilRounds;
1068
- return typeof r === "number" && r >= 1 ? Math.min(r, 5) : 3;
1069
- }
1070
-
1071
- export function isAutoCouncilEnabled(): boolean {
1072
- return loadUserSettings().autoCouncil ?? true;
1073
- }
1074
-
1075
- /** Pure validator extracted for testability; clamps user input to a sane range. */
1076
- export function normalizeAutoCouncilConfidence(val: unknown): number {
1077
- if (typeof val === "number" && val >= 0.5 && val <= 1.0) return val;
1078
- return 0.85; // default — only trigger on clearly-architectural prompts
1079
- }
1080
-
1081
- /** Pure validator extracted for testability; clamps user input to a sane range. */
1082
- export function normalizeAutoCouncilMinRoles(val: unknown): number {
1083
- if (typeof val === "number" && Number.isInteger(val) && val >= 1 && val <= 4) return val;
1084
- return 2; // default — a "debate" needs at least two participants
1085
- }
1086
-
1087
- export function getAutoCouncilConfidence(): number {
1088
- return normalizeAutoCouncilConfidence(loadUserSettings().autoCouncilConfidence);
1089
- }
1090
-
1091
- export function getAutoCouncilMinRoles(): number {
1092
- return normalizeAutoCouncilMinRoles(loadUserSettings().autoCouncilMinRoles);
1093
- }
1094
-
1095
- export function isCouncilMultiProviderPreferred(): boolean {
1096
- return loadUserSettings().councilPreferMultiProvider ?? false;
1097
- }
1098
-
1099
- export function getCouncilExperienceMode(): CouncilExperienceMode {
1100
- return loadUserSettings().councilExperienceMode ?? "advisory";
1101
- }
1102
-
1103
- export function isCouncilCostAware(): boolean {
1104
- return loadUserSettings().councilCostAware ?? true;
1105
- }
1106
-
1107
- export function getDisabledProviders(): ProviderId[] {
1108
- const raw = loadUserSettings().disabledProviders;
1109
- if (!Array.isArray(raw)) return [];
1110
- return raw.filter(
1111
- (p): p is ProviderId => typeof p === "string" && (ALL_PROVIDER_IDS as readonly string[]).includes(p),
1112
- );
1113
- }
1114
-
1115
- export function isProviderDisabled(provider: ProviderId): boolean {
1116
- return getDisabledProviders().includes(provider);
1117
- }
1118
-
1119
- export function setProviderDisabled(provider: ProviderId, disabled: boolean): ProviderId[] {
1120
- const current = new Set(getDisabledProviders());
1121
- if (disabled) current.add(provider);
1122
- else current.delete(provider);
1123
- const next = [...current];
1124
- saveUserSettings({ disabledProviders: next });
1125
- return next;
1126
- }
1127
-
1128
- export function getDisabledModels(): string[] {
1129
- const raw = loadUserSettings().disabledModels;
1130
- if (!Array.isArray(raw)) return [];
1131
- return raw.filter((m): m is string => typeof m === "string");
1132
- }
1133
-
1134
- export function isModelDisabled(modelId: string): boolean {
1135
- const info = getModelInfo(modelId);
1136
- if (info?.provider && isProviderDisabled(info.provider as ProviderId)) return true;
1137
- return getDisabledModels().includes(modelId);
1138
- }
1139
-
1140
- export function setModelDisabled(modelId: string, disabled: boolean): string[] {
1141
- const current = new Set(getDisabledModels());
1142
- if (disabled) current.add(modelId);
1143
- else current.delete(modelId);
1144
- const next = [...current];
1145
- saveUserSettings({ disabledModels: next });
1146
- return next;
1147
- }
1148
-
1149
- /**
1150
- * Preferred provider. The splash UI persists this when the user picks a
1151
- * provider as default; the router then auto-selects a model from this
1152
- * provider's catalog. Returns null when nothing is pinned.
1153
- */
1154
- export function getDefaultProvider(): ProviderId | null {
1155
- const raw = loadUserSettings().defaultProvider;
1156
- if (typeof raw !== "string") return null;
1157
- if (!(ALL_PROVIDER_IDS as readonly string[]).includes(raw)) return null;
1158
- return raw as ProviderId;
1159
- }
1160
-
1161
- export function setDefaultProvider(provider: ProviderId): void {
1162
- saveUserSettings({ defaultProvider: provider });
1163
- }