toolroll 0.9.103 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/README.md +27 -27
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +117 -103
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +3 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +2 -16
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +168 -0
- package/dist/local-owner.js +15 -80
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +2 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +280 -2304
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +3 -18
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +11 -30
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +6 -74
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +26 -103
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +9 -28
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +88 -566
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +29 -564
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +9 -86
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +17 -497
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +8 -133
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +12 -227
- package/dist/server/tasks.js +37 -531
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +8 -73
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +66 -19
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +91 -40
- package/dist/tui.js +54 -54
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +5 -4
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -318
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1972
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -539
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -41
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner.d.ts +0 -124
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -52
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -156
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -35
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1067
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -80
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -59
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -754
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -774
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -342
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -83
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -30
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -144
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/live.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The live window (arc 1): what the running agent is saying, on disk, for
|
|
3
|
-
* the run page to poll — and NOTHING else.
|
|
4
|
-
*
|
|
5
|
-
* This file is display state, not evidence. No artifact row points at it,
|
|
6
|
-
* no digest binds it, and the page that renders it says so: the machine
|
|
7
|
-
* running the agent could alter it. It exists so a person can watch work
|
|
8
|
-
* happen without a terminal, and every byte in it went through the same
|
|
9
|
-
* sanitize discipline as the peek: controls stripped, credential-shaped
|
|
10
|
-
* lines replaced whole, tool activity described in OUR fixed vocabulary —
|
|
11
|
-
* event metadata is never echoed.
|
|
12
|
-
*
|
|
13
|
-
* Fail-soft everywhere: a live view that cannot be written must never
|
|
14
|
-
* break, slow, or reclassify a build.
|
|
15
|
-
*/
|
|
16
1
|
import { randomBytes } from "node:crypto";
|
|
17
2
|
import { closeSync, constants, fstatSync, linkSync, lstatSync, mkdirSync, openSync, readSync, readdirSync, renameSync, statSync, unlinkSync, writeSync } from "node:fs";
|
|
18
3
|
import { join } from "node:path";
|
|
@@ -23,34 +8,23 @@ import { topLevelEvent } from "./stream-scope.js";
|
|
|
23
8
|
export const LIVE_LINE_CAP = 2 * 1024;
|
|
24
9
|
export const LIVE_FILE_CAP = 4 * 1024 * 1024;
|
|
25
10
|
export const LIVE_REDACTED_LINE = "[a credential-shaped line was redacted]";
|
|
26
|
-
/** Finalized runs keep their live file this long for the final drain. */
|
|
27
11
|
export const LIVE_RETAIN_MS = 24 * 60 * 60 * 1000;
|
|
28
|
-
/** The bounded sweep: at most this many FINALIZED runs' files survive a pass (a run's records and its subagents' file
|
|
29
|
-
* count as one). */
|
|
30
12
|
export const LIVE_FILE_BOUND = 500;
|
|
31
|
-
/** A run's subagent file (docs/plans/agents-view.md §2.3) is never larger than this; its writer stops there. */
|
|
32
13
|
export const LIVE_SUB_FILE_CAP = 16 * 1024 * 1024;
|
|
33
|
-
/** All finished and orphan live files together stay under this; the oldest runs go first past it. */
|
|
34
14
|
export const LIVE_TOTAL_BYTES = 1024 * 1024 * 1024;
|
|
35
15
|
export function liveDir(root) {
|
|
36
16
|
return join(root, "live");
|
|
37
17
|
}
|
|
38
|
-
/** The exact filename, from the numeric id and nothing else — no user
|
|
39
|
-
* input is ever parsed into this path. Records (`.jsonl`) are what every
|
|
40
|
-
* run writes now; the name is the format. */
|
|
41
18
|
export function liveLogPath(root, runId) {
|
|
42
19
|
return join(liveDir(root), `${Math.trunc(runId)}.jsonl`);
|
|
43
20
|
}
|
|
44
|
-
/** A run's subagents' records (docs/plans/agents-view.md §2.3): the run's file, swept with it. */
|
|
45
21
|
export function liveSubLogPath(root, runId) {
|
|
46
22
|
return join(liveDir(root), `${Math.trunc(runId)}.sub.jsonl`);
|
|
47
23
|
}
|
|
48
|
-
/** The plain-text file runs wrote before the live conversation; read until it ages out. */
|
|
49
24
|
export function legacyLiveLogPath(root, runId) {
|
|
50
25
|
return join(liveDir(root), `${Math.trunc(runId)}.log`);
|
|
51
26
|
}
|
|
52
27
|
export { LIVE_ACTIVITY_KINDS } from "./live-records.js";
|
|
53
|
-
/** The activity line's kinds for known Claude tools (task-activity.ts). */
|
|
54
28
|
const TOOL_KINDS = new Map([
|
|
55
29
|
["Edit", "edit"],
|
|
56
30
|
["Write", "edit"],
|
|
@@ -67,14 +41,8 @@ const TOOL_KINDS = new Map([
|
|
|
67
41
|
["Task", "delegate"],
|
|
68
42
|
]);
|
|
69
43
|
const toolKind = (name) => TOOL_KINDS.get(typeof name === "string" ? name : "") ?? "tool";
|
|
70
|
-
/**
|
|
71
|
-
* What one stream event says the agent just did, as one fixed kind: the
|
|
72
|
-
* last-activity line's only input. Never text, names or arguments; an
|
|
73
|
-
* event that says nothing (results, deltas, subagent chatter) is null.
|
|
74
|
-
*/
|
|
75
44
|
export function liveActivityKind(event) {
|
|
76
45
|
try {
|
|
77
|
-
// A subagent's events, of every type, are not this run's activity (stream-scope.ts).
|
|
78
46
|
if (!topLevelEvent(event))
|
|
79
47
|
return null;
|
|
80
48
|
const type = String(event["type"] ?? "");
|
|
@@ -109,40 +77,26 @@ export function liveActivityKind(event) {
|
|
|
109
77
|
return null;
|
|
110
78
|
}
|
|
111
79
|
}
|
|
112
|
-
/** Strip ANSI escapes and every control character; tabs become spaces. */
|
|
113
80
|
function stripControls(text) {
|
|
114
81
|
return text
|
|
115
82
|
.replace(/\x1b\[[0-9;?]*[ -\/]*[@-~]/g, "")
|
|
116
83
|
.replace(/\t/g, " ")
|
|
117
84
|
.replace(/[\x00-\x1f\x7f-\x9f]/g, "");
|
|
118
85
|
}
|
|
119
|
-
/** Cut a string to at most `cap` UTF-8 bytes without splitting a character. */
|
|
120
86
|
function capBytes(text, cap) {
|
|
121
87
|
if (Buffer.byteLength(text, "utf8") <= cap)
|
|
122
88
|
return text;
|
|
123
89
|
const bytes = Buffer.from(text, "utf8").subarray(0, cap);
|
|
124
90
|
const decoded = bytes.toString("utf8");
|
|
125
|
-
// A cut mid-character decodes with a trailing replacement char — drop it.
|
|
126
91
|
return decoded.endsWith("�") ? decoded.slice(0, -1) : decoded;
|
|
127
92
|
}
|
|
128
|
-
/** Bidirectional overrides and isolates (U+202A–U+202E, U+2066–U+2069): they can make shown text read differently from what was written. */
|
|
129
93
|
const BIDI_CONTROLS = /[\u202a-\u202e\u2066-\u2069]/g;
|
|
130
|
-
/** Sanitize one display line: strip controls and bidi overrides, redact whole on any secret hit, cap. */
|
|
131
94
|
export function sanitizeTranscriptLine(line) {
|
|
132
95
|
const stripped = stripControls(line).replace(BIDI_CONTROLS, "");
|
|
133
96
|
if (scanForSecrets(stripped).length > 0)
|
|
134
97
|
return LIVE_REDACTED_LINE;
|
|
135
98
|
return capBytes(stripped, LIVE_LINE_CAP);
|
|
136
99
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Open the run's live file for appending records. The directory is 0700,
|
|
139
|
-
* the file 0600 and CREATED HERE (O_EXCL: a name that already exists —
|
|
140
|
-
* whatever put it there — is refused, not appended to), opened O_NOFOLLOW
|
|
141
|
-
* with the descriptor retained for the run's whole duration. `options` is
|
|
142
|
-
* the run's trusted context: its checkout, and whether its project shows
|
|
143
|
-
* commands (read once, here). Returns null on any failure: no live view is
|
|
144
|
-
* ever worth a build.
|
|
145
|
-
*/
|
|
146
100
|
export function openLiveLog(root, runId, options = {}) {
|
|
147
101
|
let fd;
|
|
148
102
|
try {
|
|
@@ -153,8 +107,6 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
153
107
|
return null;
|
|
154
108
|
}
|
|
155
109
|
const recorderOptions = { base: options.base ?? null, commands: options.commands === true, ...(options.clock === undefined ? {} : { clock: options.clock }) };
|
|
156
|
-
// The run's subagents go to their own file (live-children.ts), under the same captured answer; this file is unchanged
|
|
157
|
-
// (the recorder only tells the subagents' side which step it wrote for each delegation).
|
|
158
110
|
const children = createChildRecorder(recorderOptions);
|
|
159
111
|
const recorder = createLiveRecorder({ ...recorderOptions, onStep: children.parentStep });
|
|
160
112
|
const childLog = childLogWriter(root, runId);
|
|
@@ -165,7 +117,6 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
165
117
|
if (closed || capped)
|
|
166
118
|
return;
|
|
167
119
|
const payload = Buffer.from(`${serializeLiveRecord(record)}\n`, "utf8");
|
|
168
|
-
// The cap record is RESERVED inside the cap: whatever remains must still fit it.
|
|
169
120
|
const capLine = `${serializeLiveRecord({ k: "cap", at: record.at })}\n`;
|
|
170
121
|
if (written + payload.length + Buffer.byteLength(capLine, "utf8") > LIVE_FILE_CAP) {
|
|
171
122
|
capped = true;
|
|
@@ -173,7 +124,6 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
173
124
|
writeSync(fd, capLine);
|
|
174
125
|
}
|
|
175
126
|
catch {
|
|
176
|
-
// Nothing to do: the file simply ends early.
|
|
177
127
|
}
|
|
178
128
|
return;
|
|
179
129
|
}
|
|
@@ -182,12 +132,11 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
182
132
|
written += payload.length;
|
|
183
133
|
}
|
|
184
134
|
catch {
|
|
185
|
-
closed = true;
|
|
135
|
+
closed = true;
|
|
186
136
|
try {
|
|
187
137
|
closeSync(fd);
|
|
188
138
|
}
|
|
189
139
|
catch {
|
|
190
|
-
// already gone
|
|
191
140
|
}
|
|
192
141
|
}
|
|
193
142
|
};
|
|
@@ -204,7 +153,6 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
204
153
|
}
|
|
205
154
|
}
|
|
206
155
|
catch {
|
|
207
|
-
// Recording is observational; a malformed event records nothing.
|
|
208
156
|
}
|
|
209
157
|
},
|
|
210
158
|
close() {
|
|
@@ -215,29 +163,25 @@ export function openLiveLog(root, runId, options = {}) {
|
|
|
215
163
|
append(record);
|
|
216
164
|
}
|
|
217
165
|
catch {
|
|
218
|
-
// the steps simply stay open in the file
|
|
219
166
|
}
|
|
220
167
|
try {
|
|
221
168
|
const before = childLog.due() ? children.checkpoint() : null;
|
|
222
169
|
childLog.append(children.end(), before);
|
|
223
170
|
}
|
|
224
|
-
catch {
|
|
171
|
+
catch { }
|
|
225
172
|
childLog.close();
|
|
226
173
|
closed = true;
|
|
227
174
|
try {
|
|
228
175
|
closeSync(fd);
|
|
229
176
|
}
|
|
230
177
|
catch {
|
|
231
|
-
// already gone
|
|
232
178
|
}
|
|
233
179
|
},
|
|
234
180
|
};
|
|
235
181
|
}
|
|
236
182
|
const READ_WINDOW = 64 * 1024;
|
|
237
183
|
const READ_LOOKAHEAD = 2 * 1024;
|
|
238
|
-
/** How far past an over-long line one read looks for its end; past it, the line is skipped up to there. */
|
|
239
184
|
const SKIP_SCAN = 64 * 1024 * 1024;
|
|
240
|
-
/** The live directory itself: a real directory, never a link to one. */
|
|
241
185
|
function liveDirIsReal(root) {
|
|
242
186
|
try {
|
|
243
187
|
const stat = lstatSync(liveDir(root));
|
|
@@ -255,22 +199,9 @@ function openForRead(path) {
|
|
|
255
199
|
return error.code === "ENOENT" ? { missing: true } : { unreadable: true };
|
|
256
200
|
}
|
|
257
201
|
}
|
|
258
|
-
/** The line that stands in for one too long to read, in the file's own format. */
|
|
259
202
|
function cutLine(format) {
|
|
260
203
|
return format === "records" ? `${serializeLiveRecord({ k: "cut", at: "" })}\n` : "[a line was too long to show]\n";
|
|
261
204
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Read the live file from a byte offset, returning only COMPLETE lines
|
|
264
|
-
* (through the last LF in the window). The records file is read when it
|
|
265
|
-
* exists, else the legacy text file. The descriptor is the authority:
|
|
266
|
-
* opened O_NOFOLLOW | O_NONBLOCK inside a real live directory, proved a
|
|
267
|
-
* regular file, measured and read through itself. A file smaller than the
|
|
268
|
-
* offset was replaced — the caller resets, visibly, and `gen` names the file
|
|
269
|
-
* so an offset is never reused against another one. A line longer than the
|
|
270
|
-
* whole window is skipped through its end, so a reader never stalls.
|
|
271
|
-
* `allowTail` (the final drain) returns the unterminated tail after
|
|
272
|
-
* finalization. Legacy text is cleaned again on the way out.
|
|
273
|
-
*/
|
|
274
205
|
export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
275
206
|
if (!Number.isSafeInteger(from) || from < 0)
|
|
276
207
|
return { ok: false, reason: "unreadable" };
|
|
@@ -291,7 +222,6 @@ export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
|
291
222
|
const stat = fstatSync(fd, { bigint: true });
|
|
292
223
|
if (!stat.isFile())
|
|
293
224
|
return { ok: false, reason: "unreadable" };
|
|
294
|
-
// Linux hands a removed file's inode straight to the next one made, so the birth time (ns) tells them apart too.
|
|
295
225
|
const gen = `${format}:${stat.dev}:${stat.ino}:${stat.birthtimeNs}`;
|
|
296
226
|
const size = Number(stat.size);
|
|
297
227
|
if (size < from)
|
|
@@ -310,7 +240,6 @@ export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
|
310
240
|
const eofReached = from + offset >= size;
|
|
311
241
|
const out = (text, next, eof) => ({
|
|
312
242
|
ok: true,
|
|
313
|
-
// Raw: every reader cleans and redacts through liveWindowLines / liveWindowRecords, carrying the key state.
|
|
314
243
|
text,
|
|
315
244
|
nextOffset: next,
|
|
316
245
|
eof,
|
|
@@ -320,7 +249,6 @@ export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
|
320
249
|
if (lastLf === -1) {
|
|
321
250
|
if (allowTail && eofReached && offset > 0)
|
|
322
251
|
return out(chunk.toString("utf8"), from + offset, true);
|
|
323
|
-
// A whole window without an end of line: skip through its end (bounded), never stall on it.
|
|
324
252
|
if (offset === READ_WINDOW + READ_LOOKAHEAD) {
|
|
325
253
|
const scan = Buffer.alloc(64 * 1024);
|
|
326
254
|
const limit = Math.min(size, from + SKIP_SCAN);
|
|
@@ -334,8 +262,6 @@ export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
|
334
262
|
return { ok: true, text: cutLine(format), nextOffset: at + lf + 1, eof: at + lf + 1 >= size, format, gen };
|
|
335
263
|
at += read;
|
|
336
264
|
}
|
|
337
|
-
// No end within reach. A finished run's drain, or a line longer than any read looks, is cut where the
|
|
338
|
-
// look stopped, so reading always moves on; a live run's line may still be being written, so it waits.
|
|
339
265
|
if (allowTail || at >= from + SKIP_SCAN)
|
|
340
266
|
return { ok: true, text: cutLine(format), nextOffset: at, eof: at >= size, format, gen };
|
|
341
267
|
return { ok: true, text: "", nextOffset: from, eof: false, format, gen };
|
|
@@ -354,25 +280,16 @@ export function readLiveWindow(root, runId, from, allowTail = false) {
|
|
|
354
280
|
closeSync(fd);
|
|
355
281
|
}
|
|
356
282
|
}
|
|
357
|
-
/** A window's complete lines as the plain words the run page and `toolroll peek` show, whatever its format. `commands` is
|
|
358
|
-
* the run's own captured answer (store.ts runLiveCommands), never the file's say. */
|
|
359
283
|
export function liveWindowLines(read, commands, keys = { inKey: false }) {
|
|
360
284
|
if (read.format === "records")
|
|
361
285
|
return projectLiveText(withholdCommands(parseLiveRecords(read.text, keys), commands));
|
|
362
286
|
return cleanLegacy(read.text, keys).split("\n").filter(one => one !== "");
|
|
363
287
|
}
|
|
364
|
-
/** A window as records, whatever its format: an older plain file's lines become the agent's words. Command text and
|
|
365
|
-
* output show only when the run's own captured answer (`commands`) is on. */
|
|
366
288
|
export function liveWindowRecords(read, commands, keys = { inKey: false }) {
|
|
367
289
|
if (read.format === "records")
|
|
368
290
|
return withholdCommands(parseLiveRecords(read.text, keys), commands);
|
|
369
291
|
return cleanLegacy(read.text, keys).split("\n").filter(one => one !== "").map(line => ({ k: "say", at: "", t: [line] }));
|
|
370
292
|
}
|
|
371
|
-
/**
|
|
372
|
-
* Enforce a run's captured "Show commands" answer on read: the file is build-writable, so an `open` record, a command
|
|
373
|
-
* step's text or a step's output may say anything. With the answer off, every `open` reads the base tier, command steps
|
|
374
|
-
* lose their text and steps lose their output. (The older plain-text format predates command detail and is unchanged.)
|
|
375
|
-
*/
|
|
376
293
|
export function withholdCommands(records, commands) {
|
|
377
294
|
if (commands)
|
|
378
295
|
return records;
|
|
@@ -390,7 +307,6 @@ export function withholdCommands(records, commands) {
|
|
|
390
307
|
return record;
|
|
391
308
|
});
|
|
392
309
|
}
|
|
393
|
-
/** Legacy text lines, cleaned again on read: the file may have been altered after it was written. */
|
|
394
310
|
function cleanLegacy(text, keys) {
|
|
395
311
|
const lines = text.split("\n");
|
|
396
312
|
const ended = lines.length > 0 && lines[lines.length - 1] === "";
|
|
@@ -399,11 +315,6 @@ function cleanLegacy(text, keys) {
|
|
|
399
315
|
const shown = redactLiveLines(lines, keys);
|
|
400
316
|
return ended ? `${shown.join("\n")}\n` : shown.join("\n");
|
|
401
317
|
}
|
|
402
|
-
/**
|
|
403
|
-
* Enumerate the live directory for the reconcile sweep: names only. Pure listing — the CALLER settles which runs are
|
|
404
|
-
* finalized before it measures anything; this module only refuses to guess. Non-run names are reported with runId
|
|
405
|
-
* null (orphans from nothing this plane wrote; aged on mtime like everything else).
|
|
406
|
-
*/
|
|
407
318
|
export function listLiveFiles(root) {
|
|
408
319
|
let names;
|
|
409
320
|
try {
|
|
@@ -412,18 +323,13 @@ export function listLiveFiles(root) {
|
|
|
412
323
|
catch {
|
|
413
324
|
return [];
|
|
414
325
|
}
|
|
415
|
-
// A sweep's private claim (QUARANTINE_PREFIX) is never listed: it is the sweep's own, and one it couldn't restore
|
|
416
|
-
// stays for a person to look at rather than be aged out under a name nobody chose.
|
|
417
326
|
return names.filter(name => !name.startsWith(QUARANTINE_PREFIX)).map(name => {
|
|
418
327
|
const match = /^(\d{1,15})\.(jsonl|log|sub\.jsonl)$/.exec(name);
|
|
419
|
-
// The writer stops at its cap and adds one last record; anything far past it is no file this plane wrote.
|
|
420
328
|
const cap = match === null ? null : (match[2] === "sub.jsonl" ? LIVE_SUB_FILE_CAP : LIVE_FILE_CAP) + 64 * 1024;
|
|
421
329
|
return { runId: match === null ? null : Number(match[1]), fileName: name, cap };
|
|
422
330
|
});
|
|
423
331
|
}
|
|
424
|
-
/** Remove one live file, silently: a sweep never throws over display state. True when it is gone now. */
|
|
425
332
|
export function removeLiveFile(root, fileName, unlink = unlinkSync) {
|
|
426
|
-
// The name comes from listLiveFiles' own readdir, never from user input.
|
|
427
333
|
if (fileName.includes("/") || fileName.includes("\\") || fileName.includes(".."))
|
|
428
334
|
return false;
|
|
429
335
|
try {
|
|
@@ -434,22 +340,7 @@ export function removeLiveFile(root, fileName, unlink = unlinkSync) {
|
|
|
434
340
|
return error.code === "ENOENT";
|
|
435
341
|
}
|
|
436
342
|
}
|
|
437
|
-
/** The prefix of a sweep's private claim on a file it is about to remove (never a name a writer uses). */
|
|
438
343
|
const QUARANTINE_PREFIX = ".sweep-claim-";
|
|
439
|
-
/**
|
|
440
|
-
* The reconcile sweep (arc 1 §2): ACTIVE runs are exempt ABSOLUTELY — the
|
|
441
|
-
* transport's no-truncation assumption depends on it — and a run's files
|
|
442
|
-
* (its records, its subagents' file, an older text file) go together, as one.
|
|
443
|
-
* A run is settled finished (or absent) BEFORE its files are measured.
|
|
444
|
-
* Finalized runs age from finished_at; orphans (no run row, or a name this
|
|
445
|
-
* plane never writes) age from mtime. Among the finalized-or-orphan: a file
|
|
446
|
-
* far past its own cap goes at once, then the day's retention, then the
|
|
447
|
-
* 500-run bound, then the total byte limit, oldest first, until each limit is
|
|
448
|
-
* really met or nothing eligible is left. Each removal re-proves, under the
|
|
449
|
-
* store's write lock (the one run admission takes), that the run is still
|
|
450
|
-
* not active and the file is the very one measured; otherwise it is kept. A
|
|
451
|
-
* file that can't be removed stays counted and never stops the rest.
|
|
452
|
-
*/
|
|
453
344
|
export function sweepLiveLogs(store, root, now, io = {}) {
|
|
454
345
|
const removed = [];
|
|
455
346
|
const settled = (runId) => {
|
|
@@ -465,7 +356,6 @@ export function sweepLiveLogs(store, root, now, io = {}) {
|
|
|
465
356
|
};
|
|
466
357
|
const at = (name) => join(liveDir(root), name);
|
|
467
358
|
const lstat = io.lstat ?? ((path) => lstatSync(path));
|
|
468
|
-
/** A file as it is now: measured, confirmed gone (ENOENT only), or unknown (any other failure: never taken as gone). */
|
|
469
359
|
const measure = (fileName, runId, path = at(fileName)) => {
|
|
470
360
|
try {
|
|
471
361
|
const stat = lstat(path);
|
|
@@ -476,7 +366,6 @@ export function sweepLiveLogs(store, root, now, io = {}) {
|
|
|
476
366
|
}
|
|
477
367
|
};
|
|
478
368
|
const same = (a, b) => a.dev === b.dev && a.ino === b.ino && a.size === b.size && a.mtimeMs === b.mtimeMs;
|
|
479
|
-
/** The run is still not active, proved under the store's write lock (the one run admission takes) — and only that. */
|
|
480
369
|
const stillSweepable = (runId) => {
|
|
481
370
|
const check = () => { const state = settled(runId); return state !== "active" && state !== "unknown"; };
|
|
482
371
|
try {
|
|
@@ -486,20 +375,13 @@ export function sweepLiveLogs(store, root, now, io = {}) {
|
|
|
486
375
|
return false;
|
|
487
376
|
}
|
|
488
377
|
};
|
|
489
|
-
/** Put a claimed file back under its name without overwriting whatever may be there now. */
|
|
490
378
|
const restore = (claim, fileName) => {
|
|
491
379
|
try {
|
|
492
380
|
linkSync(at(claim), at(fileName));
|
|
493
381
|
unlinkSync(at(claim));
|
|
494
382
|
}
|
|
495
|
-
catch {
|
|
383
|
+
catch { }
|
|
496
384
|
};
|
|
497
|
-
/**
|
|
498
|
-
* Remove one measured file: its run still not active, then the name atomically claimed under a private name in the
|
|
499
|
-
* live directory, then the claim proved to be the very file measured (dev, inode, size, mtime) and the run still not
|
|
500
|
-
* active — and only then is the private claim deleted. A mismatch is put back without overwriting anything. The
|
|
501
|
-
* store's lock covers the run-state checks only; the filesystem work runs outside it.
|
|
502
|
-
*/
|
|
503
385
|
const remove = (file) => {
|
|
504
386
|
if (file.failed === true)
|
|
505
387
|
return false;
|
|
@@ -530,22 +412,17 @@ export function sweepLiveLogs(store, root, now, io = {}) {
|
|
|
530
412
|
restore(claim, file.fileName);
|
|
531
413
|
return done(false);
|
|
532
414
|
};
|
|
533
|
-
// One group per finished run (keyed by id) or per orphan file, aged from the run's end or the file's mtime.
|
|
534
415
|
const groups = new Map();
|
|
535
|
-
// Settle every listed run first, then list again and measure: a file a run wrote (or grew) before it finished is
|
|
536
|
-
// seen at its final size, and one its run created after the first listing is counted with it.
|
|
537
416
|
const states = new Map();
|
|
538
417
|
for (const entry of listLiveFiles(root))
|
|
539
418
|
if (entry.runId !== null && !states.has(entry.runId))
|
|
540
419
|
states.set(entry.runId, settled(entry.runId));
|
|
541
420
|
for (const entry of listLiveFiles(root)) {
|
|
542
|
-
// A run first seen in this listing waits for the next pass: it was never settled before its files were listed.
|
|
543
421
|
if (entry.runId !== null && !states.has(entry.runId))
|
|
544
422
|
continue;
|
|
545
423
|
const state = entry.runId === null ? null : states.get(entry.runId);
|
|
546
424
|
if (state === "active" || state === "unknown")
|
|
547
|
-
continue;
|
|
548
|
-
// Measured only now, after the run is settled finished: its writer is done.
|
|
425
|
+
continue;
|
|
549
426
|
const file = measure(entry.fileName, entry.runId);
|
|
550
427
|
if (file === "gone" || file === "unknown")
|
|
551
428
|
continue;
|
|
@@ -559,17 +436,14 @@ export function sweepLiveLogs(store, root, now, io = {}) {
|
|
|
559
436
|
group.ageAnchorMs = Math.min(group.ageAnchorMs, anchor);
|
|
560
437
|
groups.set(key, group);
|
|
561
438
|
}
|
|
562
|
-
/** Remove a group's files; what can't be removed stays in it (and in every count after). True when it's empty. */
|
|
563
439
|
const removeGroup = (group) => {
|
|
564
440
|
group.files = group.files.filter(file => !remove(file));
|
|
565
441
|
return group.files.length === 0;
|
|
566
442
|
};
|
|
567
443
|
const cutoff = now.getTime() - LIVE_RETAIN_MS;
|
|
568
444
|
let kept = [...groups.values()].sort((a, b) => a.ageAnchorMs - b.ageAnchorMs).filter(group => group.ageAnchorMs > cutoff || !removeGroup(group));
|
|
569
|
-
// Oldest-first beyond the bound, continuing past any that can't go — still never touching an active run.
|
|
570
445
|
let excess = kept.length - LIVE_FILE_BOUND;
|
|
571
446
|
kept = kept.filter(group => excess <= 0 || !removeGroup(group) || (excess -= 1, false));
|
|
572
|
-
// Then the total, oldest first, counting only what is really still there.
|
|
573
447
|
const bytesOf = (group) => group.files.reduce((sum, file) => sum + file.bytes, 0);
|
|
574
448
|
let total = kept.reduce((sum, group) => sum + bytesOf(group), 0);
|
|
575
449
|
for (const group of kept) {
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { refArchived, requeueEligibility } from "./store.js";
|
|
2
|
+
import { LOCAL_OWNER_LAPSED, localActNow } from "./local-owner.js";
|
|
3
|
+
import { approverStanding, localWorkEligible, personApprovalOf } from "./scope.js";
|
|
4
|
+
import { plannerContractOf, plannerSourceDigest } from "./planner-source.js";
|
|
5
|
+
import { scopeApprovedForDispatch } from "./dispatch.js";
|
|
6
|
+
export const LOCAL_PLAN_ACTION = "task plan (local owner)";
|
|
7
|
+
export const LOCAL_TASK_CHANGED = "This task changed. Look at it again.";
|
|
8
|
+
export function planSourceOf(store, taskId) {
|
|
9
|
+
const contract = plannerContractOf(store, taskId);
|
|
10
|
+
return contract.ok ? plannerSourceDigest(contract.contract) : null;
|
|
11
|
+
}
|
|
12
|
+
export function requestPlanAsLocalOwner(store, taskId, source, now) {
|
|
13
|
+
try {
|
|
14
|
+
return store.transact(() => {
|
|
15
|
+
const local = localActNow(store, "request-plan");
|
|
16
|
+
if (local === null)
|
|
17
|
+
return { ok: false, reason: "local-owner", message: LOCAL_OWNER_LAPSED };
|
|
18
|
+
const ref = store.lookupRef(taskId);
|
|
19
|
+
if (ref === null || store.getTask(taskId) === null)
|
|
20
|
+
return { ok: false, reason: "not-found", message: "That task is unavailable in your projects." };
|
|
21
|
+
if (!approverStanding(store, local.account, ref.repo).ok)
|
|
22
|
+
return { ok: false, reason: "not-found", message: "That task is unavailable in your projects." };
|
|
23
|
+
if (refArchived(store, ref.id))
|
|
24
|
+
return { ok: false, reason: "archived", message: "This task is put away. Restore it first." };
|
|
25
|
+
const eligible = localWorkEligible(store, local.account, taskId, { act: "plan" });
|
|
26
|
+
if (!eligible.ok)
|
|
27
|
+
return { ok: false, reason: "refused", message: eligible.message };
|
|
28
|
+
if (ref.planProvider !== null || ref.planModel !== null) {
|
|
29
|
+
return { ok: false, reason: "refused", message: "This task names its own planning agent, so planning it needs your password." };
|
|
30
|
+
}
|
|
31
|
+
if (planSourceOf(store, taskId) !== source)
|
|
32
|
+
return { ok: false, reason: "stale", message: LOCAL_TASK_CHANGED };
|
|
33
|
+
const armed = store.handle.prepare("SELECT signed_by, basis FROM plan_authorization WHERE task_id = ?").get(taskId);
|
|
34
|
+
if (armed !== undefined) {
|
|
35
|
+
store.handle.prepare("DELETE FROM plan_authorization WHERE task_id = ?").run(taskId);
|
|
36
|
+
store.recordAction({ at: now.toISOString(), actor: `operator:${local.account}`, repo: ref.repo, taskId, runId: null, source: "request",
|
|
37
|
+
action: "unchanged plan pre-authorization withdrawn", outcome: "withdrawn",
|
|
38
|
+
detail: JSON.stringify({ v: 1, signedBy: String(armed["signed_by"]), basis: String(armed["basis"]), why: "the local owner asked for the plan" }) });
|
|
39
|
+
}
|
|
40
|
+
if (ref.plan === "requested" || ref.plan === "drafted")
|
|
41
|
+
return { ok: true, replayed: true };
|
|
42
|
+
const asked = store.requestPlan(ref.id, now);
|
|
43
|
+
if (!asked.ok)
|
|
44
|
+
throw new Undone({ ok: false, reason: "refused", message: `This task can't be planned now: ${asked.reason}.` });
|
|
45
|
+
store.recordAction({ at: now.toISOString(), actor: `operator:${local.account}`, repo: ref.repo, taskId, runId: null, action: LOCAL_PLAN_ACTION,
|
|
46
|
+
outcome: "requested", source: "request", detail: JSON.stringify({ v: 1, source, via: local.transport }) });
|
|
47
|
+
return { ok: true, replayed: false };
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof Undone)
|
|
52
|
+
return error.result;
|
|
53
|
+
if (error instanceof Error && error.message === LOCAL_OWNER_LAPSED)
|
|
54
|
+
return { ok: false, reason: "local-owner", message: LOCAL_OWNER_LAPSED };
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export const LOCAL_RETRY_ACTION = "task requeue (local owner)";
|
|
59
|
+
export const LOCAL_RETRY_LIMIT = 3;
|
|
60
|
+
export const LOCAL_RETRY_SPENT = `You've retried this ${LOCAL_RETRY_LIMIT} times. Send it back with a note, or sign in with your password to retry again.`;
|
|
61
|
+
export const LOCAL_RETRY_STOPPING = "The last build is still stopping. Try again in a moment.";
|
|
62
|
+
const sameSeal = (a, b) => {
|
|
63
|
+
const one = a;
|
|
64
|
+
return one !== null && typeof one === "object" && one.by === b.by && one.at === b.at && one.digest === b.digest;
|
|
65
|
+
};
|
|
66
|
+
export function retryPinsOf(store, taskId) {
|
|
67
|
+
const ref = store.lookupRef(taskId);
|
|
68
|
+
const scope = store.getScope(taskId);
|
|
69
|
+
const state = store.getTask(taskId)?.state;
|
|
70
|
+
if (ref === null || scope === null || scope.approvedAt === null || scope.approvedDigest !== scope.digest || (state !== "failed" && state !== "done"))
|
|
71
|
+
return null;
|
|
72
|
+
const last = store.lastBuilderRun(ref.id);
|
|
73
|
+
return last === null ? null : { run: last.id, digest: scope.digest };
|
|
74
|
+
}
|
|
75
|
+
function localRetriesOf(store, taskId, account, seal) {
|
|
76
|
+
const rows = store.handle.prepare("SELECT run_id, detail FROM action_ledger WHERE action = ? AND task_id = ? AND actor = ? ORDER BY id")
|
|
77
|
+
.all(LOCAL_RETRY_ACTION, taskId, `operator:${account}`);
|
|
78
|
+
const runs = [];
|
|
79
|
+
for (const row of rows) {
|
|
80
|
+
let detail;
|
|
81
|
+
try {
|
|
82
|
+
detail = JSON.parse(String(row["detail"] ?? ""));
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const bound = detail;
|
|
88
|
+
if (bound.v === 1 && sameSeal(bound.seal, seal))
|
|
89
|
+
runs.push(Number(row["run_id"]));
|
|
90
|
+
}
|
|
91
|
+
return runs;
|
|
92
|
+
}
|
|
93
|
+
export function retryAsLocalOwner(store, taskId, pins, now) {
|
|
94
|
+
try {
|
|
95
|
+
return store.transact(() => {
|
|
96
|
+
const local = localActNow(store, "retry-build");
|
|
97
|
+
if (local === null)
|
|
98
|
+
return { ok: false, reason: "local-owner", message: LOCAL_OWNER_LAPSED };
|
|
99
|
+
const ref = store.lookupRef(taskId);
|
|
100
|
+
if (ref === null || store.getTask(taskId) === null || !approverStanding(store, local.account, ref.repo).ok) {
|
|
101
|
+
return { ok: false, reason: "not-found", message: "That task is unavailable in your projects." };
|
|
102
|
+
}
|
|
103
|
+
const person = personApprovalOf(store, taskId);
|
|
104
|
+
if (!person.ok || person.by !== local.account) {
|
|
105
|
+
return { ok: false, reason: "refused", message: "Only a build of your own approval can be retried without a password. Sign in with your password to retry it." };
|
|
106
|
+
}
|
|
107
|
+
const scope = store.getScope(taskId);
|
|
108
|
+
const seal = { by: scope.approvedBy, at: scope.approvedAt, digest: scope.approvedDigest };
|
|
109
|
+
if (scope.digest !== pins.digest)
|
|
110
|
+
return { ok: false, reason: "stale", message: LOCAL_TASK_CHANGED };
|
|
111
|
+
if (!scopeApprovedForDispatch(store, ref.id, now)) {
|
|
112
|
+
return { ok: false, reason: "refused", message: "This approval no longer stands. Approve the plan again, or sign in with your password." };
|
|
113
|
+
}
|
|
114
|
+
const eligible = localWorkEligible(store, local.account, taskId, { act: "retry" });
|
|
115
|
+
if (!eligible.ok)
|
|
116
|
+
return { ok: false, reason: "refused", message: eligible.message };
|
|
117
|
+
const latest = store.lastBuilderRun(ref.id);
|
|
118
|
+
const retried = localRetriesOf(store, taskId, local.account, seal);
|
|
119
|
+
const state = store.getTask(taskId).state;
|
|
120
|
+
if (retried.includes(pins.run) && latest?.id === pins.run && (state === "queued" || state === "running"))
|
|
121
|
+
return { ok: true, replayed: true, retries: retried.length };
|
|
122
|
+
if (store.handle.prepare("SELECT 1 AS hit FROM run WHERE task_ref = ? AND finished_at IS NULL LIMIT 1").get(ref.id) !== undefined) {
|
|
123
|
+
return { ok: false, reason: "stopping", message: LOCAL_RETRY_STOPPING };
|
|
124
|
+
}
|
|
125
|
+
if (latest === null || latest.id !== pins.run || store.handle.prepare("SELECT 1 AS hit FROM run WHERE task_ref = ? AND id > ? LIMIT 1").get(ref.id, pins.run) !== undefined) {
|
|
126
|
+
return { ok: false, reason: "stale", message: LOCAL_TASK_CHANGED };
|
|
127
|
+
}
|
|
128
|
+
for (const run of store.runsFor(ref.id)) {
|
|
129
|
+
if (store.stopQuiescenceFact(run.id) !== null)
|
|
130
|
+
return { ok: false, reason: "stopping", message: LOCAL_RETRY_STOPPING };
|
|
131
|
+
}
|
|
132
|
+
if (store.finalResultReason(pins.run) !== null) {
|
|
133
|
+
return { ok: false, reason: "final", message: "This result was accepted or published, so it isn't built again. Send it back with a note instead." };
|
|
134
|
+
}
|
|
135
|
+
const eligibility = requeueEligibility(store, taskId, now);
|
|
136
|
+
if (!eligibility.ok) {
|
|
137
|
+
return eligibility.reason === "archived" ? { ok: false, reason: "archived", message: "This task is put away. Restore it first." }
|
|
138
|
+
: eligibility.reason === "claimed" ? { ok: false, reason: "stopping", message: LOCAL_RETRY_STOPPING }
|
|
139
|
+
: { ok: false, reason: "refused", message: "This task has nothing to retry." };
|
|
140
|
+
}
|
|
141
|
+
if (eligibility.state !== "failed" && !(eligibility.state === "done" && eligibility.rejectedRun === pins.run)) {
|
|
142
|
+
return { ok: false, reason: "refused", message: "This task has nothing to retry." };
|
|
143
|
+
}
|
|
144
|
+
if (retried.length >= LOCAL_RETRY_LIMIT)
|
|
145
|
+
return { ok: false, reason: "limit", message: LOCAL_RETRY_SPENT };
|
|
146
|
+
const requeued = store.requeueTask(taskId, local.account, now);
|
|
147
|
+
if (!requeued.ok)
|
|
148
|
+
throw new Undone({ ok: false, reason: "refused", message: "This task has nothing to retry." });
|
|
149
|
+
store.recordAction({ at: now.toISOString(), actor: `operator:${local.account}`, repo: ref.repo, taskId, runId: pins.run, action: LOCAL_RETRY_ACTION,
|
|
150
|
+
outcome: "requeued", source: "request", detail: JSON.stringify({ v: 1, seal, via: local.transport }) });
|
|
151
|
+
return { ok: true, replayed: false, retries: retried.length + 1 };
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
if (error instanceof Undone)
|
|
156
|
+
return error.result;
|
|
157
|
+
if (error instanceof Error && error.message === LOCAL_OWNER_LAPSED)
|
|
158
|
+
return { ok: false, reason: "local-owner", message: LOCAL_OWNER_LAPSED };
|
|
159
|
+
throw error;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
class Undone extends Error {
|
|
163
|
+
result;
|
|
164
|
+
constructor(result) {
|
|
165
|
+
super(result.message);
|
|
166
|
+
this.result = result;
|
|
167
|
+
}
|
|
168
|
+
}
|