toolroll 0.9.103 → 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 (1518) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +27 -27
  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 +117 -103
  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 +3 -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 +2 -16
  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 +168 -0
  387. package/dist/local-owner.js +15 -80
  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 +2 -17
  430. package/dist/operate-remote.js +0 -33
  431. package/dist/operate.js +280 -2304
  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 +3 -18
  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 +11 -30
  486. package/dist/public-check.js +0 -16
  487. package/dist/publish.js +1 -150
  488. package/dist/pull-request-flow.js +6 -74
  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 +26 -103
  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 +9 -28
  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 +88 -566
  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 +29 -564
  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 +9 -86
  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 +17 -497
  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 +8 -133
  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 +12 -227
  621. package/dist/server/tasks.js +37 -531
  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 +8 -73
  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 +66 -19
  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 +91 -40
  737. package/dist/tui.js +54 -54
  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 +5 -4
  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 -318
  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 -1972
  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 -539
  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 -41
  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.d.ts +0 -124
  1142. package/dist/log.d.ts +0 -7
  1143. package/dist/login-secrets.d.ts +0 -60
  1144. package/dist/machine-check.d.ts +0 -16
  1145. package/dist/machine-identity.d.ts +0 -75
  1146. package/dist/mailbox.d.ts +0 -57
  1147. package/dist/maintenance.d.ts +0 -13
  1148. package/dist/mcp-connect.d.ts +0 -181
  1149. package/dist/mcp-core.d.ts +0 -110
  1150. package/dist/mcp-http.d.ts +0 -32
  1151. package/dist/mcp-oauth.d.ts +0 -92
  1152. package/dist/mcp-person.d.ts +0 -22
  1153. package/dist/mcp.d.ts +0 -20
  1154. package/dist/memory-cli.d.ts +0 -768
  1155. package/dist/memory-pass.d.ts +0 -151
  1156. package/dist/memory-tidy.d.ts +0 -181
  1157. package/dist/memory-use.d.ts +0 -35
  1158. package/dist/merge-checklist.d.ts +0 -55
  1159. package/dist/metrics.d.ts +0 -6
  1160. package/dist/mobile-viewport.d.ts +0 -7
  1161. package/dist/model-catalog.d.ts +0 -123
  1162. package/dist/model-choices.d.ts +0 -235
  1163. package/dist/model-names.d.ts +0 -6
  1164. package/dist/models-cli.d.ts +0 -307
  1165. package/dist/models-ui.d.ts +0 -161
  1166. package/dist/modes.d.ts +0 -99
  1167. package/dist/monitoring-settings.d.ts +0 -44
  1168. package/dist/monitoring-ui.d.ts +0 -23
  1169. package/dist/monitoring.d.ts +0 -34
  1170. package/dist/names.d.ts +0 -67
  1171. package/dist/needs-you.d.ts +0 -164
  1172. package/dist/never-index.d.ts +0 -3
  1173. package/dist/nightly-check.d.ts +0 -107
  1174. package/dist/nightly-github.d.ts +0 -318
  1175. package/dist/notification-delivery.d.ts +0 -19
  1176. package/dist/notification-rows.d.ts +0 -30
  1177. package/dist/oauth-run-token.d.ts +0 -51
  1178. package/dist/observations.d.ts +0 -36
  1179. package/dist/oidc.d.ts +0 -71
  1180. package/dist/onboard.d.ts +0 -108
  1181. package/dist/one-step-chat-schema.d.ts +0 -22
  1182. package/dist/openrouter-models.d.ts +0 -34
  1183. package/dist/operate-remote-arguments.d.ts +0 -36
  1184. package/dist/operate-remote.d.ts +0 -98
  1185. package/dist/operate.d.ts +0 -401
  1186. package/dist/orphan-sweep.d.ts +0 -65
  1187. package/dist/page-work-contract.d.ts +0 -21
  1188. package/dist/password-bearer.d.ts +0 -25
  1189. package/dist/passwordless.d.ts +0 -23
  1190. package/dist/peek-cli.d.ts +0 -112
  1191. package/dist/peek.d.ts +0 -110
  1192. package/dist/people-audit-ui.d.ts +0 -16
  1193. package/dist/person-proof.d.ts +0 -2
  1194. package/dist/phase-routing.d.ts +0 -401
  1195. package/dist/plain-schema.d.ts +0 -23
  1196. package/dist/plain-words.d.ts +0 -20
  1197. package/dist/plan-auto.d.ts +0 -25
  1198. package/dist/plan-login.d.ts +0 -14
  1199. package/dist/plan.d.ts +0 -188
  1200. package/dist/plane-review.d.ts +0 -54
  1201. package/dist/planner-source.d.ts +0 -225
  1202. package/dist/planner.d.ts +0 -76
  1203. package/dist/policy-ui.d.ts +0 -22
  1204. package/dist/policy.d.ts +0 -92
  1205. package/dist/prepared-evidence.d.ts +0 -17
  1206. package/dist/principal.d.ts +0 -42
  1207. package/dist/probe.d.ts +0 -46
  1208. package/dist/process-custody.d.ts +0 -17
  1209. package/dist/process-liveness.d.ts +0 -13
  1210. package/dist/process-tree.d.ts +0 -39
  1211. package/dist/project-access.d.ts +0 -17
  1212. package/dist/project-activity.d.ts +0 -20
  1213. package/dist/project-admission.d.ts +0 -105
  1214. package/dist/project-cli.d.ts +0 -19
  1215. package/dist/project-concurrency.d.ts +0 -62
  1216. package/dist/project-delete-ui.d.ts +0 -96
  1217. package/dist/project-delete.d.ts +0 -59
  1218. package/dist/project-demo.d.ts +0 -12
  1219. package/dist/project-file.d.ts +0 -3
  1220. package/dist/project-identity.d.ts +0 -52
  1221. package/dist/project-knowledge.d.ts +0 -124
  1222. package/dist/project-learning.d.ts +0 -120
  1223. package/dist/project-memory.d.ts +0 -70
  1224. package/dist/project-outcomes.d.ts +0 -119
  1225. package/dist/project-sandbox.d.ts +0 -59
  1226. package/dist/project-skills.d.ts +0 -139
  1227. package/dist/project-tools.d.ts +0 -318
  1228. package/dist/project.d.ts +0 -65
  1229. package/dist/prompt.d.ts +0 -33
  1230. package/dist/proof.d.ts +0 -457
  1231. package/dist/proposal.d.ts +0 -70
  1232. package/dist/protected-storage-look.d.ts +0 -1
  1233. package/dist/protected-storage.d.ts +0 -98
  1234. package/dist/provider-auth.d.ts +0 -143
  1235. package/dist/provider-capture.d.ts +0 -34
  1236. package/dist/provider-connection.d.ts +0 -23
  1237. package/dist/provider-home.d.ts +0 -22
  1238. package/dist/provider-limits.d.ts +0 -37
  1239. package/dist/provider.d.ts +0 -369
  1240. package/dist/public-access.d.ts +0 -52
  1241. package/dist/public-check.d.ts +0 -37
  1242. package/dist/publish.d.ts +0 -146
  1243. package/dist/pull-request-flow.d.ts +0 -189
  1244. package/dist/pull-request-schema.d.ts +0 -5
  1245. package/dist/pull-request-ui.d.ts +0 -25
  1246. package/dist/pulls.d.ts +0 -121
  1247. package/dist/push.d.ts +0 -120
  1248. package/dist/quality.d.ts +0 -8
  1249. package/dist/quick-start.d.ts +0 -26
  1250. package/dist/read-executor-worker.d.ts +0 -1
  1251. package/dist/read-executor.d.ts +0 -66
  1252. package/dist/read-only-request.d.ts +0 -4
  1253. package/dist/recipe-ui.d.ts +0 -21
  1254. package/dist/recipes.d.ts +0 -56
  1255. package/dist/release-adapters.d.ts +0 -205
  1256. package/dist/release-approval.d.ts +0 -180
  1257. package/dist/release-authority.d.ts +0 -173
  1258. package/dist/release-auto.d.ts +0 -184
  1259. package/dist/release-card.d.ts +0 -156
  1260. package/dist/release-carry.d.ts +0 -261
  1261. package/dist/release-ci-hold.d.ts +0 -41
  1262. package/dist/release-cli.d.ts +0 -34
  1263. package/dist/release-coverage.d.ts +0 -16
  1264. package/dist/release-gate.d.ts +0 -84
  1265. package/dist/release-git.d.ts +0 -43
  1266. package/dist/release-links.d.ts +0 -29
  1267. package/dist/release-net.d.ts +0 -90
  1268. package/dist/release-next.d.ts +0 -48
  1269. package/dist/release-recheck.d.ts +0 -146
  1270. package/dist/release-refusal.d.ts +0 -32
  1271. package/dist/release-view.d.ts +0 -37
  1272. package/dist/release.d.ts +0 -806
  1273. package/dist/releases.d.ts +0 -94
  1274. package/dist/remote-audit.d.ts +0 -79
  1275. package/dist/remote-command.d.ts +0 -45
  1276. package/dist/remote-destination.d.ts +0 -36
  1277. package/dist/remote-exec.d.ts +0 -38
  1278. package/dist/remote-main.d.ts +0 -111
  1279. package/dist/remote-run.d.ts +0 -20
  1280. package/dist/remote.d.ts +0 -67
  1281. package/dist/render.d.ts +0 -64
  1282. package/dist/reply-shape.d.ts +0 -106
  1283. package/dist/reply-voice.d.ts +0 -23
  1284. package/dist/report-summary.d.ts +0 -22
  1285. package/dist/reported-usage.d.ts +0 -69
  1286. package/dist/repos.d.ts +0 -67
  1287. package/dist/repository-context-ui.d.ts +0 -3
  1288. package/dist/repository-context.d.ts +0 -66
  1289. package/dist/request-budget-ui.d.ts +0 -14
  1290. package/dist/request-budget.d.ts +0 -127
  1291. package/dist/restart-certification.d.ts +0 -133
  1292. package/dist/result-actions.d.ts +0 -36
  1293. package/dist/result-acts.d.ts +0 -112
  1294. package/dist/result-completion.d.ts +0 -35
  1295. package/dist/result-evidence-readers.d.ts +0 -42
  1296. package/dist/result-follow-ups.d.ts +0 -118
  1297. package/dist/result-review.d.ts +0 -220
  1298. package/dist/result-shots.d.ts +0 -59
  1299. package/dist/retention-ui.d.ts +0 -21
  1300. package/dist/retention.d.ts +0 -77
  1301. package/dist/review-context.d.ts +0 -245
  1302. package/dist/review-evidence.d.ts +0 -33
  1303. package/dist/review-switch.d.ts +0 -36
  1304. package/dist/reviewer.d.ts +0 -99
  1305. package/dist/route-change-check.d.ts +0 -4
  1306. package/dist/route-change.d.ts +0 -22
  1307. package/dist/route-hooks.d.ts +0 -54
  1308. package/dist/route-results.d.ts +0 -75
  1309. package/dist/route-rules.d.ts +0 -324
  1310. package/dist/route-savings.d.ts +0 -136
  1311. package/dist/route-store.d.ts +0 -300
  1312. package/dist/run-closeout.d.ts +0 -89
  1313. package/dist/run-efficiency.d.ts +0 -74
  1314. package/dist/run-ending.d.ts +0 -21
  1315. package/dist/runner-process.d.ts +0 -76
  1316. package/dist/runner.d.ts +0 -324
  1317. package/dist/sample-project.d.ts +0 -31
  1318. package/dist/sandbox-launch.d.ts +0 -1
  1319. package/dist/sandbox-runtime.d.ts +0 -128
  1320. package/dist/scan.d.ts +0 -32
  1321. package/dist/scope.d.ts +0 -1067
  1322. package/dist/scout-browser-lock.d.ts +0 -69
  1323. package/dist/scout-browser.d.ts +0 -107
  1324. package/dist/scout-net.d.ts +0 -25
  1325. package/dist/scout-report.d.ts +0 -23
  1326. package/dist/scout.d.ts +0 -142
  1327. package/dist/secret-mint.d.ts +0 -1
  1328. package/dist/serve.d.ts +0 -11
  1329. package/dist/server/agents-computers.d.ts +0 -9
  1330. package/dist/server/agents-live-filed.d.ts +0 -17
  1331. package/dist/server/agents-live-lead.d.ts +0 -47
  1332. package/dist/server/agents-live-room.d.ts +0 -23
  1333. package/dist/server/chat.d.ts +0 -39
  1334. package/dist/server/chrome.d.ts +0 -328
  1335. package/dist/server/edge-refusal.d.ts +0 -7
  1336. package/dist/server/flows.d.ts +0 -8
  1337. package/dist/server/guards.d.ts +0 -80
  1338. package/dist/server/handler-context.d.ts +0 -22
  1339. package/dist/server/handler-registry.d.ts +0 -23
  1340. package/dist/server/home-asks.d.ts +0 -45
  1341. package/dist/server/home.d.ts +0 -65
  1342. package/dist/server/http.d.ts +0 -337
  1343. package/dist/server/in-place.d.ts +0 -15
  1344. package/dist/server/kit-standalone.d.ts +0 -22
  1345. package/dist/server/kit.d.ts +0 -452
  1346. package/dist/server/last-checks.d.ts +0 -17
  1347. package/dist/server/live.d.ts +0 -74
  1348. package/dist/server/merge-ready-view.d.ts +0 -10
  1349. package/dist/server/mutation-key.d.ts +0 -70
  1350. package/dist/server/pages-assets.d.ts +0 -11
  1351. package/dist/server/pages.d.ts +0 -8
  1352. package/dist/server/people-tokens.d.ts +0 -18
  1353. package/dist/server/remote-hooks.d.ts +0 -29
  1354. package/dist/server/remote.d.ts +0 -59
  1355. package/dist/server/render-chat.d.ts +0 -439
  1356. package/dist/server/render-code-map.d.ts +0 -30
  1357. package/dist/server/render-flaky.d.ts +0 -20
  1358. package/dist/server/render-follow-through.d.ts +0 -11
  1359. package/dist/server/render-history.d.ts +0 -51
  1360. package/dist/server/render-new-task.d.ts +0 -54
  1361. package/dist/server/render-pages.d.ts +0 -236
  1362. package/dist/server/render-people.d.ts +0 -102
  1363. package/dist/server/render-projects.d.ts +0 -104
  1364. package/dist/server/render-release.d.ts +0 -19
  1365. package/dist/server/render-results.d.ts +0 -754
  1366. package/dist/server/render-settings.d.ts +0 -93
  1367. package/dist/server/render-tasks.d.ts +0 -774
  1368. package/dist/server/request-context.d.ts +0 -78
  1369. package/dist/server/retired-routes.d.ts +0 -17
  1370. package/dist/server/route-policy.d.ts +0 -18
  1371. package/dist/server/route-table.d.ts +0 -114
  1372. package/dist/server/runtime.d.ts +0 -342
  1373. package/dist/server/session.d.ts +0 -192
  1374. package/dist/server/settings.d.ts +0 -76
  1375. package/dist/server/signup-gate.d.ts +0 -9
  1376. package/dist/server/sweeps.d.ts +0 -4
  1377. package/dist/server/task-views.d.ts +0 -98
  1378. package/dist/server/tasks.d.ts +0 -83
  1379. package/dist/server/terminals.d.ts +0 -31
  1380. package/dist/server/welcome.d.ts +0 -28
  1381. package/dist/server-telemetry.d.ts +0 -87
  1382. package/dist/settings-groups-ui.d.ts +0 -286
  1383. package/dist/settings-kit-script.d.ts +0 -21
  1384. package/dist/settings-kit.d.ts +0 -173
  1385. package/dist/settings-proofs.d.ts +0 -64
  1386. package/dist/setup-guide.d.ts +0 -39
  1387. package/dist/shared-deps.d.ts +0 -115
  1388. package/dist/sign-in-guard.d.ts +0 -70
  1389. package/dist/skills-ui.d.ts +0 -12
  1390. package/dist/skills.d.ts +0 -99
  1391. package/dist/slack-api.d.ts +0 -59
  1392. package/dist/slack-chat.d.ts +0 -37
  1393. package/dist/slack-settings.d.ts +0 -4
  1394. package/dist/slack-socket.d.ts +0 -12
  1395. package/dist/slack.d.ts +0 -6
  1396. package/dist/sleep.d.ts +0 -2
  1397. package/dist/source-key.d.ts +0 -2
  1398. package/dist/spend-report.d.ts +0 -87
  1399. package/dist/spend-ui.d.ts +0 -80
  1400. package/dist/spend.d.ts +0 -142
  1401. package/dist/sqlite-runtime.d.ts +0 -3
  1402. package/dist/sqlite-telemetry.d.ts +0 -9
  1403. package/dist/sso-settings.d.ts +0 -33
  1404. package/dist/sso-ui.d.ts +0 -26
  1405. package/dist/staged-runtimes.d.ts +0 -54
  1406. package/dist/steer-capabilities.d.ts +0 -32
  1407. package/dist/steer-controls.d.ts +0 -14
  1408. package/dist/steer-live.d.ts +0 -19
  1409. package/dist/steer-mailbox.d.ts +0 -46
  1410. package/dist/steer-status.d.ts +0 -25
  1411. package/dist/stop-proof.d.ts +0 -67
  1412. package/dist/storage-sweep-child.d.ts +0 -1
  1413. package/dist/storage-sweep-process.d.ts +0 -55
  1414. package/dist/storage-sweep-schedule.d.ts +0 -30
  1415. package/dist/storage-sweep.d.ts +0 -77
  1416. package/dist/storage-ui.d.ts +0 -23
  1417. package/dist/storage.d.ts +0 -68
  1418. package/dist/store-baseline.d.ts +0 -19
  1419. package/dist/store.d.ts +0 -8613
  1420. package/dist/stream-scope.d.ts +0 -18
  1421. package/dist/structured-output.d.ts +0 -57
  1422. package/dist/style-asset.d.ts +0 -7
  1423. package/dist/subagent-admin.d.ts +0 -53
  1424. package/dist/subagent-desk.d.ts +0 -59
  1425. package/dist/subagent-memory.d.ts +0 -65
  1426. package/dist/subagent-question.d.ts +0 -59
  1427. package/dist/subagent-tools.d.ts +0 -125
  1428. package/dist/subagent-week.d.ts +0 -68
  1429. package/dist/subagent-work.d.ts +0 -76
  1430. package/dist/subagents-ui.d.ts +0 -22
  1431. package/dist/subagents.d.ts +0 -146
  1432. package/dist/subscription-chat.d.ts +0 -54
  1433. package/dist/summary.d.ts +0 -33
  1434. package/dist/surface.d.ts +0 -49
  1435. package/dist/sweep-gate.d.ts +0 -10
  1436. package/dist/sweep-quarantine.d.ts +0 -29
  1437. package/dist/sync.d.ts +0 -94
  1438. package/dist/tailnet.d.ts +0 -11
  1439. package/dist/tamper-scan.d.ts +0 -4
  1440. package/dist/task-activity.d.ts +0 -27
  1441. package/dist/task-aliases.d.ts +0 -5
  1442. package/dist/task-archive.d.ts +0 -13
  1443. package/dist/task-base.d.ts +0 -39
  1444. package/dist/task-composer.d.ts +0 -14
  1445. package/dist/task-control.d.ts +0 -159
  1446. package/dist/task-live.d.ts +0 -8
  1447. package/dist/task-moves.d.ts +0 -90
  1448. package/dist/task-outcome-cli.d.ts +0 -30
  1449. package/dist/task-review-brief.d.ts +0 -69
  1450. package/dist/task-sizing.d.ts +0 -58
  1451. package/dist/task-source.d.ts +0 -77
  1452. package/dist/task-status.d.ts +0 -324
  1453. package/dist/task-text.d.ts +0 -31
  1454. package/dist/team-chat-authorization.d.ts +0 -11
  1455. package/dist/team-contract.d.ts +0 -103
  1456. package/dist/team-http.d.ts +0 -25
  1457. package/dist/team-leads.d.ts +0 -85
  1458. package/dist/team-runtime.d.ts +0 -25
  1459. package/dist/team-ui.d.ts +0 -4
  1460. package/dist/team-updates.d.ts +0 -8
  1461. package/dist/teams-api.d.ts +0 -33
  1462. package/dist/teams-chat.d.ts +0 -36
  1463. package/dist/teams-settings.d.ts +0 -14
  1464. package/dist/teams.d.ts +0 -24
  1465. package/dist/teardown-git.d.ts +0 -164
  1466. package/dist/telegram-flow.d.ts +0 -112
  1467. package/dist/telegram-lead.d.ts +0 -151
  1468. package/dist/telegram-live.d.ts +0 -116
  1469. package/dist/telegram-progress.d.ts +0 -20
  1470. package/dist/telegram-settings.d.ts +0 -9
  1471. package/dist/telegram-status.d.ts +0 -83
  1472. package/dist/telegram-team.d.ts +0 -68
  1473. package/dist/telegram.d.ts +0 -271
  1474. package/dist/templates.d.ts +0 -69
  1475. package/dist/terminal-catalog.d.ts +0 -11
  1476. package/dist/terminal-text.d.ts +0 -11
  1477. package/dist/test-infra.d.ts +0 -34
  1478. package/dist/test-temp.d.ts +0 -40
  1479. package/dist/text-limits.d.ts +0 -297
  1480. package/dist/tidy.d.ts +0 -130
  1481. package/dist/tier-report.d.ts +0 -44
  1482. package/dist/token-notices.d.ts +0 -11
  1483. package/dist/tokens-cli.d.ts +0 -21
  1484. package/dist/tool-broker.d.ts +0 -52
  1485. package/dist/tool-launcher.d.ts +0 -1
  1486. package/dist/tool-secret-store.d.ts +0 -167
  1487. package/dist/toolroll-update-cli.d.ts +0 -15
  1488. package/dist/toolroll-update-ui.d.ts +0 -47
  1489. package/dist/toolroll-update.d.ts +0 -265
  1490. package/dist/tools-ui.d.ts +0 -51
  1491. package/dist/transitions-recipes.d.ts +0 -1
  1492. package/dist/tree-proof.d.ts +0 -34
  1493. package/dist/tui-contract.d.ts +0 -144
  1494. package/dist/tui-source.d.ts +0 -14
  1495. package/dist/typed-start.d.ts +0 -51
  1496. package/dist/unfenced-test-support.d.ts +0 -2
  1497. package/dist/up-processes.d.ts +0 -162
  1498. package/dist/up-role-child.d.ts +0 -1
  1499. package/dist/update-notice.d.ts +0 -5
  1500. package/dist/vanished-retry.d.ts +0 -30
  1501. package/dist/verification-evidence.d.ts +0 -68
  1502. package/dist/version.d.ts +0 -2
  1503. package/dist/wake-hub.d.ts +0 -72
  1504. package/dist/webhook-limits.d.ts +0 -23
  1505. package/dist/webhook-readers.d.ts +0 -56
  1506. package/dist/webhook-signing.d.ts +0 -27
  1507. package/dist/webhooks.d.ts +0 -84
  1508. package/dist/welcome-facts.d.ts +0 -18
  1509. package/dist/when-html.d.ts +0 -40
  1510. package/dist/work-index.d.ts +0 -175
  1511. package/dist/work-summary.d.ts +0 -61
  1512. package/dist/workspace-motion.d.ts +0 -4
  1513. package/dist/workspace-revision.d.ts +0 -48
  1514. package/dist/workspace-ui.d.ts +0 -385
  1515. package/dist/worktree-notices.d.ts +0 -13
  1516. package/dist/worktree.d.ts +0 -365
  1517. package/dist/writes-mode.d.ts +0 -9
  1518. package/dist/youiyoux-intake.d.ts +0 -234
