toolroll 0.9.104 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -5
- package/README.md +18 -20
- 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 +17 -139
- 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 +1 -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 +0 -17
- 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 +0 -53
- package/dist/local-owner.js +2 -93
- 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 +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- 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 +0 -20
- 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 +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- 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 +0 -100
- 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 +0 -25
- 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 +4 -567
- 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 +21 -555
- 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 +1 -88
- 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 +13 -493
- 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 +6 -135
- 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 +9 -227
- package/dist/server/tasks.js +5 -539
- 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 +0 -75
- 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 +17 -28
- 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 +16 -36
- package/dist/tui.js +1 -1
- 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 +4 -3
- 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 -350
- 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 -1985
- 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 -540
- 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 -43
- 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-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- 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 -61
- 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 -170
- 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 -39
- 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 -1098
- 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 -81
- 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 -60
- 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 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- 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 -343
- 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 -108
- 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 -48
- 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 -202
- 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/public-access.js
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Serving on a real domain (remote team, phase 3): which requests arrived safely enough to carry an API token,
|
|
3
|
-
* and when the console sends Strict-Transport-Security. Pure rules over what the socket and the one trusted proxy
|
|
4
|
-
* say; serve.ts applies them right after its Host check, and `toolroll serve check-public` probes for them.
|
|
5
|
-
*
|
|
6
|
-
* Trust comes from the socket first. Only a LOOPBACK peer is the documented same-host TLS proxy (Caddy, Cloudflare
|
|
7
|
-
* Tunnel), and only then are X-Forwarded-For (its last hop, via serve.ts's joinSourceOf) and X-Forwarded-Proto
|
|
8
|
-
* believed. Any other peer's forwarded headers are ignored: it reached us over plain HTTP from where it stands.
|
|
9
|
-
*/
|
|
10
|
-
/** One year, this exact host only: no includeSubDomains, no preload, so sibling names are never pinned. */
|
|
11
1
|
export const HSTS_VALUE = "max-age=31536000";
|
|
12
|
-
/** What a token-bearing request over plain HTTP from elsewhere is told. */
|
|
13
2
|
export const USE_HTTPS = "Use HTTPS. API tokens are accepted over plain HTTP only from this computer or your tailnet; connect with the server's https:// address.";
|
|
14
|
-
/** IPv4 dotted quad from an IPv4 or IPv4-mapped IPv6 address, else null. */
|
|
15
3
|
function ipv4Of(address) {
|
|
16
4
|
const bare = address.replace(/^::ffff:/i, "");
|
|
17
5
|
const match = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(bare);
|
|
@@ -20,18 +8,11 @@ function ipv4Of(address) {
|
|
|
20
8
|
const parts = match.slice(1).map(Number);
|
|
21
9
|
return parts.every(part => part <= 255) ? parts : null;
|
|
22
10
|
}
|
|
23
|
-
/** Strips brackets and an IPv6 zone so `[::1]` and `fe80::1%en0` compare as addresses. */
|
|
24
11
|
const bareAddress = (address) => address.trim().replace(/^\[(.*)\]$/, "$1").replace(/%.*$/, "").toLowerCase();
|
|
25
|
-
/**
|
|
26
|
-
* The exact loopback peers serve.ts trusts as the same-host proxy (joinSourceOf, fromThisComputer). Not all of
|
|
27
|
-
* 127/8: a proxy listening on 127.0.0.2 must not make public callers look like this computer.
|
|
28
|
-
*/
|
|
29
12
|
export const LOOPBACK_PEERS = new Set(["127.0.0.1", "::1", "::ffff:127.0.0.1"]);
|
|
30
|
-
/** One of LOOPBACK_PEERS (brackets, an IPv6 zone and case ignored). The only loopback test that grants trust. */
|
|
31
13
|
export function isLoopbackPeer(address) {
|
|
32
14
|
return LOOPBACK_PEERS.has(bareAddress(address));
|
|
33
15
|
}
|
|
34
|
-
/** 127.0.0.0/8, ::1 and their IPv4-mapped forms. For naming hosts only (public-check.ts); trust uses isLoopbackPeer. */
|
|
35
16
|
export function isLoopbackAddress(address) {
|
|
36
17
|
const bare = bareAddress(address);
|
|
37
18
|
const v4 = ipv4Of(bare);
|
|
@@ -39,7 +20,6 @@ export function isLoopbackAddress(address) {
|
|
|
39
20
|
return v4[0] === 127;
|
|
40
21
|
return bare === "::1" || bare === "0:0:0:0:0:0:0:1";
|
|
41
22
|
}
|
|
42
|
-
/** Tailscale's ranges: 100.64.0.0/10 (and its IPv4-mapped form) and fd7a:115c:a1e0::/48. */
|
|
43
23
|
export function isTailnetAddress(address) {
|
|
44
24
|
const bare = bareAddress(address);
|
|
45
25
|
const v4 = ipv4Of(bare);
|
|
@@ -47,16 +27,10 @@ export function isTailnetAddress(address) {
|
|
|
47
27
|
return v4[0] === 100 && v4[1] >= 64 && v4[1] <= 127;
|
|
48
28
|
return /^fd7a:115c:a1e0(:|$)/.test(bare);
|
|
49
29
|
}
|
|
50
|
-
/** The last value of a possibly repeated, comma-separated header (the one the trusted proxy itself set). */
|
|
51
30
|
const lastValue = (header) => {
|
|
52
31
|
const joined = Array.isArray(header) ? header.join(",") : header ?? "";
|
|
53
32
|
return joined.split(",").pop()?.trim().toLowerCase() ?? "";
|
|
54
33
|
};
|
|
55
|
-
/**
|
|
56
|
-
* The request's transport from its socket peer, the source serve.ts's joinSourceOf derived (`fwd:<hop>` only for a
|
|
57
|
-
* loopback peer) and the proxy headers. A loopback peer that forwards with `Forwarded` but no X-Forwarded-For names
|
|
58
|
-
* no caller we can read, so it is not treated as this computer.
|
|
59
|
-
*/
|
|
60
34
|
export function transportOf(request) {
|
|
61
35
|
const peer = request.peer ?? "";
|
|
62
36
|
if (!isLoopbackPeer(peer)) {
|
|
@@ -69,9 +43,7 @@ export function transportOf(request) {
|
|
|
69
43
|
return { source: "unknown", https, privatePath: false };
|
|
70
44
|
return { source, https, privatePath: isLoopbackPeer(source) || isTailnetAddress(source) };
|
|
71
45
|
}
|
|
72
|
-
/** The OAuth endpoints that hand out, consent to or take back a token (mcp-oauth.ts; revoke is reserved). Discovery stays public. */
|
|
73
46
|
export const OAUTH_TOKEN_PATHS = new Set(["/oauth/authorize", "/oauth/token", "/oauth/register", "/oauth/revoke"]);
|
|
74
|
-
/** Requests that carry, or exist to carry, an API token: the remote CLI, the MCP gateway, MCP sign-in, and any bearer credential. */
|
|
75
47
|
export function carriesToken(pathname, authorization) {
|
|
76
48
|
if (pathname === "/api/cli" || pathname.startsWith("/api/cli/") || pathname === "/mcp" || pathname.startsWith("/mcp/"))
|
|
77
49
|
return true;
|
|
@@ -79,21 +51,15 @@ export function carriesToken(pathname, authorization) {
|
|
|
79
51
|
return true;
|
|
80
52
|
return authorization !== undefined && /^bearer\s/i.test(authorization);
|
|
81
53
|
}
|
|
82
|
-
/** The refusal for a token sent over plain HTTP from outside this computer and the tailnet, else null. */
|
|
83
54
|
export function plainHttpRefusal(transport, pathname, authorization) {
|
|
84
55
|
if (transport.https || transport.privatePath)
|
|
85
56
|
return null;
|
|
86
57
|
return carriesToken(pathname, authorization) ? USE_HTTPS : null;
|
|
87
58
|
}
|
|
88
|
-
/** The Strict-Transport-Security value for a request to the configured public https host that arrived over HTTPS. */
|
|
89
59
|
export function hstsFor(publicHost, host, transport) {
|
|
90
60
|
return publicHost !== null && host === publicHost && transport.https ? HSTS_VALUE : null;
|
|
91
61
|
}
|
|
92
|
-
/** Any forwarding header at all (Forwarded, X-Forwarded-*, X-Real-IP, Via, …): a sign of a proxy in front. */
|
|
93
62
|
const PROXY_HEADER = /^(forwarded|via|x-forwarded-.+|x-real-ip|x-client-ip|x-original-.+|x-cluster-client-ip|true-client-ip|cf-connecting-ip|fastly-client-ip|x-proxyuser-ip)$/i;
|
|
94
|
-
/** This computer, and nothing in front of it: a loopback peer that names a loopback address, with no sign of a proxy —
|
|
95
|
-
* any forwarding header at all disqualifies the request. serve.ts's fromThisComputer, and guards.ts's check on every
|
|
96
|
-
* request a local owner's session makes (local-owner slice 0), read it here. */
|
|
97
63
|
export function requestFromThisComputer(request) {
|
|
98
64
|
const peer = request.socket.remoteAddress ?? "";
|
|
99
65
|
if (!LOOPBACK_PEERS.has(peer))
|
package/dist/public-check.js
CHANGED
|
@@ -1,18 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `toolroll serve check-public` (remote team, phase 3): is this server ready to be reached on its real domain?
|
|
3
|
-
* Read-only: it sends no credentials, follows no redirects and changes nothing. It checks the --public-url and
|
|
4
|
-
* --allow-host values, asks the console on this computer what it does with relayed requests, then fetches the public
|
|
5
|
-
* address with the platform's own certificate checks and reads what comes back. Each problem is one line saying
|
|
6
|
-
* what to change.
|
|
7
|
-
*/
|
|
8
1
|
import { request as httpRequest } from "node:http";
|
|
9
2
|
import { request as httpsRequest } from "node:https";
|
|
10
3
|
import { HSTS_VALUE, isLoopbackAddress, isTailnetAddress, USE_HTTPS } from "./public-access.js";
|
|
11
4
|
const TIMEOUT_MS = 10_000;
|
|
12
|
-
/** A documentation address (RFC 5737): the remote caller the local probe pretends to relay for. */
|
|
13
5
|
const SAMPLE_CALLER = "203.0.113.10";
|
|
14
6
|
const HOST_GRAMMAR = /^[A-Za-z0-9.-]{1,253}(:[0-9]{1,5})?$|^\[[0-9A-Fa-f:.]{2,45}\](:[0-9]{1,5})?$/;
|
|
15
|
-
/** The default probe: node's http/https with the platform trust store, a timeout and a 4 KB body cap. */
|
|
16
7
|
export const networkProbe = ({ url, headers }) => new Promise(resolve => {
|
|
17
8
|
const target = new URL(url);
|
|
18
9
|
const send = target.protocol === "https:" ? httpsRequest : httpRequest;
|
|
@@ -29,7 +20,6 @@ export const networkProbe = ({ url, headers }) => new Promise(resolve => {
|
|
|
29
20
|
outgoing.end();
|
|
30
21
|
});
|
|
31
22
|
const codeOf = (error) => typeof error === "object" && error !== null && typeof error.code === "string" ? error.code : "EUNKNOWN";
|
|
32
|
-
/** The exact https origin --public-url must be, as serve.ts requires it; else what is wrong with it. */
|
|
33
23
|
export function publicOriginOf(value) {
|
|
34
24
|
if (value === undefined)
|
|
35
25
|
return "--public-url is missing. Pass the address engineers will use, like --public-url https://toolroll.example.com.";
|
|
@@ -47,7 +37,6 @@ export function publicOriginOf(value) {
|
|
|
47
37
|
}
|
|
48
38
|
return parsed;
|
|
49
39
|
}
|
|
50
|
-
/** Names a plain-HTTP browser can reasonably use: this computer, the tailnet, a LAN or a single-label name. */
|
|
51
40
|
function privateName(host) {
|
|
52
41
|
const name = host.replace(/:[0-9]{1,5}$/, "").replace(/^\[(.*)\]$/, "$1").toLowerCase();
|
|
53
42
|
if (name === "localhost" || name.endsWith(".ts.net") || name.endsWith(".local") || !name.includes(".") && !name.includes(":"))
|
|
@@ -65,7 +54,6 @@ const header = (answer, name) => {
|
|
|
65
54
|
const value = answer.headers[name];
|
|
66
55
|
return Array.isArray(value) ? value.join(", ") : value;
|
|
67
56
|
};
|
|
68
|
-
/** The HSTS max-age a response sets, or null when it sets none. */
|
|
69
57
|
const hstsAge = (value) => {
|
|
70
58
|
const match = value === undefined ? null : /(?:^|;)\s*max-age\s*=\s*"?(\d+)"?/i.exec(value);
|
|
71
59
|
return match === null ? null : Number(match[1]);
|
|
@@ -86,7 +74,6 @@ function certificateProblem(host, code) {
|
|
|
86
74
|
return `The certificate for ${host} is not trusted (${code}). Use a publicly trusted certificate, such as Caddy's automatic one.`;
|
|
87
75
|
return `Could not reach https://${host} (${code}).`;
|
|
88
76
|
}
|
|
89
|
-
/** Every problem with serving on --public-url, in a fixed order; an empty list means ready. */
|
|
90
77
|
export async function checkPublic(options, probe = networkProbe) {
|
|
91
78
|
const origin = publicOriginOf(options.publicUrl);
|
|
92
79
|
if (typeof origin === "string")
|
|
@@ -100,7 +87,6 @@ export async function checkPublic(options, probe = networkProbe) {
|
|
|
100
87
|
findings.push({ check: "allow-host", message: `--allow-host ${allowed} is a public name served over plain HTTP, so passwords would cross the internet unencrypted. Remove it: --public-url already admits ${host}.` });
|
|
101
88
|
}
|
|
102
89
|
}
|
|
103
|
-
// The console on this computer, asked as the same-host proxy would ask it.
|
|
104
90
|
const local = `http://127.0.0.1:${options.port}`;
|
|
105
91
|
const relayed = { host, "x-forwarded-for": SAMPLE_CALLER };
|
|
106
92
|
const page = await probe({ url: `${local}/login`, headers: { ...relayed, "x-forwarded-proto": "https" } });
|
|
@@ -119,7 +105,6 @@ export async function checkPublic(options, probe = networkProbe) {
|
|
|
119
105
|
findings.push({ check: "forwarding", message: "The server does not refuse API tokens relayed over plain HTTP from another computer. Update Toolroll." });
|
|
120
106
|
}
|
|
121
107
|
}
|
|
122
|
-
// The public address, with the platform's certificate checks.
|
|
123
108
|
const outside = await probe({ url: `${origin.origin}/login`, headers: {} });
|
|
124
109
|
if ("error" in outside) {
|
|
125
110
|
findings.push({ check: "certificate", message: certificateProblem(host, outside.error) });
|
|
@@ -142,7 +127,6 @@ export async function checkPublic(options, probe = networkProbe) {
|
|
|
142
127
|
}
|
|
143
128
|
return findings;
|
|
144
129
|
}
|
|
145
|
-
/** The command: findings as lines (or one envelope), exit 0 when ready, 1 when not, 2 for a malformed --port. */
|
|
146
130
|
export async function checkPublicCommand(flags, context) {
|
|
147
131
|
const command = "serve check-public";
|
|
148
132
|
const value = (name) => { const one = flags.get(name); return typeof one === "string" ? one : undefined; };
|
package/dist/publish.js
CHANGED
|
@@ -1,24 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Publication (§M4): built work becomes a pushed branch and a pull request,
|
|
3
|
-
* under a grant whose every term was shown before the yes, through a durable
|
|
4
|
-
* intent that survives any crash between "done" and "opened".
|
|
5
|
-
*
|
|
6
|
-
* Two external writes, two named capabilities. Pushing a branch and opening
|
|
7
|
-
* a PR hurt differently, so `push-branch` and `open-pr` are granted
|
|
8
|
-
* separately, with the exact GitHub repository, remote, allowed head
|
|
9
|
-
* prefix, and base branch fixed at grant time — the worker re-proves all of
|
|
10
|
-
* them at publish time, because a grant revoked overnight must stop the
|
|
11
|
-
* morning's pushes.
|
|
12
|
-
*
|
|
13
|
-
* The push names the exact SHA the fenced completion accepted —
|
|
14
|
-
* `git push <remote> <sha>:refs/heads/<head>` — never "whatever the branch
|
|
15
|
-
* points at now". The PR is adopt-or-create: the worker first asks GitHub
|
|
16
|
-
* for an open PR on that head and adopts it, so a crash after `pr create`
|
|
17
|
-
* and before the record lands cannot mint a twin. The body is generated
|
|
18
|
-
* only from durable state (task, scope, run record, answered decisions),
|
|
19
|
-
* with the agent's prose fenced in a quote block so `Fixes #…` or an
|
|
20
|
-
* @-mention in its conclusion cannot acquire GitHub semantics.
|
|
21
|
-
*/
|
|
22
1
|
import { createHash } from "node:crypto";
|
|
23
2
|
import { protectedPublicationHold } from "./result-completion.js";
|
|
24
3
|
import { fastPublishProblem } from "./fast-start.js";
|
|
@@ -30,19 +9,12 @@ import { summarizeChecks } from "./pulls.js";
|
|
|
30
9
|
import { parseCiRollup, recordCiChecks, releasePublication } from "./store.js";
|
|
31
10
|
import { headWithin } from "./names.js";
|
|
32
11
|
export const BODY_TEMPLATE_VERSION = 2;
|
|
33
|
-
/** After this many failed attempts a publication stops retrying and pages instead. */
|
|
34
12
|
export const MAX_PUBLISH_ATTEMPTS = 5;
|
|
35
13
|
const EXEC_TIMEOUT_MS = 60_000;
|
|
36
|
-
/**
|
|
37
|
-
* The one grant lookup for a task's publication: its project is the task's repo, and that project's live grant
|
|
38
|
-
* governs it. The publisher, Complete → pull request and a flow's Pull request zone all ask here, so none of them
|
|
39
|
-
* can judge a publication by another project's grant. `fallback`: the repo to assume for a task with none recorded.
|
|
40
|
-
*/
|
|
41
14
|
export function publicationGrantOf(store, taskRef, fallback = null) {
|
|
42
15
|
const repo = store.refById(taskRef)?.repo ?? fallback;
|
|
43
16
|
return { repo, grant: repo === null ? null : store.publicationGrantFor(repo) };
|
|
44
17
|
}
|
|
45
|
-
/** The grant's terms, in the words the approver must be shown before agreeing. */
|
|
46
18
|
export function describePublicationGrant(grant) {
|
|
47
19
|
return [
|
|
48
20
|
` repo ${grant.repo}`,
|
|
@@ -55,18 +27,9 @@ export function describePublicationGrant(grant) {
|
|
|
55
27
|
` mode ${grant.draft ? "draft PRs" : "ready-for-review PRs"}`,
|
|
56
28
|
];
|
|
57
29
|
}
|
|
58
|
-
/**
|
|
59
|
-
* The PR body, from durable state only — the same rows produce the same
|
|
60
|
-
* bytes after any crash, which is what lets the intent carry a hash of it.
|
|
61
|
-
*/
|
|
62
|
-
/** One line of untrusted prose, kept inline: newlines flatten so no agent
|
|
63
|
-
* text can START a Markdown line and gain semantics (audit IV-9) —
|
|
64
|
-
* `Closes #123` at line start closes; mid-sentence it is words. */
|
|
65
30
|
function mdInline(text) {
|
|
66
31
|
return text.replace(/[\r\n\u2028\u2029]+/g, " ").trim();
|
|
67
32
|
}
|
|
68
|
-
/** Untrusted multi-line prose as an INDENTED code block: backticks cannot
|
|
69
|
-
* terminate indentation, so no conclusion escapes its quoting (audit IV-9). */
|
|
70
33
|
function mdIndented(text) {
|
|
71
34
|
return text.replace(/\r\n?/g, "\n").split("\n").map(line => ` ${line}`);
|
|
72
35
|
}
|
|
@@ -89,8 +52,6 @@ export function publicationBody(store, publication) {
|
|
|
89
52
|
lines.push(`- ${mdInline(answer.decision.question)} → **${mdInline(answer.choice)}** (${mdInline(answer.decision.answeredBy ?? "?")})`);
|
|
90
53
|
}
|
|
91
54
|
}
|
|
92
|
-
// The agent's own words ride INDENTED: an indented code block has no
|
|
93
|
-
// terminator an agent's text could supply, so prose stays prose.
|
|
94
55
|
if (run?.handoff !== null && run?.handoff !== undefined) {
|
|
95
56
|
lines.push("", "**The agent's conclusion, quoted:**", "", ...mdIndented(run.handoff));
|
|
96
57
|
}
|
|
@@ -100,30 +61,15 @@ export function publicationBody(store, publication) {
|
|
|
100
61
|
export function bodyHashOf(body) {
|
|
101
62
|
return createHash("sha256").update(`v${BODY_TEMPLATE_VERSION}\n${body}`, "utf8").digest("hex");
|
|
102
63
|
}
|
|
103
|
-
/**
|
|
104
|
-
* One pass over everything owed. Each phase re-proves the grant and moves
|
|
105
|
-
* exactly one durable state — a crash at any point leaves a row the next
|
|
106
|
-
* pass picks up where this one stopped.
|
|
107
|
-
*/
|
|
108
64
|
export async function publishPass(store, options) {
|
|
109
65
|
const clock = options.clock ?? (() => new Date());
|
|
110
66
|
const exec = options.exec ?? execRun;
|
|
111
67
|
const report = { pushed: 0, opened: 0, adopted: 0, failed: 0, problems: [] };
|
|
112
68
|
for (const publication of store.pendingPublications()) {
|
|
113
|
-
// The secret gate (audit IV-7): a run whose accepted diff carried a
|
|
114
|
-
// high-confidence secret shape publishes NOTHING — pushing the branch
|
|
115
|
-
// would hand the credential to the remote. Fail closed, say why once,
|
|
116
|
-
// and leave the person to rewrite the branch and requeue.
|
|
117
69
|
if (store.hasRedactedTerminalDiff(publication.run)) {
|
|
118
70
|
concede(store, publication, "the accepted diff carries a detected secret — rewrite the branch before anything publishes", report, clock);
|
|
119
71
|
continue;
|
|
120
72
|
}
|
|
121
|
-
// Each project's watch publishes its own project's work: the push runs in
|
|
122
|
-
// that checkout, under that project's grant. Another project's pass must
|
|
123
|
-
// not touch it — judging it by the wrong grant once recorded "no live
|
|
124
|
-
// grant" errors until it gave up, while its own pass opened the PR.
|
|
125
|
-
// The grant is re-read per publication, live: revocation is immediate,
|
|
126
|
-
// and an intent created under a grant that has since died goes nowhere.
|
|
127
73
|
const { repo, grant } = publicationGrantOf(store, publication.taskRef, options.repo);
|
|
128
74
|
if (repo !== options.repo)
|
|
129
75
|
continue;
|
|
@@ -135,15 +81,12 @@ export async function publishPass(store, options) {
|
|
|
135
81
|
concede(store, publication, verdict.message, report, clock);
|
|
136
82
|
continue;
|
|
137
83
|
}
|
|
138
|
-
// v102: separation of duties holds the push itself (so no PR and no merge follow) until a second person
|
|
139
|
-
// has seen a result that changed protected files on a one-person approval.
|
|
140
84
|
if (publication.state === "intended") {
|
|
141
85
|
const held = protectedPublicationHold(store, publication.run, options.evidenceRoot);
|
|
142
86
|
if (held !== null) {
|
|
143
87
|
report.problems.push(`publication ${publication.id}: ${held}`);
|
|
144
88
|
continue;
|
|
145
89
|
}
|
|
146
|
-
// A fast start waits for a person's Accept, and for a change that stayed small (fast-start.ts).
|
|
147
90
|
const fastTask = store.externalIdFor(publication.taskRef);
|
|
148
91
|
const fast = fastTask === null ? null : fastPublishProblem(store, fastTask, publication.run);
|
|
149
92
|
if (fast !== null) {
|
|
@@ -152,8 +95,6 @@ export async function publishPass(store, options) {
|
|
|
152
95
|
}
|
|
153
96
|
}
|
|
154
97
|
if (publication.state === "intended") {
|
|
155
|
-
// The exact SHA to the exact ref. A branch that moved since completion
|
|
156
|
-
// is not what was accepted, and this push cannot be talked into it.
|
|
157
98
|
const push = await exec("git", ["push", publication.remote, `${publication.headSha}:refs/heads/${publication.head}`], { cwd: options.repo, timeoutMs: EXEC_TIMEOUT_MS });
|
|
158
99
|
if (push.code !== 0) {
|
|
159
100
|
const why = push.notFound ? "git is not on PATH" : firstLine(push.stderr) || `git push exited ${push.code}`;
|
|
@@ -184,7 +125,6 @@ export async function publishPass(store, options) {
|
|
|
184
125
|
}
|
|
185
126
|
return report;
|
|
186
127
|
}
|
|
187
|
-
/** Why a publication may not proceed — checked against the whole grant, per phase. */
|
|
188
128
|
export function permitsPublication(grant, publication) {
|
|
189
129
|
if (grant === null)
|
|
190
130
|
return { ok: false, message: "no live publication grant — nothing may be pushed" };
|
|
@@ -201,16 +141,10 @@ export function permitsPublication(grant, publication) {
|
|
|
201
141
|
return { ok: true };
|
|
202
142
|
}
|
|
203
143
|
async function openOrAdopt(store, publication, grant, exec, clock) {
|
|
204
|
-
// Adopt first: a PR this head already has — whoever opened it, including
|
|
205
|
-
// a crashed earlier attempt — is the PR. Creating a second would be the
|
|
206
|
-
// duplicate the durable intent exists to prevent.
|
|
207
144
|
const listed = await exec("gh", [
|
|
208
145
|
"pr", "list",
|
|
209
146
|
"--repo", publication.githubRepo,
|
|
210
147
|
"--head", publication.head,
|
|
211
|
-
// The base filter (merge-grant finding 21): a same-head PR aimed at
|
|
212
|
-
// a DIFFERENT base is not this publication's PR and must never be
|
|
213
|
-
// adopted under authority granted for another branch.
|
|
214
148
|
"--base", publication.base,
|
|
215
149
|
"--state", "open",
|
|
216
150
|
"--json", "number,url",
|
|
@@ -237,8 +171,6 @@ async function openOrAdopt(store, publication, grant, exec, clock) {
|
|
|
237
171
|
const body = publicationBody(store, publication);
|
|
238
172
|
const taskId = store.externalIdFor(publication.taskRef) ?? publication.head;
|
|
239
173
|
const title = store.getTask(taskId)?.title ?? taskId;
|
|
240
|
-
// --body-file, not --body: the body quotes an agent and a shell must not
|
|
241
|
-
// meet it. The file lives in a private temp dir for exactly one call.
|
|
242
174
|
const dir = mkdtempSync(join(tmpdir(), "standing-orders-pr-"));
|
|
243
175
|
try {
|
|
244
176
|
const bodyFile = join(dir, "body.md");
|
|
@@ -267,11 +199,6 @@ async function openOrAdopt(store, publication, grant, exec, clock) {
|
|
|
267
199
|
rmSync(dir, { recursive: true, force: true });
|
|
268
200
|
}
|
|
269
201
|
}
|
|
270
|
-
/**
|
|
271
|
-
* A publication given up on whose pull request exists anyway — a pass that gave up while another opened it, or a
|
|
272
|
-
* person who opened it by hand: the PR on its exact head and base, carrying its exact commit, is adopted as opened
|
|
273
|
-
* (merged or closed ones too; the next observation records which). Whether one was found.
|
|
274
|
-
*/
|
|
275
202
|
export async function adoptPublishedPullRequest(store, publication, exec, clock) {
|
|
276
203
|
if (publication.state !== "failed")
|
|
277
204
|
return false;
|
|
@@ -292,14 +219,6 @@ export async function adoptPublishedPullRequest(store, publication, exec, clock)
|
|
|
292
219
|
enqueueOpened(store, publication, pr.url, clock);
|
|
293
220
|
return true;
|
|
294
221
|
}
|
|
295
|
-
/**
|
|
296
|
-
* Read CI for every PR this control plane opened — structured rollup and the
|
|
297
|
-
* exact head OID, never a command's exit status (finding 18). Episodes are
|
|
298
|
-
* keyed `ci:<pr>:<headOid>`: a red head pages once; the episode resolves
|
|
299
|
-
* when that exact head turns green or a newer commit supersedes it. `none`,
|
|
300
|
-
* `running`, and not-read are never called green — an unread rollup neither
|
|
301
|
-
* pages nor resolves anything.
|
|
302
|
-
*/
|
|
303
222
|
export async function observeChecks(store, options) {
|
|
304
223
|
const clock = options.clock ?? (() => new Date());
|
|
305
224
|
const exec = options.exec ?? execRun;
|
|
@@ -307,10 +226,6 @@ export async function observeChecks(store, options) {
|
|
|
307
226
|
for (const publication of options.publications ?? store.openedPublications()) {
|
|
308
227
|
if (publication.prNumber === null)
|
|
309
228
|
continue;
|
|
310
|
-
// The observation generation is RESERVED before the network call
|
|
311
|
-
// (merge grant, findings 20/24): a stalled older response loses its
|
|
312
|
-
// conditional settle, and a loser has NO effects — not the mirror
|
|
313
|
-
// row, not remote_state, not check state, not an episode.
|
|
314
229
|
const generation = store.reserveObservation(publication.githubRepo, publication.prNumber);
|
|
315
230
|
const viewed = await exec("gh", [
|
|
316
231
|
"pr", "view", String(publication.prNumber),
|
|
@@ -335,9 +250,6 @@ export async function observeChecks(store, options) {
|
|
|
335
250
|
continue;
|
|
336
251
|
}
|
|
337
252
|
report.observed++;
|
|
338
|
-
// A merged or closed PR leaves the watch (Codex M5-M8 audit, C-6): its
|
|
339
|
-
// remote state is recorded, its episodes resolve, and neither the
|
|
340
|
-
// review queue nor the next observation pass carries it forever.
|
|
341
253
|
const remoteState = typeof payload.state === "string" ? payload.state.toUpperCase() : null;
|
|
342
254
|
const mergeCommit = typeof payload.mergeCommit === "object" && payload.mergeCommit !== null && typeof payload.mergeCommit.oid === "string"
|
|
343
255
|
? payload.mergeCommit.oid : null;
|
|
@@ -348,19 +260,13 @@ export async function observeChecks(store, options) {
|
|
|
348
260
|
if (!settled.won)
|
|
349
261
|
return;
|
|
350
262
|
won = true;
|
|
351
|
-
// The checks' own timing (v146), only with the observation that won.
|
|
352
263
|
recordCiChecks(store, publication.githubRepo, publication.prNumber, headOid, parseCiRollup(payload.statusCheckRollup), clock());
|
|
353
264
|
store.recordPublicationRemoteState(publication.id, remoteState, clock());
|
|
354
265
|
report.resolved += store.resolveCiEpisodes(publication.githubRepo, publication.prNumber, null, clock());
|
|
355
|
-
// A closed PR moots its merge blocker and supersedes its intent —
|
|
356
|
-
// and its person-needed episode (arc 3 finding 23).
|
|
357
266
|
store.liftMergeBlocker(publication.id, "the-remote", clock());
|
|
358
267
|
store.resolveEpisodes(`merge-attn:${publication.id}`, clock());
|
|
359
268
|
const intent = store.mergeIntentFor(publication.id);
|
|
360
269
|
if (intent !== null && ["pending", "claimed", "waiting-human", "firing"].includes(intent.state)) {
|
|
361
|
-
// The observer settles ANY nonterminal on an observed remote
|
|
362
|
-
// terminal (E1/F1) - generation bumped so a live claim or
|
|
363
|
-
// firing owner's later write loses to the observed truth.
|
|
364
270
|
store.settleMergeIntent(intent.id, intent.generation, remoteState === "MERGED" ? "merged" : "superseded", clock(), {
|
|
365
271
|
receipt: `observed ${remoteState.toLowerCase()} remotely`, bumpGeneration: true,
|
|
366
272
|
});
|
|
@@ -371,25 +277,18 @@ export async function observeChecks(store, options) {
|
|
|
371
277
|
continue;
|
|
372
278
|
}
|
|
373
279
|
const state = summarizeChecks(payload.statusCheckRollup);
|
|
374
|
-
// Settled and, when it won, the checks' own timing recorded (v146) in one transaction: a losing generation writes nothing.
|
|
375
280
|
const settled = settleWithChecks(store, { githubRepo: publication.githubRepo, prNumber: publication.prNumber, headSha: headOid, state, generation }, payload.statusCheckRollup, clock());
|
|
376
281
|
if (!settled.won) {
|
|
377
|
-
// An out-of-order response: a newer observation already spoke.
|
|
378
|
-
// Nothing persists from this one (round-4 findings 24/25).
|
|
379
282
|
report.problems.push(`PR #${publication.prNumber}: superseded observation discarded`);
|
|
380
283
|
continue;
|
|
381
284
|
}
|
|
382
285
|
store.recordPublicationCheckState(publication.id, state, clock());
|
|
383
286
|
report.seen.push({ publication, headOid, state, remoteState: null, rollup: payload.statusCheckRollup, mergeCommit });
|
|
384
|
-
// The episode identity carries the REPOSITORY (audit C-2): PR #55 in
|
|
385
|
-
// repo A and PR #55 in repo B are different worlds, and one's failure
|
|
386
|
-
// must never light the other's repair button.
|
|
387
287
|
const key = `ci:${publication.githubRepo}:${publication.prNumber}:${headOid}`;
|
|
388
288
|
const taskId = store.externalIdFor(publication.taskRef) ?? publication.head;
|
|
389
289
|
if (state === "failing") {
|
|
390
290
|
report.failing++;
|
|
391
291
|
store.transact(() => {
|
|
392
|
-
// Older heads' episodes die with their commits; this head's opens once.
|
|
393
292
|
store.resolveCiEpisodes(publication.githubRepo, publication.prNumber, key, clock());
|
|
394
293
|
store.enqueueNotification({
|
|
395
294
|
source: { run: publication.run },
|
|
@@ -404,15 +303,11 @@ export async function observeChecks(store, options) {
|
|
|
404
303
|
report.resolved += store.resolveCiEpisodes(publication.githubRepo, publication.prNumber, null, clock());
|
|
405
304
|
}
|
|
406
305
|
else {
|
|
407
|
-
// running / none: not good news, not bad news — old episodes for
|
|
408
|
-
// *other* heads still resolve (their commit is gone), this head's
|
|
409
|
-
// verdict stays open.
|
|
410
306
|
store.resolveCiEpisodes(publication.githubRepo, publication.prNumber, key, clock());
|
|
411
307
|
}
|
|
412
308
|
}
|
|
413
309
|
return report;
|
|
414
310
|
}
|
|
415
|
-
/** Retries are over; say so durably and page a person — silence is the one failure mode ruled out. */
|
|
416
311
|
function concede(store, publication, why, report, clock) {
|
|
417
312
|
store.transact(() => {
|
|
418
313
|
store.failPublication(publication.id, clock());
|
|
@@ -420,7 +315,6 @@ function concede(store, publication, why, report, clock) {
|
|
|
420
315
|
source: { run: publication.run },
|
|
421
316
|
dedupeKey: `publication:${publication.id}:failed`,
|
|
422
317
|
kind: "publication-failed",
|
|
423
|
-
// A person is needed now (v4 review, finding 6): never a digest.
|
|
424
318
|
pushClass: "attention",
|
|
425
319
|
link: `/r/${publication.run}`,
|
|
426
320
|
subject: `publication of run #${publication.run} gave up`,
|
|
@@ -441,19 +335,14 @@ function enqueueOpened(store, publication, url, clock) {
|
|
|
441
335
|
function firstLine(text) {
|
|
442
336
|
return text.split("\n")[0]?.trim() ?? "";
|
|
443
337
|
}
|
|
444
|
-
// ---- the merge sweep (v21; four review rounds are the spec) ---------------
|
|
445
338
|
export const MERGE_LEASE_MS = 5 * 60_000;
|
|
446
|
-
// F1: a firing row is STALE only when this deadline passes - one sweep
|
|
447
|
-
// interval plus grace, stamped at the CAS, never a guess.
|
|
448
339
|
export const FIRING_GRACE_MS = 10 * 60_000;
|
|
449
340
|
export const MERGE_MAX_ATTEMPTS = 3;
|
|
450
|
-
/** The exact terms a merge intent binds - drift supersedes, never surprises. */
|
|
451
341
|
export function mergeTermsHash(grant) {
|
|
452
342
|
return createHash("sha256")
|
|
453
343
|
.update("merge-terms/v1 " + grant.githubRepo + " " + grant.base + " " + grant.headPrefix + " " + (grant.mergeMethod ?? "") + " " + (grant.mergeDeleteBranch === true ? 1 : 0))
|
|
454
344
|
.digest("hex");
|
|
455
345
|
}
|
|
456
|
-
/** One fresh, WINNING observation - the only tuple that may authorize. */
|
|
457
346
|
async function observeOne(store, exec, clock, githubRepo, prNumber) {
|
|
458
347
|
const generation = store.reserveObservation(githubRepo, prNumber);
|
|
459
348
|
const viewed = await exec("gh", ["pr", "view", String(prNumber), "--repo", githubRepo, "--json", "statusCheckRollup,headRefOid,state,isDraft,baseRefName"], { timeoutMs: EXEC_TIMEOUT_MS });
|
|
@@ -477,15 +366,10 @@ async function observeOne(store, exec, clock, githubRepo, prNumber) {
|
|
|
477
366
|
return { ok: false, why: "pr-" + String(payload.state ?? "gone").toLowerCase() };
|
|
478
367
|
const state = summarizeChecks(payload.statusCheckRollup);
|
|
479
368
|
const settled = settleWithChecks(store, { githubRepo, prNumber, headSha, state, generation }, payload.statusCheckRollup, clock());
|
|
480
|
-
// A losing settle is NO observation (round-4 finding 24).
|
|
481
369
|
if (!settled.won)
|
|
482
370
|
return { ok: false, why: "stale-observation" };
|
|
483
371
|
return { ok: true, state, headSha };
|
|
484
372
|
}
|
|
485
|
-
/** A COMPLETE negative proof that no merge queue governs the base - or no
|
|
486
|
-
* merge (round-4 finding 22): every rules page, plus the classic-protection
|
|
487
|
-
* probe with a STRUCTURED status; any classic protection at all, or any
|
|
488
|
-
* unreadable answer, refuses merge-queue-unknown, fail closed. */
|
|
489
373
|
async function proveNoMergeQueue(exec, githubRepo, base) {
|
|
490
374
|
const rules = await exec("gh", ["api", "--paginate", "--slurp", "repos/" + githubRepo + "/rules/branches/" + encodeURIComponent(base)], { timeoutMs: EXEC_TIMEOUT_MS });
|
|
491
375
|
if (rules.code !== 0)
|
|
@@ -504,8 +388,6 @@ async function proveNoMergeQueue(exec, githubRepo, base) {
|
|
|
504
388
|
catch {
|
|
505
389
|
return { ok: false, why: "merge-queue-unknown" };
|
|
506
390
|
}
|
|
507
|
-
// Classic protection: the endpoint cannot PROVE queue absence, so any
|
|
508
|
-
// 200 refuses conservatively; only a structured 404 is a readable "no".
|
|
509
391
|
const classic = await exec("gh", ["api", "--include", "repos/" + githubRepo + "/branches/" + encodeURIComponent(base) + "/protection"], { timeoutMs: EXEC_TIMEOUT_MS });
|
|
510
392
|
const statusLine = classic.stdout.split("\n")[0] ?? "";
|
|
511
393
|
if (classic.code === 0 && /^HTTP\/[\d.]+ 200/.test(statusLine))
|
|
@@ -514,21 +396,11 @@ async function proveNoMergeQueue(exec, githubRepo, base) {
|
|
|
514
396
|
return { ok: true };
|
|
515
397
|
return { ok: false, why: "merge-queue-unknown" };
|
|
516
398
|
}
|
|
517
|
-
/**
|
|
518
|
-
* Merge what the grant allows and the evidence proves: this plane's own
|
|
519
|
-
* publications, on this repo, whose PR was OBSERVED green on the exact
|
|
520
|
-
* head - through a claim lease, a live-grant re-read, the queue proof,
|
|
521
|
-
* and GitHub's own head CAS. Every refusal is typed and durable.
|
|
522
|
-
*/
|
|
523
399
|
export async function sweepMerges(store, options) {
|
|
524
400
|
const clock = options.clock ?? (() => new Date());
|
|
525
401
|
const exec = options.exec ?? execRun;
|
|
526
402
|
const who = options.runner ?? "publish";
|
|
527
403
|
const report = { merged: 0, refused: 0, skipped: 0, problems: [] };
|
|
528
|
-
// Person-needed merge episodes are STAMPED and episodic (arc 3 findings
|
|
529
|
-
// 14/22/23): one open episode per publication nags, resolution closes it,
|
|
530
|
-
// and a recurrence after repair pages again. Success and plain status
|
|
531
|
-
// pages stay classless — a merged PR needs nobody.
|
|
532
404
|
const page = (publication, key, subject, body) => {
|
|
533
405
|
store.enqueueNotification({ source: { run: publication.run }, dedupeKey: key, kind: "merge", subject, body }, clock());
|
|
534
406
|
};
|
|
@@ -541,19 +413,15 @@ export async function sweepMerges(store, options) {
|
|
|
541
413
|
const method = grant.mergeMethod;
|
|
542
414
|
const termsHash = mergeTermsHash(grant);
|
|
543
415
|
for (const publication of store.openedPublications()) {
|
|
544
|
-
// A release's result merges only through `toolroll release` (release-once.md): the sweep never takes it up.
|
|
545
416
|
if (releasePublication(store, publication.id)) {
|
|
546
417
|
report.skipped++;
|
|
547
418
|
continue;
|
|
548
419
|
}
|
|
549
|
-
// One bad row never stops the rest of the sweep: every other publication, in every project, still merges.
|
|
550
420
|
try {
|
|
551
421
|
if (publication.prNumber === null || publication.headSha === null)
|
|
552
422
|
continue;
|
|
553
423
|
const prNumber = publication.prNumber;
|
|
554
424
|
const headSha = publication.headSha;
|
|
555
|
-
// The local-repo fence (finding 6): repo B's publication never rides
|
|
556
|
-
// repo A's sweep, whatever the remote terms coincide on.
|
|
557
425
|
const ref = store.refForId(publication.taskRef);
|
|
558
426
|
if (ref === null || ref.repo !== options.repo)
|
|
559
427
|
continue;
|
|
@@ -569,17 +437,11 @@ export async function sweepMerges(store, options) {
|
|
|
569
437
|
const intent = store.mergeIntentFor(publication.id);
|
|
570
438
|
if (intent === null || intent.state === "merged" || intent.state === "refused" || intent.state === "superseded")
|
|
571
439
|
continue;
|
|
572
|
-
// WAITING-HUMAN never fires itself (E1): the person is paged once,
|
|
573
|
-
// episodically, with the exact ceremony that releases it.
|
|
574
440
|
if (intent.state === "waiting-human") {
|
|
575
441
|
report.skipped++;
|
|
576
442
|
pagePerson(publication, "waiting-human", "PR #" + prNumber + " waits for your go-ahead", "Merges wait for you while this posture holds. When you want it merged: toolroll publish merge " + prNumber + " --as <you> --token <t>. It still merges only when CI is seen green on the exact head.");
|
|
577
443
|
continue;
|
|
578
444
|
}
|
|
579
|
-
// FIRING is one-shot (E1): a live firing row belongs to its owner.
|
|
580
|
-
// A STALE one (deadline passed) recovers by STRUCTURED REMOTE REREAD
|
|
581
|
-
// (F1): an observed terminal settles it; an OPEN same-head PR is
|
|
582
|
-
// NEVER auto-retried - the person gets the recovery ceremony.
|
|
583
445
|
if (intent.state === "firing") {
|
|
584
446
|
if (intent.firingDeadline !== null && intent.firingDeadline <= clock().toISOString()) {
|
|
585
447
|
const reread = await observeOne(store, exec, clock, grant.githubRepo, prNumber);
|
|
@@ -611,10 +473,8 @@ export async function sweepMerges(store, options) {
|
|
|
611
473
|
}
|
|
612
474
|
const claim = store.claimMergeIntent(intent.id, who, MERGE_LEASE_MS, clock());
|
|
613
475
|
if (claim === null)
|
|
614
|
-
continue;
|
|
476
|
+
continue;
|
|
615
477
|
const settle = (state, detail = {}) => store.settleMergeIntent(intent.id, claim.generation, state, clock(), { from: "claimed", ...detail });
|
|
616
|
-
// The live grant, re-read AFTER the claim (finding 7): revocation,
|
|
617
|
-
// narrowing, or any term drift supersedes rather than merges.
|
|
618
478
|
const live = store.publicationGrantFor(options.repo);
|
|
619
479
|
if (live === null || live.merge !== true || mergeTermsHash(live) !== termsHash || intent.headSha !== headSha) {
|
|
620
480
|
settle("superseded", { error: "the grant or the head moved since this intent was written" });
|
|
@@ -629,7 +489,6 @@ export async function sweepMerges(store, options) {
|
|
|
629
489
|
: "The branch's protection could not be READ well enough to prove no merge queue governs it - auto-merge stays paused. Check access, then run: toolroll publish rearm " + prNumber + ".");
|
|
630
490
|
continue;
|
|
631
491
|
}
|
|
632
|
-
// One fresh, winning observation - green on the EXACT publication head.
|
|
633
492
|
const seen = await observeOne(store, exec, clock, grant.githubRepo, prNumber);
|
|
634
493
|
if (!seen.ok) {
|
|
635
494
|
if (seen.why === "draft") {
|
|
@@ -652,10 +511,6 @@ export async function sweepMerges(store, options) {
|
|
|
652
511
|
});
|
|
653
512
|
continue;
|
|
654
513
|
}
|
|
655
|
-
// The linearization point (E1): claimed -> firing as a DURABLE CAS
|
|
656
|
-
// re-proving grant terms, head, and basis-specific authority in one
|
|
657
|
-
// transaction. Before it commits, a revocation wins; after, the
|
|
658
|
-
// issued call is one-shot and no revocation demotes it.
|
|
659
514
|
const fired = store.fireMergeIntent(intent.id, claim.generation, { repo: options.repo, headSha, liveGrantTermsHash: mergeTermsHash(live), graceMs: FIRING_GRACE_MS }, clock());
|
|
660
515
|
if (!fired.ok) {
|
|
661
516
|
if (fired.outcome === "waiting-human") {
|
|
@@ -682,8 +537,6 @@ export async function sweepMerges(store, options) {
|
|
|
682
537
|
page(publication, "merge:" + publication.id + ":merged", "merged: PR #" + prNumber, (publication.prUrl ?? grant.githubRepo) + " - " + method + " of " + headSha.slice(0, 12) + ", under the merge terms you approved.");
|
|
683
538
|
continue;
|
|
684
539
|
}
|
|
685
|
-
// NEVER classify from the exit code alone (only auth=4 is distinct):
|
|
686
|
-
// re-read structured state and let the PR say what happened.
|
|
687
540
|
if (merged.code === 4) {
|
|
688
541
|
settle("refused", { error: "credential", countAttempt: true, from: "firing" });
|
|
689
542
|
report.refused++;
|
|
@@ -718,8 +571,6 @@ export async function sweepMerges(store, options) {
|
|
|
718
571
|
}
|
|
719
572
|
return report;
|
|
720
573
|
}
|
|
721
|
-
/** A conditional settle (store.settleObservation) and, only when it won, that head's checks' own timing (v146 ci_check),
|
|
722
|
-
* in one transaction: a stale, losing answer neither settles nor records a check. */
|
|
723
574
|
export function settleWithChecks(store, observation, rollup, now) {
|
|
724
575
|
return store.transact(() => {
|
|
725
576
|
const settled = store.settleObservation(observation, now);
|