toolroll 0.9.104 → 0.9.105

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 (1519) hide show
  1. package/CHANGELOG.md +62 -5
  2. package/README.md +18 -20
  3. package/dist/accent-colors.js +0 -29
  4. package/dist/acp-agents.js +0 -3
  5. package/dist/acp-attest.js +0 -30
  6. package/dist/acp-check.js +3 -70
  7. package/dist/acp-client.js +3 -94
  8. package/dist/acp-inspect.js +1 -20
  9. package/dist/action-ledger.js +0 -8
  10. package/dist/activity-line.js +0 -14
  11. package/dist/actor.js +0 -15
  12. package/dist/advanced-schema.js +12 -0
  13. package/dist/advanced-view.js +26 -0
  14. package/dist/advanced.js +61 -0
  15. package/dist/agent-board.js +0 -117
  16. package/dist/agent-fence.js +11 -367
  17. package/dist/agent-onboard.js +12 -50
  18. package/dist/agent-pulse.js +5 -38
  19. package/dist/agent-state-words.js +0 -8
  20. package/dist/agent-state.js +1 -45
  21. package/dist/agent-turns.js +3 -17
  22. package/dist/agentconfig.js +1 -99
  23. package/dist/agents-board.js +0 -60
  24. package/dist/agents-live.js +1 -8
  25. package/dist/api-tokens.js +0 -27
  26. package/dist/approval-authority.js +0 -59
  27. package/dist/approval-password.js +0 -10
  28. package/dist/approval-policy.js +0 -29
  29. package/dist/approval-rules-ui.js +0 -9
  30. package/dist/assignment-adapters.js +0 -14
  31. package/dist/assignment-brief.js +1 -17
  32. package/dist/assignment-delivery.js +0 -22
  33. package/dist/assignment-presentation.js +0 -14
  34. package/dist/assignment-status.js +1 -30
  35. package/dist/assignment-ui.js +0 -12
  36. package/dist/assignment.js +17 -139
  37. package/dist/attest.js +0 -38
  38. package/dist/audit-cli.js +0 -9
  39. package/dist/backend.js +0 -59
  40. package/dist/backup-ui.js +0 -12
  41. package/dist/backup.js +8 -61
  42. package/dist/batch-checks.js +0 -20
  43. package/dist/batch-policy.js +0 -4
  44. package/dist/beads.js +0 -48
  45. package/dist/bin.js +0 -8
  46. package/dist/board.js +1 -36
  47. package/dist/boot-identity.js +0 -42
  48. package/dist/bounded-spawn.js +4 -28
  49. package/dist/brand-mark.js +0 -21
  50. package/dist/brief-fence.js +0 -16
  51. package/dist/browser/terminal.css +1 -1
  52. package/dist/browser/terminal.js +16 -16
  53. package/dist/browser/workspace.css +2 -2
  54. package/dist/browser/workspace.js +26 -26
  55. package/dist/browser-crew.js +0 -8
  56. package/dist/browser-shell.js +2 -15
  57. package/dist/browser-workspace.js +6 -30
  58. package/dist/budget-alerts.js +1 -4
  59. package/dist/build-review.js +2 -50
  60. package/dist/builder-restart.js +0 -13
  61. package/dist/builder.js +21 -1035
  62. package/dist/canonical-json.js +0 -12
  63. package/dist/capscan.js +1 -32
  64. package/dist/card-catalog.js +0 -12
  65. package/dist/card-cli.js +0 -1
  66. package/dist/card-render.js +0 -25
  67. package/dist/card-sources.js +0 -10
  68. package/dist/chat-acceptance.js +0 -7
  69. package/dist/chat-actions.js +5 -190
  70. package/dist/chat-admission.js +0 -7
  71. package/dist/chat-approval.js +0 -25
  72. package/dist/chat-ask.js +0 -17
  73. package/dist/chat-card-part.js +0 -3
  74. package/dist/chat-card.js +0 -6
  75. package/dist/chat-channel.js +2 -83
  76. package/dist/chat-continuity.js +0 -31
  77. package/dist/chat-controls.js +0 -7
  78. package/dist/chat-core.js +0 -55
  79. package/dist/chat-decide.js +2 -153
  80. package/dist/chat-delivery-state.js +0 -49
  81. package/dist/chat-delivery.js +2 -143
  82. package/dist/chat-display.js +0 -2
  83. package/dist/chat-evidence.js +0 -65
  84. package/dist/chat-flow.js +0 -72
  85. package/dist/chat-follow.js +0 -13
  86. package/dist/chat-inbox.js +0 -34
  87. package/dist/chat-live-schema.js +0 -14
  88. package/dist/chat-live.js +2 -87
  89. package/dist/chat-message-states.js +13 -40
  90. package/dist/chat-messages.js +0 -153
  91. package/dist/chat-migration.js +0 -57
  92. package/dist/chat-polish.js +0 -7
  93. package/dist/chat-quiet.js +0 -37
  94. package/dist/chat-review.js +0 -4
  95. package/dist/chat-rooms.js +0 -22
  96. package/dist/chat-settings-page.js +0 -4
  97. package/dist/chat-task-actions.js +0 -7
  98. package/dist/chat-terms.js +0 -21
  99. package/dist/chat-voice.js +0 -38
  100. package/dist/chat-warmth.js +1 -3
  101. package/dist/check-access.js +0 -30
  102. package/dist/check-facts.js +2 -62
  103. package/dist/check-failure.js +0 -98
  104. package/dist/check-levels-ui.js +4 -10
  105. package/dist/check-levels.js +3 -35
  106. package/dist/check-load.js +1 -49
  107. package/dist/check-only-standing.js +0 -6
  108. package/dist/check-only.js +0 -22
  109. package/dist/check-progress.js +0 -32
  110. package/dist/check-repair.js +2 -35
  111. package/dist/check-report.js +1 -108
  112. package/dist/check-stamp.js +0 -20
  113. package/dist/checkout-cleanup.js +0 -84
  114. package/dist/checkout-proof.js +1 -13
  115. package/dist/child-database.js +0 -3
  116. package/dist/claim.js +4 -508
  117. package/dist/claude-print.js +0 -10
  118. package/dist/cli-fast.js +0 -8
  119. package/dist/cli-help.js +90 -78
  120. package/dist/cli-http.js +0 -10
  121. package/dist/cli.js +26 -241
  122. package/dist/code-extract.js +0 -6
  123. package/dist/code-map-acts.js +0 -7
  124. package/dist/code-map-admission.js +2 -26
  125. package/dist/code-map-build.js +3 -24
  126. package/dist/code-map-cli.js +0 -4
  127. package/dist/code-map-main.js +0 -6
  128. package/dist/code-map-read.js +0 -12
  129. package/dist/code-map-report.js +0 -9
  130. package/dist/code-map-shape.js +0 -19
  131. package/dist/code-map-store.js +0 -26
  132. package/dist/codex-limits.js +1 -17
  133. package/dist/coding-context.js +0 -10
  134. package/dist/coding-handoff.js +0 -14
  135. package/dist/coding-provider.js +0 -39
  136. package/dist/coding-shipping-ui.js +0 -1
  137. package/dist/coding-ui.js +0 -1
  138. package/dist/coding-update.js +1 -18
  139. package/dist/coding-workspace.js +0 -27
  140. package/dist/commit-extract.js +0 -83
  141. package/dist/connect-cli.js +0 -19
  142. package/dist/console-chrome.js +1 -34
  143. package/dist/console-instance.js +2 -91
  144. package/dist/container-state.js +0 -4
  145. package/dist/containment.js +2 -105
  146. package/dist/contract-changes.js +0 -6
  147. package/dist/contracts/acceptance-terms.js +0 -7
  148. package/dist/contracts/chat-actions.js +0 -46
  149. package/dist/contracts/chat-callback-rows.js +0 -8
  150. package/dist/contracts/chat-card.js +0 -14
  151. package/dist/contracts/chat-content.js +0 -55
  152. package/dist/contracts/chat-tables.js +0 -7
  153. package/dist/contracts/cli.js +0 -59
  154. package/dist/contracts/coding-activity.js +0 -15
  155. package/dist/contracts/coding-context.js +0 -15
  156. package/dist/contracts/coding-handoff.js +0 -11
  157. package/dist/contracts/coding-workspace.js +0 -14
  158. package/dist/contracts/console-api.js +1 -54
  159. package/dist/contracts/contract-test.js +0 -14
  160. package/dist/contracts/contract.js +0 -48
  161. package/dist/contracts/decision.js +0 -20
  162. package/dist/contracts/diff-stat.js +0 -16
  163. package/dist/contracts/discord-callback.js +0 -9
  164. package/dist/contracts/flow-card.js +0 -18
  165. package/dist/contracts/flow-propose.js +0 -8
  166. package/dist/contracts/flow-send.js +0 -31
  167. package/dist/contracts/flow.js +0 -112
  168. package/dist/contracts/gateway-tools.js +0 -22
  169. package/dist/contracts/handoff.js +0 -22
  170. package/dist/contracts/integration-metadata.js +0 -39
  171. package/dist/contracts/lead-context.js +0 -14
  172. package/dist/contracts/lead-tools.js +0 -49
  173. package/dist/contracts/mcp-oauth.js +0 -12
  174. package/dist/contracts/memory-pass.js +0 -21
  175. package/dist/contracts/model-catalog.js +0 -9
  176. package/dist/contracts/observation-request.js +0 -11
  177. package/dist/contracts/plan.js +0 -16
  178. package/dist/contracts/project-knowledge.js +0 -26
  179. package/dist/contracts/project-memory.js +0 -16
  180. package/dist/contracts/project-skills.js +0 -31
  181. package/dist/contracts/proof.js +0 -23
  182. package/dist/contracts/provider.js +0 -9
  183. package/dist/contracts/recipes.js +0 -16
  184. package/dist/contracts/release-check.js +0 -61
  185. package/dist/contracts/release-terms.js +0 -27
  186. package/dist/contracts/retention.js +0 -12
  187. package/dist/contracts/review-findings.js +0 -13
  188. package/dist/contracts/route-results.js +0 -15
  189. package/dist/contracts/route.js +0 -33
  190. package/dist/contracts/scope.js +0 -29
  191. package/dist/contracts/scout-report.js +0 -34
  192. package/dist/contracts/slack-callback.js +0 -11
  193. package/dist/contracts/sort-answer.js +0 -24
  194. package/dist/contracts/stage-output.js +0 -46
  195. package/dist/contracts/storage.js +0 -8
  196. package/dist/contracts/store-json.js +0 -41
  197. package/dist/contracts/subagent-turn.js +0 -23
  198. package/dist/contracts/task-sizing.js +0 -10
  199. package/dist/contracts/teams-callback.js +0 -7
  200. package/dist/contracts/telegram-callback.js +0 -27
  201. package/dist/contracts/trigger-payloads.js +0 -41
  202. package/dist/contracts/update-journal.js +0 -47
  203. package/dist/contracts/verification-receipt.js +0 -36
  204. package/dist/contracts/verification-view.js +0 -15
  205. package/dist/contracts/youiyoux-request.js +0 -26
  206. package/dist/control-setup.js +0 -7
  207. package/dist/control-ui.js +0 -3
  208. package/dist/controller-service.js +0 -4
  209. package/dist/controller-supervisor.js +0 -15
  210. package/dist/converse.js +3 -129
  211. package/dist/coordinator-proposals.js +1 -6
  212. package/dist/coordinator.js +0 -65
  213. package/dist/credentials-ui.js +0 -6
  214. package/dist/daemon.js +0 -137
  215. package/dist/database-reclaim.js +0 -3
  216. package/dist/decision.js +0 -78
  217. package/dist/demo-chat.js +4 -15
  218. package/dist/demo-sign-in.js +77 -0
  219. package/dist/demo.js +5 -194
  220. package/dist/deploy-gate.js +0 -20
  221. package/dist/deploy-lock.js +0 -4
  222. package/dist/deploy-phase.js +0 -22
  223. package/dist/deploy-rescue.js +0 -21
  224. package/dist/deprecations.js +0 -12
  225. package/dist/design/kit.css +9 -6
  226. package/dist/design/kit.js +2 -33
  227. package/dist/desktop-access.js +0 -9
  228. package/dist/desktop-bundle.js +1 -3
  229. package/dist/desktop-host.js +0 -34
  230. package/dist/desktop-update-gate.js +0 -8
  231. package/dist/desktop-update-recovery.js +1 -18
  232. package/dist/desktop-update.js +2 -48
  233. package/dist/digest-times.js +0 -2
  234. package/dist/disclosure.js +0 -5
  235. package/dist/discord-api.js +0 -6
  236. package/dist/discord-chat.js +0 -31
  237. package/dist/discord.js +0 -7
  238. package/dist/discover.js +0 -50
  239. package/dist/dispatch.js +61 -60
  240. package/dist/dispose.js +0 -208
  241. package/dist/doctor.js +0 -48
  242. package/dist/easy-start-args.js +7 -7
  243. package/dist/easy-start.js +32 -45
  244. package/dist/egress.js +1 -63
  245. package/dist/email-settings.js +0 -8
  246. package/dist/envelope.js +50 -86
  247. package/dist/eval-gate.js +1 -37
  248. package/dist/eval-hooks.js +0 -120
  249. package/dist/eval-oracle-main.js +0 -7
  250. package/dist/eval-oracle.js +3 -42
  251. package/dist/eval-world.js +1 -23
  252. package/dist/evals.js +6 -134
  253. package/dist/evidence-pack.js +0 -29
  254. package/dist/evidence-pair.js +0 -17
  255. package/dist/evidence.js +4 -280
  256. package/dist/exec.js +19 -404
  257. package/dist/exhaustion.js +0 -30
  258. package/dist/export-ui.js +0 -7
  259. package/dist/export.js +1 -38
  260. package/dist/failing-first.js +0 -6
  261. package/dist/fallback-schema.js +0 -5
  262. package/dist/fallback.js +0 -81
  263. package/dist/fast-start.js +0 -97
  264. package/dist/fast-terms.js +0 -3
  265. package/dist/fenced-check-coverage.js +0 -11
  266. package/dist/findings.js +1 -63
  267. package/dist/first-run.js +4 -57
  268. package/dist/first-tasks-child.js +0 -5
  269. package/dist/flaky-ci.js +1 -24
  270. package/dist/flaky-cli.js +0 -4
  271. package/dist/flaky.js +0 -43
  272. package/dist/fleet-schema.js +0 -11
  273. package/dist/flow-actions.js +0 -31
  274. package/dist/flow-browser.js +0 -42
  275. package/dist/flow-cadence.js +1 -24
  276. package/dist/flow-card-task.js +0 -11
  277. package/dist/flow-changed.js +0 -16
  278. package/dist/flow-code.js +1 -45
  279. package/dist/flow-draft.js +0 -17
  280. package/dist/flow-engine.js +2 -76
  281. package/dist/flow-gallery-ui.js +0 -28
  282. package/dist/flow-gallery.js +0 -54
  283. package/dist/flow-insights.js +0 -12
  284. package/dist/flow-items.js +0 -27
  285. package/dist/flow-live.js +0 -31
  286. package/dist/flow-people.js +0 -14
  287. package/dist/flow-pull-request.js +0 -32
  288. package/dist/flow-replies.js +0 -9
  289. package/dist/flow-result-card.js +0 -8
  290. package/dist/flow-schedule.js +0 -74
  291. package/dist/flow-scripts.js +0 -13
  292. package/dist/flow-secrets.js +0 -10
  293. package/dist/flow-send.js +0 -45
  294. package/dist/flow-share.js +0 -60
  295. package/dist/flow-sort.js +1 -24
  296. package/dist/flow-starters-ui.js +0 -2
  297. package/dist/flow-starters.js +0 -13
  298. package/dist/flow-steps.js +0 -80
  299. package/dist/flow-triggers.js +2 -256
  300. package/dist/flow-unattended-words.js +0 -13
  301. package/dist/flow-unattended.js +2 -115
  302. package/dist/flows-cli.js +2 -36
  303. package/dist/flows-ui.js +0 -51
  304. package/dist/flows.js +0 -158
  305. package/dist/folder-gate.js +0 -21
  306. package/dist/folder-look.js +0 -42
  307. package/dist/follow-through-brief.js +0 -6
  308. package/dist/follow-through-cli.js +0 -5
  309. package/dist/fonts.js +0 -13
  310. package/dist/gaps.js +0 -20
  311. package/dist/gate-failure.js +0 -7
  312. package/dist/git-floor.js +0 -12
  313. package/dist/git-incident.js +2 -38
  314. package/dist/git-views.js +0 -24
  315. package/dist/git.js +0 -31
  316. package/dist/github-import.js +0 -22
  317. package/dist/github-jobs.js +0 -12
  318. package/dist/google-mail.js +2 -27
  319. package/dist/grant.js +0 -110
  320. package/dist/graph.js +0 -108
  321. package/dist/guides.js +4 -15
  322. package/dist/handover-note.js +0 -12
  323. package/dist/health-cli.js +0 -2
  324. package/dist/home-groups.js +0 -15
  325. package/dist/html.js +0 -54
  326. package/dist/install-method.js +0 -12
  327. package/dist/integrations-ui.js +0 -15
  328. package/dist/integrations.js +7 -50
  329. package/dist/invoke.js +1 -381
  330. package/dist/is-record.js +0 -1
  331. package/dist/issues.js +0 -48
  332. package/dist/jsonl-discriminants.js +0 -6
  333. package/dist/keymap.js +0 -17
  334. package/dist/keys.js +0 -56
  335. package/dist/kits-ui.js +0 -3
  336. package/dist/kits.js +1 -24
  337. package/dist/knowledge-cli.js +0 -4
  338. package/dist/knowledge-ui.js +0 -8
  339. package/dist/landed-cleanup.js +0 -119
  340. package/dist/laptop-background.js +0 -85
  341. package/dist/laptop-service.js +0 -67
  342. package/dist/latency-timeline.js +2 -23
  343. package/dist/lead-about.js +0 -7
  344. package/dist/lead-answer-eval.js +0 -39
  345. package/dist/lead-capabilities.js +0 -19
  346. package/dist/lead-cli-live.js +0 -22
  347. package/dist/lead-cli.js +0 -27
  348. package/dist/lead-commitments.js +1 -27
  349. package/dist/lead-context.js +2 -42
  350. package/dist/lead-contract.js +0 -8
  351. package/dist/lead-doors.js +0 -105
  352. package/dist/lead-follow.js +0 -41
  353. package/dist/lead-identity.js +1 -4
  354. package/dist/lead-latency-schema.js +0 -13
  355. package/dist/lead-people.js +3 -18
  356. package/dist/lead-progress.js +0 -12
  357. package/dist/lead-queue-runtime.js +0 -26
  358. package/dist/lead-queue.js +0 -35
  359. package/dist/lead-route.js +0 -33
  360. package/dist/lead-status.js +0 -37
  361. package/dist/lead-sweep.js +0 -18
  362. package/dist/lead-tools.js +0 -160
  363. package/dist/lead-voice.js +0 -54
  364. package/dist/lead.js +2 -105
  365. package/dist/learning-child.js +0 -6
  366. package/dist/learning-look.js +0 -14
  367. package/dist/ledger-chain.js +0 -34
  368. package/dist/ledger-csv.js +0 -2
  369. package/dist/ledger-view.js +0 -3
  370. package/dist/lesson-notes.js +0 -56
  371. package/dist/limits-ui.js +0 -14
  372. package/dist/link.js +0 -79
  373. package/dist/live-backup.js +3 -33
  374. package/dist/live-bus.js +7 -81
  375. package/dist/live-children-read.js +4 -47
  376. package/dist/live-children.js +4 -44
  377. package/dist/live-detail.js +0 -17
  378. package/dist/live-input.js +5 -68
  379. package/dist/live-main-read.js +1 -14
  380. package/dist/live-notes.js +0 -12
  381. package/dist/live-open.js +1 -23
  382. package/dist/live-records.js +4 -151
  383. package/dist/live-reply.js +1 -51
  384. package/dist/live-terminal.js +12 -111
  385. package/dist/live.js +4 -130
  386. package/dist/local-owner-acts.js +0 -53
  387. package/dist/local-owner.js +2 -93
  388. package/dist/log.js +0 -8
  389. package/dist/login-secrets.js +2 -38
  390. package/dist/machine-check.js +0 -2
  391. package/dist/machine-identity.js +1 -46
  392. package/dist/mailbox.js +0 -30
  393. package/dist/maintenance.js +1 -3
  394. package/dist/mcp-connect.js +0 -88
  395. package/dist/mcp-core.js +0 -45
  396. package/dist/mcp-http.js +0 -13
  397. package/dist/mcp-oauth.js +0 -37
  398. package/dist/mcp-person.js +0 -11
  399. package/dist/mcp.js +3 -73
  400. package/dist/memory-cli.js +0 -3
  401. package/dist/memory-pass.js +0 -53
  402. package/dist/memory-tidy.js +0 -55
  403. package/dist/memory-use.js +2 -24
  404. package/dist/merge-checklist.js +21 -29
  405. package/dist/metrics.js +0 -10
  406. package/dist/mobile-viewport.js +0 -6
  407. package/dist/model-catalog.js +1 -33
  408. package/dist/model-choices.js +9 -84
  409. package/dist/model-names.js +0 -9
  410. package/dist/models-cli.js +0 -13
  411. package/dist/models-ui.js +0 -17
  412. package/dist/modes.js +0 -35
  413. package/dist/monitoring-settings.js +2 -27
  414. package/dist/monitoring-ui.js +2 -14
  415. package/dist/monitoring.js +2 -38
  416. package/dist/names.js +0 -39
  417. package/dist/needs-you.js +7 -70
  418. package/dist/never-index.js +0 -9
  419. package/dist/nightly-check.js +0 -74
  420. package/dist/nightly-github.js +0 -168
  421. package/dist/notification-delivery.js +0 -3
  422. package/dist/notification-rows.js +0 -17
  423. package/dist/oauth-run-token.js +1 -37
  424. package/dist/observations.js +0 -16
  425. package/dist/oidc.js +1 -20
  426. package/dist/onboard.js +4 -57
  427. package/dist/one-step-chat-schema.js +0 -15
  428. package/dist/openrouter-models.js +0 -6
  429. package/dist/operate-remote-arguments.js +0 -17
  430. package/dist/operate-remote.js +0 -33
  431. package/dist/operate.js +227 -2326
  432. package/dist/orphan-sweep.js +3 -37
  433. package/dist/page-work-contract.js +0 -3
  434. package/dist/password-bearer.js +1 -11
  435. package/dist/passwordless.js +0 -3
  436. package/dist/peek-cli.js +0 -46
  437. package/dist/peek.js +2 -61
  438. package/dist/people-audit-ui.js +0 -6
  439. package/dist/person-proof.js +0 -6
  440. package/dist/phase-routing.js +8 -183
  441. package/dist/plain-schema.js +0 -14
  442. package/dist/plain-words.js +18 -12
  443. package/dist/plan-auto.js +0 -20
  444. package/dist/plan-login.js +0 -16
  445. package/dist/plan.js +0 -68
  446. package/dist/plane-review.js +0 -56
  447. package/dist/planner-source.js +0 -96
  448. package/dist/planner.js +0 -117
  449. package/dist/policy-ui.js +0 -8
  450. package/dist/policy.js +0 -47
  451. package/dist/prepared-evidence.js +0 -5
  452. package/dist/principal.js +0 -29
  453. package/dist/probe.js +0 -30
  454. package/dist/process-custody.js +0 -15
  455. package/dist/process-liveness.js +0 -32
  456. package/dist/process-tree.js +3 -29
  457. package/dist/project-access.js +0 -10
  458. package/dist/project-admission.js +1 -41
  459. package/dist/project-cli.js +0 -6
  460. package/dist/project-concurrency.js +0 -35
  461. package/dist/project-delete-ui.js +4 -29
  462. package/dist/project-delete.js +1 -73
  463. package/dist/project-demo.js +0 -13
  464. package/dist/project-file.js +0 -2
  465. package/dist/project-identity.js +0 -41
  466. package/dist/project-knowledge.js +0 -39
  467. package/dist/project-learning.js +3 -55
  468. package/dist/project-memory.js +2 -45
  469. package/dist/project-outcomes.js +0 -6
  470. package/dist/project-sandbox.js +0 -23
  471. package/dist/project-skills.js +0 -12
  472. package/dist/project-tools.js +6 -184
  473. package/dist/project.js +0 -48
  474. package/dist/prompt.js +0 -31
  475. package/dist/proof.js +0 -220
  476. package/dist/proposal.js +0 -50
  477. package/dist/protected-storage-look.js +0 -6
  478. package/dist/protected-storage.js +1 -84
  479. package/dist/provider-auth.js +3 -69
  480. package/dist/provider-capture.js +1 -15
  481. package/dist/provider-connection.js +0 -8
  482. package/dist/provider-home.js +0 -25
  483. package/dist/provider-limits.js +0 -14
  484. package/dist/provider.js +0 -324
  485. package/dist/public-access.js +0 -34
  486. package/dist/public-check.js +0 -16
  487. package/dist/publish.js +1 -150
  488. package/dist/pull-request-flow.js +0 -77
  489. package/dist/pull-request-schema.js +0 -4
  490. package/dist/pull-request-ui.js +0 -5
  491. package/dist/pulls.js +0 -80
  492. package/dist/push.js +5 -89
  493. package/dist/quick-start.js +1 -23
  494. package/dist/read-executor-worker.js +0 -1
  495. package/dist/read-executor.js +0 -10
  496. package/dist/read-only-request.js +0 -7
  497. package/dist/recipe-ui.js +0 -6
  498. package/dist/recipes.js +0 -13
  499. package/dist/release-adapters.js +6 -214
  500. package/dist/release-approval.js +0 -74
  501. package/dist/release-authority.js +0 -42
  502. package/dist/release-auto.js +0 -142
  503. package/dist/release-card.js +0 -100
  504. package/dist/release-carry.js +0 -132
  505. package/dist/release-ci-hold.js +0 -20
  506. package/dist/release-cli.js +0 -46
  507. package/dist/release-coverage.js +0 -16
  508. package/dist/release-gate.js +0 -30
  509. package/dist/release-git.js +0 -24
  510. package/dist/release-links.js +0 -17
  511. package/dist/release-net.js +0 -42
  512. package/dist/release-next.js +0 -25
  513. package/dist/release-recheck.js +0 -89
  514. package/dist/release-refusal.js +0 -18
  515. package/dist/release-view.js +0 -5
  516. package/dist/release.js +7 -341
  517. package/dist/releases.js +0 -49
  518. package/dist/remote-audit.js +0 -25
  519. package/dist/remote-command.js +0 -16
  520. package/dist/remote-destination.js +5 -26
  521. package/dist/remote-exec.js +1 -27
  522. package/dist/remote-main.js +1 -53
  523. package/dist/remote-run.js +0 -5
  524. package/dist/remote.js +0 -49
  525. package/dist/render.js +0 -133
  526. package/dist/reply-shape.js +0 -85
  527. package/dist/reply-voice.js +0 -7
  528. package/dist/report-summary.js +0 -5
  529. package/dist/reported-usage.js +0 -30
  530. package/dist/repos.js +9 -62
  531. package/dist/repository-context.js +1 -24
  532. package/dist/request-budget-ui.js +0 -4
  533. package/dist/request-budget.js +0 -23
  534. package/dist/restart-certification.js +0 -37
  535. package/dist/result-actions.js +0 -62
  536. package/dist/result-acts.js +0 -34
  537. package/dist/result-completion.js +0 -25
  538. package/dist/result-evidence-readers.js +0 -3
  539. package/dist/result-follow-ups.js +1 -39
  540. package/dist/result-review.js +0 -86
  541. package/dist/result-shots.js +0 -39
  542. package/dist/retention-ui.js +0 -7
  543. package/dist/retention.js +2 -46
  544. package/dist/review-context.js +0 -129
  545. package/dist/review-evidence.js +0 -4
  546. package/dist/review-switch.js +1 -7
  547. package/dist/reviewer.js +0 -35
  548. package/dist/route-change-check.js +0 -2
  549. package/dist/route-change.js +0 -16
  550. package/dist/route-hooks.js +0 -27
  551. package/dist/route-results.js +2 -58
  552. package/dist/route-rules.js +1 -106
  553. package/dist/route-savings.js +0 -36
  554. package/dist/route-store.js +1 -133
  555. package/dist/run-closeout.js +2 -50
  556. package/dist/run-efficiency.js +2 -44
  557. package/dist/run-ending.js +0 -13
  558. package/dist/runner-process.js +0 -33
  559. package/dist/runner.js +17 -189
  560. package/dist/sample-project.js +2 -27
  561. package/dist/sandbox-launch.js +4 -25
  562. package/dist/sandbox-runtime.js +1 -88
  563. package/dist/scan.js +0 -27
  564. package/dist/scope.js +4 -567
  565. package/dist/scout-browser-lock.js +0 -6
  566. package/dist/scout-browser.js +2 -68
  567. package/dist/scout-net.js +1 -32
  568. package/dist/scout-report.js +0 -22
  569. package/dist/scout.js +1 -116
  570. package/dist/secret-mint.js +0 -6
  571. package/dist/serve.js +21 -555
  572. package/dist/server/agents-computers.js +0 -10
  573. package/dist/server/agents-live-filed.js +0 -13
  574. package/dist/server/agents-live-lead.js +0 -19
  575. package/dist/server/agents-live-room.js +0 -19
  576. package/dist/server/chat.js +2 -194
  577. package/dist/server/chrome.js +17 -263
  578. package/dist/server/console.css +4 -4
  579. package/dist/server/edge-refusal.js +0 -3
  580. package/dist/server/flows.js +5 -74
  581. package/dist/server/guards.js +1 -88
  582. package/dist/server/handler-registry.js +0 -2
  583. package/dist/server/home-asks.js +1 -22
  584. package/dist/server/home.js +1 -30
  585. package/dist/server/http.js +0 -82
  586. package/dist/server/in-place.js +0 -15
  587. package/dist/server/kit-standalone.js +0 -20
  588. package/dist/server/kit.js +2 -114
  589. package/dist/server/last-checks.js +0 -2
  590. package/dist/server/live.js +1 -36
  591. package/dist/server/merge-ready-view.js +0 -6
  592. package/dist/server/mutation-key.js +3 -40
  593. package/dist/server/pages-assets.js +0 -16
  594. package/dist/server/pages.js +7 -195
  595. package/dist/server/people-tokens.js +3 -101
  596. package/dist/server/remote-hooks.js +0 -13
  597. package/dist/server/remote.js +0 -28
  598. package/dist/server/render-chat.js +8 -144
  599. package/dist/server/render-code-map.js +0 -5
  600. package/dist/server/render-flaky.js +0 -8
  601. package/dist/server/render-follow-through.js +2 -5
  602. package/dist/server/render-history.js +2 -34
  603. package/dist/server/render-new-task.js +2 -29
  604. package/dist/server/render-pages.js +1 -111
  605. package/dist/server/render-people.js +2 -46
  606. package/dist/server/render-projects.js +15 -32
  607. package/dist/server/render-release.js +1 -14
  608. package/dist/server/render-results.js +4 -355
  609. package/dist/server/render-settings.js +0 -15
  610. package/dist/server/render-tasks.js +13 -493
  611. package/dist/server/request-context.js +2 -9
  612. package/dist/server/retired-routes.js +0 -11
  613. package/dist/server/route-policy.js +0 -3
  614. package/dist/server/route-table.js +6 -135
  615. package/dist/server/runtime.js +0 -1
  616. package/dist/server/session.js +0 -28
  617. package/dist/server/settings.js +40 -246
  618. package/dist/server/signup-gate.js +0 -11
  619. package/dist/server/sweeps.js +0 -6
  620. package/dist/server/task-views.js +9 -227
  621. package/dist/server/tasks.js +5 -539
  622. package/dist/server/terminals.js +2 -46
  623. package/dist/server/welcome.js +2 -22
  624. package/dist/server-telemetry.js +0 -9
  625. package/dist/settings-groups-ui.js +50 -63
  626. package/dist/settings-kit-script.js +0 -19
  627. package/dist/settings-kit.js +0 -63
  628. package/dist/settings-proofs.js +0 -23
  629. package/dist/setup-guide.js +1 -9
  630. package/dist/shared-deps.js +9 -84
  631. package/dist/sign-in-guard.js +0 -27
  632. package/dist/skills-ui.js +0 -2
  633. package/dist/skills.js +2 -54
  634. package/dist/slack-api.js +0 -3
  635. package/dist/slack-chat.js +0 -25
  636. package/dist/slack-settings.js +0 -1
  637. package/dist/slack-socket.js +0 -5
  638. package/dist/slack.js +0 -4
  639. package/dist/sleep.js +0 -1
  640. package/dist/source-key.js +0 -10
  641. package/dist/spend-report.js +0 -29
  642. package/dist/spend-ui.js +0 -26
  643. package/dist/spend.js +0 -40
  644. package/dist/sqlite-runtime.js +0 -2
  645. package/dist/sqlite-telemetry.js +0 -9
  646. package/dist/sso-settings.js +0 -13
  647. package/dist/sso-ui.js +0 -2
  648. package/dist/staged-runtimes.js +5 -39
  649. package/dist/steer-capabilities.js +1 -7
  650. package/dist/steer-controls.js +0 -10
  651. package/dist/steer-live.js +0 -31
  652. package/dist/steer-mailbox.js +4 -65
  653. package/dist/steer-status.js +0 -7
  654. package/dist/stop-proof.js +5 -62
  655. package/dist/storage-sweep-child.js +1 -5
  656. package/dist/storage-sweep-process.js +2 -20
  657. package/dist/storage-sweep-schedule.js +0 -32
  658. package/dist/storage-sweep.js +2 -51
  659. package/dist/storage-ui.js +0 -18
  660. package/dist/storage.js +0 -31
  661. package/dist/store-baseline.js +0 -14
  662. package/dist/store.js +109 -4763
  663. package/dist/stream-scope.js +0 -16
  664. package/dist/structured-output.js +0 -39
  665. package/dist/style-asset.js +0 -2
  666. package/dist/subagent-admin.js +0 -9
  667. package/dist/subagent-desk.js +0 -29
  668. package/dist/subagent-memory.js +0 -38
  669. package/dist/subagent-question.js +0 -29
  670. package/dist/subagent-tools.js +1 -60
  671. package/dist/subagent-week.js +0 -28
  672. package/dist/subagent-work.js +1 -39
  673. package/dist/subagents-ui.js +1 -13
  674. package/dist/subagents.js +0 -40
  675. package/dist/subscription-chat.js +1 -42
  676. package/dist/summary.js +0 -19
  677. package/dist/surface.js +0 -75
  678. package/dist/sweep-gate.js +0 -2
  679. package/dist/sweep-quarantine.js +2 -13
  680. package/dist/sync.js +0 -47
  681. package/dist/tailnet.js +0 -9
  682. package/dist/tamper-scan.js +0 -15
  683. package/dist/task-activity.js +1 -16
  684. package/dist/task-aliases.js +0 -3
  685. package/dist/task-archive.js +0 -7
  686. package/dist/task-base.js +0 -18
  687. package/dist/task-composer.js +0 -2
  688. package/dist/task-control.js +0 -74
  689. package/dist/task-live.js +0 -23
  690. package/dist/task-moves.js +0 -28
  691. package/dist/task-outcome-cli.js +17 -28
  692. package/dist/task-review-brief.js +0 -7
  693. package/dist/task-sizing.js +0 -47
  694. package/dist/task-source.js +0 -23
  695. package/dist/task-status.js +0 -106
  696. package/dist/task-text.js +0 -12
  697. package/dist/team-chat-authorization.js +0 -3
  698. package/dist/team-contract.js +0 -2
  699. package/dist/team-http.js +0 -4
  700. package/dist/team-leads.js +1 -16
  701. package/dist/team-runtime.js +0 -13
  702. package/dist/team-ui.js +0 -1
  703. package/dist/team-updates.js +0 -4
  704. package/dist/teams-api.js +0 -12
  705. package/dist/teams-chat.js +0 -28
  706. package/dist/teams.js +0 -12
  707. package/dist/teardown-git.js +6 -294
  708. package/dist/telegram-flow.js +0 -51
  709. package/dist/telegram-lead.js +2 -203
  710. package/dist/telegram-live.js +1 -42
  711. package/dist/telegram-progress.js +0 -18
  712. package/dist/telegram-settings.js +0 -7
  713. package/dist/telegram-status.js +0 -46
  714. package/dist/telegram-team.js +1 -33
  715. package/dist/telegram.js +6 -454
  716. package/dist/templates.js +0 -24
  717. package/dist/terminal-catalog.js +2 -20
  718. package/dist/terminal-text.js +0 -12
  719. package/dist/test-infra.js +0 -50
  720. package/dist/test-temp.js +3 -26
  721. package/dist/text-limits.js +0 -92
  722. package/dist/tidy.js +0 -76
  723. package/dist/tier-report.js +0 -2
  724. package/dist/token-notices.js +1 -9
  725. package/dist/tokens-cli.js +0 -13
  726. package/dist/tool-broker.js +2 -53
  727. package/dist/tool-launcher.js +0 -14
  728. package/dist/tool-secret-store.js +3 -125
  729. package/dist/toolroll-update-cli.js +0 -9
  730. package/dist/toolroll-update-ui.js +0 -14
  731. package/dist/toolroll-update.js +13 -252
  732. package/dist/tools-ui.js +0 -17
  733. package/dist/transitions-recipes.js +0 -2
  734. package/dist/tree-proof.js +0 -23
  735. package/dist/tui-contract.js +0 -8
  736. package/dist/tui-source.js +16 -36
  737. package/dist/tui.js +1 -1
  738. package/dist/typed-start.js +0 -27
  739. package/dist/unfenced-test-support.js +0 -5
  740. package/dist/up-processes.js +1 -40
  741. package/dist/up-role-child.js +1 -13
  742. package/dist/update-notice.js +0 -1
  743. package/dist/vanished-retry.js +0 -40
  744. package/dist/verification-evidence.js +0 -39
  745. package/dist/version.js +0 -1
  746. package/dist/wake-hub.js +0 -28
  747. package/dist/webhook-limits.js +0 -7
  748. package/dist/webhook-readers.js +0 -30
  749. package/dist/webhook-signing.js +0 -14
  750. package/dist/webhooks.js +0 -54
  751. package/dist/welcome-facts.js +2 -14
  752. package/dist/when-html.js +0 -27
  753. package/dist/work-index.js +26 -98
  754. package/dist/work-summary.js +2 -17
  755. package/dist/workspace-motion.js +0 -2
  756. package/dist/workspace-revision.js +1 -21
  757. package/dist/workspace-ui.js +15 -135
  758. package/dist/worktree-notices.js +0 -3
  759. package/dist/worktree.js +0 -308
  760. package/dist/writes-mode.js +0 -1
  761. package/dist/youiyoux-intake.js +4 -159
  762. package/package.json +4 -3
  763. package/dist/accent-colors.d.ts +0 -51
  764. package/dist/acp-agents.d.ts +0 -43
  765. package/dist/acp-attest.d.ts +0 -44
  766. package/dist/acp-check.d.ts +0 -37
  767. package/dist/acp-client.d.ts +0 -163
  768. package/dist/acp-inspect.d.ts +0 -23
  769. package/dist/action-ledger.d.ts +0 -27
  770. package/dist/activity-line.d.ts +0 -29
  771. package/dist/actor.d.ts +0 -11
  772. package/dist/agent-board.d.ts +0 -229
  773. package/dist/agent-fence.d.ts +0 -479
  774. package/dist/agent-onboard.d.ts +0 -158
  775. package/dist/agent-pulse.d.ts +0 -43
  776. package/dist/agent-state-words.d.ts +0 -19
  777. package/dist/agent-state.d.ts +0 -65
  778. package/dist/agent-turns.d.ts +0 -52
  779. package/dist/agentconfig.d.ts +0 -191
  780. package/dist/agents-board.d.ts +0 -145
  781. package/dist/agents-live.d.ts +0 -31
  782. package/dist/api-tokens.d.ts +0 -80
  783. package/dist/approval-authority.d.ts +0 -51
  784. package/dist/approval-password.d.ts +0 -31
  785. package/dist/approval-policy.d.ts +0 -69
  786. package/dist/approval-rules-ui.d.ts +0 -40
  787. package/dist/assignment-adapters.d.ts +0 -152
  788. package/dist/assignment-brief.d.ts +0 -83
  789. package/dist/assignment-delivery.d.ts +0 -86
  790. package/dist/assignment-presentation.d.ts +0 -37
  791. package/dist/assignment-status.d.ts +0 -71
  792. package/dist/assignment-ui.d.ts +0 -68
  793. package/dist/assignment.d.ts +0 -350
  794. package/dist/attest.d.ts +0 -59
  795. package/dist/audit-cli.d.ts +0 -17
  796. package/dist/backend.d.ts +0 -97
  797. package/dist/backup-ui.d.ts +0 -32
  798. package/dist/backup.d.ts +0 -92
  799. package/dist/batch-checks.d.ts +0 -15
  800. package/dist/batch-policy.d.ts +0 -23
  801. package/dist/beads.d.ts +0 -34
  802. package/dist/bin.d.ts +0 -2
  803. package/dist/board.d.ts +0 -134
  804. package/dist/boot-identity.d.ts +0 -64
  805. package/dist/bounded-spawn.d.ts +0 -57
  806. package/dist/brand-icons.d.ts +0 -168
  807. package/dist/brand-mark.d.ts +0 -28
  808. package/dist/brief-fence.d.ts +0 -9
  809. package/dist/browser-crew.d.ts +0 -12
  810. package/dist/browser-shell.d.ts +0 -9
  811. package/dist/browser-workspace.d.ts +0 -1985
  812. package/dist/budget-alerts.d.ts +0 -19
  813. package/dist/build-review.d.ts +0 -38
  814. package/dist/builder-restart.d.ts +0 -21
  815. package/dist/builder.d.ts +0 -409
  816. package/dist/canonical-json.d.ts +0 -14
  817. package/dist/capscan.d.ts +0 -35
  818. package/dist/card-catalog.d.ts +0 -209
  819. package/dist/card-cli.d.ts +0 -43
  820. package/dist/card-render.d.ts +0 -43
  821. package/dist/card-sources.d.ts +0 -68
  822. package/dist/chat-acceptance.d.ts +0 -74
  823. package/dist/chat-actions.d.ts +0 -460
  824. package/dist/chat-admission.d.ts +0 -19
  825. package/dist/chat-approval.d.ts +0 -58
  826. package/dist/chat-ask.d.ts +0 -32
  827. package/dist/chat-card-part.d.ts +0 -11
  828. package/dist/chat-card.d.ts +0 -46
  829. package/dist/chat-channel.d.ts +0 -126
  830. package/dist/chat-continuity.d.ts +0 -32
  831. package/dist/chat-controls.d.ts +0 -117
  832. package/dist/chat-core.d.ts +0 -177
  833. package/dist/chat-decide.d.ts +0 -269
  834. package/dist/chat-delivery-state.d.ts +0 -132
  835. package/dist/chat-delivery.d.ts +0 -71
  836. package/dist/chat-display.d.ts +0 -1
  837. package/dist/chat-evidence.d.ts +0 -123
  838. package/dist/chat-flow.d.ts +0 -70
  839. package/dist/chat-follow.d.ts +0 -20
  840. package/dist/chat-inbox.d.ts +0 -57
  841. package/dist/chat-live-schema.d.ts +0 -17
  842. package/dist/chat-live.d.ts +0 -161
  843. package/dist/chat-message-states.d.ts +0 -75
  844. package/dist/chat-messages.d.ts +0 -338
  845. package/dist/chat-migration.d.ts +0 -30
  846. package/dist/chat-polish.d.ts +0 -17
  847. package/dist/chat-quiet.d.ts +0 -40
  848. package/dist/chat-review.d.ts +0 -51
  849. package/dist/chat-rooms.d.ts +0 -123
  850. package/dist/chat-settings-page.d.ts +0 -43
  851. package/dist/chat-task-actions.d.ts +0 -59
  852. package/dist/chat-terms.d.ts +0 -29
  853. package/dist/chat-voice.d.ts +0 -69
  854. package/dist/chat-warmth.d.ts +0 -21
  855. package/dist/check-access.d.ts +0 -54
  856. package/dist/check-facts.d.ts +0 -126
  857. package/dist/check-failure.d.ts +0 -113
  858. package/dist/check-levels-ui.d.ts +0 -36
  859. package/dist/check-levels.d.ts +0 -70
  860. package/dist/check-load.d.ts +0 -85
  861. package/dist/check-only-standing.d.ts +0 -36
  862. package/dist/check-only.d.ts +0 -15
  863. package/dist/check-progress.d.ts +0 -78
  864. package/dist/check-repair.d.ts +0 -47
  865. package/dist/check-report.d.ts +0 -177
  866. package/dist/check-stamp.d.ts +0 -46
  867. package/dist/checkout-cleanup.d.ts +0 -157
  868. package/dist/checkout-proof.d.ts +0 -28
  869. package/dist/child-database.d.ts +0 -12
  870. package/dist/claim.d.ts +0 -627
  871. package/dist/claude-print.d.ts +0 -12
  872. package/dist/cli-fast.d.ts +0 -8
  873. package/dist/cli-help.d.ts +0 -8
  874. package/dist/cli-http.d.ts +0 -58
  875. package/dist/cli.d.ts +0 -149
  876. package/dist/code-extract.d.ts +0 -44
  877. package/dist/code-map-acts.d.ts +0 -24
  878. package/dist/code-map-admission.d.ts +0 -52
  879. package/dist/code-map-build.d.ts +0 -63
  880. package/dist/code-map-cli.d.ts +0 -153
  881. package/dist/code-map-main.d.ts +0 -1
  882. package/dist/code-map-read.d.ts +0 -106
  883. package/dist/code-map-report.d.ts +0 -37
  884. package/dist/code-map-shape.d.ts +0 -172
  885. package/dist/code-map-store.d.ts +0 -136
  886. package/dist/codex-limits.d.ts +0 -15
  887. package/dist/coding-context.d.ts +0 -18
  888. package/dist/coding-handoff.d.ts +0 -39
  889. package/dist/coding-provider.d.ts +0 -88
  890. package/dist/coding-shipping-ui.d.ts +0 -5
  891. package/dist/coding-types.d.ts +0 -16
  892. package/dist/coding-ui.d.ts +0 -19
  893. package/dist/coding-update.d.ts +0 -28
  894. package/dist/coding-workspace.d.ts +0 -141
  895. package/dist/commit-extract.d.ts +0 -135
  896. package/dist/connect-cli.d.ts +0 -34
  897. package/dist/console-chrome.d.ts +0 -41
  898. package/dist/console-instance.d.ts +0 -157
  899. package/dist/container-state.d.ts +0 -5
  900. package/dist/containment.d.ts +0 -205
  901. package/dist/contract-changes.d.ts +0 -52
  902. package/dist/contracts/acceptance-terms.d.ts +0 -14
  903. package/dist/contracts/chat-actions.d.ts +0 -465
  904. package/dist/contracts/chat-callback-rows.d.ts +0 -59
  905. package/dist/contracts/chat-card.d.ts +0 -91
  906. package/dist/contracts/chat-content.d.ts +0 -551
  907. package/dist/contracts/chat-tables.d.ts +0 -12
  908. package/dist/contracts/cli.d.ts +0 -987
  909. package/dist/contracts/coding-activity.d.ts +0 -64
  910. package/dist/contracts/coding-context.d.ts +0 -97
  911. package/dist/contracts/coding-handoff.d.ts +0 -44
  912. package/dist/contracts/coding-workspace.d.ts +0 -165
  913. package/dist/contracts/console-api.d.ts +0 -540
  914. package/dist/contracts/contract-test.d.ts +0 -45
  915. package/dist/contracts/contract.d.ts +0 -92
  916. package/dist/contracts/decision.d.ts +0 -45
  917. package/dist/contracts/diff-stat.d.ts +0 -58
  918. package/dist/contracts/discord-callback.d.ts +0 -45
  919. package/dist/contracts/flow-card.d.ts +0 -53
  920. package/dist/contracts/flow-propose.d.ts +0 -334
  921. package/dist/contracts/flow-send.d.ts +0 -245
  922. package/dist/contracts/flow.d.ts +0 -19565
  923. package/dist/contracts/gateway-tools.d.ts +0 -472
  924. package/dist/contracts/handoff.d.ts +0 -91
  925. package/dist/contracts/health.d.ts +0 -82
  926. package/dist/contracts/integration-metadata.d.ts +0 -100
  927. package/dist/contracts/lead-context.d.ts +0 -165
  928. package/dist/contracts/lead-tools.d.ts +0 -2312
  929. package/dist/contracts/mcp-oauth.d.ts +0 -53
  930. package/dist/contracts/memory-pass.d.ts +0 -157
  931. package/dist/contracts/model-catalog.d.ts +0 -21
  932. package/dist/contracts/observation-request.d.ts +0 -37
  933. package/dist/contracts/plan.d.ts +0 -58
  934. package/dist/contracts/project-knowledge.d.ts +0 -159
  935. package/dist/contracts/project-memory.d.ts +0 -119
  936. package/dist/contracts/project-skills.d.ts +0 -120
  937. package/dist/contracts/proof.d.ts +0 -136
  938. package/dist/contracts/provider.d.ts +0 -40
  939. package/dist/contracts/recipes.d.ts +0 -166
  940. package/dist/contracts/release-check.d.ts +0 -371
  941. package/dist/contracts/release-terms.d.ts +0 -107
  942. package/dist/contracts/retention.d.ts +0 -42
  943. package/dist/contracts/review-findings.d.ts +0 -46
  944. package/dist/contracts/route-results.d.ts +0 -121
  945. package/dist/contracts/route.d.ts +0 -897
  946. package/dist/contracts/scope.d.ts +0 -105
  947. package/dist/contracts/scout-report.d.ts +0 -234
  948. package/dist/contracts/slack-callback.d.ts +0 -43
  949. package/dist/contracts/sort-answer.d.ts +0 -83
  950. package/dist/contracts/stage-output.d.ts +0 -127
  951. package/dist/contracts/storage.d.ts +0 -37
  952. package/dist/contracts/store-json.d.ts +0 -313
  953. package/dist/contracts/subagent-turn.d.ts +0 -43
  954. package/dist/contracts/task-sizing.d.ts +0 -24
  955. package/dist/contracts/teams-callback.d.ts +0 -13
  956. package/dist/contracts/telegram-callback.d.ts +0 -120
  957. package/dist/contracts/trigger-payloads.d.ts +0 -389
  958. package/dist/contracts/update-journal.d.ts +0 -254
  959. package/dist/contracts/verification-receipt.d.ts +0 -200
  960. package/dist/contracts/verification-view.d.ts +0 -102
  961. package/dist/contracts/youiyoux-request.d.ts +0 -248
  962. package/dist/control-setup.d.ts +0 -44
  963. package/dist/control-ui.d.ts +0 -37
  964. package/dist/controller-service.d.ts +0 -1
  965. package/dist/controller-supervisor.d.ts +0 -38
  966. package/dist/converse.d.ts +0 -316
  967. package/dist/coordinator-proposals.d.ts +0 -29
  968. package/dist/coordinator.d.ts +0 -186
  969. package/dist/credentials-ui.d.ts +0 -33
  970. package/dist/daemon.d.ts +0 -226
  971. package/dist/database-reclaim.d.ts +0 -4
  972. package/dist/decision.d.ts +0 -119
  973. package/dist/demo-chat.d.ts +0 -32
  974. package/dist/demo.d.ts +0 -153
  975. package/dist/deploy-gate.d.ts +0 -20
  976. package/dist/deploy-lock.d.ts +0 -8
  977. package/dist/deploy-phase.d.ts +0 -37
  978. package/dist/deploy-rescue.d.ts +0 -42
  979. package/dist/deprecations.d.ts +0 -20
  980. package/dist/design/kit.d.ts +0 -216
  981. package/dist/desktop-access.d.ts +0 -28
  982. package/dist/desktop-bundle.d.ts +0 -16
  983. package/dist/desktop-host.d.ts +0 -54
  984. package/dist/desktop-update-gate.d.ts +0 -12
  985. package/dist/desktop-update-recovery.d.ts +0 -14
  986. package/dist/desktop-update.d.ts +0 -147
  987. package/dist/digest-times.d.ts +0 -3
  988. package/dist/disclosure.d.ts +0 -6
  989. package/dist/discord-api.d.ts +0 -24
  990. package/dist/discord-chat.d.ts +0 -27
  991. package/dist/discord-settings.d.ts +0 -4
  992. package/dist/discord.d.ts +0 -10
  993. package/dist/discover.d.ts +0 -75
  994. package/dist/dispatch.d.ts +0 -123
  995. package/dist/dispose.d.ts +0 -194
  996. package/dist/doctor.d.ts +0 -67
  997. package/dist/easy-start-args.d.ts +0 -13
  998. package/dist/easy-start.d.ts +0 -77
  999. package/dist/egress.d.ts +0 -121
  1000. package/dist/email-settings.d.ts +0 -34
  1001. package/dist/envelope.d.ts +0 -47
  1002. package/dist/eval-gate.d.ts +0 -51
  1003. package/dist/eval-hooks.d.ts +0 -94
  1004. package/dist/eval-oracle-main.d.ts +0 -1
  1005. package/dist/eval-oracle.d.ts +0 -60
  1006. package/dist/eval-world.d.ts +0 -17
  1007. package/dist/evals.d.ts +0 -299
  1008. package/dist/evidence-pack.d.ts +0 -186
  1009. package/dist/evidence-pair.d.ts +0 -53
  1010. package/dist/evidence.d.ts +0 -371
  1011. package/dist/exec.d.ts +0 -355
  1012. package/dist/exhaustion.d.ts +0 -58
  1013. package/dist/export-ui.d.ts +0 -11
  1014. package/dist/export.d.ts +0 -48
  1015. package/dist/failing-first.d.ts +0 -31
  1016. package/dist/fallback-schema.d.ts +0 -8
  1017. package/dist/fallback.d.ts +0 -138
  1018. package/dist/fast-start.d.ts +0 -213
  1019. package/dist/fast-terms.d.ts +0 -9
  1020. package/dist/fenced-check-coverage.d.ts +0 -62
  1021. package/dist/findings.d.ts +0 -224
  1022. package/dist/first-run.d.ts +0 -197
  1023. package/dist/first-tasks-child.d.ts +0 -1
  1024. package/dist/flaky-ci.d.ts +0 -31
  1025. package/dist/flaky-cli.d.ts +0 -60
  1026. package/dist/flaky.d.ts +0 -83
  1027. package/dist/fleet-schema.d.ts +0 -17
  1028. package/dist/flow-actions.d.ts +0 -79
  1029. package/dist/flow-browser.d.ts +0 -103
  1030. package/dist/flow-cadence.d.ts +0 -48
  1031. package/dist/flow-card-task.d.ts +0 -11
  1032. package/dist/flow-changed.d.ts +0 -14
  1033. package/dist/flow-code.d.ts +0 -84
  1034. package/dist/flow-draft.d.ts +0 -42
  1035. package/dist/flow-engine.d.ts +0 -82
  1036. package/dist/flow-gallery-ui.d.ts +0 -73
  1037. package/dist/flow-gallery.d.ts +0 -147
  1038. package/dist/flow-insights.d.ts +0 -104
  1039. package/dist/flow-items.d.ts +0 -37
  1040. package/dist/flow-live.d.ts +0 -16
  1041. package/dist/flow-people.d.ts +0 -23
  1042. package/dist/flow-pull-request.d.ts +0 -14
  1043. package/dist/flow-replies.d.ts +0 -48
  1044. package/dist/flow-result-card.d.ts +0 -22
  1045. package/dist/flow-schedule.d.ts +0 -154
  1046. package/dist/flow-scripts.d.ts +0 -31
  1047. package/dist/flow-secrets.d.ts +0 -13
  1048. package/dist/flow-send.d.ts +0 -54
  1049. package/dist/flow-share.d.ts +0 -78
  1050. package/dist/flow-sort.d.ts +0 -63
  1051. package/dist/flow-starters-ui.d.ts +0 -15
  1052. package/dist/flow-starters.d.ts +0 -63
  1053. package/dist/flow-steps.d.ts +0 -52
  1054. package/dist/flow-triggers.d.ts +0 -303
  1055. package/dist/flow-unattended-words.d.ts +0 -48
  1056. package/dist/flow-unattended.d.ts +0 -259
  1057. package/dist/flows-cli.d.ts +0 -358
  1058. package/dist/flows-ui.d.ts +0 -70
  1059. package/dist/flows.d.ts +0 -136
  1060. package/dist/folder-gate.d.ts +0 -32
  1061. package/dist/folder-look.d.ts +0 -110
  1062. package/dist/follow-through-brief.d.ts +0 -12
  1063. package/dist/follow-through-cli.d.ts +0 -23
  1064. package/dist/fonts.d.ts +0 -19
  1065. package/dist/gaps.d.ts +0 -35
  1066. package/dist/gate-failure.d.ts +0 -40
  1067. package/dist/git-floor.d.ts +0 -16
  1068. package/dist/git-incident.d.ts +0 -65
  1069. package/dist/git-views.d.ts +0 -20
  1070. package/dist/git.d.ts +0 -54
  1071. package/dist/github-import.d.ts +0 -62
  1072. package/dist/github-jobs.d.ts +0 -25
  1073. package/dist/google-mail.d.ts +0 -59
  1074. package/dist/grant.d.ts +0 -136
  1075. package/dist/graph.d.ts +0 -164
  1076. package/dist/guides.d.ts +0 -22
  1077. package/dist/handover-note.d.ts +0 -33
  1078. package/dist/health-cli.d.ts +0 -3
  1079. package/dist/home-groups.d.ts +0 -39
  1080. package/dist/html.d.ts +0 -85
  1081. package/dist/install-method.d.ts +0 -17
  1082. package/dist/integrations-ui.d.ts +0 -17
  1083. package/dist/integrations.d.ts +0 -138
  1084. package/dist/invoke.d.ts +0 -228
  1085. package/dist/is-record.d.ts +0 -2
  1086. package/dist/issues.d.ts +0 -41
  1087. package/dist/jsonl-discriminants.d.ts +0 -11
  1088. package/dist/keymap.d.ts +0 -43
  1089. package/dist/keys.d.ts +0 -108
  1090. package/dist/kits-ui.d.ts +0 -16
  1091. package/dist/kits.d.ts +0 -88
  1092. package/dist/knowledge-cli.d.ts +0 -132
  1093. package/dist/knowledge-ui.d.ts +0 -45
  1094. package/dist/landed-cleanup.d.ts +0 -175
  1095. package/dist/laptop-background.d.ts +0 -187
  1096. package/dist/laptop-service.d.ts +0 -111
  1097. package/dist/latency-timeline.d.ts +0 -46
  1098. package/dist/lead-about.d.ts +0 -35
  1099. package/dist/lead-answer-eval.d.ts +0 -93
  1100. package/dist/lead-capabilities.d.ts +0 -57
  1101. package/dist/lead-cli-live.d.ts +0 -56
  1102. package/dist/lead-cli.d.ts +0 -58
  1103. package/dist/lead-commitments.d.ts +0 -84
  1104. package/dist/lead-context.d.ts +0 -45
  1105. package/dist/lead-contract.d.ts +0 -10
  1106. package/dist/lead-doors.d.ts +0 -122
  1107. package/dist/lead-follow.d.ts +0 -26
  1108. package/dist/lead-identity.d.ts +0 -23
  1109. package/dist/lead-latency-schema.d.ts +0 -24
  1110. package/dist/lead-people.d.ts +0 -55
  1111. package/dist/lead-progress.d.ts +0 -67
  1112. package/dist/lead-queue-runtime.d.ts +0 -46
  1113. package/dist/lead-queue.d.ts +0 -104
  1114. package/dist/lead-route.d.ts +0 -56
  1115. package/dist/lead-status.d.ts +0 -116
  1116. package/dist/lead-sweep.d.ts +0 -67
  1117. package/dist/lead-tools.d.ts +0 -167
  1118. package/dist/lead-voice.d.ts +0 -85
  1119. package/dist/lead.d.ts +0 -142
  1120. package/dist/learning-child.d.ts +0 -1
  1121. package/dist/learning-look.d.ts +0 -25
  1122. package/dist/ledger-chain.d.ts +0 -46
  1123. package/dist/ledger-csv.d.ts +0 -4
  1124. package/dist/ledger-view.d.ts +0 -27
  1125. package/dist/lesson-notes.d.ts +0 -81
  1126. package/dist/limits-ui.d.ts +0 -34
  1127. package/dist/link.d.ts +0 -72
  1128. package/dist/live-backup.d.ts +0 -39
  1129. package/dist/live-bus.d.ts +0 -141
  1130. package/dist/live-children-read.d.ts +0 -52
  1131. package/dist/live-children.d.ts +0 -73
  1132. package/dist/live-detail.d.ts +0 -27
  1133. package/dist/live-input.d.ts +0 -68
  1134. package/dist/live-main-read.d.ts +0 -19
  1135. package/dist/live-notes.d.ts +0 -20
  1136. package/dist/live-open.d.ts +0 -28
  1137. package/dist/live-records.d.ts +0 -149
  1138. package/dist/live-reply.d.ts +0 -83
  1139. package/dist/live-terminal.d.ts +0 -273
  1140. package/dist/live.d.ts +0 -152
  1141. package/dist/local-owner-acts.d.ts +0 -83
  1142. package/dist/local-owner.d.ts +0 -135
  1143. package/dist/log.d.ts +0 -7
  1144. package/dist/login-secrets.d.ts +0 -60
  1145. package/dist/machine-check.d.ts +0 -16
  1146. package/dist/machine-identity.d.ts +0 -75
  1147. package/dist/mailbox.d.ts +0 -57
  1148. package/dist/maintenance.d.ts +0 -13
  1149. package/dist/mcp-connect.d.ts +0 -181
  1150. package/dist/mcp-core.d.ts +0 -110
  1151. package/dist/mcp-http.d.ts +0 -32
  1152. package/dist/mcp-oauth.d.ts +0 -92
  1153. package/dist/mcp-person.d.ts +0 -22
  1154. package/dist/mcp.d.ts +0 -20
  1155. package/dist/memory-cli.d.ts +0 -768
  1156. package/dist/memory-pass.d.ts +0 -151
  1157. package/dist/memory-tidy.d.ts +0 -181
  1158. package/dist/memory-use.d.ts +0 -35
  1159. package/dist/merge-checklist.d.ts +0 -55
  1160. package/dist/metrics.d.ts +0 -6
  1161. package/dist/mobile-viewport.d.ts +0 -7
  1162. package/dist/model-catalog.d.ts +0 -123
  1163. package/dist/model-choices.d.ts +0 -235
  1164. package/dist/model-names.d.ts +0 -6
  1165. package/dist/models-cli.d.ts +0 -307
  1166. package/dist/models-ui.d.ts +0 -161
  1167. package/dist/modes.d.ts +0 -99
  1168. package/dist/monitoring-settings.d.ts +0 -44
  1169. package/dist/monitoring-ui.d.ts +0 -23
  1170. package/dist/monitoring.d.ts +0 -34
  1171. package/dist/names.d.ts +0 -67
  1172. package/dist/needs-you.d.ts +0 -164
  1173. package/dist/never-index.d.ts +0 -3
  1174. package/dist/nightly-check.d.ts +0 -107
  1175. package/dist/nightly-github.d.ts +0 -318
  1176. package/dist/notification-delivery.d.ts +0 -19
  1177. package/dist/notification-rows.d.ts +0 -30
  1178. package/dist/oauth-run-token.d.ts +0 -51
  1179. package/dist/observations.d.ts +0 -36
  1180. package/dist/oidc.d.ts +0 -71
  1181. package/dist/onboard.d.ts +0 -108
  1182. package/dist/one-step-chat-schema.d.ts +0 -22
  1183. package/dist/openrouter-models.d.ts +0 -34
  1184. package/dist/operate-remote-arguments.d.ts +0 -36
  1185. package/dist/operate-remote.d.ts +0 -98
  1186. package/dist/operate.d.ts +0 -401
  1187. package/dist/orphan-sweep.d.ts +0 -65
  1188. package/dist/page-work-contract.d.ts +0 -21
  1189. package/dist/password-bearer.d.ts +0 -25
  1190. package/dist/passwordless.d.ts +0 -23
  1191. package/dist/peek-cli.d.ts +0 -112
  1192. package/dist/peek.d.ts +0 -110
  1193. package/dist/people-audit-ui.d.ts +0 -16
  1194. package/dist/person-proof.d.ts +0 -2
  1195. package/dist/phase-routing.d.ts +0 -401
  1196. package/dist/plain-schema.d.ts +0 -23
  1197. package/dist/plain-words.d.ts +0 -20
  1198. package/dist/plan-auto.d.ts +0 -25
  1199. package/dist/plan-login.d.ts +0 -14
  1200. package/dist/plan.d.ts +0 -188
  1201. package/dist/plane-review.d.ts +0 -54
  1202. package/dist/planner-source.d.ts +0 -225
  1203. package/dist/planner.d.ts +0 -76
  1204. package/dist/policy-ui.d.ts +0 -22
  1205. package/dist/policy.d.ts +0 -92
  1206. package/dist/prepared-evidence.d.ts +0 -17
  1207. package/dist/principal.d.ts +0 -42
  1208. package/dist/probe.d.ts +0 -46
  1209. package/dist/process-custody.d.ts +0 -17
  1210. package/dist/process-liveness.d.ts +0 -13
  1211. package/dist/process-tree.d.ts +0 -39
  1212. package/dist/project-access.d.ts +0 -17
  1213. package/dist/project-activity.d.ts +0 -20
  1214. package/dist/project-admission.d.ts +0 -105
  1215. package/dist/project-cli.d.ts +0 -19
  1216. package/dist/project-concurrency.d.ts +0 -62
  1217. package/dist/project-delete-ui.d.ts +0 -96
  1218. package/dist/project-delete.d.ts +0 -59
  1219. package/dist/project-demo.d.ts +0 -12
  1220. package/dist/project-file.d.ts +0 -3
  1221. package/dist/project-identity.d.ts +0 -52
  1222. package/dist/project-knowledge.d.ts +0 -124
  1223. package/dist/project-learning.d.ts +0 -120
  1224. package/dist/project-memory.d.ts +0 -70
  1225. package/dist/project-outcomes.d.ts +0 -119
  1226. package/dist/project-sandbox.d.ts +0 -59
  1227. package/dist/project-skills.d.ts +0 -139
  1228. package/dist/project-tools.d.ts +0 -318
  1229. package/dist/project.d.ts +0 -65
  1230. package/dist/prompt.d.ts +0 -33
  1231. package/dist/proof.d.ts +0 -457
  1232. package/dist/proposal.d.ts +0 -70
  1233. package/dist/protected-storage-look.d.ts +0 -1
  1234. package/dist/protected-storage.d.ts +0 -98
  1235. package/dist/provider-auth.d.ts +0 -143
  1236. package/dist/provider-capture.d.ts +0 -34
  1237. package/dist/provider-connection.d.ts +0 -23
  1238. package/dist/provider-home.d.ts +0 -22
  1239. package/dist/provider-limits.d.ts +0 -37
  1240. package/dist/provider.d.ts +0 -369
  1241. package/dist/public-access.d.ts +0 -61
  1242. package/dist/public-check.d.ts +0 -37
  1243. package/dist/publish.d.ts +0 -146
  1244. package/dist/pull-request-flow.d.ts +0 -189
  1245. package/dist/pull-request-schema.d.ts +0 -5
  1246. package/dist/pull-request-ui.d.ts +0 -25
  1247. package/dist/pulls.d.ts +0 -121
  1248. package/dist/push.d.ts +0 -120
  1249. package/dist/quality.d.ts +0 -8
  1250. package/dist/quick-start.d.ts +0 -26
  1251. package/dist/read-executor-worker.d.ts +0 -1
  1252. package/dist/read-executor.d.ts +0 -66
  1253. package/dist/read-only-request.d.ts +0 -4
  1254. package/dist/recipe-ui.d.ts +0 -21
  1255. package/dist/recipes.d.ts +0 -56
  1256. package/dist/release-adapters.d.ts +0 -205
  1257. package/dist/release-approval.d.ts +0 -180
  1258. package/dist/release-authority.d.ts +0 -173
  1259. package/dist/release-auto.d.ts +0 -184
  1260. package/dist/release-card.d.ts +0 -170
  1261. package/dist/release-carry.d.ts +0 -261
  1262. package/dist/release-ci-hold.d.ts +0 -41
  1263. package/dist/release-cli.d.ts +0 -34
  1264. package/dist/release-coverage.d.ts +0 -16
  1265. package/dist/release-gate.d.ts +0 -84
  1266. package/dist/release-git.d.ts +0 -43
  1267. package/dist/release-links.d.ts +0 -29
  1268. package/dist/release-net.d.ts +0 -90
  1269. package/dist/release-next.d.ts +0 -48
  1270. package/dist/release-recheck.d.ts +0 -146
  1271. package/dist/release-refusal.d.ts +0 -32
  1272. package/dist/release-view.d.ts +0 -37
  1273. package/dist/release.d.ts +0 -806
  1274. package/dist/releases.d.ts +0 -94
  1275. package/dist/remote-audit.d.ts +0 -79
  1276. package/dist/remote-command.d.ts +0 -45
  1277. package/dist/remote-destination.d.ts +0 -36
  1278. package/dist/remote-exec.d.ts +0 -38
  1279. package/dist/remote-main.d.ts +0 -111
  1280. package/dist/remote-run.d.ts +0 -20
  1281. package/dist/remote.d.ts +0 -67
  1282. package/dist/render.d.ts +0 -64
  1283. package/dist/reply-shape.d.ts +0 -106
  1284. package/dist/reply-voice.d.ts +0 -23
  1285. package/dist/report-summary.d.ts +0 -22
  1286. package/dist/reported-usage.d.ts +0 -69
  1287. package/dist/repos.d.ts +0 -67
  1288. package/dist/repository-context-ui.d.ts +0 -3
  1289. package/dist/repository-context.d.ts +0 -66
  1290. package/dist/request-budget-ui.d.ts +0 -14
  1291. package/dist/request-budget.d.ts +0 -127
  1292. package/dist/restart-certification.d.ts +0 -133
  1293. package/dist/result-actions.d.ts +0 -36
  1294. package/dist/result-acts.d.ts +0 -112
  1295. package/dist/result-completion.d.ts +0 -39
  1296. package/dist/result-evidence-readers.d.ts +0 -42
  1297. package/dist/result-follow-ups.d.ts +0 -118
  1298. package/dist/result-review.d.ts +0 -220
  1299. package/dist/result-shots.d.ts +0 -59
  1300. package/dist/retention-ui.d.ts +0 -21
  1301. package/dist/retention.d.ts +0 -77
  1302. package/dist/review-context.d.ts +0 -245
  1303. package/dist/review-evidence.d.ts +0 -33
  1304. package/dist/review-switch.d.ts +0 -36
  1305. package/dist/reviewer.d.ts +0 -99
  1306. package/dist/route-change-check.d.ts +0 -4
  1307. package/dist/route-change.d.ts +0 -22
  1308. package/dist/route-hooks.d.ts +0 -54
  1309. package/dist/route-results.d.ts +0 -75
  1310. package/dist/route-rules.d.ts +0 -324
  1311. package/dist/route-savings.d.ts +0 -136
  1312. package/dist/route-store.d.ts +0 -300
  1313. package/dist/run-closeout.d.ts +0 -89
  1314. package/dist/run-efficiency.d.ts +0 -74
  1315. package/dist/run-ending.d.ts +0 -21
  1316. package/dist/runner-process.d.ts +0 -76
  1317. package/dist/runner.d.ts +0 -324
  1318. package/dist/sample-project.d.ts +0 -31
  1319. package/dist/sandbox-launch.d.ts +0 -1
  1320. package/dist/sandbox-runtime.d.ts +0 -128
  1321. package/dist/scan.d.ts +0 -32
  1322. package/dist/scope.d.ts +0 -1098
  1323. package/dist/scout-browser-lock.d.ts +0 -69
  1324. package/dist/scout-browser.d.ts +0 -107
  1325. package/dist/scout-net.d.ts +0 -25
  1326. package/dist/scout-report.d.ts +0 -23
  1327. package/dist/scout.d.ts +0 -142
  1328. package/dist/secret-mint.d.ts +0 -1
  1329. package/dist/serve.d.ts +0 -11
  1330. package/dist/server/agents-computers.d.ts +0 -9
  1331. package/dist/server/agents-live-filed.d.ts +0 -17
  1332. package/dist/server/agents-live-lead.d.ts +0 -47
  1333. package/dist/server/agents-live-room.d.ts +0 -23
  1334. package/dist/server/chat.d.ts +0 -39
  1335. package/dist/server/chrome.d.ts +0 -328
  1336. package/dist/server/edge-refusal.d.ts +0 -7
  1337. package/dist/server/flows.d.ts +0 -8
  1338. package/dist/server/guards.d.ts +0 -81
  1339. package/dist/server/handler-context.d.ts +0 -22
  1340. package/dist/server/handler-registry.d.ts +0 -23
  1341. package/dist/server/home-asks.d.ts +0 -45
  1342. package/dist/server/home.d.ts +0 -65
  1343. package/dist/server/http.d.ts +0 -337
  1344. package/dist/server/in-place.d.ts +0 -15
  1345. package/dist/server/kit-standalone.d.ts +0 -22
  1346. package/dist/server/kit.d.ts +0 -452
  1347. package/dist/server/last-checks.d.ts +0 -17
  1348. package/dist/server/live.d.ts +0 -74
  1349. package/dist/server/merge-ready-view.d.ts +0 -10
  1350. package/dist/server/mutation-key.d.ts +0 -70
  1351. package/dist/server/pages-assets.d.ts +0 -11
  1352. package/dist/server/pages.d.ts +0 -8
  1353. package/dist/server/people-tokens.d.ts +0 -18
  1354. package/dist/server/remote-hooks.d.ts +0 -29
  1355. package/dist/server/remote.d.ts +0 -60
  1356. package/dist/server/render-chat.d.ts +0 -439
  1357. package/dist/server/render-code-map.d.ts +0 -30
  1358. package/dist/server/render-flaky.d.ts +0 -20
  1359. package/dist/server/render-follow-through.d.ts +0 -11
  1360. package/dist/server/render-history.d.ts +0 -51
  1361. package/dist/server/render-new-task.d.ts +0 -54
  1362. package/dist/server/render-pages.d.ts +0 -236
  1363. package/dist/server/render-people.d.ts +0 -102
  1364. package/dist/server/render-projects.d.ts +0 -104
  1365. package/dist/server/render-release.d.ts +0 -19
  1366. package/dist/server/render-results.d.ts +0 -758
  1367. package/dist/server/render-settings.d.ts +0 -93
  1368. package/dist/server/render-tasks.d.ts +0 -783
  1369. package/dist/server/request-context.d.ts +0 -78
  1370. package/dist/server/retired-routes.d.ts +0 -17
  1371. package/dist/server/route-policy.d.ts +0 -18
  1372. package/dist/server/route-table.d.ts +0 -114
  1373. package/dist/server/runtime.d.ts +0 -343
  1374. package/dist/server/session.d.ts +0 -192
  1375. package/dist/server/settings.d.ts +0 -76
  1376. package/dist/server/signup-gate.d.ts +0 -9
  1377. package/dist/server/sweeps.d.ts +0 -4
  1378. package/dist/server/task-views.d.ts +0 -98
  1379. package/dist/server/tasks.d.ts +0 -108
  1380. package/dist/server/terminals.d.ts +0 -31
  1381. package/dist/server/welcome.d.ts +0 -28
  1382. package/dist/server-telemetry.d.ts +0 -87
  1383. package/dist/settings-groups-ui.d.ts +0 -286
  1384. package/dist/settings-kit-script.d.ts +0 -21
  1385. package/dist/settings-kit.d.ts +0 -173
  1386. package/dist/settings-proofs.d.ts +0 -64
  1387. package/dist/setup-guide.d.ts +0 -39
  1388. package/dist/shared-deps.d.ts +0 -115
  1389. package/dist/sign-in-guard.d.ts +0 -70
  1390. package/dist/skills-ui.d.ts +0 -12
  1391. package/dist/skills.d.ts +0 -99
  1392. package/dist/slack-api.d.ts +0 -59
  1393. package/dist/slack-chat.d.ts +0 -37
  1394. package/dist/slack-settings.d.ts +0 -4
  1395. package/dist/slack-socket.d.ts +0 -12
  1396. package/dist/slack.d.ts +0 -6
  1397. package/dist/sleep.d.ts +0 -2
  1398. package/dist/source-key.d.ts +0 -2
  1399. package/dist/spend-report.d.ts +0 -87
  1400. package/dist/spend-ui.d.ts +0 -80
  1401. package/dist/spend.d.ts +0 -142
  1402. package/dist/sqlite-runtime.d.ts +0 -3
  1403. package/dist/sqlite-telemetry.d.ts +0 -9
  1404. package/dist/sso-settings.d.ts +0 -33
  1405. package/dist/sso-ui.d.ts +0 -26
  1406. package/dist/staged-runtimes.d.ts +0 -54
  1407. package/dist/steer-capabilities.d.ts +0 -32
  1408. package/dist/steer-controls.d.ts +0 -14
  1409. package/dist/steer-live.d.ts +0 -19
  1410. package/dist/steer-mailbox.d.ts +0 -46
  1411. package/dist/steer-status.d.ts +0 -25
  1412. package/dist/stop-proof.d.ts +0 -67
  1413. package/dist/storage-sweep-child.d.ts +0 -1
  1414. package/dist/storage-sweep-process.d.ts +0 -55
  1415. package/dist/storage-sweep-schedule.d.ts +0 -30
  1416. package/dist/storage-sweep.d.ts +0 -77
  1417. package/dist/storage-ui.d.ts +0 -23
  1418. package/dist/storage.d.ts +0 -68
  1419. package/dist/store-baseline.d.ts +0 -19
  1420. package/dist/store.d.ts +0 -8613
  1421. package/dist/stream-scope.d.ts +0 -18
  1422. package/dist/structured-output.d.ts +0 -57
  1423. package/dist/style-asset.d.ts +0 -7
  1424. package/dist/subagent-admin.d.ts +0 -53
  1425. package/dist/subagent-desk.d.ts +0 -59
  1426. package/dist/subagent-memory.d.ts +0 -65
  1427. package/dist/subagent-question.d.ts +0 -59
  1428. package/dist/subagent-tools.d.ts +0 -125
  1429. package/dist/subagent-week.d.ts +0 -68
  1430. package/dist/subagent-work.d.ts +0 -76
  1431. package/dist/subagents-ui.d.ts +0 -22
  1432. package/dist/subagents.d.ts +0 -146
  1433. package/dist/subscription-chat.d.ts +0 -54
  1434. package/dist/summary.d.ts +0 -33
  1435. package/dist/surface.d.ts +0 -49
  1436. package/dist/sweep-gate.d.ts +0 -10
  1437. package/dist/sweep-quarantine.d.ts +0 -29
  1438. package/dist/sync.d.ts +0 -94
  1439. package/dist/tailnet.d.ts +0 -11
  1440. package/dist/tamper-scan.d.ts +0 -4
  1441. package/dist/task-activity.d.ts +0 -27
  1442. package/dist/task-aliases.d.ts +0 -5
  1443. package/dist/task-archive.d.ts +0 -13
  1444. package/dist/task-base.d.ts +0 -39
  1445. package/dist/task-composer.d.ts +0 -14
  1446. package/dist/task-control.d.ts +0 -159
  1447. package/dist/task-live.d.ts +0 -8
  1448. package/dist/task-moves.d.ts +0 -90
  1449. package/dist/task-outcome-cli.d.ts +0 -48
  1450. package/dist/task-review-brief.d.ts +0 -69
  1451. package/dist/task-sizing.d.ts +0 -58
  1452. package/dist/task-source.d.ts +0 -77
  1453. package/dist/task-status.d.ts +0 -324
  1454. package/dist/task-text.d.ts +0 -31
  1455. package/dist/team-chat-authorization.d.ts +0 -11
  1456. package/dist/team-contract.d.ts +0 -103
  1457. package/dist/team-http.d.ts +0 -25
  1458. package/dist/team-leads.d.ts +0 -85
  1459. package/dist/team-runtime.d.ts +0 -25
  1460. package/dist/team-ui.d.ts +0 -4
  1461. package/dist/team-updates.d.ts +0 -8
  1462. package/dist/teams-api.d.ts +0 -33
  1463. package/dist/teams-chat.d.ts +0 -36
  1464. package/dist/teams-settings.d.ts +0 -14
  1465. package/dist/teams.d.ts +0 -24
  1466. package/dist/teardown-git.d.ts +0 -164
  1467. package/dist/telegram-flow.d.ts +0 -112
  1468. package/dist/telegram-lead.d.ts +0 -151
  1469. package/dist/telegram-live.d.ts +0 -116
  1470. package/dist/telegram-progress.d.ts +0 -20
  1471. package/dist/telegram-settings.d.ts +0 -9
  1472. package/dist/telegram-status.d.ts +0 -83
  1473. package/dist/telegram-team.d.ts +0 -68
  1474. package/dist/telegram.d.ts +0 -271
  1475. package/dist/templates.d.ts +0 -69
  1476. package/dist/terminal-catalog.d.ts +0 -11
  1477. package/dist/terminal-text.d.ts +0 -11
  1478. package/dist/test-infra.d.ts +0 -34
  1479. package/dist/test-temp.d.ts +0 -40
  1480. package/dist/text-limits.d.ts +0 -297
  1481. package/dist/tidy.d.ts +0 -130
  1482. package/dist/tier-report.d.ts +0 -44
  1483. package/dist/token-notices.d.ts +0 -11
  1484. package/dist/tokens-cli.d.ts +0 -21
  1485. package/dist/tool-broker.d.ts +0 -52
  1486. package/dist/tool-launcher.d.ts +0 -1
  1487. package/dist/tool-secret-store.d.ts +0 -167
  1488. package/dist/toolroll-update-cli.d.ts +0 -15
  1489. package/dist/toolroll-update-ui.d.ts +0 -47
  1490. package/dist/toolroll-update.d.ts +0 -265
  1491. package/dist/tools-ui.d.ts +0 -51
  1492. package/dist/transitions-recipes.d.ts +0 -1
  1493. package/dist/tree-proof.d.ts +0 -34
  1494. package/dist/tui-contract.d.ts +0 -202
  1495. package/dist/tui-source.d.ts +0 -14
  1496. package/dist/typed-start.d.ts +0 -51
  1497. package/dist/unfenced-test-support.d.ts +0 -2
  1498. package/dist/up-processes.d.ts +0 -162
  1499. package/dist/up-role-child.d.ts +0 -1
  1500. package/dist/update-notice.d.ts +0 -5
  1501. package/dist/vanished-retry.d.ts +0 -30
  1502. package/dist/verification-evidence.d.ts +0 -68
  1503. package/dist/version.d.ts +0 -2
  1504. package/dist/wake-hub.d.ts +0 -72
  1505. package/dist/webhook-limits.d.ts +0 -23
  1506. package/dist/webhook-readers.d.ts +0 -56
  1507. package/dist/webhook-signing.d.ts +0 -27
  1508. package/dist/webhooks.d.ts +0 -84
  1509. package/dist/welcome-facts.d.ts +0 -18
  1510. package/dist/when-html.d.ts +0 -40
  1511. package/dist/work-index.d.ts +0 -175
  1512. package/dist/work-summary.d.ts +0 -61
  1513. package/dist/workspace-motion.d.ts +0 -4
  1514. package/dist/workspace-revision.d.ts +0 -48
  1515. package/dist/workspace-ui.d.ts +0 -385
  1516. package/dist/worktree-notices.d.ts +0 -13
  1517. package/dist/worktree.d.ts +0 -365
  1518. package/dist/writes-mode.d.ts +0 -9
  1519. package/dist/youiyoux-intake.d.ts +0 -234
