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/runner.js
CHANGED
|
@@ -1,24 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A machine that may be given work.
|
|
3
|
-
*
|
|
4
|
-
* Auth is here from the first commit, and that is a deliberate ordering rather
|
|
5
|
-
* than diligence for its own sake. A control plane that dispatches work to
|
|
6
|
-
* unauthenticated runners for six months grows six months of code that assumes
|
|
7
|
-
* the caller is whoever it says it is, and retrofitting identity into that is
|
|
8
|
-
* how the retrofit gets a hole in it. It costs almost nothing to do now.
|
|
9
|
-
*
|
|
10
|
-
* **The token is never stored.** Registration mints one, prints it once, and
|
|
11
|
-
* keeps only a hash. There is no command that recovers it, because a control
|
|
12
|
-
* plane able to hand back a runner's credential is one whose database is worth
|
|
13
|
-
* stealing — and because the same rule governs secrets everywhere else in this
|
|
14
|
-
* design: the control plane holds metadata, the runner holds values.
|
|
15
|
-
*
|
|
16
|
-
* Liveness is separate from a lease expiring, and the distinction matters at
|
|
17
|
-
* 3am. A lease expires because time passed; a runner is dead because it
|
|
18
|
-
* stopped saying otherwise. Reaping on the first tells you a task is free
|
|
19
|
-
* again. Reaping on the second tells you a *machine* is gone, and everything
|
|
20
|
-
* it was holding — claims and worktrees alike — needs recovering together.
|
|
21
|
-
*/
|
|
22
1
|
import { mintSecret } from "./secret-mint.js";
|
|
23
2
|
import { isAcpProvider } from "./acp-agents.js";
|
|
24
3
|
import { verifyLaunch } from "./acp-attest.js";
|
|
@@ -29,41 +8,20 @@ import { canonicalProject } from "./project.js";
|
|
|
29
8
|
import { lifecycleOf, reportLifecycle } from "./store.js";
|
|
30
9
|
import { ALL_CREDENTIAL_ENV, PROVIDER_IDS, inspectionOf } from "./provider.js";
|
|
31
10
|
import { attestationOf, versionInRange } from "./attest.js";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
11
|
+
import { IDENTITY_FAILED_PROBE, LOGIN_PROBE, PATH_PROBE } from "./phase-routing.js";
|
|
12
|
+
import { homedir } from "node:os";
|
|
13
|
+
import { readAuthMode } from "./keys.js";
|
|
14
|
+
import { signInFacts } from "./provider-connection.js";
|
|
35
15
|
export function canonicalRepos(repos) {
|
|
36
16
|
return repos.map(repo => canonicalProject(repo) ?? resolve(repo));
|
|
37
17
|
}
|
|
38
|
-
/** v101: a runner's token lasts a year from its registration; registering again (every start does) renews it. */
|
|
39
18
|
export const RUNNER_TOKEN_MS = 365 * 86_400_000;
|
|
40
|
-
/**
|
|
41
|
-
* How long a runner may go quiet before it is presumed gone.
|
|
42
|
-
*
|
|
43
|
-
* Four heartbeats (RUNNER_HEARTBEAT_MS): one slow check-in never declares a busy
|
|
44
|
-
* machine dead, and a machine that really is gone holds its name for a minute,
|
|
45
|
-
* not three (docs/plans/actors-lessons.md). A clean stop doesn't wait even that
|
|
46
|
-
* long: a draining or stopped holder never blocks the next start
|
|
47
|
-
* (registerRunnerIfIdle).
|
|
48
|
-
*/
|
|
49
19
|
export const DEFAULT_LIVENESS_MS = 60_000;
|
|
50
|
-
/** How often a live runner says so: `up`'s runner heartbeat and every watch lease renewal. */
|
|
51
20
|
export const RUNNER_HEARTBEAT_MS = 15_000;
|
|
52
|
-
/** The longest a watch lease may be taken or renewed for (durable-actors' MAX_HOST_LEASE_DURATION_MS): a crashed
|
|
53
|
-
* holder's projects are free within a minute. The store clamps every ttl to it. */
|
|
54
21
|
export { MAX_WATCH_LEASE_MS } from "./store.js";
|
|
55
22
|
export function register(store, options) {
|
|
56
23
|
const { name, host, capacity = 1, repos = [], agents = [], now, newToken = mintToken, mutation = {}, } = options;
|
|
57
24
|
const token = newToken();
|
|
58
|
-
/**
|
|
59
|
-
* Anything the previous holder of this name still had is taken back first.
|
|
60
|
-
*
|
|
61
|
-
* Registering under a name is a new process saying it exists; whatever the
|
|
62
|
-
* last one was holding, it is not holding now. Skipping this is worse than
|
|
63
|
-
* it sounds: the fresh `heartbeat_at` makes the old identity look alive
|
|
64
|
-
* again, so the reaper walks straight past its abandoned claims and
|
|
65
|
-
* worktrees and they are stranded for good.
|
|
66
|
-
*/
|
|
67
25
|
const previous = store.getRunner(name);
|
|
68
26
|
const reclaimed = previous === null
|
|
69
27
|
? null
|
|
@@ -82,12 +40,7 @@ export function register(store, options) {
|
|
|
82
40
|
heartbeatAt: now.toISOString(),
|
|
83
41
|
retiredAt: null,
|
|
84
42
|
};
|
|
85
|
-
// The store assigns the incarnation while holding its write transaction.
|
|
86
|
-
// Doing it from the `previous` snapshot above is racy: two registrars can
|
|
87
|
-
// read the same predecessor and otherwise mint the same generation.
|
|
88
43
|
const runner = store.saveRunner(proposed, hashToken(token), mutation);
|
|
89
|
-
// v137: this registration is started; its lifecycle row is bound to it by registered_at, so an earlier holder's
|
|
90
|
-
// drain or stop never describes it.
|
|
91
44
|
reportLifecycle(store, workerComponent(name), "started", runner.registeredAt, now);
|
|
92
45
|
return {
|
|
93
46
|
runner,
|
|
@@ -97,14 +50,6 @@ export function register(store, options) {
|
|
|
97
50
|
: null,
|
|
98
51
|
};
|
|
99
52
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Whether this caller is who it says it is.
|
|
102
|
-
*
|
|
103
|
-
* Compared in constant time. The comparison is between hashes rather than
|
|
104
|
-
* secrets, so the practical risk is slight — but a timing-variable equality on
|
|
105
|
-
* a credential path is the kind of thing that gets copied into somewhere it
|
|
106
|
-
* matters, and there is no reason to leave the example lying around.
|
|
107
|
-
*/
|
|
108
53
|
export function authenticate(store, name, token) {
|
|
109
54
|
const found = store.getRunner(name);
|
|
110
55
|
if (found === null)
|
|
@@ -117,13 +62,6 @@ export function authenticate(store, name, token) {
|
|
|
117
62
|
? { ok: true, runner: found.runner }
|
|
118
63
|
: { ok: false, reason: "bad-token" };
|
|
119
64
|
}
|
|
120
|
-
/**
|
|
121
|
-
* "I am still here." Authenticated AND ATOMIC (arc 2 findings 25/33): the
|
|
122
|
-
* hash is verified and the heartbeat stamped in one write transaction, so
|
|
123
|
-
* a takeover that rotates the credential between the check and the touch
|
|
124
|
-
* cannot receive a stale incarnation's pulse — after rotation commits, the
|
|
125
|
-
* very next heartbeat refuses, and the caller must treat that as fatal.
|
|
126
|
-
*/
|
|
127
65
|
export function heartbeat(store, name, token, now) {
|
|
128
66
|
return store.transact(() => {
|
|
129
67
|
const auth = authenticate(store, name, token);
|
|
@@ -133,14 +71,6 @@ export function heartbeat(store, name, token, now) {
|
|
|
133
71
|
return { ok: true, runner: { ...auth.runner, heartbeatAt: now.toISOString() } };
|
|
134
72
|
});
|
|
135
73
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Extend a live runner's project binding using that runner's own credential.
|
|
138
|
-
*
|
|
139
|
-
* `up` owns both the credential and the registry watcher, so a project the
|
|
140
|
-
* operator admitted through its console can join without a second operator
|
|
141
|
-
* ceremony or a restart. Authentication and the additive write share one
|
|
142
|
-
* transaction: a replaced process cannot widen its successor's binding.
|
|
143
|
-
*/
|
|
144
74
|
export function addRunnerReposAuthed(store, args, now) {
|
|
145
75
|
return store.transact(() => {
|
|
146
76
|
const auth = authenticate(store, args.name, args.token);
|
|
@@ -157,11 +87,6 @@ export function addRunnerReposAuthed(store, args, now) {
|
|
|
157
87
|
};
|
|
158
88
|
});
|
|
159
89
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Narrow a live runner's binding when a project is removed, under the same
|
|
162
|
-
* credential and transaction as addRunnerReposAuthed. `up` calls it only
|
|
163
|
-
* after that project's watch has stopped admitting work.
|
|
164
|
-
*/
|
|
165
90
|
export function removeRunnerRepoAuthed(store, args, now) {
|
|
166
91
|
return store.transact(() => {
|
|
167
92
|
const auth = authenticate(store, args.name, args.token);
|
|
@@ -173,14 +98,8 @@ export function removeRunnerRepoAuthed(store, args, now) {
|
|
|
173
98
|
return { ok: true, runner: { ...auth.runner, repos: bound.repos } };
|
|
174
99
|
});
|
|
175
100
|
}
|
|
176
|
-
/**
|
|
177
|
-
* The one runner-name rule (arc 2 finding 13): nonempty, control-free, at
|
|
178
|
-
* most 60 characters — the console form's rule, now shared by every door.
|
|
179
|
-
*/
|
|
180
101
|
export const RUNNER_NAME_MAX = 60;
|
|
181
|
-
/** The most tasks one worker may be set to run at once (the console's register form says the same). */
|
|
182
102
|
export const RUNNER_CAPACITY_MAX = 64;
|
|
183
|
-
/** A capacity as typed; changing an existing worker may use zero to drain it. */
|
|
184
103
|
export function parseRunnerCapacity(value, { allowZero = false } = {}) {
|
|
185
104
|
const capacity = Number(value.trim());
|
|
186
105
|
return value.trim() !== "" && Number.isInteger(capacity) && capacity >= (allowZero ? 0 : 1) && capacity <= RUNNER_CAPACITY_MAX ? capacity : null;
|
|
@@ -195,9 +114,6 @@ export function validRunnerName(name) {
|
|
|
195
114
|
}
|
|
196
115
|
return true;
|
|
197
116
|
}
|
|
198
|
-
/** A generated base name: lowercase [a-z0-9-], collapsed, trimmed. The
|
|
199
|
-
* suffix budget (finding 24) is the CALLER's arithmetic — truncate the
|
|
200
|
-
* base to `RUNNER_NAME_MAX - suffix.length` before appending. */
|
|
201
117
|
export function normalizeRunnerName(raw) {
|
|
202
118
|
const collapsed = raw
|
|
203
119
|
.toLowerCase()
|
|
@@ -206,24 +122,13 @@ export function normalizeRunnerName(raw) {
|
|
|
206
122
|
.replace(/^-|-$/g, "");
|
|
207
123
|
return (collapsed === "" ? "worker" : collapsed).slice(0, RUNNER_NAME_MAX);
|
|
208
124
|
}
|
|
209
|
-
/**
|
|
210
|
-
* The atomic take-or-refuse door (arc 2 findings 1/15/16/26/31): ONE write
|
|
211
|
-
* transaction that proves the name is free — absent, retired, or dead by
|
|
212
|
-
* the same predicate recovery uses, with NO unexpired watch lease — then
|
|
213
|
-
* finishes every open run the dead holder left (requeueing what no newer
|
|
214
|
-
* live claim owns), reclaims, and rotates. Two racers serialize: one wins,
|
|
215
|
-
* the other gets the typed refusal.
|
|
216
|
-
*/
|
|
217
125
|
export function registerRunnerIfIdle(store, options) {
|
|
218
126
|
const { name, now, previousGone, ...registration } = options;
|
|
219
127
|
return store.transact(() => {
|
|
220
128
|
let existing = store.getRunner(name);
|
|
221
|
-
// The protection against two live holders stands: only a holder whose every process is proved gone, or whose own
|
|
222
|
-
// drain has ended (its stop bound passed, or it reported stopped), is signed off.
|
|
223
129
|
let signedOff = null;
|
|
224
130
|
const blocked = existing !== null && ((existing.runner.retiredAt === null && isAlive(existing.runner, now)) || store.liveWatchLeaseOf(name, now) !== null);
|
|
225
131
|
const drain = existing === null ? null : drainOf(store, existing.runner, now);
|
|
226
|
-
// A scheduled drain deadline is not proof that its timer ran or its children exited.
|
|
227
132
|
if (blocked && existing !== null && previousGone !== undefined) {
|
|
228
133
|
const proof = previousGone(existing);
|
|
229
134
|
if (proof.gone) {
|
|
@@ -235,7 +140,6 @@ export function registerRunnerIfIdle(store, options) {
|
|
|
235
140
|
existing = store.getRunner(name);
|
|
236
141
|
}
|
|
237
142
|
}
|
|
238
|
-
// A live draining holder remains exclusive even if its advertised deadline has passed.
|
|
239
143
|
if (existing !== null && drain !== null && (isAlive(existing.runner, now) || store.liveWatchLeaseOf(name, now) !== null)) {
|
|
240
144
|
return { ok: false, reason: "runner-draining", until: drain.until, detail: `Toolroll is restarting (draining): ${name} is still stopping (scheduled by ${drain.until})` };
|
|
241
145
|
}
|
|
@@ -254,31 +158,16 @@ export function registerRunnerIfIdle(store, options) {
|
|
|
254
158
|
detail: `${name} holds a live watch lease on ${lease.repo} until ${lease.until}`,
|
|
255
159
|
};
|
|
256
160
|
}
|
|
257
|
-
// Recovery BEFORE reclaim (finding 16): the open-run evidence must be
|
|
258
|
-
// read while it still exists; register()'s releaseClaimsOf would
|
|
259
|
-
// otherwise hide it from every later recovery.
|
|
260
161
|
const recoveredRuns = existing === null ? 0 : store.recoverRunnerWork(name, now).runs.length;
|
|
261
|
-
// A restart keeps the capacity an operator set; only an explicit one changes it.
|
|
262
162
|
const registered = register(store, { ...registration, name, now, capacity: options.capacity ?? existing?.runner.capacity ?? 1 });
|
|
263
163
|
return { ok: true, ...registered, recoveredRuns, signedOff };
|
|
264
164
|
});
|
|
265
165
|
}
|
|
266
|
-
/**
|
|
267
|
-
* The authenticated lease door (arc 2 findings 15/26): credential verified
|
|
268
|
-
* and lease acquired/renewed in the SAME transaction — after a takeover
|
|
269
|
-
* rotates the hash, a stale incarnation can neither acquire nor renew. A
|
|
270
|
-
* takeover of an expired lease recovers the superseded incarnation INSIDE
|
|
271
|
-
* this transaction, so no crash can separate "B owns the lease" from "A
|
|
272
|
-
* was recovered".
|
|
273
|
-
*/
|
|
274
166
|
export function acquireWatchLeaseAuthed(store, args, now) {
|
|
275
167
|
return store.transact(() => {
|
|
276
168
|
const auth = authenticate(store, args.runner, args.token);
|
|
277
169
|
if (!auth.ok)
|
|
278
170
|
return { ok: false, reason: auth.reason };
|
|
279
|
-
// Watching a repo is a runner road like any other (MCP spec v6,
|
|
280
|
-
// round-4 finding 1): membership is proven in the same transaction
|
|
281
|
-
// as the lease, before any repo activity rides it.
|
|
282
171
|
if (!auth.runner.repos.includes(canonicalProject(args.repo) ?? resolve(args.repo))) {
|
|
283
172
|
return { ok: false, reason: "unauthorized-repo" };
|
|
284
173
|
}
|
|
@@ -289,9 +178,6 @@ export function acquireWatchLeaseAuthed(store, args, now) {
|
|
|
289
178
|
return { ok: true, generation: got.generation, superseded: got.superseded, recovered };
|
|
290
179
|
});
|
|
291
180
|
}
|
|
292
|
-
/** The renewal, equally authenticated: a false answer is FATAL to the
|
|
293
|
-
* caller — a loop that keeps admitting work after losing its lease or its
|
|
294
|
-
* credential is the exact hole the doors exist to close. */
|
|
295
181
|
export function heartbeatWatchLeaseAuthed(store, args, now) {
|
|
296
182
|
return store.transact(() => {
|
|
297
183
|
const auth = authenticate(store, args.runner, args.token);
|
|
@@ -303,19 +189,12 @@ export function heartbeatWatchLeaseAuthed(store, args, now) {
|
|
|
303
189
|
return renewed;
|
|
304
190
|
});
|
|
305
191
|
}
|
|
306
|
-
/**
|
|
307
|
-
* Retirement fenced by THIS holder's credential (arc 2 finding 28): a
|
|
308
|
-
* successor that already rotated makes the predecessor's cleanup a typed
|
|
309
|
-
* no-op instead of retiring the winner.
|
|
310
|
-
*/
|
|
311
192
|
export function retireRunnerIfCurrent(store, name, token, now) {
|
|
312
193
|
return store.transact(() => {
|
|
313
194
|
const auth = authenticate(store, name, token);
|
|
314
195
|
if (!auth.ok)
|
|
315
196
|
return { ok: false, reason: auth.reason };
|
|
316
197
|
store.retireRunner(name, now);
|
|
317
|
-
// Stopped is retired: its leases lapse now, so the next start or watch takes its projects over (recovering whatever
|
|
318
|
-
// this incarnation left) without waiting for them to run out.
|
|
319
198
|
store.expireWatchLeasesOf(name, now);
|
|
320
199
|
reportLifecycle(store, workerComponent(name), "stopped", auth.runner.registeredAt, now);
|
|
321
200
|
return { ok: true };
|
|
@@ -329,58 +208,23 @@ export function isAlive(runner, now, livenessMs = DEFAULT_LIVENESS_MS) {
|
|
|
329
208
|
return false;
|
|
330
209
|
return now.getTime() - last < livenessMs;
|
|
331
210
|
}
|
|
332
|
-
/** Runners that have stopped saying they are there. */
|
|
333
211
|
export function deadRunners(store, now, livenessMs = DEFAULT_LIVENESS_MS) {
|
|
334
212
|
return store.listRunners().filter(runner => !isAlive(runner, now, livenessMs));
|
|
335
213
|
}
|
|
336
|
-
/** Whether a pass found anything at all to take back. */
|
|
337
214
|
export function recoveredAnything(one) {
|
|
338
215
|
return one.claims.length > 0 || one.worktrees.length > 0 || one.runs.length > 0 || one.requeued.length > 0;
|
|
339
216
|
}
|
|
340
|
-
/**
|
|
341
|
-
* Take back everything a dead runner was holding.
|
|
342
|
-
*
|
|
343
|
-
* Claims, open runs, and worktrees together, in one pass, because they are
|
|
344
|
-
* halves of the same fact: the machine is gone. Recovering one and not the
|
|
345
|
-
* others leaves a task dispatchable with its working copy still checked out
|
|
346
|
-
* to a process that no longer exists — which fails later, further away, and
|
|
347
|
-
* looks like a git problem rather than a scheduling one — or a run record
|
|
348
|
-
* that stays open forever after its lease was released and a successor
|
|
349
|
-
* finished the work (P0.1a: the real run 1501).
|
|
350
|
-
*
|
|
351
|
-
* Runs settle through the same transactional walk the takeover door uses
|
|
352
|
-
* (`recoverRunnerWork`), AFTER this runner's claims are released: the walk
|
|
353
|
-
* finishes every open run recorded against the runner outside a live held
|
|
354
|
-
* session as failed/interrupted, and requeues its task only when no newer
|
|
355
|
-
* live lease owns it. A finished outcome is never rewritten; a successor's
|
|
356
|
-
* claim, run, worktree, and task state are somebody else's rows and stay
|
|
357
|
-
* exactly as they were.
|
|
358
|
-
*
|
|
359
|
-
* Worktrees are handed back **unverified**. Nobody watched what the dead
|
|
360
|
-
* process was doing when it stopped, so the directory on disk is a claim about
|
|
361
|
-
* the past rather than a description of the present, and something has to look
|
|
362
|
-
* before it is reused.
|
|
363
|
-
*/
|
|
364
217
|
export function recoverDead(store, now, livenessMs = DEFAULT_LIVENESS_MS) {
|
|
365
218
|
const recovered = [];
|
|
366
219
|
for (const candidate of deadRunners(store, now, livenessMs)) {
|
|
367
|
-
// Death is re-proved inside the transaction that acts on it. The snapshot
|
|
368
|
-
// above is a survey of a moving world: a runner whose pulse lands between
|
|
369
|
-
// the survey and the release is alive, and releasing its claims anyway
|
|
370
|
-
// would take work from a machine that just said "still here" — the exact
|
|
371
|
-
// loss the heartbeat exists to prevent.
|
|
372
220
|
const recovery = store.transact(() => {
|
|
373
221
|
const fresh = store.getRunner(candidate.name);
|
|
374
222
|
if (fresh === null || isAlive(fresh.runner, now, livenessMs))
|
|
375
223
|
return null;
|
|
376
|
-
// Claims and worktrees first, so the report names every path handed
|
|
377
|
-
// back; the run walk's own per-task worktree release then finds
|
|
378
|
-
// nothing left to do here.
|
|
379
224
|
const requeued = [];
|
|
380
225
|
const claims = store.releaseClaimsOf(candidate.name, now, requeued);
|
|
381
226
|
const worktrees = store.releaseWorktreesOf(candidate.name, now);
|
|
382
227
|
const settled = store.recoverRunnerWork(candidate.name, now);
|
|
383
|
-
// Only what recovery left in the queue: a vanished build it stopped for a person isn't requeued (vanished-retry.ts).
|
|
384
228
|
return { runner: candidate.name, claims, worktrees, runs: settled.runs, requeued: [...new Set([...requeued, ...settled.requeued])].filter(id => store.getTask(id)?.state === "queued") };
|
|
385
229
|
});
|
|
386
230
|
if (recovery !== null)
|
|
@@ -388,7 +232,6 @@ export function recoverDead(store, now, livenessMs = DEFAULT_LIVENESS_MS) {
|
|
|
388
232
|
}
|
|
389
233
|
return recovered;
|
|
390
234
|
}
|
|
391
|
-
/** 32 bytes of randomness, urlsafe, so it survives being pasted anywhere. */
|
|
392
235
|
function mintToken() {
|
|
393
236
|
return mintSecret(32);
|
|
394
237
|
}
|
|
@@ -398,22 +241,14 @@ export function hashToken(token) {
|
|
|
398
241
|
function sameDigest(left, right) {
|
|
399
242
|
const a = Buffer.from(left, "utf8");
|
|
400
243
|
const b = Buffer.from(right, "utf8");
|
|
401
|
-
// timingSafeEqual throws on a length mismatch, which is itself a leak of
|
|
402
|
-
// sorts; equal-length hex digests make that unreachable in practice, and the
|
|
403
|
-
// guard keeps it from throwing if one is ever malformed.
|
|
404
244
|
return a.length === b.length && timingSafeEqual(a, b);
|
|
405
245
|
}
|
|
406
246
|
const READINESS_PROBE_TIMEOUT_MS = 5_000;
|
|
407
|
-
export async function observeProviderReadiness(probe, env = process.env, providers = PROVIDER_IDS,
|
|
408
|
-
/** An ACP agent's live check on this runner (store.acpAttestationFor), when the caller can read one. */
|
|
409
|
-
acpChecked) {
|
|
247
|
+
export async function observeProviderReadiness(probe, env = process.env, providers = PROVIDER_IDS, acpChecked, claudeMode = () => readAuthMode("claude", homedir())) {
|
|
410
248
|
return Promise.all(providers.map(async (provider) => {
|
|
411
|
-
// An ACP agent is looked at, never run, outside the gateway (acp-inspect.ts). It is ready only once its
|
|
412
|
-
// conformance check passed on this computer; until then it says so.
|
|
413
249
|
if (isAcpProvider(provider)) {
|
|
414
250
|
const checked = acpChecked?.(provider) ?? null;
|
|
415
251
|
if (checked !== null) {
|
|
416
|
-
// Ready only while every file its check bound is still the one that passed.
|
|
417
252
|
const verified = verifyLaunch(checked.launch);
|
|
418
253
|
return verified.ok
|
|
419
254
|
? { provider, state: "ready", reason: `${checked.agent.name} ${checked.agent.version}, checked ${checked.recordedAt.slice(0, 10)}`, probe: "version" }
|
|
@@ -427,7 +262,7 @@ acpChecked) {
|
|
|
427
262
|
const facts = inspectionOf(provider);
|
|
428
263
|
const version = await probe(facts.binary, ["--version"], { timeoutMs: READINESS_PROBE_TIMEOUT_MS, omitEnv: ALL_CREDENTIAL_ENV });
|
|
429
264
|
if (version.notFound) {
|
|
430
|
-
return { provider, state: "unavailable", reason: `\`${facts.binary}\` is not installed on this runner's PATH`, probe:
|
|
265
|
+
return { provider, state: "unavailable", reason: `\`${facts.binary}\` is not installed on this runner's PATH`, probe: PATH_PROBE };
|
|
431
266
|
}
|
|
432
267
|
if (version.timedOut || version.code !== 0) {
|
|
433
268
|
return { provider, state: "unavailable", reason: `\`${facts.binary} --version\` ${version.timedOut ? "timed out" : `exited ${version.code}`}`, probe: "version" };
|
|
@@ -440,29 +275,30 @@ acpChecked) {
|
|
|
440
275
|
if (facts.requiresEnv !== null && (env[facts.requiresEnv] ?? "") === "") {
|
|
441
276
|
return { provider, state: "unavailable", reason: `${facts.requiresEnv} is absent from this runner's environment`, probe: "key" };
|
|
442
277
|
}
|
|
443
|
-
// A key-driven provider (openrouter rides the codex harness on an API
|
|
444
|
-
// key) is ready on key PRESENCE — presence, never authorization — and
|
|
445
|
-
// needs no harness login. A login-driven one asks the harness.
|
|
446
278
|
if (facts.requiresEnv !== null) {
|
|
447
279
|
return { provider, state: "ready", reason: `installed (${installed}); ${facts.requiresEnv} present (presence, not authorization)`, probe: "key" };
|
|
448
280
|
}
|
|
449
281
|
if (facts.identityProbe !== null) {
|
|
450
282
|
const identity = await probe(facts.binary, [...facts.identityProbe], { timeoutMs: READINESS_PROBE_TIMEOUT_MS, omitEnv: ALL_CREDENTIAL_ENV });
|
|
283
|
+
const asked = `\`${facts.binary} ${facts.identityProbe.join(" ")}\``;
|
|
284
|
+
if (!identity.timedOut && identity.code === 1 && /not logged in/i.test(`${identity.stdout}\n${identity.stderr}`)) {
|
|
285
|
+
return { provider, state: "unavailable", reason: `${asked} says not logged in`, probe: "identity" };
|
|
286
|
+
}
|
|
451
287
|
if (identity.code !== 0) {
|
|
452
|
-
return { provider, state: "unavailable", reason:
|
|
288
|
+
return { provider, state: "unavailable", reason: `${asked} ${identity.timedOut ? "timed out" : `exited ${identity.code}`}`, probe: IDENTITY_FAILED_PROBE };
|
|
453
289
|
}
|
|
454
290
|
const who = identity.stdout.trim().split("\n")[0] ?? "";
|
|
455
291
|
return { provider, state: "ready", reason: `installed (${installed}); ${who === "" ? "logged in" : who}`, probe: "identity" };
|
|
456
292
|
}
|
|
293
|
+
if (provider === "claude" && claudeMode() === "subscription") {
|
|
294
|
+
const status = await probe(facts.binary, ["auth", "status", "--json"], { timeoutMs: READINESS_PROBE_TIMEOUT_MS, omitEnv: ALL_CREDENTIAL_ENV });
|
|
295
|
+
if (signInFacts("claude", status).state === "signed-out") {
|
|
296
|
+
return { provider, state: "unavailable", reason: "`claude auth status` says not logged in", probe: LOGIN_PROBE };
|
|
297
|
+
}
|
|
298
|
+
}
|
|
457
299
|
return { provider, state: "unknown", reason: `installed (${installed}); no non-spending login check exists — a real run is the proof`, probe: "version" };
|
|
458
300
|
}));
|
|
459
301
|
}
|
|
460
|
-
/**
|
|
461
|
-
* Record a runner's observations under its OWN authenticated name: the
|
|
462
|
-
* credential is verified and the rows written in one transaction, so a
|
|
463
|
-
* replaced incarnation cannot report for its successor, and no caller can
|
|
464
|
-
* report for a machine it does not hold the token of.
|
|
465
|
-
*/
|
|
466
302
|
export function reportProviderReadinessAuthed(store, args, now) {
|
|
467
303
|
return store.transact(() => {
|
|
468
304
|
const auth = authenticate(store, args.name, args.token);
|
|
@@ -472,13 +308,7 @@ export function reportProviderReadinessAuthed(store, args, now) {
|
|
|
472
308
|
return auth;
|
|
473
309
|
});
|
|
474
310
|
}
|
|
475
|
-
// ---- v137 lifecycle (docs/plans/actors-lessons.md): last in the file, so the reviewed function positions stay ----
|
|
476
|
-
/** A worker's lifecycle row (service_lifecycle). */
|
|
477
311
|
export const workerComponent = (name) => `worker:${name}`;
|
|
478
|
-
/**
|
|
479
|
-
* The stop begins (durable-actors' draining report), fenced by this holder's credential: from now this runner takes
|
|
480
|
-
* no new work (claim.ts acquire refuses). `until` is a schedule, never proof that the holder exited.
|
|
481
|
-
*/
|
|
482
312
|
export function drainRunnerIfCurrent(store, name, token, now, until) {
|
|
483
313
|
return store.transact(() => {
|
|
484
314
|
const auth = authenticate(store, name, token);
|
|
@@ -487,8 +317,6 @@ export function drainRunnerIfCurrent(store, name, token, now, until) {
|
|
|
487
317
|
return reportLifecycle(store, workerComponent(name), "draining", auth.runner.registeredAt, now, { drainUntil: until });
|
|
488
318
|
});
|
|
489
319
|
}
|
|
490
|
-
/** A runner's drain as its own lifecycle row reports it (only the current registration's row counts): null when it
|
|
491
|
-
* isn't draining; ended once its bound passed or it reported stopped. */
|
|
492
320
|
export function drainOf(store, runner, now) {
|
|
493
321
|
const row = lifecycleOf(store, workerComponent(runner.name));
|
|
494
322
|
if (row === null || row.holder !== runner.registeredAt)
|
package/dist/sample-project.js
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The sample project the welcome offers ("Try a sample project"): a small real git repository — a README, one function
|
|
3
|
-
* and its test — made in the project folder, so a first task has something true to change. It is registered like any
|
|
4
|
-
* other project by its caller (project-admission.ts).
|
|
5
|
-
*
|
|
6
|
-
* The folder is claimed with an exclusive mkdir; a folder already there is used again only when it is ours (a real
|
|
7
|
-
* directory, not a link, holding our marker inside its .git), and refused otherwise: nothing in someone else's folder
|
|
8
|
-
* is touched. Git runs hardened (no system or global config, no hooks or hook templates, no fsmonitor, no signing, no
|
|
9
|
-
* prompts, an allowlisted environment), and a folder this call made is removed again when making it fails.
|
|
10
|
-
*/
|
|
11
1
|
import { lstatSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
12
2
|
import { isAbsolute, join } from "node:path";
|
|
13
3
|
import { run } from "./exec.js";
|
|
14
4
|
import { SAMPLE_PROJECT_NAME } from "./first-run.js";
|
|
15
5
|
import { ENV, ENV_ALLOWLIST } from "./remote-main.js";
|
|
16
6
|
import { TEARDOWN_FLAGS } from "./teardown-git.js";
|
|
17
|
-
/** Inside the sample's .git: says the folder is the one this made (never tracked, so the work tree stays clean). */
|
|
18
7
|
const MARKER = "toolroll-sample";
|
|
19
8
|
const MARKER_TEXT = "Made by Toolroll's welcome as the sample project.\n";
|
|
20
9
|
const FILES = {
|
|
@@ -46,7 +35,6 @@ test("takes the discount off the price", () => {
|
|
|
46
35
|
`,
|
|
47
36
|
".gitignore": "node_modules/\n",
|
|
48
37
|
};
|
|
49
|
-
/** Git for the sample: fixed settings first, an allowlisted environment with no system or global config. */
|
|
50
38
|
const SAMPLE_FLAGS = [
|
|
51
39
|
...TEARDOWN_FLAGS, "-c", "commit.gpgsign=false", "-c", "tag.gpgsign=false", "-c", "init.templateDir=",
|
|
52
40
|
"-c", "user.name=Toolroll", "-c", "user.email=sample@toolroll.invalid", "-c", "core.autocrlf=false",
|
|
@@ -60,7 +48,6 @@ function kindOf(path) {
|
|
|
60
48
|
return error.code === "ENOENT" ? "missing" : "other";
|
|
61
49
|
}
|
|
62
50
|
}
|
|
63
|
-
/** Ours: a real folder whose .git is a real folder holding our marker, a regular file with our words. */
|
|
64
51
|
function isOurs(target) {
|
|
65
52
|
if (kindOf(target) !== "dir" || kindOf(join(target, ".git")) !== "dir")
|
|
66
53
|
return false;
|
|
@@ -73,7 +60,6 @@ function isOurs(target) {
|
|
|
73
60
|
return false;
|
|
74
61
|
}
|
|
75
62
|
}
|
|
76
|
-
/** Make (or find again) the sample project in `root`, the folder projects go in. */
|
|
77
63
|
export async function createSampleProject(root, git = run) {
|
|
78
64
|
if (root === null || root === "" || !isAbsolute(root) || kindOf(root) !== "dir") {
|
|
79
65
|
return { ok: false, reason: "no-root", message: "There's no project folder to put the sample in." };
|
|
@@ -82,7 +68,7 @@ export async function createSampleProject(root, git = run) {
|
|
|
82
68
|
if (isOurs(target))
|
|
83
69
|
return { ok: true, path: target, created: false };
|
|
84
70
|
try {
|
|
85
|
-
mkdirSync(target);
|
|
71
|
+
mkdirSync(target);
|
|
86
72
|
}
|
|
87
73
|
catch {
|
|
88
74
|
return { ok: false, reason: "exists", message: `A folder named ${SAMPLE_PROJECT_NAME} is already there, so nothing was changed.` };
|
|
@@ -91,7 +77,7 @@ export async function createSampleProject(root, git = run) {
|
|
|
91
77
|
try {
|
|
92
78
|
rmSync(target, { recursive: true, force: true });
|
|
93
79
|
}
|
|
94
|
-
catch {
|
|
80
|
+
catch { }
|
|
95
81
|
return { ok: false, reason: "failed", message: "The sample project couldn't be made. Nothing was added." };
|
|
96
82
|
};
|
|
97
83
|
try {
|
|
@@ -113,20 +99,9 @@ export async function createSampleProject(root, git = run) {
|
|
|
113
99
|
}
|
|
114
100
|
return { ok: true, path: target, created: true };
|
|
115
101
|
}
|
|
116
|
-
/** The sample's own check: its one test file, run by Node's test runner. Fixed here; never anyone's input. */
|
|
117
102
|
export const SAMPLE_CHECK_COMMAND = "node --test";
|
|
118
103
|
const SAMPLE_CHECK_TIMEOUT_MS = 60_000;
|
|
119
|
-
/** Who the sample's check is recorded as approved by: Toolroll itself, never the person who clicked (no step-up). */
|
|
120
104
|
export const SAMPLE_CHECK_ACTOR = "toolroll";
|
|
121
|
-
/**
|
|
122
|
-
* The sample project's check, set as part of making it, so its first result reads checked: the fixed command above,
|
|
123
|
-
* recorded as Toolroll's (SAMPLE_CHECK_ACTOR), with the person who added the sample named in the ledger line. Only
|
|
124
|
-
* for a sample this request just made (the caller passes createSampleProject's `created: true`; a folder found again
|
|
125
|
-
* is never armed), only for the folder this made (our marker in its .git), and only while the project has never had
|
|
126
|
-
* a check at all (no verify_command row, live or revoked, for it or its quick check): a check someone cleared stays
|
|
127
|
-
* cleared, and one someone approved is never replaced. It takes no command: this is not a way to set a project's
|
|
128
|
-
* check. True when it set one now.
|
|
129
|
-
*/
|
|
130
105
|
export function registerSampleCheck(store, made, repo, addedBy, now) {
|
|
131
106
|
if (!made.created || !isAbsolute(repo) || !isOurs(repo))
|
|
132
107
|
return false;
|
package/dist/sandbox-launch.js
CHANGED
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The Linux launch helper (sandbox-runtime.ts): `node sandbox-launch.js`, handed one launch in its environment
|
|
3
|
-
* (TOOLROLL_SANDBOX_LAUNCH). It changes into the launch's folder (Anthropic's sandbox-runtime anchors its mandatory
|
|
4
|
-
* write denies there), starts the runtime's network relays to this run's proxy when the network is confined, asks the
|
|
5
|
-
* runtime for the bubblewrap + seccomp command, runs it (setting it up again, from a fresh look, if the sandbox failed
|
|
6
|
-
* before the launch itself started), passes on the signals it gets, and when the command ends removes the mount points
|
|
7
|
-
* the runtime made and stops the relays. It exits with the command's status. Nothing runs if
|
|
8
|
-
* the runtime refuses: the helper exits 126 with the reason.
|
|
9
|
-
*/
|
|
10
1
|
import { spawn } from "node:child_process";
|
|
11
2
|
import { checkLinuxDependencies, cleanupBwrapMountPoints, getLinuxDependencyStatus, initializeLinuxNetworkBridge, wrapCommandWithSandboxLinux } from "@anthropic-ai/sandbox-runtime/dist/sandbox/linux-sandbox-utils.js";
|
|
12
3
|
import { SANDBOX_LAUNCH_SPEC, shellQuote, withRuntimeTemp } from "./sandbox-runtime.js";
|
|
13
4
|
const REFUSED = 126;
|
|
14
|
-
/** The status a launch stopped before it ran ends with (128 + SIGTERM). */
|
|
15
5
|
const STOPPED = 143;
|
|
16
|
-
/** Why the runtime can't sandbox here now (bubblewrap, socat or its seccomp helper gone), or null: asked again before
|
|
17
|
-
* each attempt, never remembered from an earlier look. */
|
|
18
6
|
function missing() {
|
|
19
7
|
const checked = checkLinuxDependencies();
|
|
20
8
|
if (checked.errors.length > 0)
|
|
@@ -30,18 +18,15 @@ async function main() {
|
|
|
30
18
|
}
|
|
31
19
|
const spec = JSON.parse(raw);
|
|
32
20
|
process.chdir(spec.cwd);
|
|
33
|
-
// A stop at any point: what is running is passed it, and nothing starts after it.
|
|
34
21
|
let stopping = false;
|
|
35
22
|
let child = null;
|
|
36
23
|
for (const signal of ["SIGTERM", "SIGINT", "SIGHUP"])
|
|
37
24
|
process.on(signal, () => { stopping = true; try {
|
|
38
25
|
child?.kill(signal);
|
|
39
26
|
}
|
|
40
|
-
catch {
|
|
27
|
+
catch { } });
|
|
41
28
|
const network = spec.terms.network;
|
|
42
29
|
let bridge = null;
|
|
43
|
-
// The relays share the launch's process group: they are waited for (SIGKILL after a moment), so when the helper exits
|
|
44
|
-
// nothing of the launch is left in it to read as the agent's leftover.
|
|
45
30
|
const stopBridge = async () => {
|
|
46
31
|
await Promise.all([bridge?.httpBridgeProcess, bridge?.socksBridgeProcess].map(one => new Promise(done => {
|
|
47
32
|
if (one === undefined || one.exitCode !== null || one.signalCode !== null) {
|
|
@@ -51,7 +36,7 @@ async function main() {
|
|
|
51
36
|
const force = setTimeout(() => { try {
|
|
52
37
|
one.kill("SIGKILL");
|
|
53
38
|
}
|
|
54
|
-
catch {
|
|
39
|
+
catch { } }, 1_000);
|
|
55
40
|
one.once("exit", () => { clearTimeout(force); done(); });
|
|
56
41
|
try {
|
|
57
42
|
one.kill("SIGTERM");
|
|
@@ -65,17 +50,12 @@ async function main() {
|
|
|
65
50
|
try {
|
|
66
51
|
if (network.kind === "proxy")
|
|
67
52
|
bridge = await initializeLinuxNetworkBridge(network.httpPort, network.socksPort ?? network.httpPort);
|
|
68
|
-
// The runtime reads the temp folder it gives the command when it builds it (withRuntimeTemp, sandbox-runtime.ts).
|
|
69
53
|
if (spec.temp !== undefined)
|
|
70
54
|
process.env["CLAUDE_CODE_TMPDIR"] = spec.temp;
|
|
71
55
|
else
|
|
72
56
|
withRuntimeTemp(undefined, () => undefined);
|
|
73
|
-
// The command first says it started, on a descriptor of its own (3), before anything of the launch runs. A sandbox
|
|
74
|
-
// whose setup failed (bubblewrap couldn't mount over a path another launch removed after the runtime looked)
|
|
75
|
-
// never ran the launch, so it is set up again from a fresh look, a few times; one that started is never re-run.
|
|
76
57
|
const started = `printf 1 >&3 || exit 125; exec 3>&-; exec ${shellQuote([spec.file, ...spec.args])}`;
|
|
77
58
|
for (let attempt = 1;; attempt++) {
|
|
78
|
-
// Stopped during setup or between attempts: nothing starts.
|
|
79
59
|
if (stopping)
|
|
80
60
|
return STOPPED;
|
|
81
61
|
const gone = missing();
|
|
@@ -92,7 +72,6 @@ async function main() {
|
|
|
92
72
|
readConfig: spec.terms.readConfig,
|
|
93
73
|
writeConfig: spec.terms.writeConfig,
|
|
94
74
|
});
|
|
95
|
-
// bubblewrap, and the runtime's seccomp filter inside it: anything less is not this sandbox.
|
|
96
75
|
if (!/\bbwrap\b/.test(command) || !command.includes("apply-seccomp"))
|
|
97
76
|
throw new Error("the sandbox runtime returned a command without its sandbox or its seccomp filter");
|
|
98
77
|
if (stopping)
|
|
@@ -126,7 +105,7 @@ async function main() {
|
|
|
126
105
|
try {
|
|
127
106
|
cleanupBwrapMountPoints();
|
|
128
107
|
}
|
|
129
|
-
catch {
|
|
108
|
+
catch { }
|
|
130
109
|
await new Promise(done => setTimeout(done, 50 * attempt));
|
|
131
110
|
}
|
|
132
111
|
}
|
|
@@ -141,7 +120,7 @@ async function main() {
|
|
|
141
120
|
try {
|
|
142
121
|
cleanupBwrapMountPoints();
|
|
143
122
|
}
|
|
144
|
-
catch {
|
|
123
|
+
catch { }
|
|
145
124
|
await stopBridge();
|
|
146
125
|
}
|
|
147
126
|
}
|