@@ -1,5 +1,3 @@
1
- /** Shared, exact-state actions. Models may prepare; only the existing human
2
- * confirmation door executes. Protected actions use a one-use review receipt. */
3
1
  import { endHoldout, setCodeMapSwitch } from "./code-map-acts.js";
4
2
  import { codeMapOn } from "./code-map-store.js";
5
3
  import { dismissSuggestion, ruleById, stopTrial, suggestionsFor, suggestionWords, taskEvidenceWords, trialWords } from "./route-rules.js";
@@ -60,7 +58,6 @@ import { callWords, checkRule, defaultRule, grantListed, revokeTool, ruleLoosens
60
58
  import { aboutYouOf, checkAboutYouLine, saveAboutYou, withAboutYouLine } from "./lead-about.js";
61
59
  import { CHAT_ACTION_FIELDS, readChatActionRequest, readSharedAction, SHARED_ACTION_VERSION } from "./contracts/chat-actions.js";
62
60
  export { CHAT_ACTION_FIELDS };
63
- /** A tool from the lead's card: a common tool by its id, or the operator's own program or address. */
64
61
  function toolSpecFromRequest(input) {
65
62
  if (input["catalog"] !== undefined) {
66
63
  const chosen = catalogTool(String(input["catalog"]));
@@ -102,17 +99,11 @@ export const CHAT_ACTIONS = {
102
99
  protected: false,
103
100
  password: false,
104
101
  },
105
- // A tool runs on this computer for every build the operator approves from now on: the password screen, like an approval.
106
102
  tool_add: { label: "Add tool", protected: true, password: true },
107
103
  tool_remove: { label: "Remove tool", protected: false, password: false },
108
- // Flows: a drawing and cards on it. Any work a card files is an ordinary task under the usual approvals.
109
104
  flow_create: { label: "Create flow", protected: false, password: false },
110
- // A starter flow: its zones and its trigger, switched on with one yes (flow-starters.ts).
111
105
  flow_starter: { label: "Switch on", protected: false, password: false },
112
- // Lead fan-out (docs/plans/lead-fan-out.md): files N tasks under one brief and approves each one's scope — the
113
- // person's ceremony (protected, with the password), N ordinary approvals of exactly the scopes shown.
114
106
  sweep_file: { label: "Start sweep", protected: true, password: false },
115
- // Stops every item of a sweep not yet ready; finished results stay. An ordinary act, like cancelling a task.
116
107
  sweep_cancel_rest: { label: "Cancel the rest", protected: false, password: false },
117
108
  flow_edit: { label: "Save flow", protected: false, password: false },
118
109
  flow_card_add: { label: "Add card", protected: false, password: false },
@@ -129,8 +120,6 @@ export const CHAT_ACTIONS = {
129
120
  flow_trigger_pause: { label: "Pause trigger", protected: false, password: false },
130
121
  flow_trigger_resume: { label: "Turn trigger on", protected: false, password: false },
131
122
  flow_trigger_remove: { label: "Remove trigger", protected: false, password: false },
132
- // Browser use widens a flow's sandbox (flow-browser.ts): the lead may only propose it; a person allows it with their own
133
- // yes on a card that shows every term, in a chat they are signed in to or linked from. Turning it off lowers authority.
134
123
  flow_browser: { label: "Allow browser", protected: true, password: false },
135
124
  flow_browser_off: { label: "Turn off browser", protected: false, password: false },
136
125
  subagent_create: { label: "Add subagent", protected: false, password: false },
@@ -146,15 +135,10 @@ export const CHAT_ACTIONS = {
146
135
  kit_setup: { label: "Set up kit", protected: false, password: false },
147
136
  decision_record: { label: "Record decision", protected: false, password: false },
148
137
  decision_retire: { label: "Retire decision", protected: false, password: false },
149
- // Not now only takes a suggestion off the list for 30 days: nothing about which models run changes.
150
138
  suggestion_not_now: { label: "Not now", protected: false, password: false },
151
- // Stopping a trial only lowers: new tasks build on the configured model; approved ones keep theirs.
152
139
  trial_stop: { label: "Stop trial", protected: false, password: false },
153
- // The code map's switch and holdout (docs/plans/code-map.md §5): a person's yes on the card, re-proved in the write.
154
140
  code_map_switch: { label: "Change code map", protected: false, password: false },
155
141
  code_map_holdout_end: { label: "End holdout", protected: false, password: false },
156
- // Chat and console parity (docs/plans/toolroll-cards.md): plain acts that lower authority or change no one's reach,
157
- // each the console's own write. Ending a mode and turning a flow off its own only ever lower authority.
158
142
  mode_revoke: { label: "End automatic approvals", protected: false, password: false },
159
143
  flow_unattended_off: { label: "Stop running on its own", protected: false, password: false },
160
144
  flow_archive: { label: "Archive flow", protected: false, password: false },
@@ -165,37 +149,25 @@ export const CHAT_ACTIONS = {
165
149
  task_restore: { label: "Restore task", protected: false, password: false },
166
150
  incident_resolve: { label: "Resolve incident", protected: false, password: false },
167
151
  memory_decide: { label: "Decide memory proposal", protected: false, password: false },
168
- // Follow-through (findings.ts): not an approval. A person's yes to words shown on the card sends them to the agent.
169
152
  finding_send: { label: "Send finding", protected: false, password: false },
170
153
  finding_resend: { label: "Send finding back", protected: false, password: false },
171
- // The rest of the approvals: a person's own yes on a card that shows every term.
172
154
  task_reopen: { label: "Reopen task", protected: true, password: false },
173
155
  revision_accept: { label: "Accept plan revision", protected: true, password: false },
174
156
  revision_reject: { label: "Reject plan revision", protected: true, password: false },
175
157
  flow_unattended: { label: "Let flow run on its own", protected: true, password: false },
176
- // What the owner's own lead knows about them: theirs alone, in no project (lead-about.ts).
177
158
  lead_about_you: { label: "Remember", protected: false, password: false },
178
159
  scope_approve: { label: "Approve work", protected: true, password: false },
179
160
  result_accept: { label: "Accept", protected: true, password: false },
180
161
  task_cancel: { label: "Cancel task", protected: true, password: false },
181
162
  task_resume: { label: "Resume task", protected: true, password: false },
182
- // One-step start from chat (docs/plans/one-step-chat.md C2): files and approves one small task the lead drafted, under
183
- // exactly the fast start rules. Only the lead's turn loop drafts one (propose_start); a person's own yes starts it.
184
163
  task_start: { label: "Start work", protected: true, password: false },
185
164
  };
186
- // Every action has a schema (contracts/chat-actions.ts) and every schema an action: a mismatch fails to compile.
187
165
  const SAME_ACTIONS = true;
188
166
  void SAME_ACTIONS;
189
- /** Approvals (owner's decision, docs/plans/toolroll-cards.md): a person's own yes from their chat stands without a password.
190
- * Only a person's tap in a linked chat, or their click in a signed-in browser, ever runs one. */
191
167
  export const APPROVAL_ACTIONS = new Set(["scope_approve", "task_resume", "sweep_file", "flow_browser", "task_reopen", "revision_accept", "revision_reject", "flow_unattended", "task_start"]);
192
- /** Protected actions a linked chat may confirm behind its own explicit yes/cancel challenge instead of the review screen.
193
- * Password actions and long or redacted terms never qualify: the card must show the exact terms. */
194
168
  export const APPROVAL_TERM_CHARS = 3000;
195
169
  export const CHALLENGE_ACTIONS = new Set(["result_accept", ...APPROVAL_ACTIONS]);
196
- /** Actions about the person themselves, in no project: their card carries no project (repo ""). */
197
170
  export const OWNER_ACTIONS = new Set(["lead_about_you", "provider_resume", "worker_note", "lead_identity"]);
198
- /** Actions the console refuses a project-limited account (route table: limited "deny"): the same here. */
199
171
  const INSTANCE_ACTIONS = new Set(["mode_revoke", "flow_unattended_off", "flow_unattended", "provider_resume", "worker_note", "lead_identity", "incident_resolve", "memory_decide"]);
200
172
  export function isChatAction(value) {
201
173
  return typeof value === "string" && Object.hasOwn(CHAT_ACTIONS, value);
@@ -205,7 +177,6 @@ const nonceHash = (value) => createHash("sha256").update(value).digest("hex");
205
177
  function requireActor(store, who, repo, operation) {
206
178
  if (!store.schemaCurrent())
207
179
  throw Error("The running build changed. Reload before proposing an action.");
208
- // An action about the person themselves names no project; every other one names one they can reach.
209
180
  const owned = repo === "" && operation !== undefined && OWNER_ACTIONS.has(operation);
210
181
  if (!isVerifiedApprover(who) ||
211
182
  !reproveApprover(store, who).ok ||
@@ -216,7 +187,6 @@ function text(input, key, cap, optional = false) {
216
187
  const value = input[key];
217
188
  if (optional && value === undefined)
218
189
  return "";
219
- // Over its limit is refused with the limit, never cut.
220
190
  if (typeof value === "string" && value.length > cap)
221
191
  throw Error(`The ${key} is ${value.length.toLocaleString("en-US")} characters; the limit is ${cap.toLocaleString("en-US")}. Shorten it and propose again.`);
222
192
  if (typeof value !== "string" ||
@@ -259,7 +229,6 @@ function resultOf(store, task, run, repo) {
259
229
  throw Error("This result changed. Review the current result.");
260
230
  return current;
261
231
  }
262
- /** The flow (and card) a flow action names; its project decides who may act. */
263
232
  function flowTargetOf(store, input) {
264
233
  const card = input["card"] === undefined ? null : store.getFlowCard(integer(input, "card"));
265
234
  if (input["card"] !== undefined && (card === null || card.state !== "active"))
@@ -275,12 +244,10 @@ function flowTargetOf(store, input) {
275
244
  throw Error("This flow's drawing can't be read. Save it again on its canvas.");
276
245
  return { flow, definition, card, trigger };
277
246
  }
278
- /** Where this installation keeps its files: beside the database. */
279
247
  function configDirOf(store) {
280
248
  const file = store.databaseFile();
281
249
  return file === null ? null : dirname(file);
282
250
  }
283
- /** A zone named by id or by its title. */
284
251
  function flowZoneOf(definition, input, fallback) {
285
252
  const named = input["zone"] === undefined ? fallback : text(input, "zone", 60).trim();
286
253
  const stage = named === null ? undefined : definition.stages.find(one => one.id === named || one.title.toLowerCase() === named.toLowerCase());
@@ -288,7 +255,6 @@ function flowZoneOf(definition, input, fallback) {
288
255
  throw Error(`This flow has no zone called ${named}.`);
289
256
  return stage;
290
257
  }
291
- /** A flow drawing from chat: whole, keyless, plain, and every named decider can decide on the project. */
292
258
  function flowDrawingOf(store, input, repo) {
293
259
  const definition = validateFlowDefinition(input["definition"]);
294
260
  const words = JSON.stringify(definition);
@@ -300,16 +266,9 @@ function flowDrawingOf(store, input, repo) {
300
266
  return definition;
301
267
  }
302
268
  const quoted = (value) => `“${value}”`;
303
- /** No writes, including at preview. Store-derived snapshots are never accepted
304
- * from a model. Rebuilding the same request before execution catches changes. */
305
- export function prepareSharedAction(store, who, operation, input, root, now = new Date(),
306
- /** The lead turn the card is (or is being) drafted in: a Start card's preview must have been prepared in it. Read
307
- * from the proposal row (or the running turn), never from the request. */
308
- turn) {
269
+ export function prepareSharedAction(store, who, operation, input, root, now = new Date(), turn) {
309
270
  if (!isChatAction(operation))
310
271
  throw Error("Choose an available action.");
311
- // The action's own schema: its fields and their kinds, refused by path. The request itself is used as given, so a
312
- // confirmation rebuilds the same stamp from the same bytes.
313
272
  const read = readChatActionRequest(operation, input);
314
273
  if (!read.ok)
315
274
  throw Error(`This action can't be read — ${read.issues.map(issue => issue.line).join("; ")}.`);
@@ -322,7 +281,6 @@ turn) {
322
281
  return { version: SHARED_ACTION_VERSION, operation, request, repo: "", title, terms, stamp, state };
323
282
  }
324
283
  if (operation === "lead_about_you") {
325
- // The owner's own note: the card shows the line, and the line it replaces beside it.
326
284
  const checked = checkAboutYouLine(input["line"]);
327
285
  if (!checked.ok)
328
286
  throw Error(checked.message);
@@ -336,8 +294,6 @@ turn) {
336
294
  const terms = replaces === 0
337
295
  ? [checked.line, "Your lead keeps this about you in every project. Change it in Settings → Lead."]
338
296
  : [`Was: ${lines[replaces - 1]}`, `Now: ${checked.line}`, "Replaces that line in what your lead knows about you. Change it in Settings → Lead."];
339
- // An added line goes on the end, so it holds whatever else changed; a replacing card holds only while the line
340
- // it replaces is still that line.
341
297
  const state = replaces === 0 ? {} : { was: lines[replaces - 1] };
342
298
  const title = replaces === 0 ? "Remember about you" : "Update what your lead knows about you";
343
299
  const stamp = hash({ operation, request, repo: "", state, terms, actor: who.name, generation: who.generation, ceiling: who.ceilingDigest });
@@ -347,7 +303,6 @@ turn) {
347
303
  ? null
348
304
  : text(input, "task", 64);
349
305
  const flowTarget = operation.startsWith("flow_") && operation !== "flow_create" && operation !== "flow_script_save" && operation !== "flow_starter" ? flowTargetOf(store, input) : null;
350
- // v92: a subagent names its project; a question names it through its card's flow.
351
306
  const subagentTarget = operation.startsWith("subagent_") && operation !== "subagent_create" && operation !== "subagent_answer" ? store.getSubagent(integer(input, "subagent")) : null;
352
307
  if (subagentTarget !== null && subagentTarget.state === "removed")
353
308
  throw Error("That subagent is off the team.");
@@ -420,7 +375,6 @@ turn) {
420
375
  }
421
376
  }
422
377
  else if (operation.startsWith("tool_")) {
423
- // The staleness fence: the project's tools as the card saw them.
424
378
  const current = projectToolsOf(store, repo);
425
379
  state = { tools: current.map((one) => `${one.name}:${one.digest}`) };
426
380
  const project = repo.split(/[\\/]/).filter(Boolean).at(-1) ?? repo;
@@ -428,7 +382,6 @@ turn) {
428
382
  const spec = toolSpecFromRequest(input);
429
383
  if (current.some((one) => one.name === spec.name))
430
384
  throw Error(`${project} already has a tool called ${spec.name}.`);
431
- // The request is rewritten to exactly what was checked, so confirming re-checks the same words.
432
385
  for (const key of ["name", "command", "args", "url", "secrets", "about"])
433
386
  delete request[key];
434
387
  if (input["catalog"] === undefined)
@@ -448,7 +401,6 @@ turn) {
448
401
  }
449
402
  }
450
403
  else if (operation === "kit_setup") {
451
- // a starter kit — its subagent, its flow and its buttons.
452
404
  const project = repo.split(/[\\/]/).filter(Boolean).at(-1) ?? repo;
453
405
  const kit = kitOf(String(input["kit"] ?? ""));
454
406
  if (kit === null)
@@ -505,7 +457,6 @@ turn) {
505
457
  terms.push(wanted === "paused" ? "Its decisions go to people and the zones it handles wait until you resume it." : wanted === "active" ? "It picks up its zones' cards again." : "It leaves the team: zones that name it go to people.");
506
458
  }
507
459
  else if (operation === "subagent_tools") {
508
- // v94: which project tools it may use, and its rule for one action.
509
460
  const tool = text(input, "tool", 40);
510
461
  const change = input["change"];
511
462
  const grant = store.subagentGrant(mate.id, tool);
@@ -521,7 +472,6 @@ turn) {
521
472
  throw Error(`${name} can already use ${tool}.`);
522
473
  if ((found.lastTest?.tools ?? []).length === 0)
523
474
  throw Error(`${tool} hasn't said what it can do yet. Test it on the Tools page first.`);
524
- // Giving a subagent a tool takes the person's password (chat-management.md §0a.3), which never goes in chat.
525
475
  throw Error(`Giving ${name} a tool takes your password. Open ${name}'s page in Toolroll, then Tools → Let ${name} use ${tool}.`);
526
476
  }
527
477
  else if (change === "revoke") {
@@ -539,7 +489,6 @@ turn) {
539
489
  const checked = checkRule(grant, action, { use: input["use"], limit, undo: input["undoWith"] ?? grant.rules[action]?.undo ?? "" });
540
490
  if (!checked.ok)
541
491
  throw Error(checked.said);
542
- // Letting it do more on its own takes the person's password (chat-management.md §0a.3), never a card.
543
492
  const info = grant.actions.find(one => one.name === action);
544
493
  if (ruleLoosens(grant.rules[action] ?? defaultRule(info), checked.rule))
545
494
  throw Error(`Letting ${name} do more with ${action} on its own takes your password. Change the rule on ${name}'s page in Toolroll.`);
@@ -551,7 +500,6 @@ turn) {
551
500
  throw Error("Choose grant, revoke or rule.");
552
501
  }
553
502
  else if (operation === "subagent_undo") {
554
- // v97: undo one of its tool calls with the action its manager named for that.
555
503
  const call = store.subagentCall(integer(input, "call"));
556
504
  const undo = call === null || call.subagent !== mate.id ? null : undoFor(store, call);
557
505
  if (call === null || undo === null)
@@ -561,7 +509,6 @@ turn) {
561
509
  state = { call: call.id };
562
510
  }
563
511
  else if (operation === "subagent_routine") {
564
- // v96: a routine: on a schedule, a card on its desk saying what to do; its answer goes to its manager.
565
512
  const name = nameOf(mate);
566
513
  if (input["change"] === "add") {
567
514
  const schedule = routineSchedule(text(input, "schedule", 80));
@@ -587,7 +534,6 @@ turn) {
587
534
  throw Error("Choose add or remove.");
588
535
  }
589
536
  else if (operation === "subagent_memory") {
590
- // v95: edit or forget one thing it remembers.
591
537
  const memory = store.subagentMemory(integer(input, "memory"));
592
538
  if (memory === null || memory.subagent !== mate.id)
593
539
  throw Error(`${nameOf(mate)} doesn't remember that any more.`);
@@ -608,7 +554,6 @@ turn) {
608
554
  state = { text: memory.text };
609
555
  }
610
556
  else if (operation === "subagent_ask") {
611
- // D5: the lead delegates. The card says exactly what goes to the subagent, which works it within its own rules.
612
557
  const asked = text(input, "text", 4000).replace(/\r\n?/g, "\n").trim();
613
558
  if (asked === "")
614
559
  throw Error(`Say what to ask ${nameOf(mate)}.`);
@@ -646,11 +591,6 @@ turn) {
646
591
  }
647
592
  }
648
593
  else if (operation === "task_start") {
649
- // A Start card (docs/plans/one-step-chat.md C2). The preview is the one the lead's turn loop prepared in this card's
650
- // own turn, for this person, on chat (never an id the model chose: the request only names it back), unexpired and
651
- // unused. Every word below is Toolroll's, from a filing dry-run in a savepoint that is always rolled back, with the
652
- // fast start rules read on it: the tap files again, and the stamp, approve()'s digest and its whole-terms check refuse
653
- // anything that differs.
654
594
  const preview = text(input, "preview", 64);
655
595
  const saved = turn === undefined ? null : chatStartPreview(store, preview, who.name, turn, now);
656
596
  if (saved === null || saved.repo !== repo)
@@ -666,17 +606,12 @@ turn) {
666
606
  state = { preview, taskId: saved.taskId, digest: read.scope.digest };
667
607
  const project = repo.split(/[\\/]/).filter(Boolean).at(-1) ?? repo;
668
608
  title = `Start work in ${project}: ${saved.title}`;
669
- terms.push(`Starts now as a small change. If it grows past ${FAST_MAX_FILES} files or ${FAST_MAX_LINES} changed lines, it waits for you to approve it again.`,
670
- // The goal and its one success test are the lead's words, shown exactly and labelled as the lead's.
671
- `Written by the lead from your request: ${quoted(saved.title)}`, scopeTermsText(read.scope), ...fastTermsLines(store, read.scope, repo).map(line => `${line.label}: ${line.words}`), `Agent permissions and limits\n${runtimeTerms(authority.profile)}\n${authority.authMode === "api-key" ? "Uses your API key; spend is charged to that account." : authority.authMode === "subscription" ? "Uses your subscription login." : ""}`);
609
+ terms.push(`Starts now as a small change. If it grows past ${FAST_MAX_FILES} files or ${FAST_MAX_LINES} changed lines, it waits for you to approve it again.`, `Written by the lead from your request: ${quoted(saved.title)}`, scopeTermsText(read.scope), ...fastTermsLines(store, read.scope, repo).map(line => `${line.label}: ${line.words}`), `Agent permissions and limits\n${runtimeTerms(authority.profile)}\n${authority.authMode === "api-key" ? "Uses your API key; spend is charged to that account." : authority.authMode === "subscription" ? "Uses your subscription login." : ""}`);
672
610
  }
673
611
  else if (operation === "sweep_cancel_rest") {
674
- // Exactly the items open now: if any settles or starts in between, the card is stale and a fresh one is needed.
675
612
  const table = sweepTable(store, integer(input, "sweep"), now, who.repos);
676
613
  if (table === null || table.repo !== repo)
677
614
  throw Error("That sweep isn't one of yours.");
678
- // Exactly the items as they stand now — each one's active task (a revision, after one), state, running attempt and
679
- // last change: any change makes this card stale, so nothing is acted on that wasn't shown.
680
615
  const open = sweepOpen(store, table, now);
681
616
  if (open.length === 0)
682
617
  throw Error("Nothing in that sweep is still unfinished.");
@@ -686,8 +621,6 @@ turn) {
686
621
  terms.push(`Cancels ${open.length - running.length} unfinished item${open.length - running.length === 1 ? "" : "s"}${running.length === 0 ? "" : ` and stops ${running.length} running build${running.length === 1 ? "" : "s"}`}: ${open.map(one => `${one.label} (${one.task})`).join(", ")}.`, "Finished results stay.");
687
622
  }
688
623
  else if (operation === "sweep_file") {
689
- // Everything the person approves is on this screen: the shared rules, every item, the one success test, the
690
- // limit. Confirming files exactly these and approves exactly these scopes; anything changed is a new card.
691
624
  const sweepTitle = text(input, "title", 200).trim(), brief = text(input, "brief", 8000).trim();
692
625
  const items = Array.isArray(input["items"]) ? input["items"] : [];
693
626
  if (items.length < 2 || items.length > 20)
@@ -701,20 +634,13 @@ turn) {
701
634
  request["items"] = cleaned.map(({ title, item }) => ({ title, item }));
702
635
  const project = repo.split(/[\\/]/).filter(Boolean).at(-1) ?? repo;
703
636
  title = `Start a sweep in ${project}: ${sweepTitle}`;
704
- // Every word each child's scope will hold is shown here (the security review: nothing approved off-screen): its
705
- // goal is the shared rules, then its item, then the verdict line; its success test is the shared acceptance.
706
637
  const acceptance = Array.isArray(input["acceptance"]) ? input["acceptance"] : [];
707
638
  if (acceptance.length === 0)
708
639
  throw Error("A sweep needs a success test every item shares.");
709
- // Every child's scope exactly as filing would make it — its words AND its agent's permissions, limits and route —
710
- // found by filing them in a savepoint that is always rolled back (prepare writes nothing). They are on this card and
711
- // in its state: if a project default changes before confirm, the card is stale and nothing is filed or approved.
712
640
  const children = sweepChildScopes(store, who, repo, brief, cleaned.map(({ title, item }) => ({ title, item })), input["acceptance"], now);
713
641
  state = { children: children.map(one => one.fingerprint) };
714
642
  const tests = acceptance.map((one, index) => `Success test ${index + 1}${typeof one["id"] === "string" ? ` (${one["id"]})` : ""}: ${String(one["statement"] ?? "")}${Array.isArray(one["evidence"]) ? ` — shown by ${one["evidence"].map(String).join(", ")}` : ""}`);
715
- terms.push(`${cleaned.length} tasks, each in its own worktree on its own branch, at most ${maxParallel} running at once, built directly (no separate planning step).`, `Shared rules for every item: ${brief}`, ...cleaned.map(one => `Item ${one.index + 1} — ${one.title}: ${one.item}`), `Each item's goal is the shared rules, then its own item, then: ${VERDICT_RULE}`, ...tests.map(line => `Every item — ${line}`), ...(children.every(one => one.runtime === children[0].runtime) ? [`Every item — ${children[0].runtime}`] : children.map((one, index) => `Item ${index + 1} — ${one.runtime}`)),
716
- // Each item's own terms, word for word: its yes is bound to this text.
717
- ...children.map((one, index) => `Item ${index + 1} in full:\n${one.terms}`), "Confirming files all of them and approves each one's scope exactly as shown. An item that needs a second person, or that the project's rules keep from its requester, is filed and waits for its own approval.", "Each ends with a verdict (fixed, not reproducible, blocked or done) and the sweep's table shows them as they land.");
643
+ terms.push(`${cleaned.length} tasks, each in its own worktree on its own branch, at most ${maxParallel} running at once, built directly (no separate planning step).`, `Shared rules for every item: ${brief}`, ...cleaned.map(one => `Item ${one.index + 1} — ${one.title}: ${one.item}`), `Each item's goal is the shared rules, then its own item, then: ${VERDICT_RULE}`, ...tests.map(line => `Every item — ${line}`), ...(children.every(one => one.runtime === children[0].runtime) ? [`Every item — ${children[0].runtime}`] : children.map((one, index) => `Item ${index + 1} — ${one.runtime}`)), ...children.map((one, index) => `Item ${index + 1} in full:\n${one.terms}`), "Confirming files all of them and approves each one's scope exactly as shown. An item that needs a second person, or that the project's rules keep from its requester, is filed and waits for its own approval.", "Each ends with a verdict (fixed, not reproducible, blocked or done) and the sweep's table shows them as they land.");
718
644
  }
719
645
  else if (operation.startsWith("flow_")) {
720
646
  const project = repo.split(/[\\/]/).filter(Boolean).at(-1) ?? repo;
@@ -729,7 +655,6 @@ turn) {
729
655
  state = {};
730
656
  title = `Create the ${name} flow in ${project}`;
731
657
  terms.push(...flowTerms(definition, null));
732
- // A template's trigger (Issues to PRs: labelled issues) comes with it, checked as the flow will have it.
733
658
  if (input["trigger"] !== undefined) {
734
659
  const draft = { id: 0, repo, name, definitionJson: JSON.stringify(definition), revision: 1, state: "active", createdBy: who.name, createdAt: now.toISOString(), updatedBy: who.name, updatedAt: now.toISOString(), owner: who.name };
735
660
  const config = validateTriggerConfig(input["trigger"], { store, flow: draft, definition, actor: who.name });
@@ -799,7 +724,6 @@ turn) {
799
724
  else if (operation === "flow_trigger_add") {
800
725
  const { flow, definition } = flowTarget;
801
726
  const config = validateTriggerConfig(input["trigger"], { store, flow, definition, actor: who.name });
802
- // A webhook address is a secret: it is made and shown on the flow's own Triggers panel, never through chat.
803
727
  if (takesDeliveries(config))
804
728
  throw Error("Webhook addresses are secrets, so they are set up on the flow's Triggers panel. From chat, use a trigger that is checked every 2 minutes.");
805
729
  request["trigger"] = config;
@@ -820,7 +744,6 @@ turn) {
820
744
  const view = browserViewOf(store, flow);
821
745
  if (view === null)
822
746
  throw Error(`No zone in ${flow.name} says it starts a browser. Mark its script zone first (edit the flow), then propose this.`);
823
- // As on the flow page (route table: instance access), a project-limited account can't allow browser use.
824
747
  if (operation === "flow_browser" && store.accountOf(who.name)?.projects !== null)
825
748
  throw Error("Allowing browser use needs an account with access to every project.");
826
749
  if (operation === "flow_browser_off") {
@@ -835,12 +758,9 @@ turn) {
835
758
  throw Error(`${view.words}.`);
836
759
  if (view.digest === null)
837
760
  throw Error(view.problem ?? "This flow's browser zones can't be approved as they are.");
838
- // The approval the person reads and the one their password signs: the digest is re-derived when they confirm.
839
761
  state = { flow: flow.id, revision: flow.revision, digest: view.digest };
840
762
  title = `Allow browser use in ${flow.name}`;
841
- terms.push(`Flow: ${flow.name} · project ${project}`,
842
- // Each script by its short digest: the whole approval, every script's full digest included, is bound in the state.
843
- ...view.zones.map(zone => `${zone.title} runs ${zone.script} v${zone.version}\nScript ${zone.digest.slice(0, 12)}`), "Each run of these zones starts a headless Chromium.", ...view.terms);
763
+ terms.push(`Flow: ${flow.name} · project ${project}`, ...view.zones.map(zone => `${zone.title} runs ${zone.script} v${zone.version}\nScript ${zone.digest.slice(0, 12)}`), "Each run of these zones starts a headless Chromium.", ...view.terms);
844
764
  }
845
765
  }
846
766
  else if (operation === "flow_trigger_pause" || operation === "flow_trigger_resume" || operation === "flow_trigger_remove") {
@@ -904,7 +824,6 @@ turn) {
904
824
  terms.push("The card leaves the flow. Any tasks it filed stay as they are.");
905
825
  }
906
826
  else if (operation === "flow_card_choose") {
907
- // "Person chooses" (flow-send.ts): one of the zone's own options, or a reply that becomes the note.
908
827
  if (at?.kind !== "choose")
909
828
  throw Error("That card isn't waiting for a choice.");
910
829
  const person = flowPersonOf(card, flowTarget.flow);
@@ -917,7 +836,6 @@ turn) {
917
836
  if (option === undefined)
918
837
  throw Error(`Choose one of its ${(at.options ?? []).length} options, by number.`);
919
838
  delete request["note"];
920
- // Bound to the option as shown: if the flow's options change before it is confirmed, it is refused.
921
839
  Object.assign(state, { label: option.label, to: option.to });
922
840
  title = `Choose “${option.label}” for ${quoted(card.title)}`;
923
841
  terms.push(option.to === "end" ? `${at.title}: “${option.label}”. The card is closed as Ignored.` : `${at.title}: “${option.label}”. It moves to ${titleOf(option.to)}.`);
@@ -968,7 +886,6 @@ turn) {
968
886
  }
969
887
  }
970
888
  else if (operation === "suggestion_not_now") {
971
- // Only a suggestion on offer now, by its exact id (which binds its evidence, prices and Models generations).
972
889
  const asked = text(input, "suggestion", 200);
973
890
  const offer = suggestionsFor(store, repo, now).find(one => one.id === asked);
974
891
  if (offer === undefined)
@@ -978,7 +895,6 @@ turn) {
978
895
  terms.push(suggestionWords(offer), "Keeps this suggestion quiet for 30 days. Nothing about which models run changes. To accept it instead, review it in Settings → Models.");
979
896
  }
980
897
  else if (operation === "trial_stop") {
981
- // Only a live trial of this project, by its number; the card is stale once the trial moves.
982
898
  const asked = integer(input, "trial");
983
899
  const trial = Number.isSafeInteger(asked) ? ruleById(store, asked) : null;
984
900
  if (trial === null || trial.kind !== "trial" || trial.repo !== repo || (trial.state !== "trialling" && trial.state !== "paused"))
@@ -999,8 +915,6 @@ turn) {
999
915
  terms.push("No new builds are enrolled. Builds already enrolled keep their arm, so the results stay comparable.");
1000
916
  }
1001
917
  else if (operation.startsWith("decision_")) {
1002
- // The staleness fence: the newest decision id and the active count, so a
1003
- // card drafted before a subagent recorded or retired one is refused.
1004
918
  const stamp = store.handle.prepare("SELECT COALESCE(MAX(id),0) AS newest, COUNT(*) AS active FROM project_decision WHERE repo=? AND status='active'").get(repo);
1005
919
  state = { newest: Number(stamp?.["newest"] ?? 0), active: Number(stamp?.["active"] ?? 0) };
1006
920
  if (operation === "decision_record") {
@@ -1079,7 +993,6 @@ turn) {
1079
993
  if (!authority.ok)
1080
994
  throw Error(authority.problem);
1081
995
  state["authMode"] = authority.authMode;
1082
- // The whole terms word for word (the yes is bound to this text: chat-terms.ts cardShowsScope), then everything else.
1083
996
  terms.push(scopeTermsText(scope), ...describeScope(scope, undefined, taskEvidenceWords(store, scope.taskId, now))
1084
997
  .filter((line) => !/^\s*(reference|approved|goal|not this|touches)\s/.test(line))
1085
998
  .map((line) => line
@@ -1143,7 +1056,6 @@ turn) {
1143
1056
  terms.push(`Limitation: ${caveat}`);
1144
1057
  }
1145
1058
  }
1146
- // An approval keeps the digest of the exact words its card shows, from now on: the yes is to these (scope.ts approve).
1147
1059
  if (APPROVAL_ACTIONS.has(operation))
1148
1060
  state["shown"] = cardTermsDigest(terms.join("\n"));
1149
1061
  const stamp = hash({
@@ -1158,17 +1070,11 @@ turn) {
1158
1070
  });
1159
1071
  return { version: SHARED_ACTION_VERSION, operation, request, repo, title, terms, stamp, state };
1160
1072
  }
1161
- /** A saved proposal's action, read by its schema (contracts/chat-actions.ts); null when it can't be read. */
1162
1073
  export function sharedActionPayload(value) {
1163
1074
  const read = readSharedAction(value);
1164
1075
  return read.ok ? read.value : null;
1165
1076
  }
1166
- /** A shortened or redacted preview is not complete consent. This rule lives
1167
- * in the shared door, so a forged transport callback cannot bypass it. */
1168
1077
  function sharedActionContentNeedsReview(action) {
1169
- // An approval's card has room for longer terms. Its words are compared exactly: anything the card would hide or
1170
- // rewrite (a long hex value, a path, a secret) sends the person to the review page. Toolroll's own digest is bound in
1171
- // the state, never in the terms, and a commit is written short, so an ordinary approval shows every word as stored.
1172
1078
  const approval = APPROVAL_ACTIONS.has(action.operation), cap = approval ? APPROVAL_TERM_CHARS : 1200;
1173
1079
  const content = [action.title, ...action.terms];
1174
1080
  return (action.terms.join("\n").length > cap ||
@@ -1178,15 +1084,6 @@ export function sharedActionNeedsReview(action) {
1178
1084
  return (CHAT_ACTIONS[action.operation].protected ||
1179
1085
  sharedActionContentNeedsReview(action));
1180
1086
  }
1181
- /** Whether a linked chat may confirm this protected action behind its own
1182
- * explicit challenge: the action is on the challenge list, needs no
1183
- * password, and every term fits the card unshortened. An approval's yes is
1184
- * a yes to the words the card showed (they are sealed as shown), so it also
1185
- * needs a chat app that shows them exactly as stored (shownAsWritten: never
1186
- * Teams, whose card reads Markdown; not Slack when a word would become an
1187
- * emoji). There the card links to the review page and no tap approves. The
1188
- * chat app is the one the card is drawn for or the tap came through, never
1189
- * something the action or a caller's input names. */
1190
1087
  export function sharedActionAllowsChallenge(action, channel) {
1191
1088
  const config = CHAT_ACTIONS[action.operation];
1192
1089
  return (CHALLENGE_ACTIONS.has(action.operation) &&
@@ -1221,13 +1118,7 @@ function savedActionContext(store, who, id, state) {
1221
1118
  requireActor(store, who, payload.repo, payload.operation);
1222
1119
  return payload;
1223
1120
  }
1224
- /** An action's terms alone, without whose proposal it was (actor, generation, ceiling). */
1225
1121
  const termsStampOf = (action) => hash({ operation: action.operation, request: action.request, repo: action.repo, state: action.state, terms: action.terms });
1226
- /**
1227
- * Whether the live action is the saved one: the exact stamp; or, for a scope approval already holding another
1228
- * approver's yes on these exact terms (awaiting the second), the same terms — each reviewer's own nonce and authority
1229
- * are still bound to them individually.
1230
- */
1231
1122
  function sameSharedAction(store, who, live, saved) {
1232
1123
  if (live.stamp === saved.stamp)
1233
1124
  return true;
@@ -1256,20 +1147,15 @@ export function mintSharedActionReview(store, who, id, root, now) {
1256
1147
  throw Error("Too many reviews are open. Close older reviews and try again.");
1257
1148
  return { payload: live, nonce };
1258
1149
  }
1259
- /** Whether a typed yes may stand in for the challenge's tap on this action: a Start card, on Telegram, a person (never a
1260
- * machine), terms whole on the card, and an unsettled typed-yes record naming exactly this proposal. */
1261
1150
  export function typedStartOpens(store, proposal, action, options) {
1262
1151
  const typed = options.typedStart;
1263
1152
  return typed !== undefined && action.operation === "task_start" && options.via === "telegram" && typed.provider === "telegram"
1264
1153
  && options.authority !== "local-owner" && !machineActing() && sharedActionAllowsChallenge(action, "telegram") && typedStartNames(store, typed, proposal);
1265
1154
  }
1266
- /** Called inside the proposal door's transaction, after ownership and session
1267
- * checks. No password or review receipt is ever part of a saved proposal. */
1268
1155
  export function executeSharedAction(store, who, id, payload, now, options) {
1269
1156
  const refuse = (reason, said) => ({ ok: false, reason, said });
1270
1157
  if (store.isDemo())
1271
1158
  return refuse("refused", "The demo authorizes nothing.");
1272
- // Easy-start C1, a belt under the confirm door's own gate: a local owner runs only an operation that is one of its acts.
1273
1159
  if ((options.authority === "local-owner" || currentLocalOwner() !== null) && (!isChatAction(payload.operation) || CHAT_ACTION_LOCAL_ACTS[payload.operation] === null))
1274
1160
  return refuse("refused", "Set a password to do this.");
1275
1161
  let live;
@@ -1288,11 +1174,9 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1288
1174
  ? error.message
1289
1175
  : "This action is no longer available.");
1290
1176
  }
1291
- // The review nonce was minted against the saved proposal's stamp: it is checked against that, whoever reviews.
1292
1177
  const savedStamp = payload.stamp;
1293
1178
  payload = live;
1294
1179
  const config = CHAT_ACTIONS[live.operation], req = live.request;
1295
- // A typed yes (C5) is checked on the live action and the live record; any use it doesn't open refuses.
1296
1180
  const typed = typedStartOpens(store, id, payload, options);
1297
1181
  if (options.typedStart !== undefined && !typed)
1298
1182
  return refuse("refused", TYPED_START_REFUSED);
@@ -1301,7 +1185,6 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1301
1185
  ((options.confirm === true && sharedActionAllowsChallenge(payload, options.via)) || typed);
1302
1186
  if (APPROVAL_ACTIONS.has(live.operation) && machineActing())
1303
1187
  return refuse("needs-confirm", "Only a person approves this.");
1304
- // A lead's or remote token reaches the same web door: an approval needs a person's own session (or tap, above).
1305
1188
  if (APPROVAL_ACTIONS.has(live.operation) && options.via === "web" && options.authority !== "local-owner" && options.person !== true)
1306
1189
  return refuse("needs-confirm", "Approve this yourself, in your signed-in chat.");
1307
1190
  if (sharedActionNeedsReview(payload) && !challenged) {
@@ -1314,8 +1197,6 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1314
1197
  return refuse("needs-confirm", "Confirm with your password in the secure screen.");
1315
1198
  }
1316
1199
  try {
1317
- // A scope approval's re-check (sso-now) is spent only if it happens: a refusal or a rolled-back savepoint puts it
1318
- // back (its every effect is in this transaction). Other actions spend it whatever comes of them.
1319
1200
  const act = () => store.savepoint(() => {
1320
1201
  const task = typeof req["task"] === "string" ? req["task"] : null, repo = payload.repo, actor = who.name;
1321
1202
  let taskId = task;
@@ -1355,10 +1236,7 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1355
1236
  : { restore: Number(req["restore"]) }),
1356
1237
  }, now);
1357
1238
  else if (payload.operation === "flow_browser") {
1358
- // Only through the secure screen with the person's own password (protected + password above); signFlowBrowser
1359
- // re-reads the flow, its zones and scripts in this transaction and refuses unless they are what the card showed.
1360
1239
  const flow = Number(payload.state["flow"]);
1361
- // signFlowBrowser re-reads the account's generation and reach in its transaction (it may have narrowed since).
1362
1240
  const by = approvalBy(store, who, repo, now, options, drafted);
1363
1241
  if (by.ok === false)
1364
1242
  throw Error(by.why);
@@ -1427,8 +1305,6 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1427
1305
  return { ok: true, taskId: null, said: payload.operation === "code_map_switch" ? `The code map is ${req["on"] === true ? "on" : "off"}.` : "The holdout has ended.", href: `/settings/project?repo=${encodeURIComponent(repo)}#code-map` };
1428
1306
  }
1429
1307
  else if (payload.operation === "suggestion_not_now") {
1430
- // The rule door (route-store.ts proveRuleDoor) re-proves who says it: this computer's local owner only inside
1431
- // its `dismiss-suggestion` act, or the confirming person.
1432
1308
  const door = currentLocalOwner() !== null ? { kind: "local-owner", actor } : { kind: "person", person: { actor: who.name, generation: who.generation, method: "session", live: () => true } };
1433
1309
  const done = dismissSuggestion(store, { repo, id: String(payload.state["suggestion"]) }, door, now);
1434
1310
  if (!done.ok)
@@ -1456,23 +1332,17 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1456
1332
  }, now);
1457
1333
  else if (payload.operation === "scope_approve") {
1458
1334
  const scope = store.getScope(task);
1459
- // Cockpit B2: classified by the act, not the road — the same standard-approval freshness as /t/:id/approve.
1460
1335
  const by = approvalBy(store, who, repo, now, options, drafted);
1461
1336
  if (by.ok === false)
1462
1337
  throw Error(by.why);
1463
1338
  const limited = chatLimitProblem(scope, by.limits, "your chat approval setting");
1464
1339
  if (limited !== null)
1465
1340
  throw Error(limited);
1466
- // A local owner keeps its own road (approve proves it again in the seal); everyone else, their own yes from chat,
1467
- // to the scope and the words the card was made with.
1468
1341
  const sawDigest = String(drafted.state["scope"]?.digest ?? "");
1469
1342
  const result = withFreshness("approve-standard", () => approve(store, task, actor, now, sawDigest, options.review?.password ?? "", {}, undefined, by.chat));
1470
1343
  if (!result.ok) {
1471
- // A first yes on protected work is kept, with how its person was proved: committed, never rolled back.
1472
- // The card stays open (`awaiting`) for the second approver; the same person again changes nothing.
1473
1344
  if (result.reason === "second-approver")
1474
1345
  return { ok: true, taskId, awaiting: true, ...(result.already ? { already: true } : {}), said: gateWords({ verdict: "vote", have: result.have, need: 2, already: result.already }) };
1475
- // v102: the project's approval rules speak for themselves.
1476
1346
  if (result.reason === "requester" || result.reason === "person-required")
1477
1347
  throw Error(gateWords({ verdict: "refuse", reason: result.reason }));
1478
1348
  if (result.reason === "policy")
@@ -1481,8 +1351,6 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1481
1351
  }
1482
1352
  }
1483
1353
  else if (payload.operation === "result_accept") {
1484
- // Accept and finish, as on the result page: whether a check only the person makes is accepted
1485
- // too is decided inside the same transaction, against the receipt as it stands.
1486
1354
  const completed = acceptAndCompleteAsOperator(store, task, { runId: null, receiptDigest: String(payload.state["receipt"] ?? ""), note: null }, who, now, options.root);
1487
1355
  if (!completed.ok)
1488
1356
  throw Error(completed.message);
@@ -1549,24 +1417,14 @@ export function executeSharedAction(store, who, id, payload, now, options) {
1549
1417
  : "The action could not be completed.");
1550
1418
  }
1551
1419
  }
1552
- /** A confirmed subagent action (v92), through the same helpers the Subagents pages use. */
1553
- /**
1554
- * Lead fan-out: file every item (all of them or none — any refusal throws and the savepoint takes the whole sweep
1555
- * back), link them to one sweep record, then approve each one's scope through the ordinary approval (its own digest,
1556
- * its own rules). A child the approval refuses stays filed and unapproved; it is named, never retried.
1557
- */
1558
- /** One child as filing makes it (the shared brief, its item, the verdict rule; the shared acceptance; built directly). */
1559
1420
  function fileSweepChild(store, who, repo, brief, one, acceptance, now) {
1560
1421
  const goal = `${brief}\n\nThis item:\n${one.item}\n\n${VERDICT_RULE}`;
1561
1422
  return fileTaskProposal(store, {
1562
1423
  title: one.title, repo, goal, acceptance, planning: "skip",
1563
- // Sized now, by the same heuristic filing would use: no background classifier is started — the card's dry run must
1564
- // leave nothing running after its rollback, and the approved scope must be the one shown (Codex sweep r2).
1565
1424
  sizing: heuristicSizing({ title: one.title, goal, outOfScope: null }),
1566
1425
  filedVia: "mate", filedBy: { name: who.name, kind: "person" }, proposedVia: "mate", admittedRepos: [...who.repos],
1567
1426
  }, now);
1568
1427
  }
1569
- /** A filed child's scope in the words an approval agrees to (no identity lines), its runtime terms, and their digest. */
1570
1428
  function sweepChildScopeOf(store, taskId) {
1571
1429
  const scope = store.getScope(taskId);
1572
1430
  if (scope === null)
@@ -1576,16 +1434,12 @@ function sweepChildScopeOf(store, taskId) {
1576
1434
  throw Error(authority.problem);
1577
1435
  const words = describeScope(scope).filter(line => !/^\s*(reference|approved)\s/.test(line)).map(line => line.trim());
1578
1436
  const runtime = `Agent permissions and limits: ${runtimeTerms(authority.profile)} ${authority.authMode === "api-key" ? "Uses your API key; spend is charged to that account." : authority.authMode === "subscription" ? "Uses your subscription login." : ""}`.trim();
1579
- // The fingerprint covers the scope's every field, not only what is rendered (a profile setting no sentence names, such
1580
- // as an agent's idle timeout, still makes the card stale): its exact terms with only identity left out.
1581
1437
  const { taskId: _task, digest: _digest, approvedDigest: _approved, approvedBy: _by, approvedAt: _at, proposedAt: _proposed, approvalBasis: _basis, modeDigest: _mode, approvedProfile: _approvedProfile, approvedProfileJson: _approvedProfileJson, approvedChainJson: _approvedChain, ...terms } = scope;
1582
1438
  return { fingerprint: hash({ words, runtime, authMode: authority.authMode, profile: authority.profile, terms }), runtime, words, terms: scopeTermsText(scope) };
1583
1439
  }
1584
- /** Every child as filing would make it, found in a savepoint that is always rolled back: prepare never writes. */
1585
1440
  function sweepChildScopes(store, who, repo, brief, items, acceptance, now) {
1586
1441
  const dryRun = new Error("sweep dry run");
1587
1442
  let found = [];
1588
- // Inside one transaction (filing opens its own; transact flattens), a savepoint that always rolls back.
1589
1443
  store.transact(() => {
1590
1444
  try {
1591
1445
  store.savepoint(() => {
@@ -1605,15 +1459,7 @@ function sweepChildScopes(store, who, repo, brief, items, acceptance, now) {
1605
1459
  });
1606
1460
  return found;
1607
1461
  }
1608
- /**
1609
- * A Start card's yes (docs/plans/one-step-chat.md C2): file and approve in one step through fastStartBuild, in this
1610
- * action's savepoint. Two proofs of the person and no third: their own yes from chat (approvalBy gives `chat`, with the
1611
- * card's whole words and their digest), under their own chat limits; or this computer's local owner on web chat, whose
1612
- * approve() proves the owner itself and allows `build-now` only with a fast marker. Anything else refuses, and a refusal
1613
- * throws, taking the filing back.
1614
- */
1615
1462
  function startFromCard(store, who, proposal, drafted, options, now) {
1616
- // `toolroll chat` keeps refusing approvals; a Start card names the terminal's own fast start instead.
1617
1463
  if (options.via === "cli")
1618
1464
  throw Error(startFromTerminalWords(store, drafted));
1619
1465
  const by = approvalBy(store, who, drafted.repo, now, options, drafted);
@@ -1623,7 +1469,6 @@ function startFromCard(store, who, proposal, drafted, options, now) {
1623
1469
  if (by.chat !== undefined) {
1624
1470
  const chat = by.chat;
1625
1471
  proof = { chat: by.limits };
1626
- // A typed yes (C5) is recorded beside the fast marker: which message was the yes. The executor's gate has proved it.
1627
1472
  const typed = options.typedStart;
1628
1473
  approveNow = (taskId, saw, fast) => approve(store, taskId, who.name, now, saw, "", {}, typed === undefined ? fast : { ...fast, typed: { provider: typed.provider, event: typed.event } }, chat);
1629
1474
  }
@@ -1640,12 +1485,6 @@ function startFromCard(store, who, proposal, drafted, options, now) {
1640
1485
  throw Error(built.message);
1641
1486
  return built.taskId;
1642
1487
  }
1643
- /**
1644
- * A value safe to paste into a shell as ONE word, single-quoted, or null. The value is model- or person-written (the
1645
- * lead's title, a project path), so only a strict allowlist passes: letters, digits, spaces and `. , : _ / - ( ) + # @`,
1646
- * 1 to 120 characters, no leading `-`. Anything else (quotes, backticks, `$`, `\`, newlines, globs, redirections…) is
1647
- * null, and the caller shows a placeholder instead.
1648
- */
1649
1488
  export function shellWordOrNull(text) {
1650
1489
  if (text.length < 1 || text.length > 120 || text.startsWith("-"))
1651
1490
  return null;
@@ -1653,16 +1492,12 @@ export function shellWordOrNull(text) {
1653
1492
  return null;
1654
1493
  return `'${text}'`;
1655
1494
  }
1656
- /** Where `toolroll chat` sends a Start card: the terminal's own fast start, with the words the lead drafted when they are
1657
- * safe to paste as one shell word, else the placeholders. Never a value unquoted or in double quotes. */
1658
1495
  export function startFromTerminalWords(store, action) {
1659
1496
  const row = store.handle.prepare("SELECT title FROM fast_preview WHERE id = ?").get(String(action.state["preview"] ?? ""));
1660
1497
  const title = row === undefined ? null : shellWordOrNull(String(row["title"]));
1661
1498
  const project = shellWordOrNull(action.repo);
1662
1499
  return `Start it from the terminal with \`toolroll task new ${title ?? "\"<title>\""} --repo ${project ?? "<project>"}\`.`;
1663
1500
  }
1664
- /** How this yes stands, and under whose limits: a person's own from chat, by their own chat setting, with the words and
1665
- * digest the card was made with. A local owner's road has none: approve() proves it itself. */
1666
1501
  function approvalBy(store, who, repo, now, options, drafted) {
1667
1502
  if (options.authority === "local-owner")
1668
1503
  return { ok: true, limits: { fullAccess: true, capMicrousd: null } };
@@ -1692,7 +1527,6 @@ function fileSweep(store, who, proposal, payload, by, now) {
1692
1527
  const made = fileSweepChild(store, who, payload.repo, brief, one, req["acceptance"], now);
1693
1528
  if (!made.ok)
1694
1529
  throw Error(`Item ${index + 1} (${one.title}) couldn't be filed: ${made.message}. Nothing was filed.`);
1695
- // Each filed scope must be exactly the one the card showed (words, permissions, limits, route); else nothing is filed.
1696
1530
  if (sweepChildScopeOf(store, made.id).fingerprint !== payload.state["children"]?.[index])
1697
1531
  throw Error(`Item ${index + 1} (${one.title}) no longer matches what you reviewed (a project default changed). Nothing was filed; ask for a fresh card.`);
1698
1532
  store.addSweepTask(sweep, made.id, index, one.title);
@@ -1701,7 +1535,6 @@ function fileSweep(store, who, proposal, payload, by, now) {
1701
1535
  const waiting = [];
1702
1536
  for (const one of filed) {
1703
1537
  const scope = store.getScope(one.id);
1704
- // A person's own limits hold for each item: one past them is filed and waits for its own approval.
1705
1538
  const approved = scope === null || chatLimitProblem(scope, by.limits, "your chat approval setting") !== null ? null
1706
1539
  : withFreshness("approve-standard", () => approve(store, one.id, who.name, now, scope.digest, "", {}, undefined, by.chat));
1707
1540
  if (approved === null || !approved.ok)
@@ -1731,7 +1564,6 @@ function runSubagentAction(store, payload, actor, now) {
1731
1564
  if (mate === null || mate.state === "removed")
1732
1565
  throw Error("That subagent is off the team.");
1733
1566
  if (payload.operation === "subagent_ask") {
1734
- // One card per confirmed proposal: the confirmation runs once, so a retried tap never asks twice.
1735
1567
  if (mate.version !== payload.state["version"])
1736
1568
  throw Error("Someone changed its soul file since. Ask for a fresh proposal.");
1737
1569
  const asked = askSubagent(store, mate, { who: actor, via: "the lead" }, String(req["text"]), now);
@@ -1767,7 +1599,6 @@ function runSubagentAction(store, payload, actor, now) {
1767
1599
  if ((grant === null ? "" : JSON.stringify(grant.rules)) !== payload.state["rules"])
1768
1600
  throw Error("Someone changed its tools since. Ask for a fresh proposal.");
1769
1601
  const found = projectToolsOf(store, mate.repo).find(one => one.name === tool);
1770
- // A grant takes the person's password on the subagent's page (chat-management.md §0a.3): never from a card.
1771
1602
  if (req["change"] === "grant")
1772
1603
  throw Error("Giving a subagent a tool takes your password. Do it on its page in Toolroll.");
1773
1604
  const done = req["change"] === "grant" ? found === undefined ? { ok: false, said: `There's no tool called ${tool} any more.` } : grantListed(store, mate, found, null, actor, now, {})
@@ -1787,8 +1618,6 @@ function runSubagentAction(store, payload, actor, now) {
1787
1618
  throw Error(done.said);
1788
1619
  return { said: done.said, href: payload.operation === "subagent_state" && req["state"] === "removed" ? "/settings/lead/subagents" : `/settings/lead/subagents/${mate.id}` };
1789
1620
  }
1790
- /** A confirmed flow action, through the same helpers the canvas uses; then
1791
- * the flow moves what it can right away, as it does after a canvas change. */
1792
1621
  function runFlowAction(store, payload, actor, repos, root, now) {
1793
1622
  const req = payload.request;
1794
1623
  const settle = (flow, said, card) => {
@@ -1797,7 +1626,7 @@ function runFlowAction(store, payload, actor, repos, root, now) {
1797
1626
  try {
1798
1627
  advanceFlows(store, repo, now, root === undefined ? {} : { evidenceRoot: root });
1799
1628
  }
1800
- catch { /* the next worker pass retries */ }
1629
+ catch { }
1801
1630
  }
1802
1631
  const after = card === null ? null : store.getFlowCard(card);
1803
1632
  const filed = after !== null && after.task !== null && after.state === "active" ? " Its step filed a task under your usual approvals." : "";
@@ -1868,7 +1697,6 @@ function runFlowAction(store, payload, actor, repos, root, now) {
1868
1697
  const acted = payload.operation === "flow_card_move" ? moveCardInFlow(store, card, String(req["zone"]), actor, now)
1869
1698
  : payload.operation === "flow_card_cancel" ? cancelFlowCard(store, card, actor, now)
1870
1699
  : payload.operation === "flow_card_choose" ? (() => {
1871
- // The option (its words and where it leads) or reply target exactly as proposed; a proposal from before carries neither and is refused.
1872
1700
  const bound = payload.state;
1873
1701
  if (typeof bound["to"] !== "string" || (Number.isSafeInteger(req["choice"]) && typeof bound["label"] !== "string"))
1874
1702
  return { ok: false, message: "Those options changed since; nothing was changed. Ask for a fresh proposal." };
@@ -1885,7 +1713,6 @@ function runFlowAction(store, payload, actor, repos, root, now) {
1885
1713
  throw Error(acted.message);
1886
1714
  return settle(card.flow, acted.said, card.id);
1887
1715
  }
1888
- // ---- chat and console parity (docs/plans/toolroll-cards.md) ------------------------------------------------------------
1889
1716
  const LATE_APPROVALS = new Set(["task_reopen", "revision_accept", "revision_reject", "flow_unattended"]);
1890
1717
  const PARITY_ACTIONS = new Set(["mode_revoke", "flow_unattended_off", "flow_archive", "task_archive", "task_restore", "incident_resolve", "memory_decide", "finding_send", "finding_resend", ...LATE_APPROVALS]);
1891
1718
  const OWNER_PARITY = new Set(["provider_resume", "worker_note", "lead_identity"]);
@@ -1901,7 +1728,6 @@ function instanceAction(store, who, operation, input) {
1901
1728
  const pause = authPauseOf(store, provider);
1902
1729
  if (pause === null)
1903
1730
  throw Error("That agent isn't paused.");
1904
- // The pause is the whole installation's: every project with work waiting on it is named, and must be in reach here.
1905
1731
  const repos = [...new Set(store.handle.prepare(`SELECT t.repo AS repo FROM run r JOIN task_ref t ON t.id = r.task_ref WHERE r.provider = ? AND r.reason = 'auth-expired' AND r.finished_at >= ?
1906
1732
  UNION SELECT repo FROM task_ref WHERE auth_wait_pause = ?`).all(provider, pause.openedAt, pause.id).flatMap(row => row["repo"] === null ? [] : [String(row["repo"])]))].sort();
1907
1733
  if (repos.some(one => !who.repos.includes(one)))
@@ -1928,7 +1754,6 @@ const REOPEN_REFUSED = {
1928
1754
  claimed: "This task is being built right now.", held: "A hold stands: lift it first.", "question-open": "An unanswered question stands: answer or close it first.",
1929
1755
  "incident-open": "An unresolved incident stands: resolve it first.", "bad-state": "This task is not in a state reopen can take.",
1930
1756
  };
1931
- /** The one plan revision waiting on a decision for this task, by its id or as the only one. */
1932
1757
  function waitingRevision(store, task, asked) {
1933
1758
  const ref = store.lookupRef(task);
1934
1759
  const waiting = ref === null ? [] : store.listPlanRevisions(ref.id).filter(one => one.status === "blocked");
@@ -1937,7 +1762,6 @@ function waitingRevision(store, task, asked) {
1937
1762
  throw Error("That plan revision isn't waiting on a decision.");
1938
1763
  return found;
1939
1764
  }
1940
- /** A finding follows its task's family, so every project the family reaches must be in reach (findings.ts, one gate). */
1941
1765
  function familyWithin(store, who, task) {
1942
1766
  if (familyInReach(store, who, task) === null)
1943
1767
  throw Error("This task's work reaches a project outside your access here.");
@@ -2030,7 +1854,6 @@ function parityAction(store, who, operation, input, repo, flow, now, request, ro
2030
1854
  throw Error("Name schedules from this flow's own list.");
2031
1855
  if (covered.length === 0)
2032
1856
  throw Error("Choose a schedule to include: this flow's schedules bring in outside content, so none is covered unless you pick it.");
2033
- // Every project its work files in: the person must reach each, and each is named and checked at the yes.
2034
1857
  const repos = [...new Set([flow.repo, ...workReposOf(flow)])];
2035
1858
  if (repos.some(one => !who.repos.includes(one) || !store.accountCanAccess(who.name, one)))
2036
1859
  throw Error("This flow files work in a project outside your access here.");
@@ -2076,7 +1899,6 @@ function parityAction(store, who, operation, input, repo, flow, now, request, ro
2076
1899
  const proposal = listProposals(store, repo).find(one => one.id === id);
2077
1900
  if (proposal === undefined)
2078
1901
  throw Error("That proposal isn't waiting any more.");
2079
- // A lesson note is accepted in the person's own words (memory-pass.ts): never a model's, so never from a card.
2080
1902
  if (decision === "accept" && lessonNoteOf(store, id) !== null)
2081
1903
  throw Error("A lesson note is accepted in your own words: write it on the Knowledge page.");
2082
1904
  return { state: { proposal: id }, title: `${decision === "accept" ? "Accept" : "Reject"} a memory proposal`, terms: [proposal.title, ...(proposal.beforeText === null ? [] : [`Was: ${proposal.beforeText}`]), `Becomes: ${proposal.afterText}`, `Why: ${proposal.rationale}`, decision === "accept" ? "Later agent sessions in this project read this." : "Nothing is added to project memory."] };
@@ -2085,12 +1907,9 @@ function parityAction(store, who, operation, input, repo, flow, now, request, ro
2085
1907
  throw Error("Choose an available action.");
2086
1908
  }
2087
1909
  }
2088
- /** Where a yes came from, in the words the other chat approvals' ledger lines use. */
2089
1910
  const approvalRoad = (options) => `via ${options.via}${options.binding === undefined ? "" : ` · chat binding #${options.binding}`}`;
2090
- /** The approvals added last: the console's own write, after the same question every approval asks. */
2091
1911
  function runLateApproval(store, who, payload, byFor, road, now) {
2092
1912
  const req = payload.request, actor = who.name, by = byFor(payload.repo);
2093
- // Rejecting lowers: it takes a person's yes, not their approving setting.
2094
1913
  if (by.ok === false && payload.operation !== "revision_reject")
2095
1914
  throw Error(by.why);
2096
1915
  if (payload.operation === "task_reopen") {
@@ -2101,7 +1920,6 @@ function runLateApproval(store, who, payload, byFor, road, now) {
2101
1920
  }
2102
1921
  if (payload.operation === "flow_unattended") {
2103
1922
  const ask = payload.state["ask"];
2104
- // The person's own setting holds in every project this flow's work files in, not only its own.
2105
1923
  for (const repo of payload.state["repos"]) {
2106
1924
  const here = byFor(repo);
2107
1925
  if (here.ok === false)
@@ -2115,7 +1933,6 @@ function runLateApproval(store, who, payload, byFor, road, now) {
2115
1933
  return { ok: true, taskId: null, said: `Runs on its own until ${untilWords(signed.grant.absoluteExpiry)}.`, href: `/flows/${Number(req["flow"])}` };
2116
1934
  }
2117
1935
  const task = String(req["task"]), revision = waitingRevision(store, task, req["revision"]), accept = payload.operation === "revision_accept";
2118
- // A saved limit can't be read against a change of authority: that one opens in Toolroll.
2119
1936
  if (accept && by.ok && revision.authorityKind === "authority-change" && (!by.limits.fullAccess || by.limits.capMicrousd !== null))
2120
1937
  throw Error("This revision changes what was approved, beyond your chat approval limits. Open it in Toolroll.");
2121
1938
  if (!store.resolvePlanRevision(revision.id, accept ? "applied" : "rejected", actor, now))
@@ -2123,7 +1940,6 @@ function runLateApproval(store, who, payload, byFor, road, now) {
2123
1940
  store.releaseOwnedHold("revision", String(revision.id));
2124
1941
  return { ok: true, taskId: task, said: accept ? "Revision accepted." : "Revision rejected." };
2125
1942
  }
2126
- /** Each runs the write the console's own handler calls, as this person, inside the confirm door's transaction. */
2127
1943
  function runParityAction(store, who, payload, now, root) {
2128
1944
  const req = payload.request, actor = who.name, repo = payload.repo;
2129
1945
  const done = (said, href, taskId = null) => ({ ok: true, taskId, said, ...(href === undefined ? {} : { href }) });
@@ -2134,7 +1950,6 @@ function runParityAction(store, who, payload, now, root) {
2134
1950
  const sent = payload.operation === "finding_resend" ? resendFinding(store, Number(req["finding"]), now)
2135
1951
  : req["pointer"] !== undefined ? sendReviewFinding(store, task, String(req["pointer"]), actor, now)
2136
1952
  : req["run"] !== undefined ? sendCheckFinding(store, root ?? "", task, Number(req["run"]), actor, now)
2137
- // The lead drafted these words and the person confirmed them: recorded as the lead's, sent by the person.
2138
1953
  : sendFinding(store, { taskId: task, source: "lead", by: actor, summary: String(req["summary"]), file: typeof req["file"] === "string" ? req["file"] : null, line: typeof req["line"] === "number" ? req["line"] : null }, now);
2139
1954
  if (!sent.ok)
2140
1955
  throw Error(sent.message);