package/dist/exec.js CHANGED
@@ -1,11 +1,3 @@
1
- /**
2
- * Running external commands.
3
- *
4
- * Two rules define this module. Arguments are passed as an array and never
5
- * through a shell, so a directory named `; rm -rf ~` is a string and not a
6
- * command. And nothing here rejects: a failed command is a value. Discovery
7
- * walks repos it has never seen, and one broken repo must not end the scan.
8
- */
9
1
  import { ACP_LINE_CAP, createAcpConversation } from "./acp-client.js";
10
2
  import { linuxFenceAvailable, macosFenceAvailable, sandboxedSpawn } from "./agent-fence.js";
11
3
  import { withoutProtectedEnv } from "./protected-storage.js";
@@ -17,15 +9,9 @@ import { createContainer, currentContainment } from "./containment.js";
17
9
  import { claudeLimitsOf, noteLimits } from "./provider-limits.js";
18
10
  import { sleep as defaultSleep } from "./sleep.js";
19
11
  import { primaryResultEvent, topLevelEvent } from "./stream-scope.js";
20
- /** Shell convention for "could not be executed": the refusal before any target ran. */
21
12
  export const CONTAINMENT_REFUSED_CODE = 126;
22
- /** Live provider children, for the deterministic stop. Registered only when `processGroup` was set. */
23
13
  const liveProviders = new Set();
