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/scope.d.ts
DELETED
|
@@ -1,1098 +0,0 @@
|
|
|
1
|
-
export { ACCEPTANCE_LIMITS, EVIDENCE_KINDS, type EvidenceKind } from "./contracts/acceptance-terms.js";
|
|
2
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
-
import { type LocalTransport } from "./local-owner.js";
|
|
4
|
-
import { isAcpProfile, type AcpProviderId } from "./acp-agents.js";
|
|
5
|
-
export { isAcpProfile };
|
|
6
|
-
import { type NetworkProfile } from "./egress.js";
|
|
7
|
-
import { type WritesMode } from "./writes-mode.js";
|
|
8
|
-
import { type CheckAccess } from "./check-access.js";
|
|
9
|
-
import { type EvidenceKind } from "./contracts/acceptance-terms.js";
|
|
10
|
-
import { type AcceptanceCriterion, type AcceptanceProblem, type ScopeTerms } from "./contracts/scope.js";
|
|
11
|
-
import type { Store, Mutation } from "./store.js";
|
|
12
|
-
import type { QualityMode } from "./quality.js";
|
|
13
|
-
import type { AuthMode } from "./keys.js";
|
|
14
|
-
import type { ProviderId } from "./provider.js";
|
|
15
|
-
import { type PhaseRoute, type ReadinessLookup, type RiskLevel } from "./phase-routing.js";
|
|
16
|
-
export declare function hashToken(token: string): string;
|
|
17
|
-
/**
|
|
18
|
-
* A person's chosen password gets a real KDF. Bare sha256 is fine for the
|
|
19
|
-
* minted 256-bit tokens — nothing brute-forces that space — but a password a
|
|
20
|
-
* human picked lives in a much smaller one, so it is salted and stretched
|
|
21
|
-
* (scrypt), and the stored string names its own scheme so both generations
|
|
22
|
-
* of credential verify side by side.
|
|
23
|
-
*/
|
|
24
|
-
export declare function hashPassword(password: string): string;
|
|
25
|
-
/** Verify a presented secret against a stored hash of either scheme. */
|
|
26
|
-
export declare function verifyCredential(stored: string, presented: string): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* The execution profile (Parity II foundations, findings 1/2/13/14/22):
|
|
29
|
-
* WHAT RUNS, bound into what the operator signs. A discriminated union —
|
|
30
|
-
* each variant asserts only what its provider actually supports, with the
|
|
31
|
-
* EFFECTIVE constants the argv will carry, never aspirations. The model
|
|
32
|
-
* is always an exact string and always emitted on the argv: nothing in an
|
|
33
|
-
* approved profile is left for later resolution to decide (ruling 10).
|
|
34
|
-
* providerVersion and resolvedFrom are PROVENANCE and live outside these
|
|
35
|
-
* shapes (finding 20) — they never enter a digest.
|
|
36
|
-
*/
|
|
37
|
-
export declare const CLAUDE_LIMITS: {
|
|
38
|
-
readonly maxTurns: 1000;
|
|
39
|
-
readonly repairMaxTurns: 4;
|
|
40
|
-
readonly timeoutSeconds: 1200;
|
|
41
|
-
readonly repairTimeoutSeconds: 300;
|
|
42
|
-
};
|
|
43
|
-
export declare const CODEX_SHAPED_LIMITS: {
|
|
44
|
-
readonly timeoutSeconds: 1200;
|
|
45
|
-
readonly repairTimeoutSeconds: 300;
|
|
46
|
-
};
|
|
47
|
-
export declare const GEMINI_LIMITS: {
|
|
48
|
-
readonly timeoutSeconds: 1200;
|
|
49
|
-
readonly repairTimeoutSeconds: 300;
|
|
50
|
-
};
|
|
51
|
-
/** An ACP agent runs under two clocks at once: the whole attempt, and silence (no line from the agent). */
|
|
52
|
-
export declare const ACP_LIMITS: {
|
|
53
|
-
readonly timeoutSeconds: 3600;
|
|
54
|
-
readonly idleTimeoutSeconds: 900;
|
|
55
|
-
readonly repairTimeoutSeconds: 900;
|
|
56
|
-
readonly repairIdleTimeoutSeconds: 300;
|
|
57
|
-
};
|
|
58
|
-
export type ClaudeProfile = {
|
|
59
|
-
provider: "claude";
|
|
60
|
-
/** The exact model string the argv carries. Never empty, never "default". */
|
|
61
|
-
model: string;
|
|
62
|
-
/** Claude's real argv semantic. `auto` is the safe unattended posture:
|
|
63
|
-
* Claude's classifier allows routine project work and stops risky acts.
|
|
64
|
-
* `acceptEdits` remains readable for approvals created before auto mode;
|
|
65
|
-
* bypass is still a separate, explicitly signed escalation. */
|
|
66
|
-
permissionArgv: "auto" | "acceptEdits" | "bypassPermissions";
|
|
67
|
-
maxTurns: number;
|
|
68
|
-
repairMaxTurns: number;
|
|
69
|
-
timeoutSeconds: number;
|
|
70
|
-
/** Absent on legacy approvals, where timeoutSeconds remains an absolute
|
|
71
|
-
* wall clock. New approvals bind an activity watchdog instead. */
|
|
72
|
-
timeoutKind?: "idle";
|
|
73
|
-
repairTimeoutSeconds: number;
|
|
74
|
-
/** Exact model for repairs, or the stable literal "inherit" (= the
|
|
75
|
-
* build model, which is itself exact). */
|
|
76
|
-
repairModel: string;
|
|
77
|
-
/** What the build may reach (egress.ts), resolved when the scope was written; absent on approvals sealed before
|
|
78
|
-
* network policies, which run narrowed (egress.ts legacyNetwork). */
|
|
79
|
-
network?: NetworkProfile;
|
|
80
|
-
/** Where the build may write (writes-mode.ts), resolved when the scope was written; absent on approvals sealed before
|
|
81
|
-
* write allowlists, which keep writing anywhere their fence allows. */
|
|
82
|
-
writes?: WritesMode;
|
|
83
|
-
/** How far its checks reach beyond the check fence (check-access.ts), sealed when wider than sandboxed; absent: sandboxed. */
|
|
84
|
-
checkAccess?: Exclude<CheckAccess, "sandboxed">;
|
|
85
|
-
/** The fence policy it was sealed under (agent-fence.ts FencePolicy): 2 from 0.9.70 (the home folder read as in
|
|
86
|
-
* Anthropic's sandbox runtime, less `readDeny`); absent on approvals sealed before, which keep v1's home denies. */
|
|
87
|
-
fencePolicy?: 2;
|
|
88
|
-
/** What its builds and checks may not read (project-sandbox.ts), sealed when the project lists any. */
|
|
89
|
-
readDeny?: string[];
|
|
90
|
-
/** macOS services its builds may also reach (project-sandbox.ts), sealed when the project lists any. */
|
|
91
|
-
machLookup?: string[];
|
|
92
|
-
};
|
|
93
|
-
export type CodexShapedProfile = {
|
|
94
|
-
provider: "codex" | "openrouter";
|
|
95
|
-
model: string;
|
|
96
|
-
/** Codex's real constraint surface. Full access is rendered with the
|
|
97
|
-
* CLI's combined --dangerously-bypass-approvals-and-sandbox switch; the
|
|
98
|
-
* value here records the resulting sandbox posture in the signed profile. */
|
|
99
|
-
sandboxMode: "workspace-write" | "danger-full-access";
|
|
100
|
-
/** The tool has no argv turn limit. New approvals use an inactivity
|
|
101
|
-
* watchdog; legacy approvals retain their signed wall-clock bound. */
|
|
102
|
-
maxTurns: "unsupported";
|
|
103
|
-
repairMaxTurns: "unsupported";
|
|
104
|
-
timeoutSeconds: number;
|
|
105
|
-
timeoutKind?: "idle";
|
|
106
|
-
repairTimeoutSeconds: number;
|
|
107
|
-
repairModel: string;
|
|
108
|
-
network?: NetworkProfile;
|
|
109
|
-
/** Where the build may write (writes-mode.ts), resolved when the scope was written; absent on approvals sealed before
|
|
110
|
-
* write allowlists, which keep writing anywhere their fence allows. */
|
|
111
|
-
writes?: WritesMode;
|
|
112
|
-
/** How far its checks reach beyond the check fence (check-access.ts), sealed when wider than sandboxed; absent: sandboxed. */
|
|
113
|
-
checkAccess?: Exclude<CheckAccess, "sandboxed">;
|
|
114
|
-
/** The fence policy it was sealed under (agent-fence.ts FencePolicy): 2 from 0.9.70 (the home folder read as in
|
|
115
|
-
* Anthropic's sandbox runtime, less `readDeny`); absent on approvals sealed before, which keep v1's home denies. */
|
|
116
|
-
fencePolicy?: 2;
|
|
117
|
-
/** What its builds and checks may not read (project-sandbox.ts), sealed when the project lists any. */
|
|
118
|
-
readDeny?: string[];
|
|
119
|
-
/** macOS services its builds may also reach (project-sandbox.ts), sealed when the project lists any. */
|
|
120
|
-
machLookup?: string[];
|
|
121
|
-
};
|
|
122
|
-
export type GeminiProfile = {
|
|
123
|
-
provider: "gemini";
|
|
124
|
-
model: string;
|
|
125
|
-
/** Gemini's real dial (`--approval-mode`): auto_edit auto-approves edit
|
|
126
|
-
* tools only (the acceptEdits parallel); yolo auto-approves everything
|
|
127
|
-
* and files only where claude files bypassPermissions. `default` and
|
|
128
|
-
* `plan` are not profile values — headless `default` just fails tools,
|
|
129
|
-
* and `plan` is read-only while the protocol requires workspace writes. */
|
|
130
|
-
approvalArgv: "auto_edit" | "yolo";
|
|
131
|
-
/** No argv turn bound exists (v0.57.0 audit); new approvals use an
|
|
132
|
-
* inactivity watchdog, while legacy approvals keep their signed clock. */
|
|
133
|
-
maxTurns: "unsupported";
|
|
134
|
-
repairMaxTurns: "unsupported";
|
|
135
|
-
timeoutSeconds: number;
|
|
136
|
-
timeoutKind?: "idle";
|
|
137
|
-
repairTimeoutSeconds: number;
|
|
138
|
-
repairModel: string;
|
|
139
|
-
network?: NetworkProfile;
|
|
140
|
-
/** Where the build may write (writes-mode.ts), resolved when the scope was written; absent on approvals sealed before
|
|
141
|
-
* write allowlists, which keep writing anywhere their fence allows. */
|
|
142
|
-
writes?: WritesMode;
|
|
143
|
-
/** How far its checks reach beyond the check fence (check-access.ts), sealed when wider than sandboxed; absent: sandboxed. */
|
|
144
|
-
checkAccess?: Exclude<CheckAccess, "sandboxed">;
|
|
145
|
-
/** The fence policy it was sealed under (agent-fence.ts FencePolicy): 2 from 0.9.70 (the home folder read as in
|
|
146
|
-
* Anthropic's sandbox runtime, less `readDeny`); absent on approvals sealed before, which keep v1's home denies. */
|
|
147
|
-
fencePolicy?: 2;
|
|
148
|
-
/** What its builds and checks may not read (project-sandbox.ts), sealed when the project lists any. */
|
|
149
|
-
readDeny?: string[];
|
|
150
|
-
/** macOS services its builds may also reach (project-sandbox.ts), sealed when the project lists any. */
|
|
151
|
-
machLookup?: string[];
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
* An agent over the Agent Client Protocol (acp-agents.ts, docs/plans/acp-adapter.md).
|
|
155
|
-
* Full access inside the OS fence is the only posture: nothing else could be
|
|
156
|
-
* made true (an agent may run commands without asking). There is no turn
|
|
157
|
-
* limit; both clocks bound every attempt, and a repair has its own pair.
|
|
158
|
-
*/
|
|
159
|
-
export type AcpProfile = {
|
|
160
|
-
provider: AcpProviderId;
|
|
161
|
-
/** Exact, and one the agent offered when it was checked. */
|
|
162
|
-
model: string;
|
|
163
|
-
permission: "full";
|
|
164
|
-
maxTurns: "unsupported";
|
|
165
|
-
repairMaxTurns: "unsupported";
|
|
166
|
-
timeoutSeconds: number;
|
|
167
|
-
idleTimeoutSeconds: number;
|
|
168
|
-
repairTimeoutSeconds: number;
|
|
169
|
-
repairIdleTimeoutSeconds: number;
|
|
170
|
-
repairModel: string;
|
|
171
|
-
network?: NetworkProfile;
|
|
172
|
-
/** Where the build may write (writes-mode.ts), resolved when the scope was written; absent on approvals sealed before
|
|
173
|
-
* write allowlists, which keep writing anywhere their fence allows. */
|
|
174
|
-
writes?: WritesMode;
|
|
175
|
-
/** How far its checks reach beyond the check fence (check-access.ts), sealed when wider than sandboxed; absent: sandboxed. */
|
|
176
|
-
checkAccess?: Exclude<CheckAccess, "sandboxed">;
|
|
177
|
-
/** The fence policy it was sealed under (agent-fence.ts FencePolicy): 2 from 0.9.70 (the home folder read as in
|
|
178
|
-
* Anthropic's sandbox runtime, less `readDeny`); absent on approvals sealed before, which keep v1's home denies. */
|
|
179
|
-
fencePolicy?: 2;
|
|
180
|
-
/** What its builds and checks may not read (project-sandbox.ts), sealed when the project lists any. */
|
|
181
|
-
readDeny?: string[];
|
|
182
|
-
/** macOS services its builds may also reach (project-sandbox.ts), sealed when the project lists any. */
|
|
183
|
-
machLookup?: string[];
|
|
184
|
-
};
|
|
185
|
-
export type ExecutionProfile = ClaudeProfile | CodexShapedProfile | GeminiProfile | AcpProfile;
|
|
186
|
-
/** Whether a profile's clock is a no-progress window (an ACP profile has both clocks; its overall one is a deadline). */
|
|
187
|
-
export declare function idleClock(profile: ExecutionProfile): boolean;
|
|
188
|
-
/**
|
|
189
|
-
* The watchdogs an attempt runs under, from its sealed profile and the overall bound the caller resolved: an ACP
|
|
190
|
-
* profile gets both clocks at once (the deadline and its silence window — a repair its own pair); the others one,
|
|
191
|
-
* a no-progress window when the profile says idle, else a deadline.
|
|
192
|
-
*/
|
|
193
|
-
export declare function watchdogsOf(profile: ExecutionProfile, timeoutMs: number, repair?: boolean): {
|
|
194
|
-
timeoutMs?: number;
|
|
195
|
-
idleTimeoutMs?: number;
|
|
196
|
-
};
|
|
197
|
-
/** The durable unattended permission choices exposed by the console. The
|
|
198
|
-
* provider-specific argv is still what gets sealed into an approval; this
|
|
199
|
-
* small cross-provider type is only the operator-facing policy. */
|
|
200
|
-
export type UnattendedPermissionMode = "auto" | "bypassPermissions";
|
|
201
|
-
export declare const PROFILE_DIGEST_VERSION = 2;
|
|
202
|
-
/** The stored snapshot bytes: version embedded IN the snapshot (finding 17). */
|
|
203
|
-
export declare function canonicalProfileJson(profile: ExecutionProfile): string;
|
|
204
|
-
/** sha256 over a domain-separated canonical encoding, truncated to the
|
|
205
|
-
* same 128 bits every other safety digest here uses (finding 21). */
|
|
206
|
-
export declare function profileDigestOf(profile: ExecutionProfile): string;
|
|
207
|
-
export declare const CHAIN_DIGEST_VERSION = 1;
|
|
208
|
-
export declare const LIVE_CHAIN_VERSION = 2;
|
|
209
|
-
/** One entry of an approved fallback chain: the WHOLE execution profile
|
|
210
|
-
* (so a claude->codex switch cannot inherit one provider's repair config)
|
|
211
|
-
* and the auth mode it runs under. Order is authority. */
|
|
212
|
-
export type ChainEntry = {
|
|
213
|
-
profile: ExecutionProfile;
|
|
214
|
-
authMode: "subscription" | "api-key";
|
|
215
|
-
};
|
|
216
|
-
/** The stored snapshot bytes for a chain: the version rides IN the
|
|
217
|
-
* snapshot, exactly like a single profile's. */
|
|
218
|
-
export declare function canonicalChainJson(entries: readonly ChainEntry[], version?: number): string;
|
|
219
|
-
/** sha256 over a domain-separated canonical chain encoding — a DIFFERENT
|
|
220
|
-
* domain from a single profile ("standing-orders:chain:" vs
|
|
221
|
-
* ":profile:"), so a chain digest can never collide with a profile
|
|
222
|
-
* digest, truncated to the same 128 bits. */
|
|
223
|
-
export declare function chainDigestOf(entries: readonly ChainEntry[], version?: number): string;
|
|
224
|
-
/** Strict re-hydration of a stored chain — every entry proved through the
|
|
225
|
-
* single-profile rehydrator; anything unexpected is null. */
|
|
226
|
-
export declare function chainFromJson(json: string | null, version?: number): ChainEntry[] | null;
|
|
227
|
-
/**
|
|
228
|
-
* THE STRICT RAW TERMS READ (raw authority repair): the stored columns of
|
|
229
|
-
* a scope or a standing order, proved EXACTLY — a JSON list is a list of
|
|
230
|
-
* strings and nothing else, a rubric is a list of whole criteria carrying
|
|
231
|
-
* exactly the keys this code writes and parsing with zero problems, a
|
|
232
|
-
* budget is a safe integer or null. Nothing is filtered, defaulted, or
|
|
233
|
-
* coerced on the way to an authority: the words say what is wrong, and
|
|
234
|
-
* the caller refuses.
|
|
235
|
-
*/
|
|
236
|
-
export declare function exactStringList(value: unknown, what: string): {
|
|
237
|
-
ok: true;
|
|
238
|
-
list: string[];
|
|
239
|
-
} | {
|
|
240
|
-
ok: false;
|
|
241
|
-
problem: string;
|
|
242
|
-
};
|
|
243
|
-
export declare function exactAcceptance(value: unknown): {
|
|
244
|
-
ok: true;
|
|
245
|
-
criteria: AcceptanceCriterion[];
|
|
246
|
-
} | {
|
|
247
|
-
ok: false;
|
|
248
|
-
problem: string;
|
|
249
|
-
};
|
|
250
|
-
export declare function exactSafeIntegerOrNull(value: unknown, what: string): string | null;
|
|
251
|
-
/**
|
|
252
|
-
* The longest clock a snapshot may bind, in seconds: a JavaScript timer
|
|
253
|
-
* holds at most 2^31 − 1 milliseconds, and a bound past that fires at
|
|
254
|
-
* once instead of never — a "timeout" that is not one. Every stored
|
|
255
|
-
* clock is proved against this before it is believed (v48 integrity).
|
|
256
|
-
*/
|
|
257
|
-
export declare const MAX_TIMER_SECONDS: number;
|
|
258
|
-
/** A positive integer the platform can represent exactly. */
|
|
259
|
-
export declare function safePositiveInteger(v: unknown): v is number;
|
|
260
|
-
/** A positive whole number of seconds a timer can actually wait. */
|
|
261
|
-
export declare function timerSafeSeconds(v: unknown): v is number;
|
|
262
|
-
/**
|
|
263
|
-
* Whether an object carries exactly the named keys: every required key
|
|
264
|
-
* present, only optional keys otherwise, nothing unknown. Stored snapshots
|
|
265
|
-
* are proved this way so a key this code never writes is a refusal, never
|
|
266
|
-
* an ignorable extra.
|
|
267
|
-
*/
|
|
268
|
-
export declare function exactKeys(value: object, required: readonly string[], optional: readonly string[]): boolean;
|
|
269
|
-
/** Strict re-hydration of a stored snapshot — every field type-proved;
|
|
270
|
-
* anything unexpected is null, never a guess. */
|
|
271
|
-
export declare function profileFromJson(json: string | null): ExecutionProfile | null;
|
|
272
|
-
export type { AcceptanceCriterion, AcceptanceProblem };
|
|
273
|
-
/**
|
|
274
|
-
* Parse a rubric from already-JSON-parsed input (the planner's handoff, a
|
|
275
|
-
* console form, a template or a schedule's terms): fail closed, every
|
|
276
|
-
* problem reported at once, each naming its path — the acceptance contract
|
|
277
|
-
* (contracts/scope.ts) reads it. An absent or empty `value` parses to `[]`
|
|
278
|
-
* with no problems: whether that is ALLOWED is a question for the caller
|
|
279
|
-
* (`propose` says yes; every authoring road says no), never for this parser.
|
|
280
|
-
*/
|
|
281
|
-
export declare function parseAcceptanceCriteria(value: unknown): {
|
|
282
|
-
criteria: AcceptanceCriterion[];
|
|
283
|
-
problems: AcceptanceProblem[];
|
|
284
|
-
};
|
|
285
|
-
/** The exact bytes a rubric's SIGNED terms reduce to for the digest: sorted
|
|
286
|
-
* by id, `how` dropped (advisory, never signed), evidence kinds sorted so
|
|
287
|
-
* two equivalent lists never digest differently. */
|
|
288
|
-
/**
|
|
289
|
-
* The plain-text rubric encoding shared by every non-JSON authoring
|
|
290
|
-
* surface — the console's rubric textarea (one line each) and the CLI's
|
|
291
|
-
* `--acceptance` flag (one line per `;`-separated entry): one criterion
|
|
292
|
-
* per line, shaped
|
|
293
|
-
*
|
|
294
|
-
* [id:] statement | evidence,kinds [| how]
|
|
295
|
-
*
|
|
296
|
-
* `id` is optional — auto-numbered `c1`, `c2`, ... in encounter order when
|
|
297
|
-
* every line omits it, so a person can write the rubric without inventing
|
|
298
|
-
* ids by hand. This function never validates; it only turns text into the
|
|
299
|
-
* same plain-object shape `parseAcceptanceCriteria` already validates, so
|
|
300
|
-
* both entry points can never drift on what counts as a valid criterion.
|
|
301
|
-
*/
|
|
302
|
-
/** The one criterion a filing may carry when nobody has written the rubric
|
|
303
|
-
* yet: the console's scout follow-ups file with it, and `--acceptance plan`
|
|
304
|
-
* on the command line expands to it. A mode with planAuto sends such a
|
|
305
|
-
* filing to the planner instead of building against it. */
|
|
306
|
-
export declare const PLACEHOLDER_RUBRIC_STATEMENT = "The operator has reviewed this follow-up and written a real rubric before approving it.";
|
|
307
|
-
export declare const PLACEHOLDER_RUBRIC: AcceptanceCriterion[];
|
|
308
|
-
export declare function rubricIsPlaceholder(acceptance: readonly {
|
|
309
|
-
statement: string;
|
|
310
|
-
evidence: readonly string[];
|
|
311
|
-
}[]): boolean;
|
|
312
|
-
/** Split a `--acceptance` rubric into criteria. Criteria are `;`-separated,
|
|
313
|
-
* but a `;` inside a statement must not split it: every criterion ends with
|
|
314
|
-
* its `|<evidence kinds>` part, so a segment with no `|` is the front of the
|
|
315
|
-
* next one and is glued back on. The single word `plan` means the placeholder. */
|
|
316
|
-
export declare function splitAcceptanceRubric(text: string): string[];
|
|
317
|
-
export declare const isCommitSha: (value: string) => boolean;
|
|
318
|
-
export declare function acceptanceLinesToInput(lines: readonly string[]): unknown[];
|
|
319
|
-
/** The inverse of `acceptanceLinesToInput`, for pre-filling an editor from
|
|
320
|
-
* a stored rubric — round-trips through `parseAcceptanceCriteria` exactly. */
|
|
321
|
-
export declare function acceptanceToLines(criteria: readonly AcceptanceCriterion[]): string[];
|
|
322
|
-
export declare function canonicalAcceptance(criteria: readonly AcceptanceCriterion[]): {
|
|
323
|
-
id: string;
|
|
324
|
-
statement: string;
|
|
325
|
-
evidence: EvidenceKind[];
|
|
326
|
-
}[];
|
|
327
|
-
/**
|
|
328
|
-
* A scope's terms, from the scope contract (contracts/scope.ts): what
|
|
329
|
-
* success looks like in the operator's words (`goal`), what the task is
|
|
330
|
-
* explicitly not allowed to turn into (`outOfScope`), the paths it expects
|
|
331
|
-
* to touch (advisory, and worth stating), and the signed acceptance rubric
|
|
332
|
-
* — `[]` on every scope proposed before v39 and on any legacy road that
|
|
333
|
-
* still calls `propose` directly: a scope-producing ROAD enforces
|
|
334
|
-
* non-emptiness, never this type, never `propose`, never the digest.
|
|
335
|
-
*/
|
|
336
|
-
export type SavedScopeTerms = {
|
|
337
|
-
[K in keyof ScopeTerms]-?: Exclude<ScopeTerms[K], undefined>;
|
|
338
|
-
};
|
|
339
|
-
export type Scope = SavedScopeTerms & {
|
|
340
|
-
taskId: string;
|
|
341
|
-
/** v41: evidence policy, signed with the scope. Default is omitted from
|
|
342
|
-
* the digest so every pre-v41 approval remains byte-for-byte valid. */
|
|
343
|
-
qualityMode?: QualityMode;
|
|
344
|
-
/** The dollar cap per build attempt, integer micro-dollars (v15) —
|
|
345
|
-
* approved spend, restated at the yes, enforced by the provider's own
|
|
346
|
-
* stop. NULL = no per-attempt cap was asked for. */
|
|
347
|
-
budgetMicrousd: number | null;
|
|
348
|
-
proposedAt: string;
|
|
349
|
-
/** Of the scope as written. Approval is bound to this exact value. */
|
|
350
|
-
digest: string;
|
|
351
|
-
approvedAt: string | null;
|
|
352
|
-
approvedBy: string | null;
|
|
353
|
-
/** The digest that was actually agreed to, which may now be stale. */
|
|
354
|
-
approvedDigest: string | null;
|
|
355
|
-
/** How the approval happened (v29): 'password' = the ceremony;
|
|
356
|
-
* 'mode' = sealed by the signer's live mode (modeDigest names it);
|
|
357
|
-
* 'chat' = the owner's own two taps in their paired chat, under their chat-approval setting or a signed term
|
|
358
|
-
* (modeDigest names that authority; the yes is the person's and doesn't lapse with it).
|
|
359
|
-
* 'schedule' = a standing order's firing (modeDigest names the order); 'lead' = the owner's lead (never a person);
|
|
360
|
-
* 'unknown' = a stored word this code doesn't write, which no reader treats as authority (approval-policy plan). */
|
|
361
|
-
approvalBasis?: ApprovalBasis | "unknown" | null;
|
|
362
|
-
modeDigest?: string | null;
|
|
363
|
-
/** v24 (optional so hand-built scopes in tests stay valid): the working
|
|
364
|
-
* execution profile, its resolution state, and the immutable snapshot
|
|
365
|
-
* the approval act sealed. */
|
|
366
|
-
profile?: ExecutionProfile | null;
|
|
367
|
-
profileState?: "resolved" | "unresolved";
|
|
368
|
-
unresolvedReason?: string | null;
|
|
369
|
-
approvedProfile?: ExecutionProfile | null;
|
|
370
|
-
/** The raw snapshot bytes the row carries (v48 integrity): what the
|
|
371
|
-
* strict stored-scope projection proves, exactly, before any seal or
|
|
372
|
-
* consent surface believes the rehydrated `profile`. */
|
|
373
|
-
profileJson?: string | null;
|
|
374
|
-
approvedProfileJson?: string | null;
|
|
375
|
-
digestVersion?: number;
|
|
376
|
-
/** v30-v114 fallback chains (history): the working and sealed chain
|
|
377
|
-
* snapshots and which kind the approval sealed. Never written since v115
|
|
378
|
-
* (a re-approval writes `profile` and clears the sealed chain); an old
|
|
379
|
-
* chain approval still decodes and verifies. */
|
|
380
|
-
proposedChainJson?: string | null;
|
|
381
|
-
approvedChainJson?: string | null;
|
|
382
|
-
approvalKind?: "profile" | "chain";
|
|
383
|
-
/** v47 phase routing: the signed risk level, the WORKING canonical route
|
|
384
|
-
* the digest bound, and the immutable snapshot the seal COPIED from it.
|
|
385
|
-
* `routeEra` is the durable marker: null on a row PROVEN to predate v47
|
|
386
|
-
* (legacy — its sealed profile alone governs), the route version on every
|
|
387
|
-
* row filed since — for those, a missing or unreadable route is corrupt
|
|
388
|
-
* and fails closed everywhere. */
|
|
389
|
-
riskLevel?: RiskLevel;
|
|
390
|
-
/** A prepared commit the machine checks out instead of running an agent
|
|
391
|
-
* (v69). Signed into the digest; must descend from the task's base. */
|
|
392
|
-
candidate?: string | null;
|
|
393
|
-
proposedRouteJson?: string | null;
|
|
394
|
-
approvedRouteJson?: string | null;
|
|
395
|
-
routeEra?: number | null;
|
|
396
|
-
/** THE RAW TERMS VERDICT (raw authority repair): null when every stored
|
|
397
|
-
* term and metadata column read back EXACTLY — touches a JSON list of
|
|
398
|
-
* strings, the rubric a list of whole criteria with no unknown key, the
|
|
399
|
-
* budget a safe integer or null, the quality mode, risk level, approval
|
|
400
|
-
* kind, profile state, digest version, and route era each one of the
|
|
401
|
-
* words this code writes — and the words when one did not. The lenient
|
|
402
|
-
* fields above (`touches`, `acceptance`, …) are the console's reading;
|
|
403
|
-
* every authority — consent, seal, chain, dispatch — refuses on a
|
|
404
|
-
* non-null verdict, so filtering, defaulting, or coercion can never
|
|
405
|
-
* turn a corrupt row into authority. Undefined on a hand-built scope. */
|
|
406
|
-
termsProblem?: string | null;
|
|
407
|
-
/** Who wrote the text (mate arc, ruling 2): a confirmed lead proposal,
|
|
408
|
-
* the coordinator, a scout, or a person (null). Read raw and proved by
|
|
409
|
-
* `termsProblem` — a word outside these is a stated problem, never a
|
|
410
|
-
* value that slips past the lead quarantine at a mode seal. `lead`: the lead wrote it through its token (CLI); it is
|
|
411
|
-
* the lead's own text, not another machine's, so it isn't quarantined (`quarantinedAuthor`). */
|
|
412
|
-
proposedVia?: ScopeAuthor | null;
|
|
413
|
-
/** v135 (docs/plans/release-once.md): a release scope's terms — repository, version, pull request, approved commit,
|
|
414
|
-
* carry policy, grant, check access, expiry. Part of the digest when present; a person's seal of them opens the
|
|
415
|
-
* release's authority record. */
|
|
416
|
-
releaseTerms?: ReleaseTerms | null;
|
|
417
|
-
/** v138 (docs/plans/pipeline-speed.md, P0): a release check's purpose when the release can't carry (no terms) — this
|
|
418
|
-
* exact candidate is a release's check. Part of the digest when present; never present beside terms. */
|
|
419
|
-
releaseCheck?: ReleaseCheckPurpose | null;
|
|
420
|
-
};
|
|
421
|
-
/** Who wrote a scope's text, when not a person (approval-policy plan §1.4). */
|
|
422
|
-
export type ScopeAuthor = "mate" | "coordinator" | "scout" | "lead";
|
|
423
|
-
/** The authorities a seal can stand on (approval-policy plan §1.5). Anything else stands on nothing. */
|
|
424
|
-
/** `carried`: a later commit of a release carried under a person's release approval (release-once.md); only the carry
|
|
425
|
-
* transaction ever writes it. */
|
|
426
|
-
/** `auto-check` / `auto-green`: a release task the plane approved itself under the project's "Approve automatically when
|
|
427
|
-
* checks pass" (docs/plans/auto-approve-green.md) — `auto-check` lets its check run, `auto-green` is the release
|
|
428
|
-
* approval once CI and that check passed. Only release-auto.ts writes them; neither is ever a person's. */
|
|
429
|
-
export type ApprovalBasis = "password" | "mode" | "chat" | "grant" | "schedule" | "lead" | "carried" | "auto-check" | "auto-green";
|
|
430
|
-
export declare const APPROVAL_BASES: readonly ApprovalBasis[];
|
|
431
|
-
export type Approval = {
|
|
432
|
-
approved: true;
|
|
433
|
-
at: string;
|
|
434
|
-
by: string;
|
|
435
|
-
} | {
|
|
436
|
-
approved: false;
|
|
437
|
-
reason: "none" | "changed" | "never-proposed";
|
|
438
|
-
};
|
|
439
|
-
export type ScopeInput = {
|
|
440
|
-
taskId: string;
|
|
441
|
-
/** v102: the person writing these words (a web edit, a chat confirmation, a coding hand-off); the requester rule refuses them. */
|
|
442
|
-
author?: string;
|
|
443
|
-
goal: string;
|
|
444
|
-
outOfScope?: string | null;
|
|
445
|
-
touches?: readonly string[];
|
|
446
|
-
/** v24: an EXPLICIT profile skips resolution in the store (a schedule's
|
|
447
|
-
* approved firings and the demo's illustrative scopes use this road). */
|
|
448
|
-
profile?: ExecutionProfile;
|
|
449
|
-
/** A task-level permission choice. When absent, the task's stored choice
|
|
450
|
-
* (if any), then the installation default, decides the concrete profile. */
|
|
451
|
-
permissionMode?: UnattendedPermissionMode;
|
|
452
|
-
/** Concrete task quality choice. When absent, the task override and then
|
|
453
|
-
* the installation default are resolved by the store. */
|
|
454
|
-
qualityMode?: QualityMode;
|
|
455
|
-
/** v69: a prepared commit to install as this attempt — no agent runs. */
|
|
456
|
-
candidate?: string | null;
|
|
457
|
-
/** Integer micro-dollars per build attempt; digest-bound when present. */
|
|
458
|
-
budgetMicrousd?: number | null;
|
|
459
|
-
/** The mode road's escalated filing default (C7): the resolved profile
|
|
460
|
-
* seals claude bypassPermissions / gemini yolo; codex-shaped unchanged. */
|
|
461
|
-
posture?: "escalated";
|
|
462
|
-
/** Who wrote this text (mate arc, ruling 2): `mate` for a confirmed mate
|
|
463
|
-
* proposal — mode coverage then never seals it; a human rewrite clears it. */
|
|
464
|
-
proposedVia?: ScopeAuthor | null;
|
|
465
|
-
/** v39: the signed acceptance rubric. Absent digests exactly like `[]` —
|
|
466
|
-
* see `Scope.acceptance`. `propose` itself never requires this to be
|
|
467
|
-
* non-empty; the roads that call it do. */
|
|
468
|
-
acceptance?: readonly AcceptanceCriterion[];
|
|
469
|
-
/** v135: release terms (release-carry.ts releaseTermsFor), from the plane's own records. Undefined keeps any terms
|
|
470
|
-
* the scope already carries; null removes them. */
|
|
471
|
-
releaseTerms?: ReleaseTerms | null;
|
|
472
|
-
/** v138: a release check's purpose (release-carry.ts releaseCheckPurposeFor), from the plane's own records. Undefined
|
|
473
|
-
* keeps any purpose the scope already carries; null removes it. */
|
|
474
|
-
releaseCheck?: ReleaseCheckPurpose | null;
|
|
475
|
-
now: Date;
|
|
476
|
-
mutation?: Mutation;
|
|
477
|
-
};
|
|
478
|
-
/**
|
|
479
|
-
* The exact bytes an operator agreed to.
|
|
480
|
-
*
|
|
481
|
-
* Every field that constrains the work goes in. If a change to a field would
|
|
482
|
-
* change what an operator would have said, it has to move the digest, or the
|
|
483
|
-
* approval it invalidates would be an approval of something else.
|
|
484
|
-
*/
|
|
485
|
-
export declare function digestOf(scope: Pick<Scope, "goal" | "outOfScope" | "touches"> & {
|
|
486
|
-
budgetMicrousd?: number | null;
|
|
487
|
-
/** v39: the rubric, folded in ONLY when non-empty — the same absent/`[]`
|
|
488
|
-
* equivalence budgetMicrousd has always used, so a scope proposed before
|
|
489
|
-
* this migration, or by a road that never sends one, digests to exactly
|
|
490
|
-
* what it digested to before this field existed. `how` never enters
|
|
491
|
-
* here (advisory, never signed); evidence kinds do. */
|
|
492
|
-
acceptance?: readonly AcceptanceCriterion[];
|
|
493
|
-
qualityMode?: QualityMode;
|
|
494
|
-
/** v69: a prepared commit, folded in only when present so every earlier
|
|
495
|
-
* digest is untouched. */
|
|
496
|
-
candidate?: string | null;
|
|
497
|
-
/** v135: release terms, folded in only when present. */
|
|
498
|
-
releaseTerms?: ReleaseTerms | null;
|
|
499
|
-
/** v138: a release check's purpose, folded in only when present. */
|
|
500
|
-
releaseCheck?: ReleaseCheckPurpose | null;
|
|
501
|
-
}, target?: ExecutionProfile | null | {
|
|
502
|
-
chain: readonly ChainEntry[];
|
|
503
|
-
version?: number;
|
|
504
|
-
}, route?: PhaseRoute | null): string;
|
|
505
|
-
export declare function propose(store: Store, input: ScopeInput): Scope;
|
|
506
|
-
export type GuardedProposeResult = {
|
|
507
|
-
ok: true;
|
|
508
|
-
scope: Scope;
|
|
509
|
-
} | {
|
|
510
|
-
ok: false;
|
|
511
|
-
reason: "changed" | "claimed" | "bad-goal" | "bad-out-of-scope" | "bad-touches" | "bad-acceptance" | "acceptance-required";
|
|
512
|
-
message?: string;
|
|
513
|
-
};
|
|
514
|
-
/**
|
|
515
|
-
* A scope edit from a surface where the editor might be stale — two browser
|
|
516
|
-
* tabs, a form submitted after the world moved. `sawDigest` names the version
|
|
517
|
-
* the editor was looking at (null: they saw no scope at all); a mismatch is a
|
|
518
|
-
* refusal, never a silent overwrite of somebody else's words. Edits are also
|
|
519
|
-
* refused while a live claim holds the task: the running build read its scope
|
|
520
|
-
* at start, and rewording the agreement under it would make the digest lie
|
|
521
|
-
* about what the work was agreed to. Field caps and control-character rules
|
|
522
|
-
* live here because every one of these strings will later be rendered.
|
|
523
|
-
*
|
|
524
|
-
* v39: this is a scope-producing ROAD, not the `propose` primitive, so it is
|
|
525
|
-
* where the rubric becomes mandatory — every edit through here (a fresh
|
|
526
|
-
* proposal or a rewrite of an already-approved one) must carry at least one
|
|
527
|
-
* criterion, or it is refused with a clear `acceptance-required` reason
|
|
528
|
-
* rather than silently filing without one. A scope that already carries a
|
|
529
|
-
* live, unrewritten approval from before this code existed never reaches
|
|
530
|
-
* this function again unless somebody edits it — which is exactly when the
|
|
531
|
-
* requirement should start applying.
|
|
532
|
-
*/
|
|
533
|
-
export declare function proposeGuarded(store: Store, input: Omit<ScopeInput, "acceptance"> & {
|
|
534
|
-
sawDigest: string | null;
|
|
535
|
-
taskRef: number | null;
|
|
536
|
-
acceptance?: unknown;
|
|
537
|
-
}): GuardedProposeResult;
|
|
538
|
-
/**
|
|
539
|
-
* A person says yes.
|
|
540
|
-
*
|
|
541
|
-
* Takes the digest they were shown, so agreeing to a scope that changed while
|
|
542
|
-
* they were reading it fails rather than silently approving the new one.
|
|
543
|
-
*/
|
|
544
|
-
/**
|
|
545
|
-
* Register somebody who is allowed to agree to scopes.
|
|
546
|
-
*
|
|
547
|
-
* The token is shown once and stored only as a hash, exactly like a runner's.
|
|
548
|
-
* It exists because an approval nobody has to authenticate is not a gate: an
|
|
549
|
-
* agent that can run these commands can read a scope's digest out of `task
|
|
550
|
-
* show` and approve its own brief with it. Requiring a credential the agent
|
|
551
|
-
* was never given is what keeps "a person agreed to this" true.
|
|
552
|
-
*/
|
|
553
|
-
export type AddApproverResult = {
|
|
554
|
-
ok: true;
|
|
555
|
-
name: string;
|
|
556
|
-
token: string;
|
|
557
|
-
bootstrap: boolean;
|
|
558
|
-
chosen: boolean;
|
|
559
|
-
} | {
|
|
560
|
-
ok: false;
|
|
561
|
-
reason: "not-an-approver" | "weak-password";
|
|
562
|
-
};
|
|
563
|
-
export declare function addApprover(store: Store, name: string, now: Date, by?: {
|
|
564
|
-
name: string;
|
|
565
|
-
token: string;
|
|
566
|
-
}, newToken?: () => string, mutation?: Mutation,
|
|
567
|
-
/** A password the person chose. Absent, a token is minted and shown once. */
|
|
568
|
-
password?: string): AddApproverResult;
|
|
569
|
-
export type ApproveResult = {
|
|
570
|
-
ok: true;
|
|
571
|
-
scope: Scope;
|
|
572
|
-
} | {
|
|
573
|
-
ok: false;
|
|
574
|
-
reason: "no-scope" | "changed" | "no-approvers" | "not-an-approver" | "profile-unresolved" | "unrouted";
|
|
575
|
-
}
|
|
576
|
-
/** v102: the project's approval rules stopped it — the requester can't approve, protected work needs a person —
|
|
577
|
-
* or recorded this person's yes and needs a second one (`second-approver`). */
|
|
578
|
-
| {
|
|
579
|
-
ok: false;
|
|
580
|
-
reason: "requester" | "person-required";
|
|
581
|
-
} | {
|
|
582
|
-
ok: false;
|
|
583
|
-
reason: "second-approver";
|
|
584
|
-
have: number;
|
|
585
|
-
need: number;
|
|
586
|
-
already: boolean;
|
|
587
|
-
}
|
|
588
|
-
/** Sprint 8: the organisation policy stops these terms (a provider, a model, the permission ceiling); `message` says which. */
|
|
589
|
-
| {
|
|
590
|
-
ok: false;
|
|
591
|
-
reason: "policy";
|
|
592
|
-
message: string;
|
|
593
|
-
}
|
|
594
|
-
/** Cockpit B2: a remembered password can't approve these terms (protected, escalated, or a quarantined filing). */
|
|
595
|
-
| {
|
|
596
|
-
ok: false;
|
|
597
|
-
reason: "password-now";
|
|
598
|
-
}
|
|
599
|
-
/** Approval policy, phase 1: a machine credential (the lead's token, a remote API token) is not a person. */
|
|
600
|
-
| {
|
|
601
|
-
ok: false;
|
|
602
|
-
reason: "machine-proof";
|
|
603
|
-
}
|
|
604
|
-
/** v145 (task-tidy.md): the task is put away; it is restored before anyone can approve it. */
|
|
605
|
-
| {
|
|
606
|
-
ok: false;
|
|
607
|
-
reason: "archived";
|
|
608
|
-
}
|
|
609
|
-
/** The task was cancelled: a cancelled task takes no approval, by any road (a stale page, the CLI). */
|
|
610
|
-
| {
|
|
611
|
-
ok: false;
|
|
612
|
-
reason: "cancelled";
|
|
613
|
-
};
|
|
614
|
-
/**
|
|
615
|
-
* Whether this name-and-token pair is a person the store knows. Shared by
|
|
616
|
-
* every act that requires a human's authority — approving a scope, answering
|
|
617
|
-
* a decision — because "who said yes" must never be a string the caller
|
|
618
|
-
* typed. Fails closed: with no approver registered there is nobody who can
|
|
619
|
-
* agree to anything, and treating that as "authority is not required here"
|
|
620
|
-
* would make the gate optional — which is the same as not having one.
|
|
621
|
-
*/
|
|
622
|
-
/**
|
|
623
|
-
* IDENTITY, split from authority (modes chain, D2/E2): who this credential
|
|
624
|
-
* belongs to and what standing they hold. Viewers authenticate here and
|
|
625
|
-
* read; every consequential act goes through authenticateApprover below,
|
|
626
|
-
* which additionally demands ACTIVE approver standing — so the forty
|
|
627
|
-
* ceremony sites enforce the role without one of them changing.
|
|
628
|
-
*/
|
|
629
|
-
export declare function authenticateAccount(store: Store, by: string, secret: string): {
|
|
630
|
-
ok: true;
|
|
631
|
-
role: "approver" | "viewer";
|
|
632
|
-
generation: number;
|
|
633
|
-
} | {
|
|
634
|
-
ok: false;
|
|
635
|
-
reason: "no-approvers" | "unknown" | "revoked" | "locked";
|
|
636
|
-
retryAfterMs?: number;
|
|
637
|
-
};
|
|
638
|
-
/**
|
|
639
|
-
* v100: someone who signed in with the identity provider moments ago has no
|
|
640
|
-
* password to type again. The console marks such a request with this, for
|
|
641
|
-
* that person only, and an EMPTY password then stands for the fresh sign-in
|
|
642
|
-
* at every step-up that reaches `authenticateApprover` (scope
|
|
643
|
-
* approval, chat-action review, the console's own ceremonies). A typed
|
|
644
|
-
* password is always checked, and nothing else stands in.
|
|
645
|
-
*/
|
|
646
|
-
/**
|
|
647
|
-
* PASSWORD FRESHNESS (docs/plans/agents-cockpit.md B2), and the one place an empty password field is ever honoured.
|
|
648
|
-
*
|
|
649
|
-
* - An identity-provider re-check made **on request** (a step-up's re-authentication, never an ordinary sign-in) stands
|
|
650
|
-
* in for one password typed now, for ONE step-up of any kind, within five minutes: it is consumed by the act it
|
|
651
|
-
* proves (`sso-now`). Never reused across acts.
|
|
652
|
-
* - A password verified on this session, or that explicit re-check, stands in for fifteen minutes — but only inside an
|
|
653
|
-
* allowlisted act (`withFreshness`), only for this person, only on a direct local request (`fresh-password`,
|
|
654
|
-
* `fresh-sso`). Never extended by use.
|
|
655
|
-
* Every fact is read at the moment of the act (`FreshFacts` are live readers, not a snapshot), so a sign-out, a session
|
|
656
|
-
* revoked or rotated, a credential change or Forget made while a request was in flight is seen by it.
|
|
657
|
-
*/
|
|
658
|
-
export type FreshOp = "approve-standard" | "chat-send" | "reply-question";
|
|
659
|
-
/** "session": Passwordless is on and this is the person's own live browser session (docs/plans/passwordless.md). */
|
|
660
|
-
/** "remote-token" / "lead-token": a machine credential stood in for the person (a remote run's API token, a lead's
|
|
661
|
-
* token) — fine for ordinary acts it is allowed, never for a credential act (it would mint a way in with no password). */
|
|
662
|
-
/** "local-owner" (easy-start C1): the local owner of a laptop install, in an allowlisted act (local-owner.ts) — a person,
|
|
663
|
-
* never a credential act, and its approvals stand only while local mode stays on at their generation. */
|
|
664
|
-
export type AuthMethod = "password-now" | "sso-now" | "fresh-password" | "fresh-sso" | "session" | "cli-login" | "remote-token" | "lead-token" | "local-owner";
|
|
665
|
-
/**
|
|
666
|
-
* The local CLI's remembered login, marked for the one command that read it (operate.ts credentialsFrom): with
|
|
667
|
-
* Passwordless on, a proof made with it records "cli-login" — never a typed password — and no credential act accepts it.
|
|
668
|
-
* Scoped to that command's async chain; a browser request in the console's own process never carries it.
|
|
669
|
-
*/
|
|
670
|
-
export declare const rememberedLogin: AsyncLocalStorage<{
|
|
671
|
-
login: {
|
|
672
|
-
name: string;
|
|
673
|
-
token: string;
|
|
674
|
-
} | null;
|
|
675
|
-
}>;
|
|
676
|
-
export declare const FRESH_WINDOW_MS: number;
|
|
677
|
-
/** How long an explicit provider re-check stands in for one password typed now. */
|
|
678
|
-
export declare const SSO_NOW_MS: number;
|
|
679
|
-
export type FreshFacts = {
|
|
680
|
-
actor: string;
|
|
681
|
-
/** Straight from this computer: a loopback peer naming a loopback host, with no forwarding headers of any kind. */
|
|
682
|
-
local: boolean;
|
|
683
|
-
/** The request's route is on the freshness allowlist (route-table.ts `freshness: "allowlist"`): the table decides. */
|
|
684
|
-
allowlisted: boolean;
|
|
685
|
-
/** The session is still signed in, under the account's current credential generation, not revoked. */
|
|
686
|
-
live: () => boolean;
|
|
687
|
-
/** When a password was last verified on this session; when the provider last re-checked on request (window start);
|
|
688
|
-
* and an unconsumed re-check for one step-up. */
|
|
689
|
-
passwordAt: () => number | null;
|
|
690
|
-
ssoReauthAt: () => number | null;
|
|
691
|
-
ssoNow: () => number | null;
|
|
692
|
-
/** Spend the re-check; the answer puts it back (a refund) when the act it proved doesn't happen. */
|
|
693
|
-
consumeSsoNow: () => () => void;
|
|
694
|
-
/** Nothing before this counts (Forget). */
|
|
695
|
-
floor: () => number;
|
|
696
|
-
/** Record a verified password entry on this session (the console decides whether this request may start one). */
|
|
697
|
-
stamp: (at: number) => void;
|
|
698
|
-
};
|
|
699
|
-
export declare const freshFacts: AsyncLocalStorage<FreshFacts | null>;
|
|
700
|
-
/**
|
|
701
|
-
* Run an act a re-check may prove, spending the re-check only if the act happens: when it throws (a rolled-back
|
|
702
|
-
* transaction) or `failed` says it was refused, every re-check it spent is put back. ONLY for acts whose every effect
|
|
703
|
-
* is in one database transaction (an approval, a chat approval proposal, a chat turn opening): there, "refused" and
|
|
704
|
-
* "thrown" prove nothing happened. Every other step-up spends its re-check whatever comes of it (fail-closed: at worst
|
|
705
|
-
* the person confirms with their provider again). Synchronous acts only.
|
|
706
|
-
*/
|
|
707
|
-
export declare function spendingOnlyOnSuccess<T>(act: () => T, failed: (result: T) => boolean): T;
|
|
708
|
-
/** Run an allowlisted act: within it, a fresh password or re-check may stand in for one typed now. */
|
|
709
|
-
export declare function withFreshness<T>(op: FreshOp, act: () => T): T;
|
|
710
|
-
/** The freshness this act may stand on now, or null: only inside an allowlisted act on an allowlisted route, for this
|
|
711
|
-
* person, on a direct local request, on a live session, within the window, after any Forget. `preview` asks it from a
|
|
712
|
-
* page (a GET) about the allowlisted act its form posts to — for words only, never to authorise. */
|
|
713
|
-
export declare function freshnessFor(by: string, now?: number, preview?: boolean): {
|
|
714
|
-
method: "fresh-password" | "fresh-sso";
|
|
715
|
-
at: number;
|
|
716
|
-
} | null;
|
|
717
|
-
/** Whether an explicit provider re-check is waiting to stand in for one step-up (the page says "Confirmed with …"). */
|
|
718
|
-
export declare function ssoNowAvailable(by: string, now?: number): boolean;
|
|
719
|
-
/**
|
|
720
|
-
* Proof that this person is here now, for any account step-up (an approver's or not): a password typed now, or an
|
|
721
|
-
* explicit provider re-check (consumed). The core of every console step-up; `authenticateApprover` adds standing.
|
|
722
|
-
*/
|
|
723
|
-
export declare function proveAccountNow(store: Store, by: string, token: string, options?: {
|
|
724
|
-
credential?: boolean;
|
|
725
|
-
}): {
|
|
726
|
-
ok: true;
|
|
727
|
-
method: AuthMethod;
|
|
728
|
-
at: number;
|
|
729
|
-
} | {
|
|
730
|
-
ok: false;
|
|
731
|
-
reason: "no-approvers" | "not-an-approver";
|
|
732
|
-
};
|
|
733
|
-
/**
|
|
734
|
-
* A credential act (docs/plans/passwordless.md, the closed list: one that creates or widens a way in): only a password
|
|
735
|
-
* typed now, or a one-use identity-provider re-check, proves it — never a session, never a remembered password.
|
|
736
|
-
*/
|
|
737
|
-
/** Whether an empty password would pass for `by` right now because Passwordless is on and this is their live browser
|
|
738
|
-
* session. Read only — the act itself proves it again inside `proveAccountNow`. */
|
|
739
|
-
export declare function passwordlessSessionFor(store: Store, by: string): boolean;
|
|
740
|
-
/** Whether a proof is one a credential act accepts: a password typed now, or a one-use identity-provider re-check. */
|
|
741
|
-
export declare const credentialProof: (method: AuthMethod) => boolean;
|
|
742
|
-
export declare function proveCredential(store: Store, by: string, token: string, repo?: string | null): {
|
|
743
|
-
ok: true;
|
|
744
|
-
method: AuthMethod;
|
|
745
|
-
at: number;
|
|
746
|
-
} | {
|
|
747
|
-
ok: false;
|
|
748
|
-
reason: "no-approvers" | "not-an-approver";
|
|
749
|
-
};
|
|
750
|
-
export declare function authenticateApprover(store: Store, by: string, token: string, repo?: string | null, options?: {
|
|
751
|
-
credential?: boolean;
|
|
752
|
-
}): {
|
|
753
|
-
ok: true;
|
|
754
|
-
method: AuthMethod;
|
|
755
|
-
at: number;
|
|
756
|
-
} | {
|
|
757
|
-
ok: false;
|
|
758
|
-
reason: "no-approvers" | "not-an-approver";
|
|
759
|
-
};
|
|
760
|
-
/**
|
|
761
|
-
* What an approval needs besides the password (v100: an identity-provider
|
|
762
|
-
* sign-in moments ago stands in for the password; nothing stands in for
|
|
763
|
-
* this): an active account in the approver role, with access to the project.
|
|
764
|
-
*/
|
|
765
|
-
export declare function approverStanding(store: Store, by: string, repo?: string | null): {
|
|
766
|
-
ok: true;
|
|
767
|
-
} | {
|
|
768
|
-
ok: false;
|
|
769
|
-
reason: "no-approvers" | "not-an-approver";
|
|
770
|
-
};
|
|
771
|
-
/**
|
|
772
|
-
* C1's atomic road: file the scope AND seal its approval in ONE
|
|
773
|
-
* transaction, under a mode the SAME transaction re-proves. The caller
|
|
774
|
-
* has already authenticated the actor and matched channel rules; this
|
|
775
|
-
* function owns the predicate's transactional half — mode active, actor
|
|
776
|
-
* IS the signer, repo matches, and the sealed digest is the filed one
|
|
777
|
-
* (trivially true here: they are the same transaction). Never
|
|
778
|
-
* sealScopeApproval after a filing — that was the TOCTOU.
|
|
779
|
-
*/
|
|
780
|
-
/**
|
|
781
|
-
* C1's coverage question, answerable from ANY filing road: does a live
|
|
782
|
-
* mode make THIS actor's credentialed filing auto-approve here, and with
|
|
783
|
-
* which defaults? Callers re-ask INSIDE their filing transaction — an
|
|
784
|
-
* answer carried across transactions would be the TOCTOU again.
|
|
785
|
-
*/
|
|
786
|
-
export declare function modeFilingCoverage(store: Store, repo: string | null, actor: string, now: Date): {
|
|
787
|
-
digest: string;
|
|
788
|
-
escalated: boolean;
|
|
789
|
-
defaultBudgetMicrousd: number | null;
|
|
790
|
-
} | null;
|
|
791
|
-
export declare function fileAndSealUnderMode(store: Store, input: ScopeInput & {
|
|
792
|
-
repo: string | null;
|
|
793
|
-
actor: string;
|
|
794
|
-
}): {
|
|
795
|
-
ok: true;
|
|
796
|
-
scope: Scope;
|
|
797
|
-
basis: "mode";
|
|
798
|
-
} | {
|
|
799
|
-
ok: false;
|
|
800
|
-
reason: "no-mode" | "not-signer" | "not-covered" | "coordinator-filed" | "acceptance-required" | "profile-unresolved";
|
|
801
|
-
detail?: string;
|
|
802
|
-
};
|
|
803
|
-
export declare function approve(store: Store, taskId: string, by: string, now: Date, sawDigest: string, token: string, mutation?: Mutation,
|
|
804
|
-
/** A fast start (fast-start.ts): Build is this same yes, with its marker in the proof. Only that road passes it.
|
|
805
|
-
* `typed`: a typed yes to a Start card (one-step-chat.md C5), the message that was the yes, recorded beside the marker. */
|
|
806
|
-
fastStart?: {
|
|
807
|
-
rule: string;
|
|
808
|
-
at: string;
|
|
809
|
-
typed?: {
|
|
810
|
-
provider: string;
|
|
811
|
-
event: string;
|
|
812
|
-
};
|
|
813
|
-
},
|
|
814
|
-
/** A person's own yes in chat (owner's decision, docs/plans/toolroll-cards.md): their tap or signed-in click stands in
|
|
815
|
-
* for a password, so `token` is unused. Every rule below still applies. The caller has proved the person is the one
|
|
816
|
-
* tapping. `shown` is what a card that showed its terms whole showed: those words, and the digest kept when it was
|
|
817
|
-
* made. Null when the card showed less: the seal then opens none of the walls a person's reading opens. */
|
|
818
|
-
chat?: {
|
|
819
|
-
modeDigest: string;
|
|
820
|
-
shown: {
|
|
821
|
-
expect: string;
|
|
822
|
-
terms: string;
|
|
823
|
-
} | null;
|
|
824
|
-
}): ApproveResult;
|
|
825
|
-
/** The ledger act that records how an approval's person was proved (password-now, sso-now, fresh-password, fresh-sso). */
|
|
826
|
-
export declare const APPROVAL_PROOF = "approval proved";
|
|
827
|
-
/** The proof row's detail: when the person was proved, the generation, and the exact digest they said yes to. */
|
|
828
|
-
export declare const approvalProofDetail: (at: number, generation: number, digest: string, local?: {
|
|
829
|
-
generation: number;
|
|
830
|
-
transport: LocalTransport;
|
|
831
|
-
}) => string;
|
|
832
|
-
/** The proof of THIS approval: the approver's own row for these exact bytes (never another approval's words). */
|
|
833
|
-
export declare function approvalProofOf(store: Store, taskId: string, by: string, digest: string): {
|
|
834
|
-
method: string;
|
|
835
|
-
at: string;
|
|
836
|
-
} | null;
|
|
837
|
-
/** Whether a remembered password may approve these terms: one approver (no protected work), standard permissions
|
|
838
|
-
* (never escalated), and not filed by a coordinator, a lead or a scout (those keep their own password ceremony). */
|
|
839
|
-
export declare function freshlyApprovable(store: Store, taskId: string, scope: Scope, singleApprover: boolean): boolean;
|
|
840
|
-
/**
|
|
841
|
-
* Whether this task may be built.
|
|
842
|
-
*
|
|
843
|
-
* `changed` is the interesting answer and the reason the digest exists: the
|
|
844
|
-
* scope was approved, and then somebody — possibly an agent, possibly the
|
|
845
|
-
* operator, possibly a different session — rewrote it. The old yes does not
|
|
846
|
-
* transfer.
|
|
847
|
-
*/
|
|
848
|
-
export declare function approvalOf(scope: Scope | null): Approval;
|
|
849
|
-
/**
|
|
850
|
-
* THE STRICT STORED-SCOPE PROJECTION (v48 integrity): the ONE reading of
|
|
851
|
-
* a filed scope that a seal and every consent surface believe. Nothing
|
|
852
|
-
* lenient stands in for it — the working profile and route are
|
|
853
|
-
* re-parsed from their raw bytes with exact keys, safe integers, and
|
|
854
|
-
* timer-safe clocks; the route's build and repair legs ARE the profile's
|
|
855
|
-
* exact pairs; and the row's digest re-derives, complete, from these very values. A legacy row (no
|
|
856
|
-
* route era) has no authority a person can newly agree to. One
|
|
857
|
-
* disagreement is the words, and nothing — no nonce, no password field,
|
|
858
|
-
* no approve action, no seal — is exposed on it.
|
|
859
|
-
*/
|
|
860
|
-
export type ScopeAuthority = {
|
|
861
|
-
ok: true;
|
|
862
|
-
profile: ExecutionProfile;
|
|
863
|
-
route: PhaseRoute;
|
|
864
|
-
digest: string;
|
|
865
|
-
authMode: AuthMode | null;
|
|
866
|
-
chain?: ChainEntry[];
|
|
867
|
-
} | {
|
|
868
|
-
ok: false;
|
|
869
|
-
reason: "terms" | "unrouted" | "unresolved" | "profile" | "chain" | "route" | "parity" | "digest" | "auth-mode";
|
|
870
|
-
problem: string;
|
|
871
|
-
};
|
|
872
|
-
/** What the strict projection reads OUTSIDE the row (atomic authority
|
|
873
|
-
* closure): the operator's stored auth mode for a provider, strictly — a
|
|
874
|
-
* present file that says neither word is a stated problem, never the
|
|
875
|
-
* default a lenient read would coerce it to. Filing, consent, the seal,
|
|
876
|
-
* and the spawn all hand in the same reader, so one broken file closes
|
|
877
|
-
* every door in the same words. */
|
|
878
|
-
export type ScopeAuthorityEnv = {
|
|
879
|
-
authMode?: (provider: ProviderId) => {
|
|
880
|
-
ok: true;
|
|
881
|
-
mode: AuthMode;
|
|
882
|
-
} | {
|
|
883
|
-
ok: false;
|
|
884
|
-
problem: string;
|
|
885
|
-
};
|
|
886
|
-
};
|
|
887
|
-
/**
|
|
888
|
-
* THE PARITY every projection proves between a route and the profile and
|
|
889
|
-
* terms it was filed beside (atomic authority closure): the build and
|
|
890
|
-
* repair legs ARE the profile's exact pairs, and the route's signed risk
|
|
891
|
-
* and quality ARE the row's — a row whose risk says high over a route
|
|
892
|
-
* recommended for routine was not filed by this code, and neither the
|
|
893
|
-
* seal, the consent door, nor the dispatch proof believes it. One
|
|
894
|
-
* function, so the working side, the sealed side, and the last-mile
|
|
895
|
-
* dispatch proof cannot drift. Null when everything agrees.
|
|
896
|
-
*/
|
|
897
|
-
export declare function routeParityProblem(route: PhaseRoute, profile: ExecutionProfile, terms: {
|
|
898
|
-
riskLevel: RiskLevel;
|
|
899
|
-
qualityMode: QualityMode;
|
|
900
|
-
}): string | null;
|
|
901
|
-
export declare function scopeAuthorityOf(scope: Scope, env?: ScopeAuthorityEnv): ScopeAuthority;
|
|
902
|
-
/** The rubric's approval-card lines (v39): one per criterion, the id in
|
|
903
|
-
* front (the exact string a proof must answer by) and its required
|
|
904
|
-
* evidence kinds after it — `how` is deliberately absent here, the same way
|
|
905
|
-
* it is absent from the digest: it is guidance, never a signed term. */
|
|
906
|
-
export declare function acceptanceWords(criteria: readonly AcceptanceCriterion[]): string[];
|
|
907
|
-
/** The route's approval-card lines (v47): the WORKING route the digest
|
|
908
|
-
* bound, projected with whatever readiness the caller can see — the same
|
|
909
|
-
* bytes the task page and chat render. Empty on a scope with no route. */
|
|
910
|
-
export declare function scopeRouteWords(scope: Pick<Scope, "proposedRouteJson">, readiness?: ReadinessLookup): string[];
|
|
911
|
-
/** The scope, in the words an operator has to be able to agree or disagree with. */
|
|
912
|
-
export declare function describeScope(scope: Scope, readiness?: ReadinessLookup,
|
|
913
|
-
/** Results routing: the evidence line when an earned rule chose the builder (route-rules.ts taskEvidenceWords). */
|
|
914
|
-
evidence?: string | null): string[];
|
|
915
|
-
/** The approval sheet's release lines (release-once.md): the release in one sentence, then what asks again. */
|
|
916
|
-
export declare function releaseTermsSentence(terms: ReleaseTerms): string;
|
|
917
|
-
/** The approval sheet's line for a release check purpose (pipeline-speed.md, P0): a release that can't carry. */
|
|
918
|
-
export declare function releaseCheckSentence(purpose: ReleaseCheckPurpose): string;
|
|
919
|
-
/** What asks again, in full: the terms behind the sentence. */
|
|
920
|
-
export declare function releaseAsksAgainWords(terms: ReleaseTerms): string[];
|
|
921
|
-
export { personProof } from "./person-proof.js";
|
|
922
|
-
import { type ReleaseCheckPurpose, type ReleaseTerms } from "./contracts/release-terms.js";
|
|
923
|
-
import { type AutoEvidence, type ReleaseAuthority, type ReleaseCarry } from "./release-authority.js";
|
|
924
|
-
/** Whether the command running now is a machine's: the lead (its token) or a remote API run. Trusted context only. */
|
|
925
|
-
export declare const machineActing: () => boolean;
|
|
926
|
-
/** A proof row's detail, either form: the legacy text (`<at> · generation <n> · digest <d>`) or the versioned record
|
|
927
|
-
* (`{"v":1,"at":…,"digest":…}`, more fields allowed). Any other shape is no proof. */
|
|
928
|
-
export declare function proofDetailOf(detail: unknown): {
|
|
929
|
-
at: string;
|
|
930
|
-
digest: string;
|
|
931
|
-
} | null;
|
|
932
|
-
/**
|
|
933
|
-
* A person's approval of this task as it stands: approved, on the current digest, by the ceremony (`password`) or a
|
|
934
|
-
* paired-chat tap (`chat`), with a person's proof recorded for that approver and those exact bytes. Release, deploy
|
|
935
|
-
* and the protected-work counters ask this; a lead, a mode, a grant, a schedule or an approval with no proof is not
|
|
936
|
-
* a person's.
|
|
937
|
-
*/
|
|
938
|
-
export declare function personApprovalOf(store: Store, taskId: string): {
|
|
939
|
-
ok: true;
|
|
940
|
-
by: string;
|
|
941
|
-
at: string;
|
|
942
|
-
method: string;
|
|
943
|
-
} | {
|
|
944
|
-
ok: false;
|
|
945
|
-
why: string;
|
|
946
|
-
};
|
|
947
|
-
/**
|
|
948
|
-
* Who made a seal that says it came through a person's road (`password`, `chat`), from the acts recorded AT THAT SEAL
|
|
949
|
-
* (approval policy §1.5): the proof rows its approver left at the seal's own instant, and the lead's task act then.
|
|
950
|
-
* - `machine`: any proof there that isn't a person's (a lead or remote token, or a word this code doesn't know), or the
|
|
951
|
-
* lead's act — fail closed, whatever its digest says;
|
|
952
|
-
* - `person`: a person's proof there for these exact bytes (parsed, either form);
|
|
953
|
-
* - `automation`: a standing order's firing that no person's proof stands behind;
|
|
954
|
-
* - `unproven`: none of these (a seal from before proof rows): it dispatches as before, and is never a person's yes.
|
|
955
|
-
* An older proof for the same bytes never vouches for a later seal. The dispatch belts ask the same in SQL
|
|
956
|
-
* (approval-authority.ts).
|
|
957
|
-
*/
|
|
958
|
-
export declare function sealOriginOf(store: Store, taskId: string, by: string, digest: string, at: string): {
|
|
959
|
-
origin: "machine";
|
|
960
|
-
lead: boolean;
|
|
961
|
-
} | {
|
|
962
|
-
origin: "person";
|
|
963
|
-
method: string;
|
|
964
|
-
} | {
|
|
965
|
-
origin: "automation";
|
|
966
|
-
} | {
|
|
967
|
-
origin: "unproven";
|
|
968
|
-
};
|
|
969
|
-
/** Text another machine wrote (a confirmed chat proposal, a coordinator, a scout): no mode, grant, remembered password
|
|
970
|
-
* or chat tap seals it. The lead's own CLI text (`lead`) is not quarantined. */
|
|
971
|
-
export declare const quarantinedAuthor: (via: string | null | undefined) => boolean;
|
|
972
|
-
/** What a release task is about to do. */
|
|
973
|
-
export type ReleaseAction = "dispatch" | "deploy" | "merge" | "complete";
|
|
974
|
-
export type LiveRelease = {
|
|
975
|
-
applies: false;
|
|
976
|
-
} | {
|
|
977
|
-
applies: true;
|
|
978
|
-
ok: true;
|
|
979
|
-
authority: ReleaseAuthority;
|
|
980
|
-
carry: ReleaseCarry | null;
|
|
981
|
-
} | {
|
|
982
|
-
applies: true;
|
|
983
|
-
ok: false;
|
|
984
|
-
why: string;
|
|
985
|
-
authority: ReleaseAuthority | null;
|
|
986
|
-
};
|
|
987
|
-
/**
|
|
988
|
-
* Whether a task that belongs to a release authority may do `action` now. It applies to EVERY such task, whether its
|
|
989
|
-
* seal is the person's own or `carried`, and requires all of: the authority's current generation (never superseded,
|
|
990
|
-
* revoked or expired before it started); a state that fits the action; the task is the authority's current tip; the
|
|
991
|
-
* anchor's seal is a person's (personApprovalOf, unchanged) on the exact sealed anchor digest; the anchor's approver is
|
|
992
|
-
* still an active approver with access to the project; for a carried task, a carry row for exactly this task, scope
|
|
993
|
-
* digest, candidate and generation; the release check grant and check access as sealed (access only ever the fence);
|
|
994
|
-
* a sealed policy this runtime knows; and, for deploy and merge, no open main-check failure blocking a composed check.
|
|
995
|
-
* A task that belongs to no release reads `applies: false` — the ordinary rules decide it.
|
|
996
|
-
*/
|
|
997
|
-
export declare function liveReleaseOf(store: Store, taskId: string, action: ReleaseAction, now?: Date): LiveRelease;
|
|
998
|
-
/**
|
|
999
|
-
* Open main-check failures (the nightly full check, part 3) block the deploy and the merge of a release whose gate
|
|
1000
|
-
* check was composed from a targeted run: a full pass is needed first. Null when nothing blocks.
|
|
1001
|
-
*/
|
|
1002
|
-
export declare function mainDebtProblem(store: Store, repo: string, taskId: string): string | null;
|
|
1003
|
-
/**
|
|
1004
|
-
* A deploy gate (docs/plans/chat-management.md §0a.5): a scope whose signed terms name a prepared candidate or carry
|
|
1005
|
-
* release terms. Both are in the scope digest and written at filing, before any release authority exists, so this is
|
|
1006
|
-
* read from the scope alone: a first approval and a fallback gate filed without --release are deploy gates too. From
|
|
1007
|
-
* chat it is approved only through the release card.
|
|
1008
|
-
*/
|
|
1009
|
-
export declare function deployGateScope(scope: Pick<Scope, "candidate" | "releaseTerms">): boolean;
|
|
1010
|
-
/**
|
|
1011
|
-
* Whether a scope's check is a release's check (docs/plans/pipeline-speed.md, P0): it carries signed release terms, or a
|
|
1012
|
-
* release check purpose sealed with it. Read from the scope's signed fields only, independent of whether the release can
|
|
1013
|
-
* carry. It makes the check stricter (a complete, valid report; CI never stands in for its units) and, through
|
|
1014
|
-
* check-failure.ts recheckReleaseTask, lets the plane rerun the identical candidate after confirmed infrastructure; it
|
|
1015
|
-
* never carries a later commit or approves anything.
|
|
1016
|
-
*/
|
|
1017
|
-
export declare function releaseCheckScope(scope: Pick<Scope, "releaseTerms" | "releaseCheck"> | null): boolean;
|
|
1018
|
-
/**
|
|
1019
|
-
* The plane's own automatic approval of a release task (docs/plans/auto-approve-green.md), read the way the dispatch
|
|
1020
|
-
* belts read it (release-authority.ts autoSealSql): sealed `kind` on the current digest, its evidence row naming exactly
|
|
1021
|
-
* this task, kind, digest and candidate, a release task (candidate and terms signed in), the project's setting on now,
|
|
1022
|
-
* and the person who turned it on still an approver there. Never a person's approval.
|
|
1023
|
-
*/
|
|
1024
|
-
export declare function autoReleaseApprovalOf(store: Store, taskId: string, kind: "auto-check" | "auto-green"): {
|
|
1025
|
-
ok: true;
|
|
1026
|
-
by: string;
|
|
1027
|
-
at: string;
|
|
1028
|
-
evidence: AutoEvidence;
|
|
1029
|
-
} | {
|
|
1030
|
-
ok: false;
|
|
1031
|
-
why: string;
|
|
1032
|
-
};
|
|
1033
|
-
/** A release's approval: a person's (personApprovalOf, unchanged), or the plane's own `auto-green`. Only release
|
|
1034
|
-
* readers ask this (liveReleaseOf, and the deploy gates inside `toolroll release`); everything else asks for a person. */
|
|
1035
|
-
export declare function releaseApprovalOf(store: Store, taskId: string, _now?: Date): {
|
|
1036
|
-
ok: true;
|
|
1037
|
-
by: string;
|
|
1038
|
-
at: string;
|
|
1039
|
-
method: string;
|
|
1040
|
-
} | {
|
|
1041
|
-
ok: false;
|
|
1042
|
-
why: string;
|
|
1043
|
-
};
|
|
1044
|
-
/** When a password typed at `at` (ISO) stops standing in, for a page's words (ISO); null when `at` isn't a time. Words
|
|
1045
|
-
* only: freshnessFor decides whether it stands in, at the moment of use. */
|
|
1046
|
-
export declare function freshUntil(at: string): string | null;
|
|
1047
|
-
export type LocalApprovalRefusal = "local-mode-off" | "not-owner" | "no-scope" | "release" | "protected" | "escalated" | "coordinator" | "unsandboxed" | "imported";
|
|
1048
|
-
/**
|
|
1049
|
-
* Whether the local owner may approve this task without a password (easy-start plan C5). ONE rule, read by the
|
|
1050
|
-
* preview (the task page's approve form and the chat review render no password field when it is ok), the chat
|
|
1051
|
-
* precheck (an empty field passes) and the seal itself (approve(), inside its transaction). Refused: local mode off or
|
|
1052
|
-
* another person; no plan; release or deploy terms; protected or two-person work; an escalated profile; work a
|
|
1053
|
-
* coordinator filed; a project whose checks are stored as unsandboxed (or a plan that sealed that). Plans a lead or
|
|
1054
|
-
* a scout proposed are allowed.
|
|
1055
|
-
*/
|
|
1056
|
-
export declare function localApprovalEligible(store: Store, by: string, taskId: string): {
|
|
1057
|
-
ok: true;
|
|
1058
|
-
} | {
|
|
1059
|
-
ok: false;
|
|
1060
|
-
reason: LocalApprovalRefusal;
|
|
1061
|
-
message: string;
|
|
1062
|
-
};
|
|
1063
|
-
/** A chain that may dispatch: version 2, a base and at least one fallback. An older chain is history, never this. */
|
|
1064
|
-
export declare function liveChainFromJson(json: string | null): ChainEntry[] | null;
|
|
1065
|
-
/** The chain in full, the words a yes agrees to: order, agent, model, how it bills, what it may do, and whether Toolroll
|
|
1066
|
-
* can see it run out. Every approval surface shows these lines; empty for a scope with no chain. */
|
|
1067
|
-
export declare function chainTermsLines(scope: Pick<Scope, "proposedChainJson">): string[];
|
|
1068
|
-
/** The act a local owner's work rule is read for: approving a plan, or completing (accepting) a result whose build
|
|
1069
|
-
* changed `changed` (the build's own diff; null when it can't be read, which counts as protected). */
|
|
1070
|
-
export type LocalWorkPurpose = {
|
|
1071
|
-
act: "approve";
|
|
1072
|
-
} | {
|
|
1073
|
-
act: "complete";
|
|
1074
|
-
changed: readonly string[] | null;
|
|
1075
|
-
} | {
|
|
1076
|
-
act: "plan";
|
|
1077
|
-
} | {
|
|
1078
|
-
act: "retry";
|
|
1079
|
-
};
|
|
1080
|
-
/**
|
|
1081
|
-
* Whether the local owner may do this act on this task without a password: ONE rule (easy-start C5, split out for
|
|
1082
|
-
* local-owner slice 0), read inside the act's own transaction. Both acts refuse: local mode off or another person;
|
|
1083
|
-
* release or deploy work; protected or two-person work; work a coordinator filed (or a task with no built-in record).
|
|
1084
|
-
* Approving also refuses no plan, an escalated profile and a project stored as unsandboxed (what a build may do, which
|
|
1085
|
-
* is what an approval agrees to). Completing reads release work from the release records too, and protected work from
|
|
1086
|
-
* what the result actually changed as well as what its scope declared (v102's rule: declared paths are only a promise).
|
|
1087
|
-
* Asking for a plan (local-owner slice 2) reads approve's rule for a task that may have no scope yet (no declared paths
|
|
1088
|
-
* count as protected; the task's own permission mode counts as escalated), the release records too, and also refuses a
|
|
1089
|
-
* task from outside (an imported issue): a new act, so no existing act changes. Retrying (slice 3) is approve's rule
|
|
1090
|
-
* exactly (work the owner could approve again now), plus the release records and a task from outside.
|
|
1091
|
-
*/
|
|
1092
|
-
export declare function localWorkEligible(store: Store, by: string, taskId: string, purpose: LocalWorkPurpose): {
|
|
1093
|
-
ok: true;
|
|
1094
|
-
} | {
|
|
1095
|
-
ok: false;
|
|
1096
|
-
reason: LocalApprovalRefusal;
|
|
1097
|
-
message: string;
|
|
1098
|
-
};
|