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/check-failure.js
CHANGED
|
@@ -1,24 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Why a release check failed, in one of four classes (docs/plans/eval-harness.md, phase 1 C), and what each class
|
|
3
|
-
* allows. This replaces the flat "two flakes" allowance (AUTO_FLAKE_CAP) for release checks and for GitHub CI.
|
|
4
|
-
*
|
|
5
|
-
* deterministic typecheck, build, a failing test, a scripted journey, an upgrade, a required test gone:
|
|
6
|
-
* nothing tolerated, never rerun to pass; the branch is fixed and the new commit released.
|
|
7
|
-
* infrastructure independently confirmed by the plane itself: the check never started, this worker lost the
|
|
8
|
-
* build, Toolroll's own shutdown stopped it, it ran out of time on a machine the plane measured
|
|
9
|
-
* busy enough to cut its budget to half or less (check-load.ts) — or, on GitHub, a job that failed before any of the
|
|
10
|
-
* workflow's own steps ran. At most one rerun per incident and two per candidate, under the same
|
|
11
|
-
* approval; a pass after them counts.
|
|
12
|
-
* unknown exit 1 with no failing test named, an unexplained timeout or signal, no result at all: an error
|
|
13
|
-
* that blocks. A diagnostic rerun may run, but its pass doesn't erase the failure: a person decides.
|
|
14
|
-
* agent-behaviour a real-model journey failed (or passed only on its retry): counted, never rerun to pass.
|
|
15
|
-
*
|
|
16
|
-
* Only plane-side facts can make a failure "infrastructure": the sealed receipt's own result (which the builder writes
|
|
17
|
-
* from the process it ran), and GitHub's own job and step records read by the plane's gh. Nothing the candidate writes —
|
|
18
|
-
* its output, a label it prints, its report — can. The report is candidate-written: it is read only to choose among
|
|
19
|
-
* the classes that block (deterministic, agent-behaviour, unknown), never to allow a rerun. gate-failure.ts's
|
|
20
|
-
* classifyGateFailure reads the log and is never evidence that a release failure is harmless.
|
|
21
|
-
*/
|
|
22
1
|
import { CHECK_REPORT_CAPTURE, readSealedJson } from "./check-report.js";
|
|
23
2
|
import { readCheckReport } from "./contracts/release-check.js";
|
|
24
3
|
import { busyMachineTimeout, CHECK_LOAD_CAPTURE, readCheckLoad } from "./check-load.js";
|
|
@@ -28,25 +7,15 @@ import { releaseCheckScope } from "./scope.js";
|
|
|
28
7
|
import { isVerificationReceipt, verificationEvidence } from "./verification-evidence.js";
|
|
29
8
|
import { checkAttemptOf } from "./store.js";
|
|
30
9
|
import { endedInterrupted } from "./run-ending.js";
|
|
31
|
-
/** The plane's limits for confirmed infrastructure failures (one rerun per incident, two per candidate). */
|
|
32
10
|
export { INFRA_RERUNS_PER_CANDIDATE, INFRA_RERUNS_PER_INCIDENT };
|
|
33
|
-
/** The ledger action that records each rerun the release asked for, and why. */
|
|
34
11
|
export const RELEASE_RECHECK_ACTION = "release check rerun";
|
|
35
|
-
/** The failures that mean the check never started or never finished for a reason the plane itself saw. */
|
|
36
12
|
const PLANE_INFRA = {
|
|
37
13
|
"spawn-failed": "the check never started: the machine couldn't start its command",
|
|
38
14
|
"retry-spawn-failed": "the check's retry never started: the machine couldn't start its command",
|
|
39
15
|
"custody-lost": "this worker lost the build before the check could finish",
|
|
40
16
|
"stopped-by-toolroll": "Toolroll's own shutdown stopped the check before it finished",
|
|
41
17
|
};
|
|
42
|
-
/** How a timeout on a busy machine reads (its rerun is the release terms' "Toolroll's own machine fails"). */
|
|
43
18
|
const busyWords = (why) => `${why}: Toolroll's own machine, so this commit's check runs again`;
|
|
44
|
-
/**
|
|
45
|
-
* One failed check, classified. `facts` come from the plane's sealed receipt and `load` from the plane's own sealed load
|
|
46
|
-
* record (check-load.ts); `report` (the check's own report, sealed when valid) only ever picks among the classes that
|
|
47
|
-
* block — a timeout is excused only when the report names nothing else that failed, and only by the plane's own facts:
|
|
48
|
-
* its load readings cut the budget, and the check ran into its limit by the plane's own clock. Null when it passed.
|
|
49
|
-
*/
|
|
50
19
|
export function classifyCheckFailure(facts, report, load = null) {
|
|
51
20
|
const result = facts.result;
|
|
52
21
|
const passedCoverage = facts.coverage === undefined || facts.coverage === "full" || facts.coverage === "composed";
|
|
@@ -60,8 +29,6 @@ export function classifyCheckFailure(facts, report, load = null) {
|
|
|
60
29
|
if (infra !== undefined)
|
|
61
30
|
return { class: "infrastructure", why: infra };
|
|
62
31
|
if (failure === "timed-out" || failure === "retry-timed-out") {
|
|
63
|
-
// The plane stopped it at its limit. With the plane's own record of a cut budget, the machine's fault; otherwise
|
|
64
|
-
// (a normal budget, or no record) a timeout nothing explains, as ever.
|
|
65
32
|
const busy = facts.grantMs === undefined ? null : busyMachineTimeout(load, facts.grantMs, true);
|
|
66
33
|
return busy !== null ? { class: "infrastructure", why: busyWords(busy) } : { class: "unknown", why: "the check timed out, and nothing says why" };
|
|
67
34
|
}
|
|
@@ -73,11 +40,9 @@ export function classifyCheckFailure(facts, report, load = null) {
|
|
|
73
40
|
return { class: "deterministic", why: facts.coverage === "identity-removed" ? "a required test was removed, renamed or newly skipped" : "the check didn't cover everything it owed" };
|
|
74
41
|
return { class: "unknown", why: `the check couldn't run to its end (${failure || "no reason recorded"})` };
|
|
75
42
|
}
|
|
76
|
-
// It ran and exited nonzero (or its coverage fell short): what failed, from its report — only among blocking classes.
|
|
77
43
|
if (report === null)
|
|
78
44
|
return { class: "unknown", why: `the check exited ${result.exitCode ?? "nonzero"} and gave no report naming what failed` };
|
|
79
45
|
const deterministic = [], agent = [], unexplained = [];
|
|
80
|
-
// Whether everything unexplained is a part that ran out of time (never a signal, never an error no test owned).
|
|
81
46
|
let onlyTimeouts = true;
|
|
82
47
|
for (const part of report.parts) {
|
|
83
48
|
if (!part.selected || !part.ran || part.code === null)
|
|
@@ -113,8 +78,6 @@ export function classifyCheckFailure(facts, report, load = null) {
|
|
|
113
78
|
if (agent.length > 0)
|
|
114
79
|
return { class: "agent-behaviour", why: list(agent) };
|
|
115
80
|
if (unexplained.length > 0) {
|
|
116
|
-
// Only parts that ran out of time, and the plane's own record says the machine cut the budget and the check ran
|
|
117
|
-
// into its limit: the machine's fault. The report can only withhold this (by naming anything else), never grant it.
|
|
118
81
|
const busy = onlyTimeouts && facts.grantMs !== undefined ? busyMachineTimeout(load, facts.grantMs, false) : null;
|
|
119
82
|
if (busy !== null)
|
|
120
83
|
return { class: "infrastructure", why: busyWords(`${list(unexplained)}; ${busy}`) };
|
|
@@ -122,8 +85,6 @@ export function classifyCheckFailure(facts, report, load = null) {
|
|
|
122
85
|
}
|
|
123
86
|
return { class: "unknown", why: `the check exited ${result.exitCode ?? "nonzero"} with no failing test identified` };
|
|
124
87
|
}
|
|
125
|
-
/** What passed only on a retry inside a passing check (a real-model journey group, a unit file): counted and reported,
|
|
126
|
-
* never silently part of a pass. Null when there is no valid report to read it from: unknown, never "no retries". */
|
|
127
88
|
export function retriedInside(report) {
|
|
128
89
|
if (report === null)
|
|
129
90
|
return null;
|
|
@@ -132,8 +93,6 @@ export function retriedInside(report) {
|
|
|
132
93
|
...(report.units?.files ?? []).filter(file => file.flaky).map(file => `${file.file}`),
|
|
133
94
|
];
|
|
134
95
|
}
|
|
135
|
-
/** A run's check, classified from its sealed receipt and sealed report; null when it passed, or can't be read (then
|
|
136
|
-
* `unreadable` says why — an unreadable receipt is itself unknown). */
|
|
137
96
|
export function classifyRunCheck(store, root, runId) {
|
|
138
97
|
const gate = verificationEvidence(store, root, runId);
|
|
139
98
|
if (!gate.ok)
|
|
@@ -151,16 +110,10 @@ export function classifyRunCheck(store, root, runId) {
|
|
|
151
110
|
return { class: "unknown", why: "the check's receipt names no result" };
|
|
152
111
|
const sealed = readSealedJson(store, root, runId, CHECK_REPORT_CAPTURE);
|
|
153
112
|
const parsed = sealed === null ? null : readCheckReport(sealed.value);
|
|
154
|
-
// The plane's own load record (check-load.ts): absent on older runs, and then nothing is excused.
|
|
155
113
|
const loadSealed = readSealedJson(store, root, runId, CHECK_LOAD_CAPTURE);
|
|
156
114
|
const grantMs = typeof receipt.command?.timeoutMs === "number" ? receipt.command.timeoutMs : undefined;
|
|
157
115
|
return classifyCheckFailure({ result: receipt.result, coverage: receipt.coverage, grantMs }, parsed?.ok === true ? parsed.value : null, loadSealed === null ? null : readCheckLoad(loadSealed.value));
|
|
158
116
|
}
|
|
159
|
-
/**
|
|
160
|
-
* What passed only on a retry inside a run's check (eval-harness review 1, finding 3): the summary sealed into its
|
|
161
|
-
* protected receipt, which a damaged or lost report can't take away; for an older receipt without one, read from the
|
|
162
|
-
* sealed report. Null — unknown — when neither can be read, or when a readable report disagrees with the receipt.
|
|
163
|
-
*/
|
|
164
117
|
export function retriedOfRun(store, root, runId) {
|
|
165
118
|
const sealed = readSealedJson(store, root, runId, CHECK_REPORT_CAPTURE);
|
|
166
119
|
const parsed = sealed === null ? null : readCheckReport(sealed.value);
|
|
@@ -175,9 +128,6 @@ export function retriedOfRun(store, root, runId) {
|
|
|
175
128
|
catch {
|
|
176
129
|
return null;
|
|
177
130
|
}
|
|
178
|
-
// The whole check rerun after the approved recovery setup (finding 6): its first attempt failed, and a missing
|
|
179
|
-
// executable is never confirmed infrastructure, so it counts as a retry like any other — reported, and an automatic
|
|
180
|
-
// approval refuses it.
|
|
181
131
|
const replayed = body.result?.setupReplayed === true ? [setupReplayWords(body.result.firstAttempt)] : [];
|
|
182
132
|
const receipt = body.check?.retried;
|
|
183
133
|
if (receipt === undefined)
|
|
@@ -188,12 +138,7 @@ export function retriedOfRun(store, root, runId) {
|
|
|
188
138
|
return null;
|
|
189
139
|
return [...replayed, ...receipt];
|
|
190
140
|
}
|
|
191
|
-
/** How a check rerun after the approved recovery setup reads among the retries. */
|
|
192
141
|
export const SETUP_REPLAY_RETRY = "the whole check, rerun after the approved setup";
|
|
193
|
-
/**
|
|
194
|
-
* The rerun's words with its first attempt's own class (eval-harness review 2, finding 5): a launch failure names the
|
|
195
|
-
* missing program; a receipt that doesn't classify it (an older one) says so, never that it was a launch failure.
|
|
196
|
-
*/
|
|
197
142
|
export function setupReplayWords(first) {
|
|
198
143
|
const one = first !== null && typeof first === "object" ? first : null;
|
|
199
144
|
if (one !== null && one.class === "launch" && typeof one.program === "string" && Number.isSafeInteger(one.exitCode)) {
|
|
@@ -201,13 +146,6 @@ export function setupReplayWords(first) {
|
|
|
201
146
|
}
|
|
202
147
|
return `${SETUP_REPLAY_RETRY} (its first attempt's failure isn't classified)`;
|
|
203
148
|
}
|
|
204
|
-
/**
|
|
205
|
-
* An attempt interrupted before its candidate was even loaded (run 3326: the worker stopped under it — "The attempt was
|
|
206
|
-
* stopped before the prepared candidate was loaded."): it ran no check, so it is no check failure of the commit. Only
|
|
207
|
-
* the plane's own records say so, all of them at once: the run ended failed/interrupted, recorded no commit, and has no
|
|
208
|
-
* check attempt (sealed before any check command runs), no recorded check and no check log or receipt. Any attempt that
|
|
209
|
-
* got as far as its check keeps every rule below.
|
|
210
|
-
*/
|
|
211
149
|
export function ranNoCheck(store, row) {
|
|
212
150
|
if (!(endedInterrupted(row) || (row.outcome === "failed" && row.reason === "no-op")) || row.head !== null || row.checkRow !== null)
|
|
213
151
|
return false;
|
|
@@ -217,18 +155,9 @@ export function ranNoCheck(store, row) {
|
|
|
217
155
|
return false;
|
|
218
156
|
return row.reason === "interrupted" || refusedBeforeAnything(store, row.id);
|
|
219
157
|
}
|
|
220
|
-
/** The ledger entry the build writes when it refuses a prepared candidate before any process (builder.ts). */
|
|
221
158
|
export const NOTHING_STARTED_ACTION = "attempt refused before anything ran";
|
|
222
|
-
/** Every table a process, an agent or a check of this run writes. */
|
|
223
159
|
const RUN_TRACES = [["artifact", "run"], ["run_process", "run"], ["run_process_summary", "run"], ["run_tool", "run"], ["run_activity", "run"],
|
|
224
160
|
["check_stamp", "run_id"], ["release_check_attempt", "run"], ["run_note", "run"], ["agent_turn", "run"], ["run_checkpoint", "run"], ["run_decision", "run"]];
|
|
225
|
-
/**
|
|
226
|
-
* An attempt the build refused before anything ran (run 3332: Git couldn't read HEAD while it proved the candidate; the
|
|
227
|
-
* next attempt passed). A failed attempt with reason `no-op` proves nothing alone: an agent's empty result and a check's
|
|
228
|
-
* refusal end that way too. So the build's own ledger entry says so, written only where nothing has run, and the run's
|
|
229
|
-
* records agree: no base stamped, no provider start, session, tokens or commit, and not one row of any process, agent or
|
|
230
|
-
* check. All of them, or it stands as a failure, and a record that can't be read (an older database) never excuses one.
|
|
231
|
-
*/
|
|
232
161
|
function refusedBeforeAnything(store, runId) {
|
|
233
162
|
try {
|
|
234
163
|
const said = store.handle.prepare("SELECT COUNT(*) AS n FROM action_ledger WHERE run_id = ? AND action = ? AND outcome = 'refused'").get(runId, NOTHING_STARTED_ACTION)?.["n"];
|
|
@@ -237,8 +166,6 @@ function refusedBeforeAnything(store, runId) {
|
|
|
237
166
|
const run = store.handle.prepare("SELECT base_revision, head_revision, provider_started_at, session_id, tokens_in, tokens_out, cost_usd, committed FROM run WHERE id = ?").get(runId);
|
|
238
167
|
if (run === undefined || Object.values(run).some(value => value !== null))
|
|
239
168
|
return false;
|
|
240
|
-
// check_fact is a learning-loops table (eval-hooks.ts): read here in its own literal statement, never through the
|
|
241
|
-
// table list, so no SQL text that could name it is assembled outside its sole writer.
|
|
242
169
|
if (store.handle.prepare("SELECT 1 FROM check_fact WHERE run = ? LIMIT 1").get(runId) !== undefined)
|
|
243
170
|
return false;
|
|
244
171
|
return RUN_TRACES.every(([table, column]) => store.handle.prepare(`SELECT 1 FROM ${table} WHERE ${column} = ? LIMIT 1`).get(runId) === undefined);
|
|
@@ -247,7 +174,6 @@ function refusedBeforeAnything(store, runId) {
|
|
|
247
174
|
return false;
|
|
248
175
|
}
|
|
249
176
|
}
|
|
250
|
-
/** The task's finished builder runs under `digest`, oldest first, each with whether its check passed or never ran. */
|
|
251
177
|
function builderRuns(store, taskRef, digest) {
|
|
252
178
|
return store.handle.prepare(`SELECT r.id, r.outcome, r.reason, r.head_revision, r.scope_digest, r.finished_at, c.status, c.run AS check_row FROM run r LEFT JOIN run_check c ON c.run = r.id
|
|
253
179
|
WHERE r.task_ref = ? AND r.role = 'builder' AND r.finished_at IS NOT NULL AND r.scope_digest = ? ORDER BY r.id`).all(taskRef, digest)
|
|
@@ -255,18 +181,10 @@ function builderRuns(store, taskRef, digest) {
|
|
|
255
181
|
passed: (row["outcome"] === "built" || row["outcome"] === "no-change") && row["status"] === "passed",
|
|
256
182
|
noCheck: ranNoCheck(store, { id: Number(row["id"]), outcome: row["outcome"], reason: row["reason"], head: row["head_revision"] ?? null, checkRow: row["check_row"] ?? null }) }));
|
|
257
183
|
}
|
|
258
|
-
/** The reruns the release asked for on this task (each source run once): run id → its class. */
|
|
259
184
|
function reruns(store, taskId) {
|
|
260
185
|
const rows = store.handle.prepare("SELECT run_id, outcome FROM action_ledger WHERE task_id = ? AND action = ? AND run_id IS NOT NULL ORDER BY id").all(taskId, RELEASE_RECHECK_ACTION);
|
|
261
186
|
return new Map(rows.map(row => [Number(row["run_id"]), String(row["outcome"])]));
|
|
262
187
|
}
|
|
263
|
-
/**
|
|
264
|
-
* Whether a passing check of a release task stands, given every earlier attempt on the same candidate and signed scope:
|
|
265
|
-
* each earlier failure must be confirmed infrastructure the release itself reran (at most two), and nothing in the
|
|
266
|
-
* passing run may have passed only on a retry. A deterministic, unknown or agent failure before it isn't erased by a
|
|
267
|
-
* later pass: a person decides. `retried` is reported even when it stands (a person's approval reads it; an automatic
|
|
268
|
-
* one refuses on it).
|
|
269
|
-
*/
|
|
270
188
|
export function releaseCheckStanding(store, root, input) {
|
|
271
189
|
const ref = store.lookupRef(input.taskId);
|
|
272
190
|
const scope = store.getScope(input.taskId);
|
|
@@ -282,7 +200,6 @@ export function releaseCheckStanding(store, root, input) {
|
|
|
282
200
|
for (const one of builderRuns(store, ref.id, digest)) {
|
|
283
201
|
if (one.id >= input.run || one.passed)
|
|
284
202
|
continue;
|
|
285
|
-
// Interrupted before its candidate was loaded: no check ran, so there is no check failure to stand against a pass.
|
|
286
203
|
if (one.noCheck)
|
|
287
204
|
continue;
|
|
288
205
|
const classified = one.outcome === "built" || one.outcome === "no-change" ? classifyRunCheck(store, root, one.id) : { class: "unknown", why: `its build ended ${one.outcome ?? "without an outcome"}` };
|
|
@@ -304,18 +221,11 @@ export const classWords = (kind) => ({
|
|
|
304
221
|
unknown: "unexplained: a person decides",
|
|
305
222
|
"agent-behaviour": "a real-model journey: counted, never rerun to pass",
|
|
306
223
|
}[kind]);
|
|
307
|
-
/**
|
|
308
|
-
* After a failed release check: the plane classifies the task's newest attempt from its own records and, only for
|
|
309
|
-
* confirmed infrastructure within its limits (one rerun per incident, two per candidate), runs the check again on the
|
|
310
|
-
* same candidate under the same approval (dispose.ts regateTask keeps candidate, scope and approval). Every attempt
|
|
311
|
-
* stays in the evidence; each rerun is in the ledger with its class. Anything else stops, saying which class and why.
|
|
312
|
-
*/
|
|
313
224
|
export function recheckReleaseTask(store, root, taskId, now) {
|
|
314
225
|
const ref = store.lookupRef(taskId);
|
|
315
226
|
const scope = store.getScope(taskId);
|
|
316
227
|
if (ref === null || scope === null || !releaseCheckScope(scope) || (scope.candidate ?? null) === null)
|
|
317
228
|
return { action: "stop", class: null, why: `${taskId} isn't a release task`, source: null };
|
|
318
|
-
// One transaction: the binding, the rerun and its ledger row are read and land together, or nothing does.
|
|
319
229
|
return store.transact(() => {
|
|
320
230
|
const bound = releasePurposeBinding(store, store.getScope(taskId) ?? scope, ref.repo);
|
|
321
231
|
if (bound !== null)
|
|
@@ -323,13 +233,6 @@ export function recheckReleaseTask(store, root, taskId, now) {
|
|
|
323
233
|
return recheckInside(store, root, taskId, ref.repo, String(scope.candidate), now);
|
|
324
234
|
});
|
|
325
235
|
}
|
|
326
|
-
/**
|
|
327
|
-
* Why the release's sealed purpose no longer names this exact check, or null when it does (pipeline-speed.md, P0). A
|
|
328
|
-
* release check purpose (a release that can't carry) authorizes a rerun only of the identical approved candidate: its
|
|
329
|
-
* sealed commit is the scope's candidate, its project is the task's, the project's live release check grant is the one
|
|
330
|
-
* sealed and its check access is the one sealed. Signed terms keep their own rules (a carried commit's candidate is
|
|
331
|
-
* not the terms' first commit) and are held to the same project and grant.
|
|
332
|
-
*/
|
|
333
236
|
function releasePurposeBinding(store, scope, repo) {
|
|
334
237
|
const sealed = scope.releaseTerms ?? scope.releaseCheck ?? null;
|
|
335
238
|
if (sealed === null)
|
|
@@ -351,7 +254,6 @@ function recheckInside(store, root, taskId, repo, candidate, now) {
|
|
|
351
254
|
if (last === null)
|
|
352
255
|
return { action: "stop", class: null, why: `${taskId} has no finished attempt`, source: null };
|
|
353
256
|
const asked = reruns(store, taskId);
|
|
354
|
-
// Already rerun for this incident: the new attempt is queued or running.
|
|
355
257
|
if (asked.has(last.id))
|
|
356
258
|
return { action: "pending", source: last.id };
|
|
357
259
|
const classified = last.outcome === "built" || last.outcome === "no-change" ? classifyRunCheck(store, root, last.id) : { class: "unknown", why: `its build ended ${last.outcome ?? "without an outcome"}` };
|
package/dist/check-levels-ui.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
/** Settings → Projects → Checks: how much checks after each build, in plain
|
|
2
|
-
* words. One choice (Quick, Full, Off) and the quick command beside the full
|
|
3
|
-
* one. Every change takes the password and lands in the ledger; approving a
|
|
4
|
-
* command restates exactly what will run, unattended, before the yes. */
|
|
5
1
|
import { html, joinHtml } from "./html.js";
|
|
6
2
|
import { CHECK_LEVELS, CHECK_LEVEL_HINTS, CHECK_LEVEL_WORDS } from "./check-levels.js";
|
|
7
3
|
import { BATCH_HINT } from "./batch-policy.js";
|
|
8
4
|
import { codeLine, disclose, formRow, infoLine, input, note, notice, radios, settingsSection, textarea } from "./server/kit.js";
|
|
9
5
|
import { kitSectionForm } from "./settings-kit.js";
|
|
6
|
+
const shellWord = (value) => /^[A-Za-z0-9_./~@%+=:,-]+$/.test(value) ? value : `'${value.replace(/'/g, `'\\''`)}'`;
|
|
10
7
|
const list = (items) => html `<ul class="k-note">${items.map(one => html `<li>${one}</li>`)}</ul>`;
|
|
11
8
|
export function checkSettingsHtml(view) {
|
|
12
9
|
const form = (id, act, body, save, extra = {}) => kitSectionForm({ proof: "checks", action: "/settings/checks", id, hidden: { repo: view.repo, act, ...extra }, save, body });
|
|
@@ -16,7 +13,6 @@ export function checkSettingsHtml(view) {
|
|
|
16
13
|
note(html `${view.name} · <span class="k-mono">${view.repo}</span>`),
|
|
17
14
|
]);
|
|
18
15
|
const command = (one) => joinHtml([codeLine(one.command), note(`Up to ${Math.round(one.timeoutMs / 1000)}s · approved by ${one.approvedBy}`)]);
|
|
19
|
-
// Quick with no quick command runs the full check; say so where the choice is made.
|
|
20
16
|
const fallsBack = view.level === "quick" && view.quick === null;
|
|
21
17
|
const levelNotes = joinHtml([
|
|
22
18
|
fallsBack ? note("No quick command yet, so builds run the full check.") : "",
|
|
@@ -46,10 +42,11 @@ export function checkSettingsHtml(view) {
|
|
|
46
42
|
])]) });
|
|
47
43
|
const full = settingsSection({ id: "full-check", title: "Full check", state: view.full === null ? " · None yet" : "",
|
|
48
44
|
body: view.full === null
|
|
49
|
-
? joinHtml([note("
|
|
45
|
+
? joinHtml([note("Set the command that tests this project from the command line, for example npm test:"),
|
|
46
|
+
codeLine(`toolroll verify set --repo ${shellWord(view.repo)} --command "npm test"`),
|
|
47
|
+
view.needsPassword === true ? note("Setting a check needs a password. Run toolroll password set first.") : ""])
|
|
50
48
|
: command(view.full) });
|
|
51
49
|
return joinHtml([head, level, fastHtml(view), batchHtml(view), reviewHtml(view), quick, full]);
|
|
52
|
-
/** Small tasks: one state, one sentence, and its one change behind a disclosure (the password). */
|
|
53
50
|
function fastHtml(view) {
|
|
54
51
|
if (view.fast === undefined)
|
|
55
52
|
return "";
|
|
@@ -58,7 +55,6 @@ export function checkSettingsHtml(view) {
|
|
|
58
55
|
lead: "New task shows the exact terms and Build approves them, with no plan step. It takes a person, and only small, ordinary changes.",
|
|
59
56
|
body: view.canChange ? disclose(act, form("small-tasks-form", "small-tasks", html ``, { label: act, variant: "outline" }, { on: view.fast.on ? "0" : "1" })) : "" });
|
|
60
57
|
}
|
|
61
|
-
/** Batch checks: one state and one sentence; turning it on restates exactly what happens before the password. */
|
|
62
58
|
function batchHtml(view) {
|
|
63
59
|
const batch = view.batch;
|
|
64
60
|
if (batch === undefined)
|
|
@@ -72,7 +68,6 @@ export function checkSettingsHtml(view) {
|
|
|
72
68
|
body: joinHtml([batch.on && view.level !== "full" ? note("Only Full checks are batched.") : "",
|
|
73
69
|
view.canChange ? disclose(act, form("batch-form", "batch", terms, { label: act, variant: "outline" }, { on: batch.on ? "0" : "1" })) : ""]) });
|
|
74
70
|
}
|
|
75
|
-
/** Automatic review: one state, one sentence, and its one change behind a disclosure (the password). */
|
|
76
71
|
function reviewHtml(view) {
|
|
77
72
|
const review = view.review;
|
|
78
73
|
if (review === undefined)
|
|
@@ -84,7 +79,6 @@ export function checkSettingsHtml(view) {
|
|
|
84
79
|
body: view.canChange ? disclose(act, form("review-form", "review", html ``, { label: act, variant: "outline" }, { on: review.on ? "0" : "1" })) : "" });
|
|
85
80
|
}
|
|
86
81
|
}
|
|
87
|
-
/** The follow-up list's look (result-follow-ups.ts); the checks page itself is kit markup. */
|
|
88
82
|
export const CHECK_SETTINGS_CSS = `
|
|
89
83
|
.follow-ups .follow-up-list { margin: .4rem 0; padding-left: 1.1rem; display: grid; gap: .25rem; }
|
|
90
84
|
.follow-ups .follow-up-acts, .follow-ups .follow-up-act { display: flex; flex-wrap: wrap; gap: .5rem; margin: .5rem 0 0; }
|
package/dist/check-levels.js
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/** Check levels: how much of the project check runs after a build.
|
|
2
|
-
*
|
|
3
|
-
* - Quick: a fast check while work is in progress (typecheck plus the tests
|
|
4
|
-
* near the change). New projects start here.
|
|
5
|
-
* - Full: the project's approved check, as before. Projects that already
|
|
6
|
-
* had a check keep it.
|
|
7
|
-
* - Off: no check. The result reads Ready for review, with "Checks: Off for this project" underneath.
|
|
8
|
-
*
|
|
9
|
-
* Nothing here needs a new table. A project's level and a task's choice are
|
|
10
|
-
* append-only ledger entries (the newest one wins, and the ledger already
|
|
11
|
-
* says who changed what, when). The quick command is a second approved
|
|
12
|
-
* verification grant with its own digest, kept under a `quick:` key beside
|
|
13
|
-
* the full one, so approving it is the same ceremony as `verify set`. */
|
|
14
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
15
2
|
import { join } from "node:path";
|
|
16
3
|
import { approvalOf } from "./scope.js";
|
|
@@ -22,16 +9,16 @@ export const CHECK_LEVEL_HINTS = {
|
|
|
22
9
|
full: "The project's full check after every build.",
|
|
23
10
|
off: "No check. Results are Ready for review, and say no check ran.",
|
|
24
11
|
};
|
|
25
|
-
/** Ledger actions. The ledger is append-only, so the newest entry is the setting. */
|
|
26
12
|
export const PROJECT_LEVEL_ACTION = "check level changed";
|
|
27
13
|
export const TASK_LEVEL_ACTION = "task checks chosen";
|
|
28
14
|
export const RUN_LEVEL_ACTION = "checks used";
|
|
29
|
-
/** The quick command's grant lives beside the full one under its own key. */
|
|
30
15
|
export const quickVerifyKey = (repo) => `quick:${repo}`;
|
|
31
16
|
export function liveQuickCommand(store, repo) {
|
|
32
17
|
return store.liveVerifyCommand(quickVerifyKey(repo));
|
|
33
18
|
}
|
|
34
|
-
|
|
19
|
+
export function projectCheckSet(store, repo) {
|
|
20
|
+
return store.liveVerifyCommand(repo) !== null || liveQuickCommand(store, repo) !== null;
|
|
21
|
+
}
|
|
35
22
|
export const repoClause = (repo) => repo === null ? ["repo IS NULL", []] : ["repo = ?", [repo]];
|
|
36
23
|
export function repoOfRun(store, runId) {
|
|
37
24
|
const run = store.getRun(runId);
|
|
@@ -41,16 +28,12 @@ function newest(store, sql, ...params) {
|
|
|
41
28
|
const row = store.handle.prepare(sql).get(...params);
|
|
42
29
|
return row === undefined ? null : { actor: String(row["actor"]), at: String(row["at"]), outcome: String(row["outcome"]) };
|
|
43
30
|
}
|
|
44
|
-
/** A project's level. With nothing recorded it is Full: a project that existed
|
|
45
|
-
* before levels keeps exactly the check it had. New projects are stamped Quick
|
|
46
|
-
* when they are added (stampNewProjectLevel). */
|
|
47
31
|
export function projectCheckLevel(store, repo) {
|
|
48
32
|
const row = newest(store, "SELECT actor, at, outcome FROM action_ledger WHERE repo = ? AND task_id IS NULL AND action = ? ORDER BY id DESC LIMIT 1", repo, PROJECT_LEVEL_ACTION);
|
|
49
33
|
if (row === null || !isCheckLevel(row.outcome))
|
|
50
34
|
return { level: "full", setBy: null, at: null };
|
|
51
35
|
return { level: row.outcome, setBy: row.actor, at: row.at };
|
|
52
36
|
}
|
|
53
|
-
/** An approver's act: set the project's level. The ledger keeps before → after. */
|
|
54
37
|
export function setProjectCheckLevel(store, repo, level, by, now) {
|
|
55
38
|
const before = projectCheckLevel(store, repo);
|
|
56
39
|
if (before.level === level && before.setBy !== null)
|
|
@@ -59,8 +42,6 @@ export function setProjectCheckLevel(store, repo, level, by, now) {
|
|
|
59
42
|
detail: `${CHECK_LEVEL_WORDS[before.level]} → ${CHECK_LEVEL_WORDS[level]}` });
|
|
60
43
|
return { changed: before.level !== level, before: before.level };
|
|
61
44
|
}
|
|
62
|
-
/** A project added from now on starts on Quick. One that already has a level,
|
|
63
|
-
* or an approved check from before levels existed, is left exactly as it is. */
|
|
64
45
|
export function stampNewProjectLevel(store, repo, now) {
|
|
65
46
|
const known = newest(store, "SELECT actor, at, outcome FROM action_ledger WHERE repo = ? AND task_id IS NULL AND action = ? LIMIT 1", repo, PROJECT_LEVEL_ACTION);
|
|
66
47
|
if (known !== null)
|
|
@@ -72,7 +53,6 @@ export function stampNewProjectLevel(store, repo, now) {
|
|
|
72
53
|
detail: "New project → Quick" });
|
|
73
54
|
return true;
|
|
74
55
|
}
|
|
75
|
-
/** A task's own choice, if it made one; a revision inherits the task it revises. */
|
|
76
56
|
export function taskCheckLevel(store, taskId) {
|
|
77
57
|
let id = taskId;
|
|
78
58
|
for (let depth = 0; id !== null && depth < 64; depth++) {
|
|
@@ -85,8 +65,6 @@ export function taskCheckLevel(store, taskId) {
|
|
|
85
65
|
}
|
|
86
66
|
return null;
|
|
87
67
|
}
|
|
88
|
-
/** A filing choice: this task's checks, overriding the project. Fixed once its
|
|
89
|
-
* plan is approved, so what the approver saw is what runs. */
|
|
90
68
|
export function setTaskCheckLevel(store, taskId, level, by, now) {
|
|
91
69
|
const ref = store.lookupRef(taskId);
|
|
92
70
|
if (ref === null)
|
|
@@ -106,8 +84,6 @@ export function effectiveCheckLevel(store, repo, taskId) {
|
|
|
106
84
|
return { level: own, from: "task" };
|
|
107
85
|
return { level: repo === null ? "full" : projectCheckLevel(store, repo).level, from: "project" };
|
|
108
86
|
}
|
|
109
|
-
/** The command a level runs. Quick without its own command runs the full one
|
|
110
|
-
* (and says so: the level that ran is Full). Off runs nothing. */
|
|
111
87
|
export function checkCommandFor(store, repo, level) {
|
|
112
88
|
if (level === "off")
|
|
113
89
|
return { level: "off", command: null };
|
|
@@ -118,24 +94,18 @@ export function checkCommandFor(store, repo, level) {
|
|
|
118
94
|
}
|
|
119
95
|
return { level: "full", command: store.liveVerifyCommand(repo) };
|
|
120
96
|
}
|
|
121
|
-
/** Readiness uses the result's level, falling back to the task/project for legacy
|
|
122
|
-
* runs. Quick's approved command (or its Full fallback) is required; Off is not. */
|
|
123
97
|
export function requiredCheckCommandFor(store, repo, taskId, level) {
|
|
124
98
|
return repo === null ? null : checkCommandFor(store, repo, level ?? effectiveCheckLevel(store, repo, taskId).level).command;
|
|
125
99
|
}
|
|
126
|
-
/** The builder records which level a run used, so its result says it honestly. */
|
|
127
100
|
export function recordRunCheckLevel(store, run, level, from, now) {
|
|
128
101
|
store.recordAction({ at: now.toISOString(), actor: "system", repo: run.repo, taskId: run.taskId, runId: run.id, action: RUN_LEVEL_ACTION, outcome: level, source: "work",
|
|
129
102
|
detail: `${CHECK_LEVEL_WORDS[level]} checks (${from === "task" ? "this task's choice" : "project setting"})` });
|
|
130
103
|
}
|
|
131
|
-
/** The level a finished run's checks used; null for a run from before levels. */
|
|
132
104
|
export function runCheckLevel(store, runId) {
|
|
133
105
|
const [where, params] = repoClause(repoOfRun(store, runId));
|
|
134
106
|
const row = newest(store, `SELECT actor, at, outcome FROM action_ledger WHERE ${where} AND run_id = ? AND action = ? ORDER BY id DESC LIMIT 1`, ...params, runId, RUN_LEVEL_ACTION);
|
|
135
107
|
return row !== null && isCheckLevel(row.outcome) ? row.outcome : null;
|
|
136
108
|
}
|
|
137
|
-
/** A starting point for the quick command, from the project's own scripts.
|
|
138
|
-
* It is only a suggestion: a person approves the exact command. */
|
|
139
109
|
export function suggestQuickCommand(repo) {
|
|
140
110
|
const file = join(repo, "package.json");
|
|
141
111
|
if (!existsSync(file))
|
|
@@ -153,7 +123,6 @@ export function suggestQuickCommand(repo) {
|
|
|
153
123
|
const has = (name) => typeof scripts[name] === "string";
|
|
154
124
|
const runner = existsSync(join(repo, "pnpm-lock.yaml")) ? "pnpm" : existsSync(join(repo, "yarn.lock")) ? "yarn" : "npm";
|
|
155
125
|
const run = (name) => runner === "npm" ? `npm run ${name}` : `${runner} ${name}`;
|
|
156
|
-
// A project's own quick script knows its tests best (Toolroll's runs the attack suite when a guard changes).
|
|
157
126
|
if (has("check:quick"))
|
|
158
127
|
return run("check:quick");
|
|
159
128
|
const exec = runner === "npm" ? "npx" : `${runner} exec`;
|
|
@@ -166,7 +135,6 @@ export function suggestQuickCommand(repo) {
|
|
|
166
135
|
return parts.join(" && ");
|
|
167
136
|
return has("lint") ? run("lint") : null;
|
|
168
137
|
}
|
|
169
|
-
/** "skip the tests", "run the full checks": a filing request in chat, as a level. */
|
|
170
138
|
export function checkLevelFromWords(text) {
|
|
171
139
|
const said = text.toLowerCase().replace(/[’']/g, "'");
|
|
172
140
|
if (/\b(skip|without|no|don't run|do not run|turn off|switch off)\b[^.!?\n]{0,20}\b(the )?(tests|checks)\b/.test(said) || /\b(tests|checks) off\b/.test(said))
|
package/dist/check-load.js
CHANGED
|
@@ -1,40 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The plane's own record of the machine a release check ran on (docs/plans/heavy-jobs.md, layer 1b). The check sizes
|
|
3
|
-
* its budget from the load it finds (scripts/release-check.mjs checkBudget), so on a busy machine it runs on one or two
|
|
4
|
-
* lanes — and ran out of its approved hour twice in one evening (runs 3311 and 3315), which read as an unexplained
|
|
5
|
-
* failure a person had to re-approve.
|
|
6
|
-
*
|
|
7
|
-
* Two plane-side answers, never the check's own words:
|
|
8
|
-
* - the limit: a release check that starts with its budget cut to half its normal size or less gets more time, in
|
|
9
|
-
* proportion to the budget it lost, never more than twice the approved limit nor past a hard ceiling (two hours);
|
|
10
|
-
* - the evidence: the load the plane measured itself (when the check started and every 15 s while it ran), the limit
|
|
11
|
-
* it gave and why, and how long the check ran, sealed beside its receipt (CHECK_LOAD_CAPTURE). check-failure.ts reads
|
|
12
|
-
* only this record — never the check's output or report — to call a timeout under a cut budget the machine's own
|
|
13
|
-
* fault. Nothing the candidate writes can make a failure infrastructure.
|
|
14
|
-
*
|
|
15
|
-
* The budget arithmetic is the plane's copy of the check's (src/check-load.test.ts holds them equal), so the budget the
|
|
16
|
-
* plane judges is the one the check gives itself from the same load.
|
|
17
|
-
*/
|
|
18
1
|
import { availableParallelism, loadavg } from "node:os";
|
|
19
2
|
import { z } from "zod";
|
|
20
3
|
export const CHECK_LOAD_CAPTURE = "release check load v1";
|
|
21
4
|
export const machineSample = (platform = process.platform, read = loadavg, cores = availableParallelism) => ({ cores: cores(), load: platform === "win32" ? Number.NaN : read()[0] ?? Number.NaN });
|
|
22
|
-
/** The check's budget on a quiet machine: three quarters of the cores, at least 2 (release-check.mjs checkBudget). */
|
|
23
5
|
export const normalFree = (cores) => Math.max(2, Math.floor(cores * 0.75));
|
|
24
|
-
/** The check's budget under `load` (release-check.mjs checkBudget's `free`). Unmeasured load budgets from the cores. */
|
|
25
6
|
export const freeAt = (cores, load) => Math.max(2, normalFree(cores) - (Number.isFinite(load) && load > 0 ? Math.floor(load) : 0));
|
|
26
|
-
/** Cut: the budget is at most half its normal size. Unmeasured load is never cut. */
|
|
27
7
|
export const budgetCut = (cores, load) => Number.isFinite(load) && freeAt(cores, load) * 2 <= normalFree(cores);
|
|
28
|
-
/** A release check's limit never goes past this, however busy the machine. */
|
|
29
8
|
export const CHECK_LIMIT_CEILING_MS = 120 * 60_000;
|
|
30
|
-
/** …nor past this many times the approved limit. */
|
|
31
9
|
export const CHECK_LIMIT_MAX_FACTOR = 2;
|
|
32
10
|
const minutes = (ms) => `${Math.round(ms / 60_000)} min`;
|
|
33
|
-
/**
|
|
34
|
-
* The limit a release check runs under: the approved one, unless the machine's load at its start cuts the check's
|
|
35
|
-
* budget to half or less — then the approved limit times normal/granted, at most twice it and never past the ceiling
|
|
36
|
-
* (an approved limit already at or past the ceiling is never extended). `why` says which, in words.
|
|
37
|
-
*/
|
|
38
11
|
export function checkLimitFor(grantMs, sample) {
|
|
39
12
|
const normal = normalFree(sample.cores), free = freeAt(sample.cores, sample.load);
|
|
40
13
|
if (!budgetCut(sample.cores, sample.load)) {
|
|
@@ -44,12 +17,7 @@ export function checkLimitFor(grantMs, sample) {
|
|
|
44
17
|
const limitMs = Math.min(ceiling, Math.round(grantMs * normal / free));
|
|
45
18
|
return { limitMs, why: `the approved ${minutes(grantMs)}${limitMs > grantMs ? `, extended to ${minutes(limitMs)}` : ", not extended (it is at the ceiling)"}: load ${sample.load.toFixed(1)} on ${sample.cores} cores left the check ${free} of its normal ${normal}, so it gets time in proportion, at most ${minutes(ceiling)}` };
|
|
46
19
|
}
|
|
47
|
-
/** When a check ends itself before its limit (release-check.mjs checkDeadline, from its start): src/check-load.test.ts
|
|
48
|
-
* holds the two equal. A check that ran at least this long ran into its own limit. */
|
|
49
20
|
export const selfStopAfter = (limitMs) => limitMs - Math.min(Math.max(3 * 60_000, Math.round(limitMs / 10)), Math.round(limitMs / 2));
|
|
50
|
-
/** The samples read for the budget the check started with: the check waits up to ten minutes for the load to drop
|
|
51
|
-
* (release-check.mjs), so the least load in its first eleven — before its own load counts — is what it budgeted from at
|
|
52
|
-
* best. The least, so a check that found a quieter moment is never called cut. */
|
|
53
21
|
export const CUT_WINDOW_MS = 11 * 60_000;
|
|
54
22
|
const SAMPLE_EVERY_MS = 15_000;
|
|
55
23
|
const MAX_SAMPLES = 1000;
|
|
@@ -60,27 +28,17 @@ const recordSchema = z.strictObject({
|
|
|
60
28
|
limitMs: z.int().min(1),
|
|
61
29
|
why: z.string().max(1000),
|
|
62
30
|
startedAt: z.string().max(40),
|
|
63
|
-
/** How long the check's last attempt ran, by the plane's clock (null: it never started). */
|
|
64
31
|
elapsedMs: z.int().min(0).nullable(),
|
|
65
|
-
/** Each reading, `atMs` after the check started; null where load isn't measured. */
|
|
66
32
|
samples: z.array(z.strictObject({ atMs: z.int().min(0), load: z.number().min(0).nullable() })).max(MAX_SAMPLES),
|
|
67
33
|
});
|
|
68
|
-
/** A sealed record read back, or null when it isn't one (an older run has none: then nothing is excused). */
|
|
69
34
|
export function readCheckLoad(value) {
|
|
70
35
|
const read = recordSchema.safeParse(value);
|
|
71
36
|
if (!read.success)
|
|
72
37
|
return null;
|
|
73
38
|
const record = read.data;
|
|
74
|
-
// A limit the plane could never have given is no record at all.
|
|
75
39
|
const ceiling = Math.max(record.grantMs, Math.min(record.grantMs * CHECK_LIMIT_MAX_FACTOR, CHECK_LIMIT_CEILING_MS));
|
|
76
40
|
return record.limitMs < record.grantMs || record.limitMs > ceiling ? null : record;
|
|
77
41
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Why a release check that ran out of time did so because the machine was busy — or null. Every fact is the plane's:
|
|
80
|
-
* its load readings in the first eleven minutes (the least of them) cut the check's budget to half or less, and the
|
|
81
|
-
* check's last attempt ran into its own limit (at least `selfStopAfter(limitMs)`), or the plane stopped it at the limit
|
|
82
|
-
* (`stoppedAtLimit`). A check with its normal budget that times out is never excused here: a real hang stays a failure.
|
|
83
|
-
*/
|
|
84
42
|
export function busyMachineTimeout(record, grantMs, stoppedAtLimit) {
|
|
85
43
|
if (record === null || record.grantMs !== grantMs)
|
|
86
44
|
return null;
|
|
@@ -94,10 +52,6 @@ export function busyMachineTimeout(record, grantMs, stoppedAtLimit) {
|
|
|
94
52
|
return null;
|
|
95
53
|
return `the machine was busy: its load stayed at ${least.toFixed(1)} or more on ${record.cores} cores as the check started, cutting its budget to ${freeAt(record.cores, least)} of its normal ${normalFree(record.cores)} cores, and it ran out of its ${minutes(record.limitMs)}`;
|
|
96
54
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Watches one release check: the limit at its start, the load every 15 s while it runs, and how long its last attempt
|
|
99
|
-
* took. Advisory to the check itself (the limit is a plane value the check is told), and the only source of the record.
|
|
100
|
-
*/
|
|
101
55
|
export class CheckLoadWatch {
|
|
102
56
|
grantMs;
|
|
103
57
|
options;
|
|
@@ -123,7 +77,7 @@ export class CheckLoadWatch {
|
|
|
123
77
|
this.timer = every > 0 ? setInterval(() => { try {
|
|
124
78
|
this.push(clock() - this.started, sample().load);
|
|
125
79
|
}
|
|
126
|
-
catch {
|
|
80
|
+
catch { } }, every) : null;
|
|
127
81
|
this.timer?.unref?.();
|
|
128
82
|
}
|
|
129
83
|
push(atMs, load) {
|
|
@@ -134,11 +88,9 @@ export class CheckLoadWatch {
|
|
|
134
88
|
}
|
|
135
89
|
this.samples.push({ atMs: Math.max(0, Math.round(atMs)), load: Number.isFinite(load) && load >= 0 ? Math.round(load * 100) / 100 : null });
|
|
136
90
|
}
|
|
137
|
-
/** Around each attempt of the command: the last one's time is the record's. */
|
|
138
91
|
attemptStarted() { this.attemptStart = (this.options.clock ?? Date.now)(); }
|
|
139
92
|
attemptEnded() { if (this.attemptStart !== null)
|
|
140
93
|
this.elapsed = Math.max(0, Math.round((this.options.clock ?? Date.now)() - this.attemptStart)); }
|
|
141
|
-
/** Stops the readings and gives the record to seal. */
|
|
142
94
|
finish() {
|
|
143
95
|
if (this.timer !== null)
|
|
144
96
|
clearInterval(this.timer);
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** Whether a check-only authorization stands for one automatic recheck (check-only.ts), read at every step. Kept apart
|
|
2
|
-
* from the sweep so the follow-up runner reads it without loading the road that asks. */
|
|
3
1
|
import { authorityStandsSql } from "./approval-authority.js";
|
|
4
2
|
import { checkAccessOf } from "./check-access.js";
|
|
5
3
|
import { refArchived } from "./task-archive.js";
|
|
@@ -8,15 +6,12 @@ export function readAuthorization(row) {
|
|
|
8
6
|
level: row["level"] === "quick" ? "quick" : "full", access: checkAccessOf(row["check_access"]), scopeDigest: String(row["scope_digest"]), expiresAt: String(row["expires_at"]),
|
|
9
7
|
usedRequest: row["used_request"] === null || row["used_request"] === undefined ? null : Number(row["used_request"]) };
|
|
10
8
|
}
|
|
11
|
-
/** The approval an authorization stands on: the plan's seal, on these exact bytes, still standing as dispatch reads it. */
|
|
12
9
|
export function approvedScopeStands(store, taskRef, scopeDigest, now) {
|
|
13
10
|
const stamp = now.toISOString();
|
|
14
11
|
return store.handle.prepare(`SELECT 1 AS hit FROM task_scope JOIN task_ref ON task_ref.id = ? AND task_scope.task_id = task_ref.external_id
|
|
15
12
|
WHERE task_scope.digest = ? AND task_scope.approved_digest = task_scope.digest AND task_scope.approved_at IS NOT NULL
|
|
16
13
|
AND ${authorityStandsSql("task_scope", "task_ref.repo", "?")}`).get(taskRef, scopeDigest, stamp, stamp, stamp, stamp) !== undefined;
|
|
17
14
|
}
|
|
18
|
-
/** The plain reason an authorization doesn't stand, or null: this exact commit and command, on the result it was
|
|
19
|
-
* written for, under the same standing approval, not put away. */
|
|
20
15
|
export function authorizationProblem(store, auth, input, now) {
|
|
21
16
|
if (auth.candidate !== input.head)
|
|
22
17
|
return "The commit changed.";
|
|
@@ -28,7 +23,6 @@ export function authorizationProblem(store, auth, input, now) {
|
|
|
28
23
|
return "Its approval no longer stands.";
|
|
29
24
|
return null;
|
|
30
25
|
}
|
|
31
|
-
/** At the run: the used authorization this request claimed. */
|
|
32
26
|
export function recheckStanding(store, input) {
|
|
33
27
|
const row = store.handle.prepare("SELECT * FROM check_authorization WHERE used_request = ? AND run = ?").get(input.request, input.runId);
|
|
34
28
|
if (row === undefined)
|