24
- /** Children this process's own hard stop ended: their results say so (`stoppedByPlane`). */
25
14
  const hardStopped = new WeakSet();
26
- /** Live children by owner tag (v52): the exact-attempt stop's handle. A
27
- * child is registered here beside liveProviders when its options named an
28
- * owner, and dropped the moment it closes. */
29
15
  const ownedChildren = new Map();
30
16
  function registerOwned(owner, child) {
31
17
  if (owner === undefined)
@@ -45,22 +31,12 @@ function registerOwned(owner, child) {
45
31
  ownedChildren.delete(owner);
46
32
  });
47
33
  }
48
- /** The native OS object behind a live child, when it has one. */
49
34
  const containers = new WeakMap();
50
- /** Thrown BEFORE any spawn when required containment cannot be had. */
51
35
  export class ContainmentRefusal extends Error {
52
36
  name = "ContainmentRefusal";
53
37
  }
54
- /**
55
- * The command as it runs inside the agent fence (Anthropic's sandbox-runtime wrapping it: agent-fence.ts
56
- * sandboxedSpawn), with the environment that needs beside the caller's, or as it is when it has no fence. A spawn whose
57
- * confinement is required and that no sandbox here can wrap is refused (ContainmentRefusal): nothing runs, and nothing
58
- * falls back to running it unwrapped.
59
- */
60
38
  export function confined(file, args, bag) {
61
39
  const fence = bag.fence ?? [];
62
- // A fence is only ever made by fenceFor (agent-fence.ts), which marks it required: one without the mark was put
63
- // together some other way, and would run bare wherever no OS fence applies. Nothing runs.
64
40
  if (fence.length > 0 && bag.confinement !== "required")
65
41
  throw new ContainmentRefusal("This process was given a fence that isn't marked required, so it was not started.");
66
42
  if (fence.length > 0 && (macosFenceAvailable() || linuxFenceAvailable())) {
@@ -78,15 +54,11 @@ export function confined(file, args, bag) {
78
54
  }
79
55
  return { file, args: [...args], env: {} };
80
56
  }
81
- /** A spawn's environment with what its sandbox needs added (nothing added: the caller's, as it was). */
82
57
  export function withSandboxEnv(env, added, fenced = false) {
83
- // A fenced launch never gets a chat or vault variable (protected-storage.ts), whoever made its environment.
84
58
  if (fenced)
85
59
  return withoutProtectedEnv({ ...(env ?? process.env), ...added });
86
60
  return Object.keys(added).length === 0 ? env : { ...(env ?? process.env), ...added };
87
61
  }
88
- /** A spawn callback refused custody AFTER the child existed: the caller
89
- * must reap exactly this child before answering. */
90
62
  class SpawnCustodyFailure extends Error {
91
63
  child;
92
64
  reason;
@@ -97,37 +69,22 @@ class SpawnCustodyFailure extends Error {
97
69
  this.reason = reason;
98
70
  }
99
71
  }
100
- /** The child a failed spawn road left behind, if any. */
101
72
  function rejectedChild(error, child) {
102
73
  return error instanceof SpawnCustodyFailure ? error.child : child;
103
74
  }
104
- /**
105
- * The ONE spawn road for containable children (buffered and streaming
106
- * transports): consult the pinned policy, make this spawn's OS
107
- * object, spawn the target INSIDE it, and register the object beside the
108
- * handle. Under observed containment this is exactly the old spawn. A
109
- * required policy that cannot be met throws ContainmentRefusal here —
110
- * nothing has been spawned, so the caller's reap is a no-op and its
111
- * result says `refused` in the policy's words.
112
- */
113
75
  function spawnContained(file, args, spawnOptions, label, bag, contain = true) {
114
- // The agent fence wraps the target itself (sandbox-exec then execs it, same pid).
115
76
  const sandboxed = confined(file, args, { ...bag, cwd: spawnOptions.cwd, temp: spawnOptions.env?.["TMPDIR"] });
116
77
  ({ file, args } = sandboxed);
117
78
  spawnOptions = { ...spawnOptions, env: withSandboxEnv(spawnOptions.env, sandboxed.env, (bag.fence?.length ?? 0) > 0) };
118
- // The policy refusal comes first: nothing is reserved, recorded or
119
- // spawned for a spawn that cannot be contained as required.
120
79
  const effective = contain ? currentContainment() : null;
121
80
  if (effective !== null && effective.refusal !== null)
122
81
  throw new ContainmentRefusal(effective.refusal);
123
82
  if (bag.beforeSpawn?.() === false)
124
83
  throw new Error("the attempt stopped before this process could spawn");
125
- // From here a witness may be reserved: every road that makes no process
126
- // says so through onSpawnFailed before it returns or throws.
127
84
  const neverStarted = () => { try {
128
85
  bag.onSpawnFailed?.();
129
86
  }
130
- catch { /* the reservation stays unproven */ } };
87
+ catch { } };
131
88
  let made;
132
89
  try {
133
90
  made = effective === null ? { container: null } : createContainer(effective, label);
@@ -171,7 +128,6 @@ function spawnContained(file, args, spawnOptions, label, bag, contain = true) {
171
128
  });
172
129
  }
