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.
- package/CHANGELOG.md +65 -0
- package/README.md +27 -27
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +117 -103
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +3 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +2 -16
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +168 -0
- package/dist/local-owner.js +15 -80
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +2 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +280 -2304
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +3 -18
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +11 -30
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +6 -74
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +26 -103
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +9 -28
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +88 -566
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +29 -564
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +9 -86
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +17 -497
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +8 -133
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +12 -227
- package/dist/server/tasks.js +37 -531
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +8 -73
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +66 -19
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +91 -40
- package/dist/tui.js +54 -54
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +5 -4
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -318
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1972
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -539
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -41
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner.d.ts +0 -124
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -52
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -156
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -35
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1067
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -80
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -59
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -754
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -774
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -342
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -83
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -30
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -144
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/steer-mailbox.js
CHANGED
|
@@ -1,44 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The running build's steering mailbox (v120). A note an operator files
|
|
3
|
-
* while a build runs used to wait for the next attempt; now the builder's
|
|
4
|
-
* pulse writes it into one nonce-named folder in the worktree, as a numbered
|
|
5
|
-
* file the agent reads and acknowledges by moving it into `handled/` — the
|
|
6
|
-
* same small contract a person's own inbox keeps:
|
|
7
|
-
*
|
|
8
|
-
* - The durable record is the delivery. A note is mailed (written into the
|
|
9
|
-
* folder) and read (moved by the agent); nothing else counts. A hook
|
|
10
|
-
* reminding the agent, or a file the pulse wrote, proves nothing.
|
|
11
|
-
* - Numbers are never reused: the next one is past every name in the folder
|
|
12
|
-
* and in `handled/`, and past every one this pulse has used.
|
|
13
|
-
* - Whatever is still unread when the attempt ends keeps today's road: the
|
|
14
|
-
* note stays pending, the next attempt's brief quotes it, and a task that
|
|
15
|
-
* ends first supersedes it.
|
|
16
|
-
*
|
|
17
|
-
* Every step is bookkeeping, and bookkeeping never fails a build: a folder
|
|
18
|
-
* the agent removed is made again, one it replaced with anything but a real
|
|
19
|
-
* directory is never written through, and an error waits for the next beat.
|
|
20
|
-
*
|
|
21
|
-
* Two boundaries, because the folder lives where the agent and anything it
|
|
22
|
-
* runs can write:
|
|
23
|
-
* - Every genuine note carries this attempt's key, which only the brief and
|
|
24
|
-
* the notes themselves name. A file in the folder without it was not
|
|
25
|
-
* written by the operator, and the brief tells the agent to act on none.
|
|
26
|
-
* (The brief rides the agent's argv, so a process that reads argv could
|
|
27
|
-
* learn it: this keeps ordinary repository code from posing as the
|
|
28
|
-
* operator, not a determined local process.)
|
|
29
|
-
* - The pulse writes only while the folder still resolves to this worktree's
|
|
30
|
-
* own folder, before and after each write, so swapping it for a link can
|
|
31
|
-
* never make the plane write a note somewhere else.
|
|
32
|
-
*/
|
|
33
1
|
import { closeSync, constants, fstatSync, lstatSync, mkdirSync, openSync, readdirSync, readSync, realpathSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
34
2
|
import { join } from "node:path";
|
|
35
3
|
import { fence } from "./brief-fence.js";
|
|
36
4
|
import { ANSWER_FILE_BYTES, findingAnswerSchema, findingLine, findingSourceWords, FINDING_ROUND_LIMIT, markFindingDelivered, markFindingRead, saveFindingAnswer, undeliveredFindings } from "./findings.js";
|
|
37
5
|
import { FAILING_FIRST_FILE, failingFirstReportSchema, saveFailingFirstReport } from "./failing-first.js";
|
|
38
6
|
export const STEER_HANDLED = "handled";
|
|
39
|
-
/** Findings have their own folder: a finding is not operator steering, and must never read as it (findings.ts). */
|
|
40
7
|
export const STEER_FINDINGS = "findings";
|
|
41
|
-
/** What the agent writes back: one file per finding it answers. */
|
|
42
8
|
export const STEER_ANSWERS = "answers";
|
|
43
9
|
export const findingNoteName = (id) => `finding-${id}.json`;
|
|
44
10
|
const NOTE_NAME = /^(\d+)\.json$/;
|
|
@@ -51,7 +17,6 @@ const isRealDirectory = (path) => {
|
|
|
51
17
|
return false;
|
|
52
18
|
}
|
|
53
19
|
};
|
|
54
|
-
/** Make the folder and its handled/ inside the worktree; null when it cannot be made. */
|
|
55
20
|
export function openSteerMailbox(worktree, folder, runId, taskRef, key) {
|
|
56
21
|
let realDir;
|
|
57
22
|
try {
|
|
@@ -63,7 +28,6 @@ export function openSteerMailbox(worktree, folder, runId, taskRef, key) {
|
|
|
63
28
|
const box = { runId, taskRef, folder, dir: join(worktree, folder), realDir, key, last: 0, waiting: new Map(), findingsWaiting: new Set() };
|
|
64
29
|
return ensureFolder(box) ? box : null;
|
|
65
30
|
}
|
|
66
|
-
/** The folder is still this worktree's own, not a link to somewhere else. */
|
|
67
31
|
const stillInside = (box) => {
|
|
68
32
|
try {
|
|
69
33
|
return realpathSync(box.dir) === box.realDir;
|
|
@@ -74,7 +38,6 @@ const stillInside = (box) => {
|
|
|
74
38
|
};
|
|
75
39
|
function ensureFolder(box) {
|
|
76
40
|
for (const path of [box.dir, join(box.dir, STEER_HANDLED), join(box.dir, STEER_FINDINGS), join(box.dir, STEER_ANSWERS)]) {
|
|
77
|
-
// A folder swapped for a link gets nothing made inside it.
|
|
78
41
|
if (path !== box.dir && !stillInside(box))
|
|
79
42
|
return false;
|
|
80
43
|
try {
|
|
@@ -84,7 +47,6 @@ function ensureFolder(box) {
|
|
|
84
47
|
if (error.code !== "EEXIST")
|
|
85
48
|
return false;
|
|
86
49
|
}
|
|
87
|
-
// Something the agent put in the folder's place is never written through.
|
|
88
50
|
if (!isRealDirectory(path))
|
|
89
51
|
return false;
|
|
90
52
|
}
|
|
@@ -108,7 +70,6 @@ function highestNumber(box) {
|
|
|
108
70
|
}
|
|
109
71
|
return highest;
|
|
110
72
|
}
|
|
111
|
-
/** Every waiting note the agent moved into handled/ is read, by this run. */
|
|
112
73
|
function collectAcknowledgements(store, box, now) {
|
|
113
74
|
if (box.waiting.size === 0)
|
|
114
75
|
return;
|
|
@@ -129,16 +90,14 @@ function collectAcknowledgements(store, box, now) {
|
|
|
129
90
|
store.ackSteerNote(noteId, box.runId, now);
|
|
130
91
|
}
|
|
131
92
|
}
|
|
132
|
-
/** Remove a name this pulse wrote, only while the folder is still this worktree's own; a link goes, never its target. */
|
|
133
93
|
function removeOwn(box, name) {
|
|
134
94
|
if (!stillInside(box))
|
|
135
95
|
return;
|
|
136
96
|
try {
|
|
137
97
|
unlinkSync(join(box.dir, name));
|
|
138
98
|
}
|
|
139
|
-
catch {
|
|
99
|
+
catch { }
|
|
140
100
|
}
|
|
141
|
-
/** Write each note this run has not seen yet: a temp name, then the number. */
|
|
142
101
|
function mailNotes(store, box, now) {
|
|
143
102
|
const notes = store.mailableSteerNotes(box.taskRef, box.runId);
|
|
144
103
|
if (notes.length === 0 || !ensureFolder(box))
|
|
@@ -158,8 +117,6 @@ function mailNotes(store, box, now) {
|
|
|
158
117
|
removeOwn(box, temp);
|
|
159
118
|
return;
|
|
160
119
|
}
|
|
161
|
-
// Checked again after the write: a folder swapped for a link mid-write
|
|
162
|
-
// leaves the note unrecorded, deletes nothing, and mails nothing more this beat.
|
|
163
120
|
if (!stillInside(box))
|
|
164
121
|
return;
|
|
165
122
|
box.last = number;
|
|
@@ -174,14 +131,10 @@ function mailNotes(store, box, now) {
|
|
|
174
131
|
box.waiting.set(number, note.id);
|
|
175
132
|
}
|
|
176
133
|
else {
|
|
177
|
-
// The task ended or the note settled between the read and the write, or
|
|
178
|
-
// the mailing could not be recorded: an unrecorded file would only be
|
|
179
|
-
// mailed twice, so it goes, and the next beat tries again.
|
|
180
134
|
removeOwn(box, name);
|
|
181
135
|
}
|
|
182
136
|
}
|
|
183
137
|
}
|
|
184
|
-
/** A file the agent wrote, read without following a link and never past `limit`; null for anything else. */
|
|
185
138
|
function readOwn(path, limit) {
|
|
186
139
|
let fd;
|
|
187
140
|
try {
|
|
@@ -205,8 +158,6 @@ function readOwn(path, limit) {
|
|
|
205
158
|
closeSync(fd);
|
|
206
159
|
}
|
|
207
160
|
}
|
|
208
|
-
/** Write each open finding this run has not been given. The file carries the attempt's key and quoted data only; what
|
|
209
|
-
* to do with it is the brief's rule, never the file's. */
|
|
210
161
|
function mailFindings(store, box, now) {
|
|
211
162
|
const findings = undeliveredFindings(store, box.taskRef, box.runId);
|
|
212
163
|
if (findings.length === 0 || !ensureFolder(box))
|
|
@@ -241,7 +192,6 @@ function mailFindings(store, box, now) {
|
|
|
241
192
|
removeOwn(box, join(STEER_FINDINGS, name));
|
|
242
193
|
}
|
|
243
194
|
}
|
|
244
|
-
/** A finding moved to handled/ is read, and only read: it stays open until an answer counts. */
|
|
245
195
|
function collectFindingReads(store, box, now) {
|
|
246
196
|
if (box.findingsWaiting.size === 0)
|
|
247
197
|
return;
|
|
@@ -262,7 +212,6 @@ function collectFindingReads(store, box, now) {
|
|
|
262
212
|
markFindingRead(store, id, box.runId, now);
|
|
263
213
|
}
|
|
264
214
|
}
|
|
265
|
-
/** Save each answer in answers/ that carries this attempt's key. It counts, or doesn't, when the attempt settles. */
|
|
266
215
|
function collectAnswers(store, box, now) {
|
|
267
216
|
const dir = join(box.dir, STEER_ANSWERS);
|
|
268
217
|
if (!stillInside(box) || !isRealDirectory(dir))
|
|
@@ -293,7 +242,6 @@ function collectAnswers(store, box, now) {
|
|
|
293
242
|
saveFindingAnswer(store, box.runId, read.data, now);
|
|
294
243
|
}
|
|
295
244
|
}
|
|
296
|
-
/** The agent's failing-test-first report, when its task asked for one. Its own words, saved as that (evidence-pair.ts). */
|
|
297
245
|
function collectFailingFirst(store, box, now) {
|
|
298
246
|
if (!stillInside(box))
|
|
299
247
|
return;
|
|
@@ -311,7 +259,6 @@ function collectFailingFirst(store, box, now) {
|
|
|
311
259
|
if (read.success && read.data.key === box.key)
|
|
312
260
|
saveFailingFirstReport(store, box.taskRef, box.runId, read.data, now);
|
|
313
261
|
}
|
|
314
|
-
/** One beat: record what the agent read and answered, then mail what is new while the agent runs. */
|
|
315
262
|
export function pulseSteerMailbox(store, box, now, agentRunning) {
|
|
316
263
|
collectAcknowledgements(store, box, now);
|
|
317
264
|
collectFindingReads(store, box, now);
|
|
@@ -321,30 +268,23 @@ export function pulseSteerMailbox(store, box, now, agentRunning) {
|
|
|
321
268
|
mailFindings(store, box, now);
|
|
322
269
|
}
|
|
323
270
|
}
|
|
324
|
-
/** The attempt is over: one last read, then the folder goes. Unread notes stay pending for the next attempt. */
|
|
325
271
|
export function closeSteerMailbox(store, box, now) {
|
|
326
272
|
try {
|
|
327
273
|
collectAcknowledgements(store, box, now);
|
|
328
274
|
}
|
|
329
|
-
catch {
|
|
275
|
+
catch { }
|
|
330
276
|
try {
|
|
331
277
|
collectFindingReads(store, box, now);
|
|
332
278
|
collectAnswers(store, box, now);
|
|
333
279
|
collectFailingFirst(store, box, now);
|
|
334
280
|
}
|
|
335
|
-
catch {
|
|
281
|
+
catch { }
|
|
336
282
|
try {
|
|
337
283
|
rmSync(box.dir, { recursive: true, force: true });
|
|
338
284
|
}
|
|
339
|
-
catch {
|
|
285
|
+
catch { }
|
|
340
286
|
}
|
|
341
287
|
const shellQuote = (value) => `'${value.replace(/'/g, `'\\''`)}'`;
|
|
342
|
-
/**
|
|
343
|
-
* Claude's doorbell: a synchronous PostToolUse hook that lists the folder and,
|
|
344
|
-
* while a note is unread, hands the agent one line of context between tool
|
|
345
|
-
* calls. It only says notes are waiting — it never quotes one, and its firing
|
|
346
|
-
* is never an acknowledgement. Rendered into the run's own --settings.
|
|
347
|
-
*/
|
|
348
288
|
export function claudeSteerHooks(dir, folder) {
|
|
349
289
|
const context = {
|
|
350
290
|
hookSpecificOutput: {
|
|
@@ -353,7 +293,6 @@ export function claudeSteerHooks(dir, folder) {
|
|
|
353
293
|
},
|
|
354
294
|
};
|
|
355
295
|
const command = `set -- ${shellQuote(dir)}/[0-9]*.json; [ -e "$1" ] || exit 0; printf ${shellQuote(`${JSON.stringify(context)}\n`)} "$#"`;
|
|
356
|
-
// Findings ring their own bell, in their own words: never "operator", because their text is not the operator's.
|
|
357
296
|
const findings = {
|
|
358
297
|
hookSpecificOutput: {
|
|
359
298
|
hookEventName: "PostToolUse",
|
package/dist/steer-status.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** `liveBuild`: the task has a build whose agent is running and reads its steering folder (Store.steeringLiveBuild). */
|
|
2
1
|
export function steerStandingOf(note, liveBuild) {
|
|
3
2
|
if (note.authorshipState !== "verified")
|
|
4
3
|
return "unverified";
|
|
@@ -8,10 +7,8 @@ export function steerStandingOf(note, liveBuild) {
|
|
|
8
7
|
return "read";
|
|
9
8
|
if (!liveBuild)
|
|
10
9
|
return "next-attempt";
|
|
11
|
-
// Sent to the running build every time it was owed, and never moved to handled/ (steer-live.ts).
|
|
12
10
|
return note.liveMissedAt !== null ? "not-picked-up" : "waiting";
|
|
13
11
|
}
|
|
14
|
-
/** The words, and the moment the agent read it when it has: each surface renders that time its own way. */
|
|
15
12
|
export function steerStandingParts(note, liveBuild) {
|
|
16
13
|
switch (steerStandingOf(note, liveBuild)) {
|
|
17
14
|
case "read": return { words: "Picked up at", readAt: note.ackedAt ?? note.deliveredAt };
|
|
@@ -26,17 +23,13 @@ export function steerStandingWords(note, liveBuild, time) {
|
|
|
26
23
|
const { words, readAt } = steerStandingParts(note, liveBuild);
|
|
27
24
|
return readAt === null ? words : `${words} ${time(readAt)}`;
|
|
28
25
|
}
|
|
29
|
-
/** Where a note filed now goes, said before or right after filing it. */
|
|
30
26
|
export function steerDestinationWords(liveBuild, liveInput = false) {
|
|
31
|
-
// A Claude build with live input takes it in seconds (steer-live.ts); any other running build reads its folder.
|
|
32
27
|
return liveBuild && liveInput
|
|
33
28
|
? "The running agent gets it now."
|
|
34
29
|
: liveBuild
|
|
35
30
|
? "The running agent reads it when it next checks for notes."
|
|
36
31
|
: "The next attempt reads it before starting.";
|
|
37
32
|
}
|
|
38
|
-
/** A paused live build's one sentence: until when it can wait before it ends, and how long that is (live-input.ts
|
|
39
|
-
* idleLimit), or only that it is paused when it has no idle limit. `time` renders the moment its surface's way. */
|
|
40
33
|
export function pausedWords(pause, time) {
|
|
41
34
|
if (pause.until === null || pause.limitMs === null)
|
|
42
35
|
return "Paused.";
|
package/dist/stop-proof.js
CHANGED
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Toolroll's own proof that a finished build stopped. Nobody is ever asked to "confirm it stopped": a person can't see
|
|
3
|
-
* whether a process exited, and asking defeats unattended builds and releases.
|
|
4
|
-
*
|
|
5
|
-
* When a finished run's process record is missing or incomplete (a spawn whose process ID was never written, a lost
|
|
6
|
-
* process-tree snapshot, an agent start with no witness, a workspace note that can't be read), Toolroll looks at this
|
|
7
|
-
* computer itself, a grace period after the run finished:
|
|
8
|
-
*
|
|
9
|
-
* - no process the run is known to have started is still that process (pid and birth time, never a pid alone);
|
|
10
|
-
* - no process works in the run's folder (its working directory) or names it in its command line;
|
|
11
|
-
* - this process still tracks no live child for the run.
|
|
12
|
-
*
|
|
13
|
-
* A leftover it finds is stopped (SIGTERM, then SIGKILL) only when it is proven the run's: in the run's folder, born
|
|
14
|
-
* while the run ran, not this service or its ancestors, and orphaned or descended from the run's
|
|
15
|
-
* own processes — or it descends from such a leftover. A pid now held by a process born after the run ended is never
|
|
16
|
-
* the run's. Anything else in the folder (a person's shell or editor) is left alone and holds the proof, in plain
|
|
17
|
-
* words. When this computer can't look (the process table or the folder listing can't be read, or the run's
|
|
18
|
-
* processes belong to another computer), the stop stays unproven and the reason is shown; there is still nothing to
|
|
19
|
-
* vouch for.
|
|
20
|
-
*
|
|
21
|
-
* Command lines are read only to match the folder's path in memory; they are never stored or shown.
|
|
22
|
-
*/
|
|
23
1
|
import { execFileSync } from "node:child_process";
|
|
24
2
|
import { existsSync, readdirSync, readlinkSync, realpathSync } from "node:fs";
|
|
25
3
|
import { hostname } from "node:os";
|
|
@@ -28,12 +6,8 @@ import { ownedProcessCount, runOwnerTag } from "./exec.js";
|
|
|
28
6
|
import { closeoutTargets, processCensus, protectedProcesses, stopProcesses, stoppedWords } from "./run-closeout.js";
|
|
29
7
|
import { localWitnessSql, recordStopProofBlocked, settleRunStopByObservation } from "./store.js";
|
|
30
8
|
import { worktreeProcessOccupancy } from "./worktree.js";
|
|
31
|
-
/** How long after a run finished its processes have to go on their own before Toolroll looks. */
|
|
32
9
|
export const STOP_PROOF_GRACE_MS = 60_000;
|
|
33
|
-
/** `ps` gives ages in whole seconds: a process born this close to the run's start or end still counts as during it. */
|
|
34
10
|
const BIRTH_SLACK_MS = 2_000;
|
|
35
|
-
/** One pass's shared look at this computer: the process table, folders and command lines are read once for every
|
|
36
|
-
* run the pass checks, and again after anything was stopped. */
|
|
37
11
|
export function sharedLook(options = {}) {
|
|
38
12
|
let census = null, folders = null, lines = null;
|
|
39
13
|
return {
|
|
@@ -44,14 +18,12 @@ export function sharedLook(options = {}) {
|
|
|
44
18
|
refresh: () => { census = null; folders = null; lines = null; options.refresh?.(); },
|
|
45
19
|
};
|
|
46
20
|
}
|
|
47
|
-
/** Which processes work inside each path, from the OS: /proc on Linux, lsof on macOS. Unlike a best-effort listing,
|
|
48
|
-
* it throws when the listing can't be read: no answer is never "nobody". */
|
|
49
21
|
export function processesInStrict(paths, listing = processFolders()) {
|
|
50
22
|
const found = new Map();
|
|
51
23
|
const roots = paths.map(path => { let real = path; try {
|
|
52
24
|
real = realpathSync(path);
|
|
53
25
|
}
|
|
54
|
-
catch {
|
|
26
|
+
catch { } return { path, real }; });
|
|
55
27
|
for (const { pid, cwd } of listing) {
|
|
56
28
|
for (const one of roots)
|
|
57
29
|
if ([one.path, one.real].some(root => cwd === root || cwd.startsWith(root + sep)))
|
|
@@ -59,7 +31,6 @@ export function processesInStrict(paths, listing = processFolders()) {
|
|
|
59
31
|
}
|
|
60
32
|
return found;
|
|
61
33
|
}
|
|
62
|
-
/** Every process's working directory, from the OS; throws when the listing can't be read. */
|
|
63
34
|
export function processFolders() {
|
|
64
35
|
const found = [];
|
|
65
36
|
const note = (pid, cwd) => { found.push({ pid, cwd }); };
|
|
@@ -67,11 +38,10 @@ export function processFolders() {
|
|
|
67
38
|
for (const name of readdirSync("/proc")) {
|
|
68
39
|
if (!/^\d+$/.test(name))
|
|
69
40
|
continue;
|
|
70
|
-
// Gone, or another user's (never a process this user's run started).
|
|
71
41
|
try {
|
|
72
42
|
note(Number(name), readlinkSync(`/proc/${name}/cwd`));
|
|
73
43
|
}
|
|
74
|
-
catch {
|
|
44
|
+
catch { }
|
|
75
45
|
}
|
|
76
46
|
if (found.length === 0)
|
|
77
47
|
throw new Error("no process folder could be read");
|
|
@@ -84,8 +54,6 @@ export function processFolders() {
|
|
|
84
54
|
text = execFileSync("lsof", ["-nP", "-d", "cwd", "-Fpn"], { encoding: "utf8", timeout: 20_000, maxBuffer: 64 * 1024 * 1024, stdio: ["ignore", "pipe", "ignore"] });
|
|
85
55
|
}
|
|
86
56
|
catch (error) {
|
|
87
|
-
// lsof exits 1 when some process can't be inspected (another user's) yet still lists every one it can.
|
|
88
|
-
// A timeout, a signal or an overflow leaves a partial listing, which is no answer at all.
|
|
89
57
|
const failure = error;
|
|
90
58
|
if (failure.status !== 1 || failure.signal != null || typeof failure.code === "string")
|
|
91
59
|
throw new Error("the process folder listing could not be read");
|
|
@@ -102,7 +70,6 @@ export function processFolders() {
|
|
|
102
70
|
}
|
|
103
71
|
return found;
|
|
104
72
|
}
|
|
105
|
-
/** Every process's command line, by pid. Read to match a folder's path in memory only; never stored or shown. */
|
|
106
73
|
export function processCommandLines() {
|
|
107
74
|
if (process.platform === "win32")
|
|
108
75
|
throw new Error("command lines can't be read here");
|
|
@@ -117,7 +84,6 @@ export function processCommandLines() {
|
|
|
117
84
|
throw new Error("the process list was empty");
|
|
118
85
|
return lines;
|
|
119
86
|
}
|
|
120
|
-
/** Whether a command line names `path` or something inside it (a whole path, never a longer folder's prefix). */
|
|
121
87
|
export function namesPath(line, path) {
|
|
122
88
|
for (let at = line.indexOf(path); at >= 0; at = line.indexOf(path, at + 1)) {
|
|
123
89
|
const before = at === 0 ? " " : line[at - 1], after = line[at + path.length];
|
|
@@ -126,10 +92,6 @@ export function namesPath(line, path) {
|
|
|
126
92
|
}
|
|
127
93
|
return false;
|
|
128
94
|
}
|
|
129
|
-
/**
|
|
130
|
-
* One look at this computer for one finished run: which processes are its leftovers (`targets`) and which are in its
|
|
131
|
-
* folder without being proven its (`blockers`). Throws when something can't be read.
|
|
132
|
-
*/
|
|
133
95
|
function look(store, runId, options) {
|
|
134
96
|
const run = store.getRun(runId);
|
|
135
97
|
const census = (options.census ?? (() => processCensus()))();
|
|
@@ -137,13 +99,11 @@ function look(store, runId, options) {
|
|
|
137
99
|
throw new Error("the process table was empty");
|
|
138
100
|
const guard = protectedProcesses(census, options.self);
|
|
139
101
|
const byPid = new Map(census.map(row => [row.pid, row]));
|
|
140
|
-
// Its recorded processes still open: still the same process (pid and birth), or a member of its open group.
|
|
141
102
|
const open = store.handle.prepare(`SELECT pid, process_group, observed_at FROM run_process
|
|
142
103
|
WHERE run = ? AND exited_at IS NULL AND pid IS NOT NULL AND containment IS NULL AND container IS NULL`).all(runId)
|
|
143
104
|
.map(row => ({ pid: Number(row["pid"]), group: Number(row["process_group"]) === 1, observedAt: Date.parse(String(row["observed_at"])) }))
|
|
144
105
|
.filter(one => Number.isFinite(one.observedAt));
|
|
145
106
|
const recorded = new Set(closeoutTargets(census, open, guard).map(row => row.pid));
|
|
146
|
-
// Its folder: working directory inside it, or named on the command line.
|
|
147
107
|
const folder = new Set();
|
|
148
108
|
if (run.worktree !== null) {
|
|
149
109
|
const paths = [run.worktree];
|
|
@@ -152,7 +112,7 @@ function look(store, runId, options) {
|
|
|
152
112
|
if (real !== run.worktree)
|
|
153
113
|
paths.push(real);
|
|
154
114
|
}
|
|
155
|
-
catch {
|
|
115
|
+
catch { }
|
|
156
116
|
for (const pids of (options.cwds ?? processesInStrict)(paths).values())
|
|
157
117
|
for (const pid of pids)
|
|
158
118
|
folder.add(pid);
|
|
@@ -163,16 +123,12 @@ function look(store, runId, options) {
|
|
|
163
123
|
const started = Date.parse(run.startedAt) - BIRTH_SLACK_MS, ended = Date.parse(run.finishedAt) + BIRTH_SLACK_MS;
|
|
164
124
|
const during = (row) => row.bornAt >= started && row.bornAt <= ended;
|
|
165
125
|
const unguarded = (row) => !guard.pids.has(row.pid) && !guard.groups.has(row.pgid);
|
|
166
|
-
// A leftover in the folder: born while the run ran and orphaned (its starter gone). A terminal proves nothing either
|
|
167
|
-
// way here: a worker started from a terminal hands its controlling terminal to everything its runs start.
|
|
168
126
|
const orphans = new Set();
|
|
169
127
|
for (const pid of folder) {
|
|
170
128
|
const row = byPid.get(pid);
|
|
171
129
|
if (row !== undefined && during(row) && unguarded(row) && row.ppid === 1)
|
|
172
130
|
orphans.add(pid);
|
|
173
131
|
}
|
|
174
|
-
// And whatever descends from a leftover, wherever it works: from the run's own recorded processes (proven by pid
|
|
175
|
-
// and birth) or from an orphan found in its folder.
|
|
176
132
|
const descendsFrom = (roots, row) => {
|
|
177
133
|
for (let at = row, hops = 0; at !== undefined && at.pid > 1 && hops < 64; at = byPid.get(at.ppid), hops++)
|
|
178
134
|
if (roots.has(at.pid))
|
|
@@ -181,13 +137,7 @@ function look(store, runId, options) {
|
|
|
181
137
|
};
|
|
182
138
|
const targets = census.filter(row => unguarded(row) && (descendsFrom(recorded, row) || descendsFrom(orphans, row)));
|
|
183
139
|
const chosen = new Set(targets.map(row => row.pid));
|
|
184
|
-
// In the folder while the run ran but not proven its (a person's shell or editor: a live parent Toolroll didn't start):
|
|
185
|
-
// left alone, and the proof waits for it. Born before the run or after it ended (and not a leftover's child) can't
|
|
186
|
-
// be the run's, so it neither blocks nor is touched.
|
|
187
140
|
const blockers = [...folder].map(pid => byPid.get(pid)).filter((row) => row !== undefined && !chosen.has(row.pid) && during(row) && !guard.pids.has(row.pid));
|
|
188
|
-
// A run with no folder (a reviewer's): nothing names its processes but their groups. An orphan born while it ran
|
|
189
|
-
// in one of its recorded process groups may be its own, or a newer group that took the number: never signalled,
|
|
190
|
-
// it holds the proof.
|
|
191
141
|
if (run.worktree === null) {
|
|
192
142
|
const groups = new Set(store.handle.prepare("SELECT pid FROM run_process WHERE run = ? AND pid IS NOT NULL AND process_group = 1").all(runId).map(row => Number(row["pid"])));
|
|
193
143
|
for (const row of census)
|
|
@@ -196,17 +146,12 @@ function look(store, runId, options) {
|
|
|
196
146
|
}
|
|
197
147
|
return { census, targets, blockers, inFolder: folder.size };
|
|
198
148
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Prove one finished run stopped, on this computer, without asking anyone (see the file's comment). Walks the run's
|
|
201
|
-
* owned runs one unproven stop at a time. Never signals a process that isn't proven the run's.
|
|
202
|
-
*/
|
|
203
149
|
export async function proveRunStopped(store, runId, clock, options = {}) {
|
|
204
150
|
let stopped = 0;
|
|
205
151
|
for (let pass = 0; pass < 8; pass++) {
|
|
206
152
|
const fact = store.stopQuiescenceFact(runId);
|
|
207
153
|
if (fact === null)
|
|
208
154
|
return { run: runId, outcome: pass === 0 ? "skipped" : "settled", words: "stopped", ...(stopped > 0 ? { stopped } : {}) };
|
|
209
|
-
// Already proven by the record (an unrecorded spawn whose run's every process is proven gone): settle it now.
|
|
210
155
|
if (fact.kind === "settling" && store.settleUnspawnedWitnesses(clock(), fact.run) > 0) {
|
|
211
156
|
store.settleQuiescentStops(clock());
|
|
212
157
|
continue;
|
|
@@ -233,7 +178,7 @@ export async function proveRunStopped(store, runId, clock, options = {}) {
|
|
|
233
178
|
if (held.held)
|
|
234
179
|
return { run: subject, outcome: "waiting", words: `its folder is still held by process ${held.by}` };
|
|
235
180
|
}
|
|
236
|
-
catch {
|
|
181
|
+
catch { }
|
|
237
182
|
}
|
|
238
183
|
let seen;
|
|
239
184
|
try {
|
|
@@ -273,8 +218,6 @@ function block(store, runId, words, detail, now) {
|
|
|
273
218
|
recordStopProofBlocked(store, runId, words, detail, now);
|
|
274
219
|
return { run: runId, outcome: "blocked", words };
|
|
275
220
|
}
|
|
276
|
-
/** The worker's pass (operate.ts reconcile): every finished run of this computer whose stop is unproven where
|
|
277
|
-
* Toolroll's own look can prove it. A batch a pass, oldest first; a blocked run never holds newer ones back. */
|
|
278
221
|
export async function proveFinishedRunsStopped(store, clock, options = {}) {
|
|
279
222
|
const grace = options.afterFinishMs ?? STOP_PROOF_GRACE_MS;
|
|
280
223
|
const before = new Date(clock().getTime() - grace).toISOString();
|
|
@@ -289,7 +232,7 @@ export async function proveFinishedRunsStopped(store, clock, options = {}) {
|
|
|
289
232
|
try {
|
|
290
233
|
out.push(await proveRunStopped(store, runId, clock, shared));
|
|
291
234
|
}
|
|
292
|
-
catch {
|
|
235
|
+
catch { }
|
|
293
236
|
}
|
|
294
237
|
return out;
|
|
295
238
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Launched only by storage-sweep-process. All potentially expensive sweep work stays in this process. */
|
|
2
1
|
import { Worker } from "node:worker_threads";
|
|
3
2
|
import { openStoreNoMigrate } from "./store.js";
|
|
4
3
|
import { WorktreePool } from "./worktree.js";
|
|
@@ -16,18 +15,16 @@ const abandon = () => {
|
|
|
16
15
|
closeStore();
|
|
17
16
|
}
|
|
18
17
|
finally {
|
|
19
|
-
// This detached child owns the group, including any blocked rm/du descendants.
|
|
20
18
|
try {
|
|
21
19
|
if (process.platform !== "win32")
|
|
22
20
|
process.kill(-process.pid, "SIGKILL");
|
|
23
21
|
}
|
|
24
|
-
catch {
|
|
22
|
+
catch { }
|
|
25
23
|
process.exit(1);
|
|
26
24
|
}
|
|
27
25
|
};
|
|
28
26
|
process.once("disconnect", abandon);
|
|
29
27
|
process.once("SIGTERM", abandon);
|
|
30
|
-
// A separate thread also detects parent loss while synchronous filesystem work blocks the child's event loop.
|
|
31
28
|
const watchdog = new Worker(`
|
|
32
29
|
const { workerData } = require('node:worker_threads');
|
|
33
30
|
setInterval(() => {
|
|
@@ -57,7 +54,6 @@ process.once("message", async (request) => {
|
|
|
57
54
|
finish(1);
|
|
58
55
|
return;
|
|
59
56
|
}
|
|
60
|
-
// Node and the sweep's code are loaded: from here on, on macOS, the work and everything it starts runs in the background.
|
|
61
57
|
enterSweepBackground();
|
|
62
58
|
try {
|
|
63
59
|
const opened = openStoreNoMigrate(request.databaseFile);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** The storage child's bounded IPC protocol. No paths or process arguments are written to logs. */
|
|
2
1
|
import { execFileSync, fork } from "node:child_process";
|
|
3
2
|
import { existsSync } from "node:fs";
|
|
4
3
|
import { setPriority } from "node:os";
|
|
@@ -25,19 +24,11 @@ export function sweepResponse(value, request) {
|
|
|
25
24
|
}
|
|
26
25
|
export const SWEEP_TIMEOUT_MS = 20 * 60_000;
|
|
27
26
|
export const SWEEP_KILL_GRACE_MS = 5_000;
|
|
28
|
-
/** The sweep runs behind everything else: a positive nice and, on macOS, the background CPU and I/O policy. */
|
|
29
27
|
export const SWEEP_NICE = 10;
|
|
30
28
|
const TASKPOLICY = "/usr/sbin/taskpolicy";
|
|
31
|
-
/**
|
|
32
|
-
* How the child enters the background policy on macOS, or null elsewhere (or without taskpolicy): the child runs it on
|
|
33
|
-
* its own pid once Node has started and loaded the sweep, before any sweep work. Everything it starts after that (rm,
|
|
34
|
-
* du, git) inherits the policy. Starting Node itself under it let a busy machine hold the child's start for as long
|
|
35
|
-
* as anything else wanted the CPU, before it had done any of the work the policy is for.
|
|
36
|
-
*/
|
|
37
29
|
export function sweepBackground(pid, platform = process.platform, exists = existsSync) {
|
|
38
30
|
return platform === "darwin" && exists(TASKPOLICY) ? { file: TASKPOLICY, args: ["-b", "-p", String(pid)] } : null;
|
|
39
31
|
}
|
|
40
|
-
/** In the child: the background policy from now on. Without it the sweep still runs, at the nice its parent set. */
|
|
41
32
|
export function enterSweepBackground(run = (file, args) => { execFileSync(file, args, { stdio: "ignore", timeout: 5_000 }); }) {
|
|
42
33
|
const command = sweepBackground(process.pid);
|
|
43
34
|
if (command === null)
|
|
@@ -50,25 +41,21 @@ export function enterSweepBackground(run = (file, args) => { execFileSync(file,
|
|
|
50
41
|
return false;
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
|
-
/** Only source checkouts need tsx; installed builds use the sibling child and the same Node. */
|
|
54
44
|
function forkSweep() {
|
|
55
45
|
const source = import.meta.url.endsWith(".ts");
|
|
56
46
|
const child = fork(fileURLToPath(new URL(source ? "./storage-sweep-child.ts" : "./storage-sweep-child.js", import.meta.url)), [], {
|
|
57
47
|
execArgv: source ? ["--import", "tsx"] : [], stdio: ["ignore", "ignore", "ignore", "ipc"], detached: true,
|
|
58
48
|
});
|
|
59
|
-
// Before the request is sent, so every rm/du the child starts inherits it.
|
|
60
49
|
if (child.pid !== undefined) {
|
|
61
50
|
try {
|
|
62
51
|
setPriority(child.pid, SWEEP_NICE);
|
|
63
52
|
}
|
|
64
|
-
catch {
|
|
53
|
+
catch { }
|
|
65
54
|
}
|
|
66
|
-
// The service never waits on the child to exit; stop() and the child's parent-loss guard end it.
|
|
67
55
|
child.unref();
|
|
68
56
|
child.channel?.unref();
|
|
69
57
|
return child;
|
|
70
58
|
}
|
|
71
|
-
/** The fork is a group leader: rm/du and any other descendants must receive the same signal. */
|
|
72
59
|
function signalGroup(child, signal) {
|
|
73
60
|
if (child.pid === undefined)
|
|
74
61
|
return;
|
|
@@ -85,9 +72,8 @@ function signalGroup(child, signal) {
|
|
|
85
72
|
try {
|
|
86
73
|
child.kill(signal);
|
|
87
74
|
}
|
|
88
|
-
catch {
|
|
75
|
+
catch { }
|
|
89
76
|
}
|
|
90
|
-
/** Owns one child without lending its lifetime to a reconcile pass or its database connection. */
|
|
91
77
|
export function createSweepSupervisor(options = {}) {
|
|
92
78
|
const timeoutMs = options.timeoutMs ?? SWEEP_TIMEOUT_MS;
|
|
93
79
|
const killGraceMs = options.killGraceMs ?? SWEEP_KILL_GRACE_MS;
|
|
@@ -128,7 +114,6 @@ export function createSweepSupervisor(options = {}) {
|
|
|
128
114
|
child.removeListener("message", message);
|
|
129
115
|
child.removeListener("error", error);
|
|
130
116
|
child.removeListener("close", close);
|
|
131
|
-
// A late IPC write error must not become an unhandled EventEmitter error.
|
|
132
117
|
child.on("error", () => { });
|
|
133
118
|
active = null;
|
|
134
119
|
};
|
|
@@ -147,7 +132,6 @@ export function createSweepSupervisor(options = {}) {
|
|
|
147
132
|
return;
|
|
148
133
|
killing = true;
|
|
149
134
|
signal(child, "SIGTERM");
|
|
150
|
-
// Even if the leader exits on TERM, descendants may ignore it. Keep the group owned through KILL.
|
|
151
135
|
grace = setTimeout(kill, killGraceMs);
|
|
152
136
|
grace.unref?.();
|
|
153
137
|
settle({ ok: false, reason });
|
|
@@ -199,7 +183,6 @@ export function createSweepSupervisor(options = {}) {
|
|
|
199
183
|
},
|
|
200
184
|
};
|
|
201
185
|
}
|
|
202
|
-
// All watch loops in this process share a flight. Other services arbitrate the claim in SQLite.
|
|
203
186
|
const supervisors = new Map();
|
|
204
187
|
export function storageSweepSupervisor(databaseFile) {
|
|
205
188
|
const key = resolve(databaseFile);
|
|
@@ -210,7 +193,6 @@ export function storageSweepSupervisor(databaseFile) {
|
|
|
210
193
|
}
|
|
211
194
|
return supervisor;
|
|
212
195
|
}
|
|
213
|
-
/** Awaitable only for explicit callers/tests; automatic maintenance always uses start(). */
|
|
214
196
|
export const runSweepChild = request => new Promise((resolve, reject) => {
|
|
215
197
|
createSweepSupervisor().start(request, result => {
|
|
216
198
|
if (result.ok)
|