173
130
  catch (error) {
174
- // The OS spawn itself threw: this invocation made no target process.
175
131
  try {
176
132
  if (container !== null)
177
133
  bag.onContainerEmpty?.();
@@ -183,8 +139,6 @@ function spawnContained(file, args, spawnOptions, label, bag, contain = true) {
183
139
  }
184
140
  if (container !== null) {
185
141
  containers.set(child, container);
186
- // A descendant may keep stdout/stderr open after the root exits. Begin
187
- // cleanup at root exit; waiting for `close` would wait for that descendant.
188
142
  child.once("exit", () => {
189
143
  void settleContainer(container, bag).then(empty => {
190
144
  if (!empty) {
@@ -200,9 +154,6 @@ function spawnContained(file, args, spawnOptions, label, bag, contain = true) {
200
154
  bag.onSpawn?.(child.pid);
201
155
  }
202
156
  else if (container === null) {
203
- // No pid: the OS refused the spawn (ENOENT, EACCES) and only an
204
- // 'error' event follows. A contained spawn settles once its object is
205
- // proven empty, and its transport's return finishes the witness.
206
157
  neverStarted();
207
158
  }
208
159
  }
@@ -212,13 +163,6 @@ function spawnContained(file, args, spawnOptions, label, bag, contain = true) {
212
163
  const attached = launch === null || child.pid === undefined ? Promise.resolve({ ok: true }) : launch.attach(child);
213
164
  return { child, container, attached };
214
165
  }
215
- /**
216
- * The settlement every containable transport runs at the root's exit:
217
- * members that outlived the root (a setsid'd helper, a double fork) are
218
- * killed and the OS asked for its empty state, bounded. The answer is
219
- * the proof the custody record keeps — `false` leaves the record
220
- * unproven and every stop/resume fence closed.
221
- */
222
166
  const containerSettlements = new WeakMap();
223
167
  function settleContainer(container, bag, timeoutMs = 5_000) {
224
168
  const existing = containerSettlements.get(container);
@@ -244,16 +188,14 @@ async function finishContainer(container, bag, timeoutMs) {
244
188
  bag.onUnknown?.();
245
189
  }
246
190
  catch {
247
- // Custody that cannot be written stays unproven; the fences hold.
248
191
  empty = false;
249
192
  }
250
193
  try {
251
194
  container.release();
252
195
  }
253
- catch { /* proof already determines the result */ }
196
+ catch { }
254
197
  return empty;
255
198
  }
256
- /** The result's containment field for a spawn that ran inside an object. */
257
199
  function containmentOf(container, empty, attachFailure) {
258
200
  if (attachFailure !== null)
259
201
  return { containment: { refused: attachFailure } };
@@ -261,11 +203,9 @@ function containmentOf(container, empty, attachFailure) {
261
203
  return {};
262
204
  return { containment: { backend: container.backend, id: container.id, empty } };
263
205
  }
264
- /** The streaming transports' spawn: contained when the spawn is a provider (process group), plain otherwise. */
265
206
  function spawnStream(file, args, options, stdio, childEnv) {
266
207
  return spawnContained(file, args, { cwd: options.cwd, env: childEnv, stdio, detached: options.processGroup === true && process.platform !== "win32" }, options.owner ?? "stream", { beforeSpawn: options.beforeSpawn, onSpawn: options.onSpawn, onSpawnFailed: options.onSpawnFailed, onContainer: options.onContainer, onContainerEmpty: options.onContainerEmpty, onUnknown: options.onUnknown, fence: options.fence, fenceGrants: options.fenceGrants, confinement: options.confinement }, options.processGroup === true);
267
208
  }
268
- /** The refusal-before-spawn shape shared by every containable transport. */
269
209
  function refusedResult(error) {
270
210
  if (error instanceof ContainmentRefusal) {
271
211
  return { code: CONTAINMENT_REFUSED_CODE, stdout: "", stderr: error.message, timedOut: false, notFound: false, containment: { refused: error.message } };
@@ -274,8 +214,6 @@ function refusedResult(error) {
274
214
  }
275
215
  const databaseOwners = new WeakMap();
276
216
  let memoryDatabaseOwner = 0;
277
- /** Run IDs are local to a database. Connections to the same file share
278
- * custody; separate files and separate in-memory databases never do. */
279
217
  export function runOwnerTag(store, runId) {
280
218
  let owner = databaseOwners.get(store.handle);
281
219
  if (owner === undefined) {
@@ -286,19 +224,9 @@ export function runOwnerTag(store, runId) {
286
224
  }
287
225
  return JSON.stringify([owner, runId]);
288
226
  }
289
- /** How many live children this process still tracks under an owner tag. */
290
- // Zero is local to this process registry. Recovery must also inspect durable
291
- // witnesses and its authenticated OS census; this count is not an absence proof.
292
227
  export function ownedProcessCount(owner) {
293
228
  return ownedChildren.get(owner)?.size ?? 0;
294
229
  }
295
- /**
296
- * The exact-attempt stop (v52): SIGKILL the process group of every live
297
- * child registered under the owner tag — and only those. Returns how many
298
- * were signalled. Idempotent: a child already gone was dropped at close,
299
- * and a tag nobody registered kills nothing. This is the ONLY kill road a
300
- * task action may take; the global sweep below is the watch's shutdown.
301
- */
302
230
  export function terminateOwnedProcesses(owner) {
303
231
  const owned = ownedChildren.get(owner);
304
232
  if (owned === undefined)
@@ -312,22 +240,15 @@ export function terminateOwnedProcesses(owner) {
312
240
  }
313
241
  return terminated;
314
242
  }
315
- /** SIGKILL the child's whole process group; fall back to the child alone. */
316
243
  function killGroup(child) {
317
244
  const container = containers.get(child);
318
245
  if (container !== undefined) {
319
- // The OS object reaches every member at once — detached helpers
320
- // included — and its empty state is awaited by the transport's
321
- // settlement, never assumed here.
322
246
  void container.kill().catch(() => { });
323
- // The Windows helper is the job's owner and reporter: it terminates the
324
- // job on the order above and answers "empty"; killing it instead would
325
- // close the handle (kill-on-close still ends the job) but lose the proof.
326
247
  if (container.backend !== "job-object") {
327
248
  try {
328
249
  child.kill("SIGKILL");
329
250
  }
330
- catch { /* already gone */ }
251
+ catch { }
331
252
  }
332
253
  return;
333
254
  }
@@ -335,15 +256,10 @@ function killGroup(child) {
335
256
  return;
336
257
  const pid = child.pid;
337
258
  if (pid !== undefined && process.platform === "win32") {
338
- // Windows has no process groups to signal (Codex M5-M8 audit, IV-6):
339
- // taskkill /T walks the tree, so a harness's shell grandchildren die
340
- // with it instead of writing to the worktree after "stopped". Untested
341
- // on physical Windows, like the daemon — stated, not hidden.
342
259
  try {
343
260
  spawn("taskkill", ["/PID", String(pid), "/T", "/F"], { stdio: "ignore", windowsHide: true }).on("error", () => { });
344
261
  }
345
262
  catch {
346
- // taskkill missing or refused — the direct kill below still runs.
347
263
  }
348
264
  }
349
265
  if (pid !== undefined && process.platform !== "win32") {
@@ -352,23 +268,14 @@ function killGroup(child) {
352
268
  return;
353
269
  }
354
270
  catch {
355
- // No group of ours (not detached, or already gone) — fall through.
356
271
  }
357
272
  }
358
273
  try {
359
274
  child.kill("SIGKILL");
360
275
  }
361
276
  catch {
362
- // Already gone.
363
277
  }
364
278
  }
365
- /**
366
- * The hard stop (M6.12): SIGKILL every live provider's process group.
367
- * Called by the watch when its stop grace expires — never on the first
368
- * signal, which stays graceful. Late output cannot commit or publish:
369
- * the killed process exits nonzero, the build finalizes as the failure
370
- * it is, and every commit sits behind fences the corpse cannot pass.
371
- */
372
279
  export function terminateLiveProviders() {
373
280
  let terminated = 0;
374
281
  for (const child of liveProviders) {
@@ -378,16 +285,6 @@ export function terminateLiveProviders() {
378
285
  }
379
286
  return terminated;
380
287
  }
381
- /** The one place a child's environment is decided (audit IV-5). */
382
- /**
383
- * Chat credentials never reach a child process (Codex chat v3 review,
384
- * change 10): ANTHROPIC_API_KEY is the chat key AND would silently flip
385
- * the claude harness from subscription auth to API billing if inherited.
386
- * A caller that genuinely needs it re-supplies it via `env` explicitly.
387
- * (OPENROUTER_API_KEY is not listed: the openrouter BUILD adapter reads
388
- * it from the child env by design, and the agent-facing shell excludes
389
- * it separately via the provider's own config.)
390
- */
391
288
  const CHAT_KEYS_NEVER_INHERITED = ["ANTHROPIC_API_KEY"];
392
289
  function resolveChildEnv(options) {
393
290
  const { env, omitEnv, envAllowlist } = options;
@@ -416,13 +313,8 @@ function resolveChildEnv(options) {
416
313
  }
417
314
  return merged;
418
315
  }
419
- /** Conventions from the shell and from coreutils `timeout(1)`. */
420
316
  export const NOT_FOUND_CODE = 127;
421
317
  export const TIMEOUT_CODE = 124;
422
- /** Output too large to hold. Not a timeout, and must not be reported as one. */
423
- /** A spawn callback records custody after the child exists. If that write
424
- * fails, stop and reap the owned child before reporting failure; otherwise
425
- * an unrecorded provider could keep writing after its caller retries. */
426
318
  function reapRejectedSpawn(child, group) {
427
319
  if (child === undefined)
428
320
  return Promise.resolve();
@@ -446,24 +338,14 @@ function reapRejectedSpawn(child, group) {
446
338
  try {
447
339
  child.kill("SIGKILL");
448
340
  }
449
- catch { /* The child must still exit before failure is returned. */ }
341
+ catch { }
450
342
  }
451
343
  });
452
344
  }
453
345
  export const OVERFLOW_CODE = 125;
454
346
  export const DEFAULT_TIMEOUT_MS = 15_000;
455
347
  export const DEFAULT_MAX_BUFFER = 8 * 1024 * 1024;
456
- /**
457
- * A streaming process may run for hours while it is making observable
458
- * progress. This controller keeps the ordinary hard timeout available for
459
- * bounded work, while allowing provider callers to choose an activity-based
460
- * watchdog with no wall-clock deadline. Both roads share the same kill and
461
- * settlement semantics.
462
- */
463
- function streamWatchdog(options, onTimeout,
464
- /** The idle limit was reached: true when the caller ended the wait its own way (a paused live session closes
465
- * stdin), so the same limit runs again for the process to exit before it is killed. */
466
- onIdle) {
348
+ function streamWatchdog(options, onTimeout, onIdle) {
467
349
  const hardMs = options.timeoutMs ?? (options.idleTimeoutMs === undefined ? DEFAULT_TIMEOUT_MS : undefined);
468
350
  const idleMs = options.idleTimeoutMs;
469
351
  let fired = false;
@@ -512,25 +394,11 @@ onIdle) {
512
394
  };
513
395
  }
514
396
  const MAX_BUFFER_ERROR = "ERR_CHILD_PROCESS_STDIO_MAXBUFFER";
515
- /**
516
- * A spawn the OS refused for the moment — no free process slot or file
517
- * descriptor (a loaded machine, a fork storm from a parallel test suite) —
518
- * is not the command failing: the command never ran. Left as an exit 1, a
519
- * `git symbolic-ref` that never started reads as "no branch checked out"
520
- * and an unattended pass refuses on a lie. So the two buffered transports
521
- * retry EXACTLY this class, bounded, before answering.
522
- */
523
397
  const TRANSIENT_SPAWN_CODES = new Set(["EAGAIN", "EMFILE", "ENFILE"]);
524
398
  export const SPAWN_RETRY_DELAYS_MS = [50, 100, 200, 400, 800];
525
399
  export function isTransientSpawnFailure(error) {
526
400
  return error !== null && error !== undefined && typeof error.code === "string" && TRANSIENT_SPAWN_CODES.has(error.code);
527
401
  }
528
- /**
529
- * Retry `attempt` while it reports a transient spawn failure, sleeping the
530
- * given delays between tries; the last answer stands when they run out.
531
- * A non-transient answer — success, a real exit code, not found, timeout —
532
- * is returned at once: only the never-started case is retried.
533
- */
534
402
  export async function retryTransientSpawn(attempt, delays = SPAWN_RETRY_DELAYS_MS, sleep = defaultSleep) {
535
403
  let last = await attempt();
536
404
  for (const delay of delays) {
@@ -544,8 +412,6 @@ export async function retryTransientSpawn(attempt, delays = SPAWN_RETRY_DELAYS_M
544
412
  export function run(file, args, options = {}) {
545
413
  const { cwd, timeoutMs = DEFAULT_TIMEOUT_MS, maxBuffer = DEFAULT_MAX_BUFFER } = options;
546
414
  const childEnv = resolveChildEnv(options);
547
- // A provider run needs its own process group; execFile cannot give one,
548
- // so the buffered path detours through spawn with identical semantics.
549
415
  if (options.processGroup === true) {
550
416
  return retryTransientSpawn(() => runBufferedGroup(file, args, {
551
417
  timeoutMs,
@@ -572,8 +438,6 @@ export function run(file, args, options = {}) {
572
438
  ...(options.onContainerEmpty === undefined ? {} : { onContainerEmpty: options.onContainerEmpty }),
573
439
  }));
574
440
  }
575
- // The plain road wraps exactly as the process-group road does: a fence given here is never dropped, and a spawn
576
- // whose confinement is required and can't be wrapped refuses before anything runs.
577
441
  let wrapped;
578
442
  try {
579
443
  wrapped = confined(file, args, { ...options, cwd, temp: childEnv?.["TMPDIR"] });
@@ -584,8 +448,6 @@ export function run(file, args, options = {}) {
584
448
  return Promise.resolve({ code: CONTAINMENT_REFUSED_CODE, stdout: "", stderr: error.message, timedOut: false, notFound: false, containment: { refused: error.message } });
585
449
  }
586
450
  return retryTransientSpawn(() => new Promise(resolve => {
587
- // execFile's timeout sends SIGTERM and nothing more: a process that survives it (one that ignores or blocks
588
- // it) never exits, and its caller would wait forever. SIGKILL follows a short grace later.
589
451
  let hardKill;
590
452
  const child = execFile(wrapped.file, wrapped.args, {
591
453
  cwd,
@@ -611,19 +473,12 @@ export function run(file, args, options = {}) {
611
473
  hardKill = setTimeout(() => { try {
612
474
  child.kill("SIGKILL");
613
475
  }
614
- catch { /* gone */ } }, timeoutMs + TERM_GRACE_MS);
476
+ catch { } }, timeoutMs + TERM_GRACE_MS);
615
477
  hardKill.unref?.();
616
478
  }
617
479
  }));
618
480
  }
619
- /** How long a timed-out plain command has to exit after SIGTERM before it is killed outright. */
620
481
  export const TERM_GRACE_MS = 2_000;
621
- /**
622
- * The buffered transport for process-group providers (claude): spawn
623
- * detached so the harness and everything it launches share one killable
624
- * group, collect output up to the same maxBuffer contract as execFile,
625
- * and register as a live provider for the watch's hard stop.
626
- */
627
482
  function runBufferedGroup(file, args, bag) {
628
483
  return new Promise(resolve => {
629
484
  let child;
@@ -662,7 +517,6 @@ function runBufferedGroup(file, args, bag) {
662
517
  timedOut = true;
663
518
  killGroup(child);
664
519
  }, bag.timeoutMs);
665
- // The caller's deadline, when it owns one: the same group kill as the timer.
666
520
  const aborted = () => {
667
521
  timedOut = true;
668
522
  killGroup(child);
@@ -681,7 +535,7 @@ function runBufferedGroup(file, args, bag) {
681
535
  try {
682
536
  bag.onStdout?.(chunk);
683
537
  }
684
- catch { /* a listener never breaks the run */ }
538
+ catch { }
685
539
  });
686
540
  child.stderr?.setEncoding("utf8");
687
541
  child.stderr?.on("data", (chunk) => {
@@ -690,7 +544,7 @@ function runBufferedGroup(file, args, bag) {
690
544
  try {
691
545
  bag.onStderr?.(chunk);
692
546
  }
693
- catch { /* a listener never breaks the run */ }
547
+ catch { }
694
548
  });
695
549
  let settled = false;
696
550
  let transient = false;
@@ -702,8 +556,6 @@ function runBufferedGroup(file, args, bag) {
702
556
  clearTimeout(timer);
703
557
  bag.signal?.removeEventListener("abort", aborted);
704
558
  liveProviders.delete(child);
705
- // The OS object is settled BEFORE the answer: a root that exited is
706
- // not an empty container until the OS says so.
707
559
  const settlement = container === null ? Promise.resolve(null) : settleContainer(container, bag);
708
560
  void settlement.then(empty => {
709
561
  resolve({
@@ -711,7 +563,6 @@ function runBufferedGroup(file, args, bag) {
711
563
  code: notFound ? NOT_FOUND_CODE : overflowed ? OVERFLOW_CODE : timedOut ? TIMEOUT_CODE : inputFailed ? 1 : attachFailure !== null || empty === false ? CONTAINMENT_REFUSED_CODE : (code ?? 1),
712
564
  stdout,
713
565
  stderr: empty === false ? `${stderr}\nNative process containment could not prove all descendants exited.`.trim() : attachFailure !== null && stderr === "" ? attachFailure : stderr,
714
- // Overflow also killed the child; it is not a timeout and must not read as one.
715
566
  timedOut: timedOut && !overflowed,
716
567
  notFound,
717
568
  ...containmentOf(container, empty, attachFailure),
@@ -740,11 +591,6 @@ function runBufferedGroup(file, args, bag) {
740
591
  }
741
592
  });
742
593
  }
743
- /**
744
- * Turn an execFile error into a result. The order matters: a maxBuffer overflow
745
- * also arrives with `killed: true`, so it has to be recognised before the
746
- * timeout check or a truncated `git log` reads as a hung one.
747
- */
748
594
  function describeFailure(error, stdout, stderr) {
749
595
  const notFound = error.code === "ENOENT";
750
596
  const overflowed = error.code === MAX_BUFFER_ERROR;
@@ -768,57 +614,22 @@ function resolveCode(error, flags) {
768
614
  return TIMEOUT_CODE;
769
615
  return 1;
770
616
  }
771
- /**
772
- * The streaming transport for JSONL-emitting providers.
773
- *
774
- * A long agent session can write far more event stream than any fixed
775
- * buffer should hold, and the lines that matter — the session identity,
776
- * the terminal usage — arrive LAST. Buffering-and-overflowing would kill
777
- * the process at 8 MiB and lose exactly the facts a paid run must not
778
- * lose (Codex provider review, high finding 2). So stdout is consumed
779
- * incrementally and only the load-bearing lines are retained:
780
- *
781
- * - a bounded identity witness for `thread.started` (first usable id,
782
- * first conflicting id, and last event), plus the LAST `turn.completed`
783
- * and `turn.failed` line
784
- * - the LAST `item.completed` line carrying an agent_message
785
- *
786
- * each capped per line; everything else is counted and dropped. The
787
- * result's stdout is the retained lines joined — a synthetic, bounded
788
- * envelope the parser reads exactly like test fixtures.
789
- */
790
617
  const JSONL_LINE_CAP = 64 * 1024;
791
618
  const JSONL_STDERR_CAP = 64 * 1024;
792
- /** Canonical identity at the transport boundary. Never persist or expose
793
- * provider framing whitespace as part of a resumable session id. */
794
619
  function transportSessionId(value) {
795
620
  if (typeof value !== "string")
796
621
  return null;
797
622
  const id = value.trim();
798
623
  return id === "" ? null : id;
799
624
  }
800
- /**
801
- * Provider replies are nested inside their JSONL envelope. A 64 KiB reply
802
- * therefore needs appreciably more than 64 KiB on the wire once quotes,
803
- * backslashes, and control characters are escaped. 512 KiB carries that
804
- * worst useful case while remaining a hard, per-event memory boundary.
805
- */
806
625
  export const JSONL_EVENT_HARD_CAP = 512 * 1024;
807
626
  const JSONL_OVERFLOW_PREFIX_CAP = 4 * 1024;
808
- /**
809
- * Split a byte stream into JSONL records without ever accumulating an
810
- * unbounded partial line. The callback is synchronous so the same fixed
811
- * storage can be reused for the next record. Counting the original bytes
812
- * (rather than JavaScript characters) makes the overflow receipt exact.
813
- */
814
627
  function boundedJsonlFramer(cap, onLine, inspectDiscriminants = false, tailCap = 0) {
815
628
  const retained = Buffer.allocUnsafe(cap);
816
629
  let retainedBytes = 0;
817
630
  let originalBytes = 0;
818
631
  let nonWhitespace = false;
819
632
  let discriminants = inspectDiscriminants ? jsonlDiscriminants() : null;
820
- // An oversized line's last tailCap bytes, kept only once the line passes the cap (Claude's result carries its cost
821
- // after the words that made it too large). Seeded from the retained prefix's end, so it is always the line's true end.
822
633
  const tailSize = Math.max(0, Math.min(tailCap, cap));
823
634
  const tail = tailSize === 0 ? null : Buffer.allocUnsafe(tailSize);
824
635
  let tailBytes = 0;
@@ -853,7 +664,6 @@ function boundedJsonlFramer(cap, onLine, inspectDiscriminants = false, tailCap =
853
664
  if (retainedBytes < cap) {
854
665
  retainedBytes += part.copy(retained, retainedBytes, 0, cap - retainedBytes);
855
666
  }
856
- // The bytes up to the cap are in the prefix; only what runs past it moves the tail.
857
667
  if (tail !== null && originalBytes > cap)
858
668
  keepTail(before >= cap ? part : part.subarray(cap - before));
859
669
  };
@@ -887,8 +697,6 @@ function boundedJsonlFramer(cap, onLine, inspectDiscriminants = false, tailCap =
887
697
  }
888
698
  },
889
699
  finish() {
890
- // Match the old `partial.trim() !== ""` rule: a final unterminated
891
- // whitespace-only record is not an event and needs no receipt.
892
700
  if (originalBytes > 0 && nonWhitespace)
893
701
  emit();
894
702
  },
@@ -904,8 +712,6 @@ function overflowReceiptText(transport, line) {
904
712
  hardCapBytes: JSONL_EVENT_HARD_CAP,
905
713
  prefixBytes: rawPrefix.length,
906
714
  prefix: rawPrefix.toString("utf8"),
907
- // The readable prefix can end halfway through a UTF-8 character. This
908
- // companion is the exact retained byte prefix for forensic evidence.
909
715
  prefixBase64: rawPrefix.toString("base64"),
910
716
  });
911
717
  }
@@ -961,17 +767,10 @@ function geminiMalformedLine(line) {
961
767
  error: { message: malformedReceiptText("gemini", line) },
962
768
  });
963
769
  }
964
- /**
965
- * Read only the leading, top-level `type` discriminant from an incomplete
966
- * JSON object. Provider JSONL dialects put `type` first. Anchoring the match
967
- * means content later in an oversized event can never spoof classification.
968
- */
969
770
  function leadingJsonObjectType(prefix) {
970
771
  const match = /^\s*\{\s*"type"\s*:\s*"([A-Za-z0-9._-]+)"/.exec(prefix.toString("utf8", 0, Math.min(prefix.length, 256)));
971
772
  return match?.[1] ?? null;
972
773
  }
973
- /** Codex emits `item` immediately after the outer type. Only an agent
974
- * message is load-bearing; completed command/tool telemetry is droppable. */
975
774
  function leadingCodexCompletedItemType(prefix) {
976
775
  const match = /^\s*\{\s*"type"\s*:\s*"item\.completed"\s*,\s*"item"\s*:\s*\{\s*"type"\s*:\s*"([A-Za-z0-9._-]+)"/.exec(prefix.toString("utf8", 0, Math.min(prefix.length, 512)));
977
776
  return match?.[1] ?? null;
@@ -980,9 +779,7 @@ function leadingClaudeSystemSubtype(prefix) {
980
779
  const match = /^\s*\{\s*"type"\s*:\s*"system"\s*,\s*"subtype"\s*:\s*"([A-Za-z0-9._-]+)"/.exec(prefix.toString("utf8", 0, Math.min(prefix.length, 512)));
981
780
  return match?.[1] ?? null;
982
781
  }
983
- /** How much of an oversized Claude result's end is kept to read its cost and usage (they follow the words). */
984
782
  const CLAUDE_RESULT_TAIL_CAP = 64 * 1024;
985
- /** Marks a Claude result whose session cost could not be read: the gateway charges the run's dollar cap instead. */
986
783
  export const CLAUDE_COST_UNKNOWN = "standing_orders_cost_unknown";
987
784
  function malformedCodexEventIsLoadBearing(prefix) {
988
785
  const type = leadingJsonObjectType(prefix);
@@ -995,9 +792,6 @@ function malformedCodexEventIsLoadBearing(prefix) {
995
792
  }
996
793
  function malformedGeminiEventIsLoadBearing(prefix) {
997
794
  const type = leadingJsonObjectType(prefix);
998
- // These two records authorize the session and the successful terminal.
999
- // Malformed messages remain diagnostics only; startup prose, tool traffic,
1000
- // and warnings retain the transport's established noise tolerance.
1001
795
  return type === "init" || type === "result";
1002
796
  }
1003
797
  export function runStreamJsonl(file, args, options = {}) {
@@ -1037,9 +831,6 @@ export function runStreamJsonl(file, args, options = {}) {
1037
831
  let inputFailed = false;
1038
832
  const keep = (framed) => {
1039
833
  if (framed.overflowed) {
1040
- // Inspect structural keys across the complete byte stream, including
1041
- // keys AFTER discarded command output. Quoted or nested types cannot
1042
- // spoof these discriminants, and malformed/ambiguous input stays red.
1043
834
  const type = framed.discriminants?.type ?? null;
1044
835
  if (type !== null && !["thread.started", "turn.completed", "turn.failed", "item.completed"].includes(type)) {
1045
836
  return;
@@ -1049,9 +840,6 @@ export function runStreamJsonl(file, args, options = {}) {
1049
840
  if (itemType !== undefined && itemType !== null && ["command_execution", "mcp_tool_call", "web_search", "file_change", "todo_list"].includes(itemType))
1050
841
  return;
1051
842
  }
1052
- // A load-bearing or unclassifiable hard-cap breach is independently
1053
- // retained as failure. Once those bytes were discarded, a later
1054
- // ordinary message must never turn the run green.
1055
843
  if (overflowLine === null)
1056
844
  overflowLine = codexOverflowLine(framed);
1057
845
  return;
@@ -1061,13 +849,9 @@ export function runStreamJsonl(file, args, options = {}) {
1061
849
  const event = JSON.parse(line);
1062
850
  const type = String(event["type"] ?? "");
1063
851
  if (type === "thread.started") {
1064
- // Keep the last init for the existing transport contract and a
1065
- // bounded pair of earlier witnesses so a conflict cannot hide.
1066
852
  startedLine = line;
1067
853
  const id = transportSessionId(event["thread_id"]);
1068
854
  if (id !== null) {
1069
- // Retain only enough events to prove the identity contract:
1070
- // one usable id when the first init was blank, and one conflict.
1071
855
  if (startedSessionId === null) {
1072
856
  startedSessionId = id;
1073
857
  startedIdentityLine = line;
@@ -1080,7 +864,6 @@ export function runStreamJsonl(file, args, options = {}) {
1080
864
  options.onSessionId(id);
1081
865
  }
1082
866
  catch {
1083
- // A registry that cannot be written must not kill the turn.
1084
867
  }
1085
868
  }
1086
869
  }
@@ -1089,8 +872,6 @@ export function runStreamJsonl(file, args, options = {}) {
1089
872
  completedLine = line;
1090
873
  }
1091
874
  else if (type === "turn.failed") {
1092
- // Retain failure independently from completion: seeing either at
1093
- // any point is load-bearing, while one slot per kind stays bounded.
1094
875
  failedLine = line;
1095
876
  }
1096
877
  else if (type === "item.completed") {
@@ -1104,14 +885,10 @@ export function runStreamJsonl(file, args, options = {}) {
1104
885
  options.onStreamEvent(event);
1105
886
  }
1106
887
  catch {
1107
- // Observational only: a broken listener never touches the run.
1108
888
  }
1109
889
  }
1110
890
  }
1111
891
  catch {
1112
- // Startup prose and ordinary malformed telemetry remain ignorable.
1113
- // Once initialization is proven, however, a recognizable control or
1114
- // answer record cannot disappear merely because its JSON was cut.
1115
892
  if (startedLine !== null &&
1116
893
  malformedLine === null &&
1117
894
  malformedCodexEventIsLoadBearing(framed.prefix)) {
@@ -1167,8 +944,6 @@ export function runStreamJsonl(file, args, options = {}) {
1167
944
  ...containmentOf(container, empty, attachFailure),
1168
945
  }));
1169
946
  };
1170
- // A failed spawn fires 'error' and may never fire 'close' — both routes
1171
- // settle, exactly once.
1172
947
  child.on("error", error => {
1173
948
  notFound = error.code === "ENOENT";
1174
949
  if (stderr === "")
@@ -1177,8 +952,6 @@ export function runStreamJsonl(file, args, options = {}) {
1177
952
  });
1178
953
  child.on("close", code => finish(code));
1179
954
  if (options.stdin !== undefined && child.stdin !== null) {
1180
- // Even an exit-0 child cannot prove a review if prompt delivery failed.
1181
- // Handle EPIPE without crashing the supervisor, then wait for close.
1182
955
  child.stdin.on("error", error => {
1183
956
  inputFailed = true;
1184
957
  stderr = `review prompt input failed: ${String(error)}`.slice(0, JSONL_STDERR_CAP);
@@ -1191,27 +964,6 @@ export function runStreamJsonl(file, args, options = {}) {
1191
964
  }
1192
965
  });
1193
966
  }
1194
- /**
1195
- * The streaming transport for gemini's stream-json dialect (Phase 3 D1/A7).
1196
- *
1197
- * Retention: a bounded `init` identity witness (the first init signal, first
1198
- * usable session id, and first conflicting id), the FIRST
1199
- * `severity:"error"` error event (diagnostics),
1200
- * the LAST `result` event (tokens + structural status), and the assistant's
1201
- * text — which gemini emits only as many `message` delta lines — ASSEMBLED
1202
- * into one line of a dedicated internal schema the real CLI cannot emit:
1203
- *
1204
- * {"type":"synthetic_message","content":"...","truncated":true?}
1205
- *
1206
- * Assembly rules (round-3 f9): only `role:"assistant"` events with
1207
- * `delta === true` concatenate; a non-delta assistant message REPLACES the
1208
- * buffer (full-message semantics); non-string content is dropped; the cap
1209
- * is enforced on the SERIALIZED UTF-8 BYTES of the complete synthetic line
1210
- * (marker included), so it can never violate the runner's own line
1211
- * discipline. Everything else — user echoes, tool_use, tool_result,
1212
- * warnings — is dropped. Timeout, process-group, kill, and spawn
1213
- * semantics match `runStreamJsonl`.
1214
- */
1215
967
  export function runGeminiStreamJsonl(file, args, options = {}) {
1216
968
  const childEnv = resolveChildEnv(options);
1217
969
  return new Promise(resolve => {
@@ -1250,9 +1002,6 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1250
1002
  const keep = (framed) => {
1251
1003
  if (framed.overflowed) {
1252
1004
  const type = leadingJsonObjectType(framed.prefix);
1253
- // Tool plumbing is never a terminal or answer. All load-bearing and
1254
- // unknown oversized events latch a terminal protocol failure so a
1255
- // later small success cannot hide discarded provider bytes.
1256
1005
  if (type !== "tool_use" && type !== "tool_result") {
1257
1006
  if (overflowLine === null)
1258
1007
  overflowLine = geminiOverflowLine(framed);
@@ -1270,7 +1019,7 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1270
1019
  malformedGeminiEventIsLoadBearing(framed.prefix)) {
1271
1020
  malformedLine = geminiMalformedLine(framed);
1272
1021
  }
1273
- return; // startup prose and non-load-bearing malformed noise are dropped
1022
+ return;
1274
1023
  }
1275
1024
  if (event === null || typeof event !== "object")
1276
1025
  return;
@@ -1295,13 +1044,12 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1295
1044
  options.onSessionId(id);
1296
1045
  }
1297
1046
  catch {
1298
- // A registry that cannot be written must not kill the turn.
1299
1047
  }
1300
1048
  }
1301
1049
  }
1302
1050
  }
1303
1051
  else if (type === "result") {
1304
- resultLine = line; // last one wins
1052
+ resultLine = line;
1305
1053
  }
1306
1054
  else if (type === "error") {
1307
1055
  if (errorLine === null && String(event["severity"] ?? "") === "error")
@@ -1310,7 +1058,7 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1310
1058
  else if (type === "message" && String(event["role"] ?? "") === "assistant") {
1311
1059
  const content = event["content"];
1312
1060
  if (typeof content !== "string")
1313
- return; // non-string content: dropped
1061
+ return;
1314
1062
  if (event["delta"] === true) {
1315
1063
  if (!messageTruncated) {
1316
1064
  message += content;
@@ -1319,7 +1067,6 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1319
1067
  }
1320
1068
  }
1321
1069
  else {
1322
- // A full (non-delta) assistant message replaces the buffer.
1323
1070
  message = content;
1324
1071
  messageTruncated = Buffer.byteLength(message, "utf8") > JSONL_LINE_CAP;
1325
1072
  }
@@ -1329,7 +1076,6 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1329
1076
  options.onStreamEvent(event);
1330
1077
  }
1331
1078
  catch {
1332
- // Observational only: a broken listener never touches the run.
1333
1079
  }
1334
1080
  }
1335
1081
  };
@@ -1368,12 +1114,8 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1368
1114
  lines.push(syntheticMessageLine(message, messageTruncated));
1369
1115
  if (resultLine !== null)
1370
1116
  lines.push(resultLine);
1371
- // Keep the overflow last: gemini's contract is last-result-wins, and
1372
- // no later small event may erase evidence that a record was discarded.
1373
1117
  if (overflowLine !== null)
1374
1118
  lines.push(overflowLine);
1375
- // A recognizable, malformed terminal is just as conclusive as an
1376
- // oversized one. Keep it last so last-result-wins cannot erase it.
1377
1119
  if (malformedLine !== null)
1378
1120
  lines.push(malformedLine);
1379
1121
  const settlement = container === null ? Promise.resolve(null) : settleContainer(container, options);
@@ -1395,7 +1137,6 @@ export function runGeminiStreamJsonl(file, args, options = {}) {
1395
1137
  child.on("close", code => finish(code));
1396
1138
  });
1397
1139
  }
1398
- /** One process listing: ids, group, state and command name only (never arguments — they can carry a brief). */
1399
1140
  function processRows() {
1400
1141
  try {
1401
1142
  return execFileSync("/bin/ps", ["-axo", "pid=,ppid=,pgid=,stat=,comm="], { encoding: "utf8", timeout: 2_000, maxBuffer: 8 * 1024 * 1024 })
@@ -1408,11 +1149,6 @@ function processRows() {
1408
1149
  return null;
1409
1150
  }
1410
1151
  }
1411
- /**
1412
- * What the agent started and is still running: from `root` (the spawned process — the agent itself, or a fence
1413
- * wrapper around it), down to the agent's own process (the first whose command is the agent's launch, `names`), then
1414
- * every live, non-zombie process beneath it, with its group. The agent itself and any wrapper are never counted.
1415
- */
1416
1152
  function liveUnderAgent(root, names, rootIsWrapper = false) {
1417
1153
  const rows = processRows();
1418
1154
  if (rows === null)
@@ -1422,8 +1158,6 @@ function liveUnderAgent(root, names, rootIsWrapper = false) {
1422
1158
  children.set(row.parent, [...(children.get(row.parent) ?? []), row]);
1423
1159
  const self = rows.find(row => row.pid === root);
1424
1160
  const named = (row) => agentNamed(row, names);
1425
- // The agent: the root when it is the agent (macOS sandbox-exec execs in place), else the first named descendant.
1426
- // On Linux the root is the sandbox launch helper (sandbox-launch.ts, itself node): never taken for the agent.
1427
1161
  let agent = !rootIsWrapper && self !== undefined && named(self) ? root : null;
1428
1162
  const pending = [...(children.get(root) ?? [])];
1429
1163
  while (agent === null && pending.length > 0) {
@@ -1445,7 +1179,6 @@ function liveUnderAgent(root, names, rootIsWrapper = false) {
1445
1179
  }
1446
1180
  return found;
1447
1181
  }
1448
- /** The program a Linux process runs (its /proc exe), or null: elsewhere, or unreadable. */
1449
1182
  function linuxProgramOf(pid) {
1450
1183
  if (process.platform !== "linux")
1451
1184
  return null;
@@ -1456,23 +1189,15 @@ function linuxProgramOf(pid) {
1456
1189
  return null;
1457
1190
  }
1458
1191
  }
1459
- /**
1460
- * Whether a listed process is the agent's launch (`names`): by its listed name, or on Linux by the program it runs,
1461
- * since a listing there shows the main thread's name, which Node 24 sets to "MainThread".
1462
- */
1463
1192
  export function agentNamed(row, names, programOf = linuxProgramOf) {
1464
1193
  if (names.some(name => row.name === name || row.name.endsWith(`/${name}`)))
1465
1194
  return true;
1466
1195
  const program = programOf(row.pid);
1467
1196
  return program !== null && names.includes(program);
1468
1197
  }
1469
- /** How long each shutdown step waits: session/close's answer, then exit after stdin closes, then exit after SIGTERM. */
1470
1198
  export const ACP_SHUTDOWN_MS = { close: 2_000, eof: 5_000, term: 5_000 };
1471
- /** How long each handshake step (initialize, session/new, choosing the model) may take before the agent is stopped. */
1472
1199
  export const ACP_HANDSHAKE_MS = 30_000;
1473
- /** After the agent itself has exited, how long its pipes may stay open (a descendant holding them) before they are closed. */
1474
1200
  const ACP_PIPES_AFTER_EXIT_MS = 5_000;
1475
- /** SIGTERM the child's process group (POSIX) or the child alone; a container's own stop is the forced one, later. */
1476
1201
  function termGroup(child) {
1477
1202
  const pid = child.pid;
1478
1203
  try {
@@ -1482,20 +1207,8 @@ function termGroup(child) {
1482
1207
  child.kill("SIGTERM");
1483
1208
  }
1484
1209
  catch {
1485
- // Already gone.
1486
1210
  }
1487
1211
  }
1488
- /**
1489
- * One ACP build conversation over the agent's stdio (docs/plans/acp-adapter.md § Gateway, runner, custody). The
1490
- * conversation itself is acp-client.ts; this owns the process: the same contained spawn, ownership, descendant
1491
- * observation, container settlement and watchdog every other runner uses, with both clocks at once.
1492
- *
1493
- * After the prompt is answered it shuts the agent down in bounded steps — session/close (when offered), stdin EOF,
1494
- * SIGTERM to the group, then the forced kill — and returns only when the process has settled, so the gateway's
1495
- * witness records the real exit. A protocol failure kills at once. A stop, from the gateway's stop watch, kills at
1496
- * any step. The result's stdout is the conversation's retained record, never the agent's stream; its code is 0 only
1497
- * when the prompt was answered end_turn and the agent then exited cleanly or on our own signal.
1498
- */
1499
1212
  export function runAcpSession(file, args, options = {}) {
1500
1213
  const acp = options.acp;
1501
1214
  if (acp === undefined)
@@ -1522,18 +1235,14 @@ export function runAcpSession(file, args, options = {}) {
1522
1235
  if (options.processGroup === true && container === null)
1523
1236
  observeProcessTree(child, options);
1524
1237
  const conversation = createAcpConversation({ cwd: options.cwd ?? process.cwd(), prompt: acp.prompt, model: acp.model, expect: acp.expect });
1525
- // The agent's own process, as a listing names it: the launched file, or the script a pinned interpreter runs.
1526
1238
  const agentNames = [...new Set([file, ...args.slice(0, 2)].filter(one => one.startsWith("/")).map(one => one.split("/").pop()).filter(one => one !== ""))];
1527
1239
  let stderr = "";
1528
1240
  let timedOut = false;
1529
1241
  let notFound = false;
1530
1242
  let settled = false;
1531
1243
  let shuttingDown = false;
1532
- /** The signals the plane itself sent after the prompt was answered, by its own shutdown ladder: an exit by one of
1533
- * those is clean. A stop or a timeout kills through other roads and never sets these. */
1534
1244
  let termAfterTerminal = false;
1535
1245
  let killAfterTerminal = false;
1536
- /** How the process came to end, for the record: on its own (before or after stdin closed), or by our signal. */
1537
1246
  let endedBy = "self";
1538
1247
  let announced = null;
1539
1248
  const timers = [];
@@ -1545,7 +1254,7 @@ export function runAcpSession(file, args, options = {}) {
1545
1254
  try {
1546
1255
  child.stdin.write(`${one}\n`);
1547
1256
  }
1548
- catch { /* the agent closed its stdin: its exit decides */ }
1257
+ catch { }
1549
1258
  }
1550
1259
  };
1551
1260
  const forceKill = () => {
@@ -1555,7 +1264,6 @@ export function runAcpSession(file, args, options = {}) {
1555
1264
  else
1556
1265
  child.kill("SIGKILL");
1557
1266
  };
1558
- /** Each handshake step has its own deadline, beside the run's clocks. */
1559
1267
  let handshakePhase = null;
1560
1268
  const armHandshake = () => {
1561
1269
  const phase = conversation.phase();
@@ -1585,7 +1293,7 @@ export function runAcpSession(file, args, options = {}) {
1585
1293
  try {
1586
1294
  child.stdin?.end();
1587
1295
  }
1588
- catch { /* gone */ }
1296
+ catch { }
1589
1297
  endedBy = "eof";
1590
1298
  later(ACP_SHUTDOWN_MS.eof, () => {
1591
1299
  if (exited())
@@ -1630,13 +1338,13 @@ export function runAcpSession(file, args, options = {}) {
1630
1338
  try {
1631
1339
  options.onSessionId?.(id);
1632
1340
  }
1633
- catch { /* a registry that cannot be written must not kill the turn */ }
1341
+ catch { }
1634
1342
  }
1635
1343
  for (const update of reaction.live) {
1636
1344
  try {
1637
1345
  options.onStreamEvent?.({ acp: update });
1638
1346
  }
1639
- catch { /* observational only */ }
1347
+ catch { }
1640
1348
  }
1641
1349
  const phase = conversation.phase();
1642
1350
  if (phase === "failed" || phase === "ended")
@@ -1677,10 +1385,7 @@ export function runAcpSession(file, args, options = {}) {
1677
1385
  liveDescendants: () => process.platform === "win32" ? null : exited() || child.pid === undefined ? [] : liveUnderAgent(child.pid, agentNames, child.spawnargs.some(arg => arg.endsWith("sandbox-launch.js"))),
1678
1386
  });
1679
1387
  }
1680
- catch { /* the caller's own failure */ }
1681
- // The moment the agent itself exits, what it left in its own group ends with it — not at "close", which a
1682
- // descendant holding the agent's pipes can postpone forever; and if those pipes are still open shortly after, they
1683
- // are closed, so settlement never waits on a stray. Escaped groups are the custody observer's, as for every runner.
1388
+ catch { }
1684
1389
  let leftover = false;
1685
1390
  child.on("exit", () => {
1686
1391
  if (options.processGroup === true && container === null && child.pid !== undefined && process.platform !== "win32") {
@@ -1694,7 +1399,7 @@ export function runAcpSession(file, args, options = {}) {
1694
1399
  try {
1695
1400
  process.kill(-child.pid, "SIGKILL");
1696
1401
  }
1697
- catch { /* none left */ }
1402
+ catch { }
1698
1403
  }
1699
1404
  later(ACP_PIPES_AFTER_EXIT_MS, () => {
1700
1405
  if (settled)
@@ -1703,32 +1408,26 @@ export function runAcpSession(file, args, options = {}) {
1703
1408
  try {
1704
1409
  pipe?.destroy();
1705
1410
  }
1706
- catch { /* gone */ }
1411
+ catch { }
1707
1412
  }
1708
1413
  });
1709
1414
  });
1710
1415
  const finish = (code, signal) => {
1711
1416
  if (settled)
1712
1417
  return;
1713
- // The last record, even one with no newline after it, is read before anything is decided.
1714
1418
  framing.finish();
1715
1419
  settled = true;
1716
1420
  for (const timer of timers)
1717
1421
  clearTimeout(timer);
1718
1422
  watchdog.stop();
1719
1423
  liveProviders.delete(child);
1720
- // Whatever the agent started in its own group and left running ends with it (a group id can't be reused while any
1721
- // member lives, so this reaches only what it left). Escaped groups are the custody observer's, as for every runner.
1722
1424
  const terminal = conversation.terminal();
1723
1425
  const answered = terminal !== null && "stopReason" in terminal && terminal.stopReason === "end_turn" && conversation.failure() === null;
1724
- // A clean exit after the answer, or an exit by the plane's own post-answer signal (its shutdown ladder's SIGTERM,
1725
- // then SIGKILL), is success; anything else — a stop, a timeout, another signal — is its code.
1726
1426
  const ownSignal = (termAfterTerminal && (signal === "SIGTERM" || code === 143)) || (killAfterTerminal && (signal === "SIGKILL" || code === 137));
1727
1427
  const exitCode = answered && !timedOut && (code === 0 || ownSignal) ? 0 : (code ?? 1);
1728
1428
  const settlement = container === null ? Promise.resolve(null) : settleContainer(container, options);
1729
1429
  void settlement.then(empty => resolve({
1730
1430
  code: notFound ? NOT_FOUND_CODE : timedOut ? TIMEOUT_CODE : attachFailure !== null || empty === false ? CONTAINMENT_REFUSED_CODE : exitCode,
1731
- // The runner's own account of the ending rides last: a type no agent can emit.
1732
1431
  stdout: `${conversation.retained()}${JSON.stringify({ type: "acp.exit", how: endedBy, leftover: leftover || empty === false, timedOut })}\n`,
1733
1432
  stderr: empty === false ? `${stderr}\nNative process containment could not prove all descendants exited.`.trim() : attachFailure !== null && stderr === "" ? attachFailure : stderr,
1734
1433
  timedOut,
@@ -1747,12 +1446,6 @@ export function runAcpSession(file, args, options = {}) {
1747
1446
  });
1748
1447
  }
1749
1448
  const TRUNCATION_MARKER = "…[truncated]";
1750
- /**
1751
- * One serialized synthetic line, guaranteed ≤ JSONL_LINE_CAP in UTF-8
1752
- * bytes — the trim loop measures the COMPLETE serialized line (escaping
1753
- * and marker included), so pathological escaping cannot smuggle it past
1754
- * the cap (round-3 f9).
1755
- */
1756
1449
  function syntheticMessageLine(content, truncated) {
1757
1450
  let body = content;
1758
1451
  let marked = truncated;
@@ -1764,42 +1457,11 @@ function syntheticMessageLine(content, truncated) {
1764
1457
  if (over <= 0)
1765
1458
  return line;
1766
1459
  marked = true;
1767
- // Cut at least the overage in UTF-16 units; the loop re-measures.
1768
1460
  const cut = Math.max(1, over);
1769
1461
  body = body.slice(0, Math.max(0, body.length - cut));
1770
1462
  }
1771
1463
  }
1772
- /**
1773
- * The streaming transport for claude's stream-json dialect (arc 1).
1774
- *
1775
- * Same rationale as `runStreamJsonl`: a long agent session writes far more
1776
- * event stream than any fixed buffer should hold, and the line that matters
1777
- * — the terminal result carrying session, usage, and dollars — arrives
1778
- * LAST. The 8 MiB buffered kill would destroy exactly that accounting
1779
- * envelope, so stdout is consumed incrementally and only the load-bearing
1780
- * lines are retained:
1781
- *
1782
- * - a bounded identity witness for `system`/`init`: the first init signal,
1783
- * the first usable session id, and one conflicting id
1784
- * - the FIRST primary `result` event, selected STRUCTURALLY (finding 10;
1785
- * stream-scope.ts `primaryResultEvent`): top-level, and origin absent or
1786
- * `origin.kind === "human"` — an allowlist, so a subagent's or background
1787
- * task's result (or any future origin kind) can never be mistaken for the
1788
- * main query's accounting. Later results are dropped. A subagent's init
1789
- * never enters the identity witness.
1790
- *
1791
- * The result's stdout is the retained lines joined — a synthetic, bounded
1792
- * envelope `claudeParse` reads exactly like test fixtures. Timeout,
1793
- * process-group, kill, and spawn semantics match `runStreamJsonl`.
1794
- */
1795
- /** The usage fields Claude reports per message (not per session): a live session's account adds them up. */
1796
1464
  const LIVE_SUMMED_USAGE = ["input_tokens", "output_tokens", "cache_creation_input_tokens", "cache_read_input_tokens"];
1797
- /**
1798
- * A live session's account so far (one main result per turn, checked on Claude Code 2.1.290): the latest result's
1799
- * session, ending, words and cost — `total_cost_usd` is already the session's running total — with the usage token
1800
- * fields and `num_turns`, which count only their own message, added up across every main result. A field that is not
1801
- * a non-negative number adds nothing.
1802
- */
1803
1465
  export function cumulativeLiveResult(previous, latest) {
1804
1466
  const count = (value) => typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : null;
1805
1467
  const usageOf = (event) => event["usage"] !== null && typeof event["usage"] === "object" && !Array.isArray(event["usage"]) ? event["usage"] : null;
@@ -1817,9 +1479,7 @@ export function cumulativeLiveResult(previous, latest) {
1817
1479
  ...(turnsBefore === null && turnsNow === null ? {} : { num_turns: (turnsBefore ?? 0) + (turnsNow ?? 0) }),
1818
1480
  };
1819
1481
  }
1820
- /** This transport can keep stdin open for a live session (RunOptions.liveInput). */
1821
1482
  export const STREAM_INPUT = Symbol.for("toolroll.streamInput");
1822
- /** Whether a runner declares it keeps stdin open for a live session; an injected runner opts in by carrying the mark. */
1823
1483
  export const streamsInput = (runner) => typeof runner === "function" && runner[STREAM_INPUT] === true;
1824
1484
  export function runClaudeStreamJsonl(file, args, options = {}) {
1825
1485
  const childEnv = resolveChildEnv(options);
@@ -1847,17 +1507,12 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1847
1507
  let initLine = null;
1848
1508
  let initIdentityLine = null;
1849
1509
  let conflictingInitLine = null;
1850
- /** v140: the first init's model, and the first top-level init naming another (the parser reads them as a conflict:
1851
- * unknown, never one of them). Kept even within one session id. */
1852
1510
  let initModel = null;
1853
1511
  let initModelLine = null;
1854
1512
  let modelConflictLine = null;
1855
1513
  let initSessionId = null;
1856
1514
  let resultLine = null;
1857
1515
  let resultOverflowed = false;
1858
- // The run's account: the first main result, or for a live session every main result added up (each oversized
1859
- // one's scanned cost and usage too). Its cost is the highest running total seen; costUnknown when the latest main
1860
- // result's cost could not be read (an oversized one), which only a later readable result can clear.
1861
1516
  let account = null;
1862
1517
  let costUnknown = false;
1863
1518
  let overflowLine = null;
@@ -1865,8 +1520,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1865
1520
  let stderr = "";
1866
1521
  let timedOut = false;
1867
1522
  let notFound = false;
1868
- // Latch BEFORE invoking (finding 13): a throwing listener has already
1869
- // consumed its one firing, and the stream goes on unharmed.
1870
1523
  const fireReceipt = () => {
1871
1524
  if (receiptFired || options.onReceipt === undefined) {
1872
1525
  receiptFired = true;
@@ -1877,8 +1530,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1877
1530
  options.onReceipt();
1878
1531
  }
1879
1532
  catch {
1880
- // A receipt that cannot be recorded must not alter the run; the
1881
- // note stays honestly unreceipted and re-attaches later.
1882
1533
  }
1883
1534
  };
1884
1535
  const tally = (event, line) => {
@@ -1886,7 +1537,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1886
1537
  account = account === null || live === null ? event : { ...(line === null ? account : {}), ...cumulativeLiveResult(account, event) };
1887
1538
  const cost = event["total_cost_usd"];
1888
1539
  const readable = typeof cost === "number" && Number.isFinite(cost) && cost >= 0;
1889
- // The running total only grows: an earlier, higher total stands (a session's cost is never given back).
1890
1540
  const prior = before?.["total_cost_usd"];
1891
1541
  if (readable && typeof prior === "number" && prior > cost)
1892
1542
  account = { ...account, total_cost_usd: prior };
@@ -1903,12 +1553,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1903
1553
  };
1904
1554
  const keep = (framed) => {
1905
1555
  if (framed.overflowed) {
1906
- // An oversized result is the first primary candidate and therefore
1907
- // closes the slot fail-closed; an oversized non-result is merely a
1908
- // fallback that a later parseable primary result can supersede.
1909
- // Claude's parser trusts the first primary result. When a line is
1910
- // too large to classify, reserve that first slot fail-closed rather
1911
- // than let a later small result hide emitted bytes we discarded.
1912
1556
  const type = leadingJsonObjectType(framed.prefix);
1913
1557
  if (type !== null && type !== "result") {
1914
1558
  if (type !== "system")
@@ -1916,18 +1560,10 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1916
1560
  const subtype = leadingClaudeSystemSubtype(framed.prefix);
1917
1561
  if (subtype !== null && subtype !== "init")
1918
1562
  return;
1919
- // An init too large to inspect may conceal a conflicting session
1920
- // identity. Latch it independently from the primary result so the
1921
- // same event set fails regardless of whether it arrived before or
1922
- // after the terminal, while a normal terminal can still account
1923
- // for the turn's usage.
1924
1563
  if (overflowLine === null)
1925
1564
  overflowLine = claudeOverflowLine(framed);
1926
1565
  return;
1927
1566
  }
1928
- // Nothing inside an oversized result is trusted: the agent shapes its bytes (tool inputs in permission_denials
1929
- // are real JSON objects), so a planted total_cost_usd or origin could read as genuine. It counts as the main
1930
- // result with an unknown cost, charged at the run's cap, and a live session's input closes.
1931
1567
  const scanned = { primary: true, account: {} };
1932
1568
  if (live !== null || resultLine === null)
1933
1569
  tally(scanned.account, null);
@@ -1937,8 +1573,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1937
1573
  }
1938
1574
  else if (overflowLine === null)
1939
1575
  overflowLine = claudeOverflowLine(framed);
1940
- // A live session whose main result was too large to read cannot be steered safely: close its input, so the
1941
- // process ends instead of running further turns nobody can account for.
1942
1576
  if (live !== null && scanned.primary)
1943
1577
  live.close("settled");
1944
1578
  return;
@@ -1949,14 +1583,11 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1949
1583
  event = JSON.parse(line);
1950
1584
  }
1951
1585
  catch {
1952
- return; // not JSON: not an event; dropped
1586
+ return;
1953
1587
  }
1954
1588
  if (event === null || typeof event !== "object")
1955
1589
  return;
1956
1590
  const type = String(event["type"] ?? "");
1957
- // A subagent's init, words and result are not the session's (stream-scope.ts): they never witness its identity,
1958
- // name its session, fire its receipt or stand as its result. They still reach the observers below, which filter
1959
- // for themselves.
1960
1591
  if (type === "system" && String(event["subtype"] ?? "") === "init" && topLevelEvent(event)) {
1961
1592
  if (initLine === null)
1962
1593
  initLine = line;
@@ -1986,30 +1617,19 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
1986
1617
  options.onSessionId(id);
1987
1618
  }
1988
1619
  catch {
1989
- // A registry that cannot be written must not kill the turn.
1990
1620
  }
1991
1621
  }
1992
1622
  }
1993
1623
  }
1994
1624
  else if (type === "assistant") {
1995
- // Top-level only (finding 11): assistant events carry no origin;
1996
- // parent_tool_use_id is the correlation field, and a subagent's
1997
- // words prove nothing about the main prompt.
1998
1625
  if (topLevelEvent(event))
1999
1626
  fireReceipt();
2000
1627
  }
2001
1628
  else if (type === "rate_limit_event") {
2002
- // v105: the plan's usage windows, as Claude says them each turn (the Tasks page's limits).
2003
1629
  noteLimits(claudeLimitsOf(event));
2004
1630
  }
2005
1631
  else if (type === "result" && (resultLine === null || live !== null) && primaryResultEvent(event)) {
2006
- // A live session ends a turn with a result each time: the run's account is the last one, with every main
2007
- // result's usage and turns added up (account). After an oversized main result the retained result stays the
2008
- // fail-closed overflow, but later results still count toward its cost.
2009
1632
  tally(event, line);
2010
- // Fallback receipt (finding 11): a SUCCESSFUL main-query completion
2011
- // entails the prompt ran even if the stream elided assistant
2012
- // events. Error results never fire — startup death is not delivery.
2013
1633
  if (event["is_error"] !== true && String(event["subtype"] ?? "") === "success")
2014
1634
  fireReceipt();
2015
1635
  }
@@ -2018,15 +1638,11 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
2018
1638
  options.onStreamEvent(event);
2019
1639
  }
2020
1640
  catch {
2021
- // Observational only: a broken listener never touches the run.
2022
1641
  }
2023
1642
  }
2024
- // After the run's own bookkeeping: the session may close stdin on this event.
2025
1643
  if (live !== null)
2026
1644
  live.observe(event);
2027
1645
  };
2028
- // The retained main result as the run's account: an oversized one stays the fail-closed overflow but carries the
2029
- // cost and usage read from it and from later results; a cost that could not be read says so (CLAUDE_COST_UNKNOWN).
2030
1646
  const accountedResultLine = () => {
2031
1647
  if (resultLine === null || (!resultOverflowed && !costUnknown))
2032
1648
  return resultLine;
@@ -2088,7 +1704,6 @@ export function runClaudeStreamJsonl(file, args, options = {}) {
2088
1704
  child.on("close", code => finish(code));
2089
1705
  if (live !== null && child.stdin !== null) {
2090
1706
  const input = child.stdin;
2091
- // A pipe the child closed (it exited) ends live input; the run settles on the process, as always.
2092
1707
  input.on("error", () => live.detach("input-failed"));
2093
1708
  live.attach({ write: line => { input.write(line, "utf8"); }, end: () => { input.end(); } });
2094
1709
  }