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
|
@@ -21,16 +21,18 @@ import { recentGitReads, taskBaseOf } from "../task-base.js";
|
|
|
21
21
|
import { assignmentPresentationOf, historicalAssessmentReason } from '../assignment-presentation.js';
|
|
22
22
|
import { html, joinHtml } from "../html.js";
|
|
23
23
|
import { assignmentStatusOf, assignmentWithEvidence } from '../assignment-ui.js';
|
|
24
|
-
import { assignmentOf } from '../assignment.js';
|
|
24
|
+
import { assignmentOf, personCompletionRefusal } from '../assignment.js';
|
|
25
25
|
import { knowledgeContextHtml } from "../knowledge-ui.js";
|
|
26
26
|
import { failedAttemptSentence, failingCheckSuggestion, GENERAL_SUGGESTION, isInternalErrorReason, latestFinishedAttempt, missedRequirementLine, missedRequirementSuggestion, NO_REASON_RECORDED, stopSuggestionOf } from '../needs-you.js';
|
|
27
27
|
import { planAutoPending } from "../plan-auto.js";
|
|
28
|
+
import { planSourceOf, retryPinsOf } from "../local-owner-acts.js";
|
|
28
29
|
import { readKnowledgeSnapshot } from "../project-knowledge.js";
|
|
29
30
|
import { learningView } from "../project-learning.js";
|
|
30
31
|
import { readSkillsSnapshot, skillTestResult } from "../project-skills.js";
|
|
31
32
|
import { newestPullRequestOf, publishingOf, pullRequestBlocker } from '../pull-request-flow.js';
|
|
32
33
|
import { structuredHandoffView, terminalDiffView } from "../result-evidence-readers.js";
|
|
33
34
|
import { resultCheckLevel } from '../result-follow-ups.js';
|
|
35
|
+
import { projectCheckSet } from '../check-levels.js';
|
|
34
36
|
import { followThroughView } from "./render-follow-through.js";
|
|
35
37
|
import { skillsSnapshotHtml, skillTestFeedbackHtml } from "../skills-ui.js";
|
|
36
38
|
import { archiveOf } from "../store.js";
|
|
@@ -71,10 +73,7 @@ import {} from "../store.js";
|
|
|
71
73
|
import { taskControlOf } from "../task-control.js";
|
|
72
74
|
import { lastErrorLineOf, missedRequirementOf, workStatusOf } from "../workspace-ui.js";
|
|
73
75
|
export function createTaskViews(runtime) {
|
|
74
|
-
// The task page's base line reads Git through a frozen view of the project (~0.2-0.5 s on a large repository) and
|
|
75
|
-
// the page renders it twice per view and again on every live refresh: its answers are kept for a moment.
|
|
76
76
|
const baseGit = recentGitReads();
|
|
77
|
-
/** The first task's way to Ready shows until the first Ready result, and stays on the installation's first task. */
|
|
78
77
|
function guided(rootId, now) {
|
|
79
78
|
if (runtime.store.isDemo())
|
|
80
79
|
return false;
|
|
@@ -124,21 +123,12 @@ export function createTaskViews(runtime) {
|
|
|
124
123
|
});
|
|
125
124
|
return html `${warning}${active}<details class="task-history" data-root-task="${family.root.id}"><summary>History</summary><ol>${versions}</ol></details>`;
|
|
126
125
|
}
|
|
127
|
-
/** Keep detailed receipt diagnostics; shared assignment reads own readiness. */
|
|
128
126
|
function freshAssignment(assignment, receipt) {
|
|
129
127
|
if (assignment === null)
|
|
130
128
|
return null;
|
|
131
129
|
const value = assignmentWithEvidence(assignment, receipt === null ? null : receiptStatusOf(receipt), receipt?.runId ?? null);
|
|
132
130
|
return receipt === null ? value : { ...value, attention: [...new Set([...value.attention, ...receipt.facts.evidenceProblems, ...receipt.caveats.filter(reason => !historicalAssessmentReason(reason))])] };
|
|
133
131
|
}
|
|
134
|
-
/**
|
|
135
|
-
* One Work row's facts (workspace package 1), from the records the task
|
|
136
|
-
* page already reads: the dispatch diagnosis, the latest finished
|
|
137
|
-
* builder/scout run with its machine verdict and any acceptance, the
|
|
138
|
-
* run's publication, and the live claim. The words come from the pure
|
|
139
|
-
* projection so this row, the task page, the focused chat, and the
|
|
140
|
-
* review cockpit cannot disagree about the same run.
|
|
141
|
-
*/
|
|
142
132
|
function workRowOf(task, now, receipt) {
|
|
143
133
|
const ref = runtime.store.lookupRef(task.id);
|
|
144
134
|
const runs = ref === null ? [] : runtime.store.runsFor(ref.id);
|
|
@@ -165,6 +155,7 @@ export function createTaskViews(runtime) {
|
|
|
165
155
|
reasons: verdict?.reasons ?? [],
|
|
166
156
|
accepted: runtime.store.proofAcceptance(latest.id) !== null,
|
|
167
157
|
checkLevel: resultCheckLevel(runtime.store, latest.id, now),
|
|
158
|
+
...(ref?.repo == null ? {} : { checkSet: projectCheckSet(runtime.store, ref.repo) }),
|
|
168
159
|
review: runtime.reviewFactsFor(latest.id),
|
|
169
160
|
...(latest.outcome !== "no-change"
|
|
170
161
|
? {}
|
|
@@ -177,8 +168,6 @@ export function createTaskViews(runtime) {
|
|
|
177
168
|
unfinishedRunId: runs.find(one => one.outcome === null && one.role !== "reviewer")?.id ?? null,
|
|
178
169
|
control: ref === null ? { kind: "none" } : taskControlOf(runtime.store, ref.id, now),
|
|
179
170
|
};
|
|
180
|
-
// Read the same evidence-health projection as the receipt, including
|
|
181
|
-
// damaged files discovered after a stored verdict was written.
|
|
182
171
|
const result = receipt === undefined && task.state === "done" && latest !== null && (latest.outcome === "built" || latest.outcome === "no-change")
|
|
183
172
|
? completionReceiptView(runtime.store, latest, runtime.store.artifactsFor(latest.id), runtime.evidenceRoot, runtime.reviewFactsFor(latest.id)) : receipt;
|
|
184
173
|
const status = workStatusOf(facts, result == null ? undefined : receiptStatusOf(result));
|
|
@@ -195,7 +184,6 @@ export function createTaskViews(runtime) {
|
|
|
195
184
|
familyNotice: task.family?.problem ?? (otherActive ? `${otherActive} earlier version${otherActive === 1 ? " is" : "s are"} still waiting or running. Open History.` : null),
|
|
196
185
|
status: assignment === null ? status : { ...assignmentStatus, diagnostics: assignmentPresentationOf(assignment, { workStatus: status, diagnostics: [...(status.diagnostics ?? []), ...(status.tone === "problem" && status.detail !== assignment.detail ? [status] : [])] }).diagnostics }, assignment, assignmentProblem: status.tone === "problem", resultRunId: latest === null ? null : latest.id };
|
|
197
186
|
}
|
|
198
|
-
/** The compact task list for the master pane, the current row marked. */
|
|
199
187
|
function taskListPane(project, currentId) {
|
|
200
188
|
const rows = familyTasksInView(project, undefined, 100);
|
|
201
189
|
if (currentId !== null && !rows.some(one => one.id === currentId)) {
|
|
@@ -207,26 +195,10 @@ export function createTaskViews(runtime) {
|
|
|
207
195
|
.map(task => html `<a class="item${task.id === currentId ? " current" : ""}" href="${taskHref(task.id)}"><span class="t">${task.title}</span></a>`), "\n");
|
|
208
196
|
return html `<h2>Tasks</h2>\n${rows.length === 0 ? html `<p class="meta">None yet</p>` : items}`;
|
|
209
197
|
}
|
|
210
|
-
/**
|
|
211
|
-
* The one liveness fact (round-4 findings 14/15): a run is being built
|
|
212
|
-
* right now iff its outcome is null AND its lease is the task's current
|
|
213
|
-
* live claim \u2014 maximum generation, unreleased, strictly unexpired. Every
|
|
214
|
-
* "running" label, poller, and watch link derives from this; nothing
|
|
215
|
-
* ever infers liveness from a null outcome alone.
|
|
216
|
-
*/
|
|
217
198
|
function runIsLive(run) {
|
|
218
199
|
return run.outcome === null && runtime.store.currentLiveLease(run.taskRef, runtime.clock()) === run.leaseId;
|
|
219
200
|
}
|
|
220
|
-
/** Planner, reviewer, and structured-output correction bookkeeping can
|
|
221
|
-
* finish around a build but are never the task's delivered result. */
|
|
222
201
|
const runIsTaskResult = (run) => run.finishedAt !== null && (run.role === "builder" || run.role === "scout");
|
|
223
|
-
/** The task screen, shared by the GET and by every refusal that re-renders it. */
|
|
224
|
-
/**
|
|
225
|
-
* What a revision task's approval must restate (M6.8): the exact comment
|
|
226
|
-
* batch, read back through the verified artifact path. A brief that no
|
|
227
|
-
* longer verifies is a named problem on the screen — approving against
|
|
228
|
-
* bytes nobody can prove is not approving anything.
|
|
229
|
-
*/
|
|
230
202
|
function revisionViewOf(ref) {
|
|
231
203
|
if (ref === null || ref.revisionBriefArtifact === null)
|
|
232
204
|
return null;
|
|
@@ -256,8 +228,6 @@ export function createTaskViews(runtime) {
|
|
|
256
228
|
return { problem: "the revision brief did not parse" };
|
|
257
229
|
}
|
|
258
230
|
}
|
|
259
|
-
/** The task view's facts, shared by the full screen and the workbench
|
|
260
|
-
* pane (attended A1): one assembly, one authorization story. */
|
|
261
231
|
function taskViewData(taskId, who, problem, render = {}) {
|
|
262
232
|
const found = runtime.store.getTask(taskId);
|
|
263
233
|
if (found === null)
|
|
@@ -268,30 +238,15 @@ export function createTaskViews(runtime) {
|
|
|
268
238
|
const now = runtime.clock();
|
|
269
239
|
const scope = runtime.store.getScope(taskId);
|
|
270
240
|
const revision = revisionViewOf(ref);
|
|
271
|
-
// A broken revision brief blocks the whole approval surface (audit
|
|
272
|
-
// IV-3): no nonce is minted over a batch nobody can verify.
|
|
273
241
|
const revisionBroken = revision !== null && "problem" in revision;
|
|
274
242
|
const planView = ref === null ? null : planViewOf(ref.id);
|
|
275
243
|
const approvalDigest = scope === null ? null : approvalFormDigest(scope.digest, planView?.sha256 ?? null);
|
|
276
|
-
// The nonce is minted at render, per viewer, bound to the digest being
|
|
277
|
-
// shown — the browser approval flow starts here and nowhere else.
|
|
278
|
-
// …and only through an OPEN consent door (v48): an unreadable route,
|
|
279
|
-
// a route that cannot run, or a pre-routing row whose approval lapsed
|
|
280
|
-
// gets recovery copy, never a nonce.
|
|
281
244
|
const routeView = routeViewOf(taskId, ref, scope, now, who);
|
|
282
|
-
// A read-only refresh (package 2) reads the same facts WITHOUT minting:
|
|
283
|
-
// a five-second poll must never churn the bounded nonce store, and a
|
|
284
|
-
// fragment carries no password form to bind a nonce to.
|
|
285
245
|
const nonce = who.via === "cookie" && scope !== null && approvalDigest !== null && !approvalOf(scope).approved && !revisionBroken && ref?.plan !== "requested" && consentDoorOf(scope, routeView).open
|
|
286
246
|
? render.mintNonce === false ? "unminted" : runtime.mintApprovalNonce(who.name, taskId, approvalDigest)
|
|
287
247
|
: "";
|
|
288
248
|
const runs = ref === null ? [] : runtime.store.runsFor(ref.id);
|
|
289
249
|
const completion = (() => {
|
|
290
|
-
// v40 fix: a reviewer run finishes AFTER the build it reviews and
|
|
291
|
-
// carries no proof verdict of its own — without this filter, its
|
|
292
|
-
// "no-change" outcome would hijack the task's own completion card
|
|
293
|
-
// the instant a review lands, showing "proof missing" for a proof
|
|
294
|
-
// that is right there on the builder's run.
|
|
295
250
|
const latest = runs.find(runIsTaskResult);
|
|
296
251
|
if (latest === undefined)
|
|
297
252
|
return null;
|
|
@@ -303,9 +258,6 @@ export function createTaskViews(runtime) {
|
|
|
303
258
|
outcome: latest.outcome,
|
|
304
259
|
hasTerminalDiff: artifacts.some(one => one.kind === "terminal-diff"),
|
|
305
260
|
hasHandoff: artifacts.some(one => one.kind === "handoff"),
|
|
306
|
-
// The closed machine-authored verdict (Priority 2), computed once
|
|
307
|
-
// at completion by adjudicate() and never re-inferred here — null
|
|
308
|
-
// only for a run that predates the proof system.
|
|
309
261
|
proofVerdict: verdict?.verdict ?? null,
|
|
310
262
|
machineVerdict: verdict?.machineVerdict ?? null,
|
|
311
263
|
proofReasons: verdict?.reasons ?? [],
|
|
@@ -313,24 +265,14 @@ export function createTaskViews(runtime) {
|
|
|
313
265
|
proofMatrixLinks: evidenceLinksFor(artifacts),
|
|
314
266
|
proofAccepted: runtime.store.proofAcceptance(latest.id) !== null,
|
|
315
267
|
qualityMode: latest.qualityMode ?? "default",
|
|
316
|
-
// Either direction: the ORIGINAL task's page finds the chain by
|
|
317
|
-
// its own latest run (the one that triggered a draft); a DRAFT
|
|
318
|
-
// task's page finds the SAME chain by being named as the draft.
|
|
319
268
|
repairChain: runtime.store.repairChainFor(latest.id) ?? runtime.store.repairChainForDraft(taskId),
|
|
320
|
-
// v50: the bounded review-retry history of this exact result —
|
|
321
|
-
// the same projection the CLI and dispatch diagnosis read.
|
|
322
269
|
reviewRetry: runtime.store.reviewRetryStateOf(latest.id),
|
|
323
|
-
// The same review facts every other surface projects for this run.
|
|
324
270
|
review,
|
|
325
271
|
receipt: latest.outcome === "built" || latest.outcome === "no-change"
|
|
326
272
|
? completionReceiptView(runtime.store, latest, artifacts, runtime.evidenceRoot, review)
|
|
327
273
|
: null,
|
|
328
274
|
};
|
|
329
275
|
})();
|
|
330
|
-
// Adaptive execution plans (v44): the plan-revision ledger and live
|
|
331
|
-
// milestone projection, both null for a task with no plan at all.
|
|
332
|
-
// taskChatFocus below reads the SAME two calls, so the task page and
|
|
333
|
-
// focused chat always render identical facts (c2).
|
|
334
276
|
const planRevisions = ref === null ? null : revisionLedgerOf(ref.id);
|
|
335
277
|
const milestoneProgress = ref === null ? null : progressOf(ref.id, planRevisions?.current?.document ?? null);
|
|
336
278
|
const family = runtime.familyOf(taskId);
|
|
@@ -344,17 +286,13 @@ export function createTaskViews(runtime) {
|
|
|
344
286
|
task: found,
|
|
345
287
|
status: workRowOf({ ...found, repo: ref?.repo ?? null }, now, completion?.receipt).status,
|
|
346
288
|
dispatch: diagnoseTaskDispatch(runtime.store, taskId, now),
|
|
347
|
-
// v52: the exact-run control — the same projection the focused
|
|
348
|
-
// chat and `task show` read.
|
|
349
289
|
control: ref === null ? { kind: "none" } : taskControlOf(runtime.store, ref.id, now),
|
|
350
290
|
canRetryReview: who.via === "cookie" && who.role === "approver",
|
|
351
291
|
strikes: ref?.strikes ?? 0,
|
|
352
292
|
filer: runtime.store.taskFiler(taskId),
|
|
353
|
-
// v105: a waiting task whose monthly budget is used up says so.
|
|
354
293
|
budgetHold: (() => {
|
|
355
294
|
if (ref === null || found.state !== "queued")
|
|
356
295
|
return null;
|
|
357
|
-
// Only work billed to an API key waits on a budget (its approved agent's, or Claude's by default).
|
|
358
296
|
const hold = runtime.store.budgetGate(now)({ ...runtime.store.budgetSubject(ref.id),
|
|
359
297
|
agents: runtime.store.agentsFor([runtime.store.getScope(taskId)?.approvedProfile?.provider ?? "claude"]) });
|
|
360
298
|
if (hold.over === null)
|
|
@@ -362,7 +300,6 @@ export function createTaskViews(runtime) {
|
|
|
362
300
|
return hold.why === "unpriced" ? `${budgetHoldWords(hold, monthOf(now).name)}; this waits until then`
|
|
363
301
|
: `${budgetLabel(hold.over)} monthly budget is used up, so this waits until next month or a higher budget`;
|
|
364
302
|
})(),
|
|
365
|
-
// Sprint 8: a waiting task the organisation policy stops says which rule, or that it runs lowered.
|
|
366
303
|
policyHold: (() => {
|
|
367
304
|
if (ref === null || found.state !== "queued")
|
|
368
305
|
return null;
|
|
@@ -384,6 +321,8 @@ export function createTaskViews(runtime) {
|
|
|
384
321
|
})(),
|
|
385
322
|
plan: ref?.plan ?? null,
|
|
386
323
|
planAuto: planAutoPending(runtime.store, taskId, now),
|
|
324
|
+
planSource: planSourceOf(runtime.store, taskId),
|
|
325
|
+
retryPins: retryPinsOf(runtime.store, taskId),
|
|
387
326
|
planDocument: planView?.document ?? null,
|
|
388
327
|
planSha: planView?.sha256 ?? null,
|
|
389
328
|
planContract: ref === null || planView === null ? null : planContractViewOf(ref.id, scope),
|
|
@@ -392,20 +331,14 @@ export function createTaskViews(runtime) {
|
|
|
392
331
|
revision,
|
|
393
332
|
planRevisions,
|
|
394
333
|
milestoneProgress,
|
|
395
|
-
// v40: the fallback for a task page with no completed run yet (a
|
|
396
|
-
// freshly drafted, unapproved repair) — completion's own branches
|
|
397
|
-
// cover every case once a run exists.
|
|
398
334
|
repairChain: completion !== null ? null : runtime.store.repairChainForDraft(taskId),
|
|
399
335
|
repo: ref?.repo ?? null,
|
|
400
336
|
filedVia: runtime.store.filedViaOf(taskId),
|
|
401
|
-
// v126: where the work came from (a flow, an outside event), from what was kept when it was filed.
|
|
402
337
|
origin: (() => { const repos = runtime.workAccess().repos; return originOf(runtime.store, taskId, repo => repos === null || repos.includes(repo)); })(),
|
|
403
338
|
coordinator: (() => {
|
|
404
339
|
const who = runtime.store.coordinatorProvenanceOf(taskId);
|
|
405
340
|
if (who === null)
|
|
406
341
|
return null;
|
|
407
|
-
// RELATIVE age (round-2 finding 5): "12m ago" reads at a glance;
|
|
408
|
-
// an absolute stamp makes the operator do arithmetic.
|
|
409
342
|
const ago = who.filedAt === null
|
|
410
343
|
? null
|
|
411
344
|
: (() => {
|
|
@@ -420,18 +353,12 @@ export function createTaskViews(runtime) {
|
|
|
420
353
|
})(),
|
|
421
354
|
holds: ref === null ? [] : runtime.store.activeHolds(ref.id, now),
|
|
422
355
|
claimed: ref === null ? false : runtime.store.hasLiveClaim(ref.id, now),
|
|
423
|
-
// The chain, both directions of trust: blockers outside the ceiling
|
|
424
|
-
// are named but wear no state and no link (same redaction the board
|
|
425
|
-
// applies to blockerState).
|
|
426
356
|
waitsFor: runtime.store.blockers(taskId).map(blockerId => {
|
|
427
357
|
const blockerRef = runtime.store.lookupRef(blockerId);
|
|
428
358
|
const admitted = blockerRef !== null && runtime.visible(blockerRef.repo);
|
|
429
359
|
const blocker = admitted ? runtime.store.getTask(blockerId) : null;
|
|
430
360
|
return { id: !admitted && runtime.restricted() ? "restricted task" : blockerId, title: blocker === null ? null : blocker.title, state: blocker === null ? null : blocker.state, admitted };
|
|
431
361
|
}),
|
|
432
|
-
// Candidates a "wait for" or replacement select may offer: this
|
|
433
|
-
// TASK's own project, even when the sidebar is in all-project mode.
|
|
434
|
-
// That keeps repair complete without ever mixing unrelated projects.
|
|
435
362
|
waitCandidates: (() => {
|
|
436
363
|
if (who.via !== "cookie")
|
|
437
364
|
return [];
|
|
@@ -443,16 +370,12 @@ export function createTaskViews(runtime) {
|
|
|
443
370
|
.filter(one => one.id !== taskId && (one.state === "queued" || one.state === "running") && runtime.visible(one.repo))
|
|
444
371
|
.map(one => ({ id: one.id, title: one.title }));
|
|
445
372
|
})(),
|
|
446
|
-
// The one liveness fact, computed here where the store is: the run
|
|
447
|
-
// whose lease is the task's CURRENT claim — not merely the first
|
|
448
|
-
// unfinished run (round-4 finding, A1).
|
|
449
373
|
liveRunId: (() => {
|
|
450
374
|
if (ref === null)
|
|
451
375
|
return null;
|
|
452
376
|
const found = runtime.store.runsFor(ref.id).find(one => runIsLive(one));
|
|
453
377
|
return found === undefined ? null : found.id;
|
|
454
378
|
})(),
|
|
455
|
-
// Live steering: the Claude build that takes Pause right now, and where its latest pause stands.
|
|
456
379
|
livePause: (() => {
|
|
457
380
|
const run = ref === null ? null : runtime.store.liveInputRun(ref.id, now);
|
|
458
381
|
if (run === null)
|
|
@@ -482,11 +405,8 @@ export function createTaskViews(runtime) {
|
|
|
482
405
|
mirror: runtime.store.mirrorByTask(taskId),
|
|
483
406
|
scope,
|
|
484
407
|
approvalDigest,
|
|
485
|
-
// The phase route (v47): one projection for the card, the ceremony,
|
|
486
|
-
// and the focused chat, with the readiness this task's runners report.
|
|
487
408
|
route: routeView,
|
|
488
409
|
canEditRoute: who.role === "approver",
|
|
489
|
-
// Results routing (slice 1): the family's saved record, or the one its rows give now; never a reason to fail the page.
|
|
490
410
|
resultRecord: resultRecordWordsOf(runtime.store, taskId, runtime.evidenceRoot, now),
|
|
491
411
|
spendDefaults: runtime.store.getSpendDefaults(),
|
|
492
412
|
permissionDefault: runtime.store.permissionDefault().mode,
|
|
@@ -494,9 +414,6 @@ export function createTaskViews(runtime) {
|
|
|
494
414
|
qualityDefault: runtime.store.qualityDefault().mode,
|
|
495
415
|
qualityMode: ref?.qualityMode ?? null,
|
|
496
416
|
publication: (() => {
|
|
497
|
-
// The latest publication across this task's runs, with its
|
|
498
|
-
// OBSERVED CI state (audit SD-5): the reviewer learns PR and CI
|
|
499
|
-
// here instead of spelunking run pages.
|
|
500
417
|
if (ref === null)
|
|
501
418
|
return null;
|
|
502
419
|
for (const one of runtime.store.runsFor(ref.id)) {
|
|
@@ -525,15 +442,10 @@ export function createTaskViews(runtime) {
|
|
|
525
442
|
autoRelease: ref === null ? null : autoReleaseOf(runtime.store.getScope(ref.externalId)),
|
|
526
443
|
releaseCiRunning: ref !== null && releaseCiRunningOf(runtime.store, ref.externalId) !== null,
|
|
527
444
|
approvalProof: (() => {
|
|
528
|
-
// The proof of the approval shown: its approver, its exact sealed digest (approvedDigest === digest when approved).
|
|
529
445
|
const scope = ref === null ? null : runtime.store.getScope(ref.externalId);
|
|
530
446
|
return scope === null || scope.approvedBy === null || scope.approvedDigest === null ? null
|
|
531
447
|
: approvalProofOf(runtime.store, ref.externalId, scope.approvedBy, scope.approvedDigest);
|
|
532
448
|
})(),
|
|
533
|
-
// Cockpit B2: whether this person's remembered password may approve these exact terms (the same rule approve()
|
|
534
|
-
// applies), and since when.
|
|
535
|
-
// The one password rule every approve form reads (approval-password.ts): remembered since when, or a local
|
|
536
|
-
// owner's no-password approval (eligible, or why not and where to go).
|
|
537
449
|
...(() => {
|
|
538
450
|
const scope = ref === null ? null : runtime.store.getScope(ref.externalId);
|
|
539
451
|
if (scope === null || ref === null || who?.via !== "cookie")
|
|
@@ -554,14 +466,10 @@ export function createTaskViews(runtime) {
|
|
|
554
466
|
return last === null ? null : fastChangeProblem(runtime.store, ref.externalId, last.id);
|
|
555
467
|
})(),
|
|
556
468
|
steerRecent: ref === null ? [] : runtime.store.runsFor(ref.id).filter(one => one.outcome !== null).map(one => one.id).sort((a, b) => b - a).slice(0, 5),
|
|
557
|
-
// The running attempt's composer, for an approver on a browser session (steer-controls.ts).
|
|
558
469
|
steerComposer: (() => {
|
|
559
470
|
const run = ref === null ? null : liveAttemptOf(runtime.store, ref.id, now);
|
|
560
471
|
return run === null ? null : steerControlsFor(runtime.store, ref.externalId, run, now, who?.role === "approver");
|
|
561
472
|
})(),
|
|
562
|
-
// "publishes as" reads ONLY publicationGrantFor(repo) — the grant
|
|
563
|
-
// the publisher would act under — never listGrants(), which is
|
|
564
|
-
// dispatch authority (slice 1c).
|
|
565
473
|
grant: ref === null || ref.repo === null ? null : runtime.store.publicationGrantFor(ref.repo),
|
|
566
474
|
csrf: who.via === "cookie" ? who.session.csrf : "",
|
|
567
475
|
nonce,
|
|
@@ -569,12 +477,6 @@ export function createTaskViews(runtime) {
|
|
|
569
477
|
now,
|
|
570
478
|
};
|
|
571
479
|
}
|
|
572
|
-
/** The Agents view (v47): the task's route from the ONE resolver dispatch
|
|
573
|
-
* uses — sealed, proposed, live, a proven pre-routing profile, or
|
|
574
|
-
* unreadable — projected with the readiness its runners have reported,
|
|
575
|
-
* and the edit posture an approver's controls need. The scope digest
|
|
576
|
-
* rides along so every change form can CAS against exactly what was
|
|
577
|
-
* rendered (an empty value means "I saw no scope"). */
|
|
578
480
|
function routeViewOf(taskId, ref, scope, now, who) {
|
|
579
481
|
if (ref === null)
|
|
580
482
|
return null;
|
|
@@ -589,7 +491,6 @@ export function createTaskViews(runtime) {
|
|
|
589
491
|
replanOnPlanChange: ref.plan === "drafted" && scope !== null && !approvalOf(scope).approved,
|
|
590
492
|
digest: scope?.digest ?? null,
|
|
591
493
|
choices: agentChoicesFor(runtime.store, ref.repo, routed.kind === "route" ? routed.route : null),
|
|
592
|
-
// Results routing: why an earned rule's model builds it, from the records as they stand now.
|
|
593
494
|
evidence: routed.kind === "route" ? selectionEvidenceWords(runtime.store, routed.route, now) : null,
|
|
594
495
|
};
|
|
595
496
|
if (routed.kind === "route") {
|
|
@@ -600,8 +501,6 @@ export function createTaskViews(runtime) {
|
|
|
600
501
|
}
|
|
601
502
|
return { kind: "unreadable", source: null, projection: null, legacy: null, problem: routed.problem, ...shared };
|
|
602
503
|
}
|
|
603
|
-
/** Resolve a task-scoped chat lens without trusting its query string.
|
|
604
|
-
* Only an admitted task becomes model context or visible page copy. */
|
|
605
504
|
function taskChatFocus(taskId, now, who, options = {}) {
|
|
606
505
|
if (taskId === null || taskId.length === 0 || taskId.length > 64 || hasForbiddenControls(taskId))
|
|
607
506
|
return null;
|
|
@@ -612,10 +511,6 @@ export function createTaskViews(runtime) {
|
|
|
612
511
|
const task = family.current;
|
|
613
512
|
const ref = runtime.store.lookupRef(taskId);
|
|
614
513
|
const scope = runtime.store.getScope(taskId);
|
|
615
|
-
// The focused chat is a lens over the task page's own assembled facts.
|
|
616
|
-
// Reusing that projection keeps approval nonces, joint approval digests,
|
|
617
|
-
// revision verification, decisions, and result evidence on one source
|
|
618
|
-
// of truth instead of growing a chat-only lifecycle.
|
|
619
514
|
const view = who === undefined || family.problem !== null ? null : taskViewData(taskId, who, null, options);
|
|
620
515
|
const runs = view?.runs ?? runtime.store.runsFor(ref.id);
|
|
621
516
|
const latest = runs.find(runIsTaskResult) ?? null;
|
|
@@ -637,12 +532,8 @@ export function createTaskViews(runtime) {
|
|
|
637
532
|
dispatch: diagnoseTaskDispatch(runtime.store, taskId, now),
|
|
638
533
|
scope: scope === null ? "none" : approval.approved ? "approved" : "needs approval",
|
|
639
534
|
plan: ref.plan,
|
|
640
|
-
// Adaptive execution plans (v44): the identical ledger/progress
|
|
641
|
-
// projection the task page renders (c2) — reused from `view` when
|
|
642
|
-
// available, computed fresh only when this call has no `who`.
|
|
643
535
|
planRevisions,
|
|
644
536
|
milestoneProgress: view?.milestoneProgress ?? progressOf(ref.id, planRevisions?.current?.document ?? null),
|
|
645
|
-
// What a failed task missed, said as the task page says it.
|
|
646
537
|
failure: task.state === "failed" ? failureOf(family.versions.flatMap(version => runtime.store.runsFor(version.refId)), view?.assignment ?? assignmentOf(runtime.store, task.id, now, runtime.workAccess(), runtime.evidenceRoot)) : null,
|
|
647
538
|
claimed: view?.claimed ?? runtime.store.hasLiveClaim(ref.id, now),
|
|
648
539
|
liveRun: live === null ? null : { id: live.id, runner: live.runner, startedAt: live.startedAt, phase: live.phase },
|
|
@@ -675,9 +566,6 @@ export function createTaskViews(runtime) {
|
|
|
675
566
|
: completionReceiptView(runtime.store, latest, runtime.store.artifactsFor(latest.id), runtime.evidenceRoot, runtime.reviewFactsFor(latest.id)),
|
|
676
567
|
};
|
|
677
568
|
}
|
|
678
|
-
/** The newest pull request any version of this task opened through Complete; else, for a result completed
|
|
679
|
-
* without one, the offer to open it (an approver's browser session only). */
|
|
680
|
-
/** Where "Complete and open a pull request" would open one for this result, or null when it isn't offered. */
|
|
681
569
|
function pullRequestTargetOf(runId) {
|
|
682
570
|
const run = runtime.store.getRun(runId);
|
|
683
571
|
const publishing = publishingOf(runtime.store, run === null ? null : runtime.store.refById(run.taskRef)?.repo ?? null);
|
|
@@ -706,7 +594,6 @@ export function createTaskViews(runtime) {
|
|
|
706
594
|
return null;
|
|
707
595
|
return { taskId: rootId, view: null, offer: { taskId: receipt.taskId, runId: receipt.runId, digest: receipt.digest }, target };
|
|
708
596
|
}
|
|
709
|
-
/** What went wrong with the latest finished attempt (whatever its outcome, never an older failure). */
|
|
710
597
|
function failureOf(runs, assignment, readLog = true) {
|
|
711
598
|
const last = latestFinishedAttempt(runs);
|
|
712
599
|
if (last === null)
|
|
@@ -715,12 +602,6 @@ export function createTaskViews(runtime) {
|
|
|
715
602
|
return full === null ? { kind: "reason", line: failedAttemptSentence(last.reason), evidence: null, suggestion: stopSuggestionOf(last.reason), link: null }
|
|
716
603
|
: explainAttempt(full, assignment?.receipt?.runId === last.id ? assignment.receipt : null, readLog);
|
|
717
604
|
}
|
|
718
|
-
/** One finished attempt's failure in plain words: a failing check's last error line (linked to that line in its
|
|
719
|
-
* saved log), else the first signed requirement it missed with the evidence line behind it, else its recorded reason
|
|
720
|
-
* in plain words (or that none was recorded). Each comes with one suggestion of what to change, and a link to the
|
|
721
|
-
* attempt's own result page, where its changes, checks and failure are; machine output reads as an internal error,
|
|
722
|
-
* its detail behind a link to that line of the attempt's record. `readLog` false (a list's rows) reads no saved
|
|
723
|
-
* check log: the requirement or the reason, from the database alone. */
|
|
724
605
|
function explainAttempt(run, receipt, readLog = true) {
|
|
725
606
|
const taskId = runtime.store.externalIdFor(run.taskRef) ?? "";
|
|
726
607
|
const page = `${reviewHref(taskId)}&run=${run.id}`;
|
|
@@ -757,8 +638,6 @@ export function createTaskViews(runtime) {
|
|
|
757
638
|
return { kind: "reason", line: failedAttemptSentence(run.reason), evidence: null, suggestion: stopSuggestionOf(run.reason),
|
|
758
639
|
link: internal ? { label: "The recorded error", href: `/r/${run.id}?record=1#run-reason-detail` } : see };
|
|
759
640
|
}
|
|
760
|
-
/** Run checks in place on a result's commit: an approver's browser session, outside the demo, when the project has a
|
|
761
|
-
* check and none is waiting or running on it. Comes back to `returnTo`. */
|
|
762
641
|
function runChecksHere(runId, who, returnTo) {
|
|
763
642
|
if (runId === null || who.via !== "cookie" || who.role !== "approver" || runtime.store.isDemo())
|
|
764
643
|
return null;
|
|
@@ -768,11 +647,6 @@ export function createTaskViews(runtime) {
|
|
|
768
647
|
return null;
|
|
769
648
|
return { action: `/r/${runId}/checks`, level: followUps.full ? "full" : "quick", returnTo };
|
|
770
649
|
}
|
|
771
|
-
/**
|
|
772
|
-
* One page per task (docs/plans/one-page-task-and-agent.md): the tab the address named, the Result tab's result with
|
|
773
|
-
* every result attempt to pick from, and every link that would open a result page of this family (its /review deep
|
|
774
|
-
* link, a build's /r/<n>) pointed at this page's Result tab instead — the person stays on the task.
|
|
775
|
-
*/
|
|
776
650
|
function onePageView(view, family, runs, extras) {
|
|
777
651
|
const root = family?.root.id ?? view.id;
|
|
778
652
|
const current = family?.current.id ?? view.id;
|
|
@@ -806,11 +680,9 @@ export function createTaskViews(runtime) {
|
|
|
806
680
|
...(view.failure == null ? {} : { failure: { ...view.failure, link: link(view.failure.link) } }),
|
|
807
681
|
...(view.earlier == null ? {} : { earlier: { ...view.earlier, attempts: view.earlier.attempts.map(one => ({ ...one, href: toTab(one.href) })) } }),
|
|
808
682
|
...(view.thread === undefined ? {} : { thread: view.thread.map(one => ({ ...one, link: link(one.link) })) }),
|
|
809
|
-
// The previous result's fold moves to the Result tab when there is one.
|
|
810
683
|
sections: selected === null ? view.sections : view.sections.filter(one => one.id !== "result"),
|
|
811
684
|
tab: extras.tab ?? "activity",
|
|
812
685
|
result: selected === null ? null : { selected, current: extras.result.current, attempts,
|
|
813
|
-
// Fresh per-render request tokens (32 hex) are not what it shows: left out, so an unchanged result keeps its stamp.
|
|
814
686
|
revision: createHash("sha256").update(JSON.stringify(selected).replace(/\b[a-f0-9]{32}\b/g, "")).digest("hex").slice(0, 16) },
|
|
815
687
|
};
|
|
816
688
|
}
|
|
@@ -818,7 +690,6 @@ export function createTaskViews(runtime) {
|
|
|
818
690
|
const admittedFamily = runtime.familyOf(taskId);
|
|
819
691
|
if (admittedFamily?.problem != null)
|
|
820
692
|
return runtime.sendScreen(response, status, screen(admittedFamily.root.title, html `<h1>${admittedFamily.root.title}</h1><p>${admittedFamily.current.state}</p><p class="problem" data-history-problem>${admittedFamily.problem}</p>`, { chrome: runtime.chromeFor(admittedFamily.root.repo, "tasks") }));
|
|
821
|
-
// A read ahead (x-toolroll-read: prefetch, live-pages-and-home.md A1.4) mints nothing: its plan form says "unminted".
|
|
822
693
|
const data = taskViewData(taskId, who, problem, { mintNonce: requestContext.getStore()?.readPurpose !== "prefetch" });
|
|
823
694
|
if (data === null)
|
|
824
695
|
return refuse(response, who, 404, "no such task", "/tasks");
|
|
@@ -826,7 +697,6 @@ export function createTaskViews(runtime) {
|
|
|
826
697
|
const presentedData = { ...data, rootId: family?.root.id ?? taskId, rootTitle: family?.root.title ?? data.task.title,
|
|
827
698
|
...(family === null || data.assignment != null ? {} : { history: familyHistory(family) }),
|
|
828
699
|
versionLabel: family !== null && family.current.id !== taskId ? `Viewing ${family.versions.findIndex(one => one.id === taskId) === 0 ? "Original" : `Revision ${family.versions.findIndex(one => one.id === taskId)}`} · ${family.current.state === "running" ? "A newer revision is running" : "A newer revision is current"}` : null };
|
|
829
|
-
// Put away (v145, task-tidy.md): who or what put it away and why, and whether this person can put it away or restore it.
|
|
830
700
|
const archived = archiveOf(runtime.store, taskId);
|
|
831
701
|
presentedData.archived = archived;
|
|
832
702
|
presentedData.canPutAway = who.via === "cookie" && who.role === "approver";
|
|
@@ -837,13 +707,11 @@ export function createTaskViews(runtime) {
|
|
|
837
707
|
if (editPlan)
|
|
838
708
|
presentedData.editPlan = true;
|
|
839
709
|
presentedData.pullRequest = taskPullRequestOf(taskId, who);
|
|
840
|
-
// The thread reads the whole family: the original, its revisions, and every attempt across them.
|
|
841
710
|
if (family !== null && family.problem === null) {
|
|
842
711
|
presentedData.family = { root: { id: family.root.id, title: family.root.title, createdAt: family.root.createdAt, goal: runtime.store.getScope(family.root.id)?.goal ?? null },
|
|
843
712
|
versions: family.versions.map(one => ({ id: one.id, title: one.title, state: one.state })),
|
|
844
713
|
runs: family.versions.flatMap(version => version.id === data.task.id ? data.runs.map(run => ({ ...run, taskId: version.id })) : runtime.store.runsFor(version.refId).map(run => ({ ...run, taskId: version.id }))) };
|
|
845
714
|
}
|
|
846
|
-
// What went wrong reads the family's latest finished attempt, as the Tasks row does.
|
|
847
715
|
presentedData.failure = failureOf(presentedData.family?.runs ?? data.runs, data.assignment ?? null);
|
|
848
716
|
presentedData.runChecks = runChecksHere(data.assignment?.receipt?.runId ?? null, who, taskHref(taskId));
|
|
849
717
|
const liveRun = data.liveRunId == null ? undefined : data.runs.find(one => one.id === data.liveRunId);
|
|
@@ -854,31 +722,21 @@ export function createTaskViews(runtime) {
|
|
|
854
722
|
const page = taskPage(paneProject === null && !runtime.unscopedMode
|
|
855
723
|
? runtime.chromeFor(paneProject, "tasks")
|
|
856
724
|
: runtime.chromeFor(paneProject, "tasks", taskListPane(paneProject, family?.root.id ?? taskId)), presentedData);
|
|
857
|
-
// The task's own conversation, docked beside the page (v77).
|
|
858
725
|
const focus = taskChatFocus(family?.root.id ?? taskId, runtime.clock(), who, { mintNonce: false });
|
|
859
726
|
const docked = focus === null ? null : runtime.dockedConversation(who, focus, null, runtime.clock(), taskHref(focus.id));
|
|
860
|
-
// The conversation is the page's own thread here, so the page drops its Ask tab;
|
|
861
|
-
// only an approver is offered a road to message the agent.
|
|
862
727
|
const taskView = page.workspace?.view?.kind === "task" ? { ...page.workspace.view, ...(docked === null ? {} : { tabs: [] }), ...(who.role === "approver" ? {} : { chatHref: null }),
|
|
863
|
-
// A signed-in page hears the moment the task changes, and who else has it open.
|
|
864
728
|
...(who.via === "cookie" ? { live: { room: `task:${encodeURIComponent(family?.root.id ?? taskId)}`, at: (() => { try {
|
|
865
729
|
return taskFingerprint(runtime.store, family?.root.id ?? taskId, runtime.clock());
|
|
866
730
|
}
|
|
867
731
|
catch {
|
|
868
732
|
return null;
|
|
869
733
|
} })() } } : {}) } : page.workspace?.view;
|
|
870
|
-
// A refusal that keeps a draft (a scope edit, an armed cancel) or asks for the plan editor reopens on Plan, where the
|
|
871
|
-
// draft and its error are; anything else on Activity unless the address named a tab.
|
|
872
734
|
const tab = extras.tab ?? "plan";
|
|
873
735
|
const onePage = taskView?.kind === "task" ? onePageView(taskView, family, presentedData.family?.runs ?? data.runs.map(run => ({ ...run, taskId: data.task.id })), { ...extras, tab }) : taskView;
|
|
874
|
-
// Ship (its pull request's checks, each on one time axis) and a release's own steps, read from the store now.
|
|
875
736
|
const rootId = family?.root.id ?? taskId;
|
|
876
737
|
const oneTaskView = onePage?.kind === "task" ? { ...onePage, ship: shipViewOf(shipChecksForTask(runtime.store, rootId), runtime.clock()),
|
|
877
738
|
release: releaseStepsViewOf(releaseProgressFor(runtime.store, rootId), runtime.clock()),
|
|
878
|
-
// "Can I merge?" (P1.6): the checklist from the same assignment this page read, each blocker with its own form.
|
|
879
739
|
mergeReady: mergeReadyViewOf(runtime.store, taskId, data.assignment, who, presentedData.runChecks ?? null, taskHref(taskId)) } : onePage;
|
|
880
|
-
// A check the machine runs (a prepared candidate: a release's check) is said as the check it is, with no agent's
|
|
881
|
-
// activity, no notes to read, and for a release its own steps instead of the generic Plan → Build stepper.
|
|
882
740
|
if (oneTaskView?.kind === "task" && machineChecked(runtime.store, taskId)) {
|
|
883
741
|
const words = machineCheckWords(runtime.store, taskId, data.liveRunId ?? null, oneTaskView.release ?? null, runtime.clock());
|
|
884
742
|
const card = oneTaskView.status;
|
|
@@ -889,15 +747,10 @@ export function createTaskViews(runtime) {
|
|
|
889
747
|
if (oneTaskView.release != null)
|
|
890
748
|
oneTaskView.journey = null;
|
|
891
749
|
}
|
|
892
|
-
// The step rows read the view as the page will show it (its result, its release, its checks words).
|
|
893
750
|
if (oneTaskView?.kind === "task")
|
|
894
751
|
oneTaskView.steps = stepRowsOf(oneTaskView);
|
|
895
|
-
// The Result tab's no-script page, under the task's own (the same HTML its result page serves), and its script.
|
|
896
752
|
if (extras.result != null) {
|
|
897
753
|
page.body = html `${page.body}<section class="task-result-tab" id="task-result" aria-label="Result">${extras.result.html}</section>`;
|
|
898
|
-
// The result's own script, as its result page ships it (a password form there keeps it too: Request changes and
|
|
899
|
-
// the line notes need it).
|
|
900
|
-
// The app runs its own version (browser/work/result.ts), so a task with a result can open in place.
|
|
901
754
|
page.functional = withScript(page.functional, { script: `${reviewEvidenceScript()}${RESULT_REVIEW_SCRIPT}`, app: [{ kind: "result" }] });
|
|
902
755
|
}
|
|
903
756
|
if (docked !== null)
|
|
@@ -907,13 +760,7 @@ export function createTaskViews(runtime) {
|
|
|
907
760
|
page.refreshSeconds = runtime.liveRefreshSeconds();
|
|
908
761
|
return runtime.sendScreen(response, status, page);
|
|
909
762
|
}
|
|
910
|
-
/** Shared by task controls and chat proposals; both callers authorize the task first. */
|
|
911
763
|
function armTaskResume(response, who, taskId, named, returnTo, now) {
|
|
912
|
-
// The resume ceremony's first half (v52): minted by THIS POST, never
|
|
913
|
-
// a GET. The nonce is bound to the exact run, this approver, and a
|
|
914
|
-
// digest of the facts the confirmation restates — the run, its
|
|
915
|
-
// settlement, and the scope's current approval — so a page read
|
|
916
|
-
// before the approval changed cannot resume under the new terms.
|
|
917
764
|
if (who.via !== "cookie")
|
|
918
765
|
return refuse(response, who, 403, "resuming a task is a browser session's act");
|
|
919
766
|
if (who.role !== "approver")
|
|
@@ -951,8 +798,6 @@ export function createTaskViews(runtime) {
|
|
|
951
798
|
approved: (() => { const scope = runtime.store.getScope(taskId); return scope !== null && approvalOf(scope).approved; })(),
|
|
952
799
|
}));
|
|
953
800
|
}
|
|
954
|
-
/** The newest plan document for a task, verified before a byte renders.
|
|
955
|
-
* Its hash is also the plan revision the approval form was minted for. */
|
|
956
801
|
function planViewOf(taskRef) {
|
|
957
802
|
const artifact = runtime.store.latestPlanArtifact(taskRef);
|
|
958
803
|
if (artifact === null)
|
|
@@ -965,14 +810,6 @@ export function createTaskViews(runtime) {
|
|
|
965
810
|
return null;
|
|
966
811
|
}
|
|
967
812
|
}
|
|
968
|
-
/**
|
|
969
|
-
* The plan-contract record of the newest drafted plan (contract handoff,
|
|
970
|
-
* task 1): what the planner was filed, what it proposed, its explicit
|
|
971
|
-
* amendment, and every mechanical change between the two — verified
|
|
972
|
-
* before a byte renders, and marked `current` only while the proposed
|
|
973
|
-
* terms are still exactly the scope row (an operator's later edit turns
|
|
974
|
-
* the record into history, never a claim about the row).
|
|
975
|
-
*/
|
|
976
813
|
function planContractViewOf(taskRef, scope) {
|
|
977
814
|
const artifact = runtime.store.latestPlanContractArtifact(taskRef);
|
|
978
815
|
if (artifact === null)
|
|
@@ -1028,16 +865,6 @@ export function createTaskViews(runtime) {
|
|
|
1028
865
|
return null;
|
|
1029
866
|
}
|
|
1030
867
|
}
|
|
1031
|
-
/**
|
|
1032
|
-
* The adaptive-plan ledger for one task: the revision currently in force,
|
|
1033
|
-
* any revision still 'blocked' awaiting an operator's accept or reject,
|
|
1034
|
-
* and the full immutable history. A task with no `plan_revision` rows at
|
|
1035
|
-
* all — every task filed before this feature, or one whose first
|
|
1036
|
-
* revision is still 'blocked' — reads `current` as a read-only
|
|
1037
|
-
* projection off the existing planner artifact (`planViewOf`), never
|
|
1038
|
-
* written back as a row: c1's "older builds with no checkpoints remain
|
|
1039
|
-
* readable."
|
|
1040
|
-
*/
|
|
1041
868
|
function revisionLedgerOf(taskRef) {
|
|
1042
869
|
const history = runtime.store.listPlanRevisions(taskRef).map(revisionDocOf).filter((view) => view !== null);
|
|
1043
870
|
const currentRow = runtime.store.currentPlanRevision(taskRef);
|
|
@@ -1068,12 +895,6 @@ export function createTaskViews(runtime) {
|
|
|
1068
895
|
}
|
|
1069
896
|
return { current, pending, history };
|
|
1070
897
|
}
|
|
1071
|
-
/** The live milestone projection for a task: every milestone in the
|
|
1072
|
-
* CURRENT revision's document, in order, each carrying the newest
|
|
1073
|
-
* checkpoint's state for its exact id — a checkpoint filed against an
|
|
1074
|
-
* older, differently-worded revision simply has no matching ids, so its
|
|
1075
|
-
* milestones fall back to "pending" rather than showing stale progress
|
|
1076
|
-
* under a plan that no longer says that. */
|
|
1077
898
|
function progressOf(taskRef, currentDocument) {
|
|
1078
899
|
if (currentDocument === null)
|
|
1079
900
|
return null;
|
|
@@ -1088,21 +909,6 @@ export function createTaskViews(runtime) {
|
|
|
1088
909
|
return { id: milestone.id, description: milestone.description, state: entry?.state ?? "pending", note: entry?.note ?? null };
|
|
1089
910
|
});
|
|
1090
911
|
}
|
|
1091
|
-
/**
|
|
1092
|
-
* The review cockpit's projection of ONE completed task (Priority 5):
|
|
1093
|
-
* approved intent from the scope and plan already on file, the result
|
|
1094
|
-
* run's sealed artifacts through the same verified readers the run page
|
|
1095
|
-
* uses, the stored verdict and matrix, the publication
|
|
1096
|
-
* rows. Nothing here is a new record: a manual completion (no run), a
|
|
1097
|
-
* legacy result (no proof verdict), and a broken artifact each read as
|
|
1098
|
-
* exactly what they are. Only the selected result is enriched — the
|
|
1099
|
-
* queue rows carry the done list's own facts and nothing more.
|
|
1100
|
-
*/
|
|
1101
|
-
/**
|
|
1102
|
-
* The result detail (workspace package 3): every verified record one
|
|
1103
|
-
* finished run's result presentation reads, assembled once for the run
|
|
1104
|
-
* page, the review cockpit, and the chat's result view. Read-only.
|
|
1105
|
-
*/
|
|
1106
912
|
function resultDetailOf(run, who, now) {
|
|
1107
913
|
const taskId = runtime.store.externalIdFor(run.taskRef) ?? "?";
|
|
1108
914
|
const scope = runtime.store.getScope(taskId);
|
|
@@ -1112,8 +918,6 @@ export function createTaskViews(runtime) {
|
|
|
1112
918
|
const handoff = structuredHandoffView(artifacts, runtime.evidenceRoot);
|
|
1113
919
|
const review = runtime.reviewFactsFor(run.id);
|
|
1114
920
|
const receipt = completionReceiptView(runtime.store, run, artifacts, runtime.evidenceRoot, review);
|
|
1115
|
-
// File anchors come from the PARSED sealed patch — a stat path with no
|
|
1116
|
-
// hunk in the patch gets no anchor, never a dangling one.
|
|
1117
921
|
const patch = terminal?.patch ?? null;
|
|
1118
922
|
const patchOk = patch !== null && !("problem" in patch);
|
|
1119
923
|
const parsedPaths = patchOk ? parseReviewDiff(patch.text).files.filter(one => one.hunks.length > 0).map(one => one.path) : [];
|
|
@@ -1141,7 +945,7 @@ export function createTaskViews(runtime) {
|
|
|
1141
945
|
try {
|
|
1142
946
|
learning = learningHtml(learningView(runtime.store, runtime.evidenceRoot, learningRepo, who.name), who.via === "cookie" ? who.session.csrf : "", who.role === "approver", run.id);
|
|
1143
947
|
}
|
|
1144
|
-
catch {
|
|
948
|
+
catch { }
|
|
1145
949
|
try {
|
|
1146
950
|
const test = skillTestResult(runtime.store, run.id, who.name);
|
|
1147
951
|
if (test) {
|
|
@@ -1167,9 +971,12 @@ export function createTaskViews(runtime) {
|
|
|
1167
971
|
...(() => { const family = runtime.familyOf(taskId); return family === null ? {} : { history: familyHistory(family) }; })(),
|
|
1168
972
|
run,
|
|
1169
973
|
receipt,
|
|
1170
|
-
|
|
974
|
+
...(() => {
|
|
1171
975
|
const value = assignmentOf(runtime.store, taskId, now, runtime.workAccess(), runtime.evidenceRoot);
|
|
1172
|
-
|
|
976
|
+
const assignment = value?.receipt?.runId === run.id && value.activeTaskId === taskId ? freshAssignment(value, receipt) : null;
|
|
977
|
+
const completeRefusal = assignment?.state !== "ready-to-check" || assignment.receipt === null ? null
|
|
978
|
+
: personCompletionRefusal(runtime.store, assignment.receipt.taskId, run.id, who.via === "cookie" ? who.name : null, runtime.evidenceRoot, who.via === "cookie" && who.authority === "local-owner" ? { rootId: assignment.rootId } : null);
|
|
979
|
+
return { assignment, completeRefusal };
|
|
1173
980
|
})(),
|
|
1174
981
|
handoff,
|
|
1175
982
|
proof,
|
|
@@ -1182,7 +989,6 @@ export function createTaskViews(runtime) {
|
|
|
1182
989
|
outsideTouches: files.filter(one => one.outsideTouches).map(one => one.path),
|
|
1183
990
|
fileAnchors,
|
|
1184
991
|
comments: runtime.store.liveDiffComments(run.id).filter(isRevisionFeedback),
|
|
1185
|
-
// The same check that refuses a saved note's screenshot at revision time decides when it can be removed.
|
|
1186
992
|
unusableImageNotes: runtime.store.liveDiffComments(run.id).filter(one => isRevisionFeedback(one) && one.image != null
|
|
1187
993
|
&& feedbackImageProblem(runtime.store, runtime.evidenceRoot, run.id, one.image) !== null).map(one => one.id),
|
|
1188
994
|
pastComments: runtime.store.allDiffComments(run.id).filter(one => one.reviewerRun === null && (one.consumedBy !== null || one.supersededBy !== null)),
|
|
@@ -1192,16 +998,12 @@ export function createTaskViews(runtime) {
|
|
|
1192
998
|
const child = runtime.store.getTask(one.id);
|
|
1193
999
|
if (child === null || !runtime.visible(runtime.store.lookupRef(one.id)?.repo ?? null))
|
|
1194
1000
|
return [];
|
|
1195
|
-
// The same projection the Work list and the child's own page wear.
|
|
1196
1001
|
const status = workRowOf({ ...child, repo: runtime.store.lookupRef(one.id)?.repo ?? null }, now).status;
|
|
1197
1002
|
return [{ id: one.id, title: one.title, state: one.state, approved: approvalOf(runtime.store.getScope(one.id)).approved, standing: status.label, tone: status.tone }];
|
|
1198
1003
|
}),
|
|
1199
1004
|
sourceDigest: scope?.digest ?? null,
|
|
1200
1005
|
followUps: followUpsFor(runtime.store, runtime.evidenceRoot, run, now),
|
|
1201
1006
|
route: runtime.store.runRoute(run.id),
|
|
1202
|
-
// Editor links (arc 6): the deployment capability, THIS machine's
|
|
1203
|
-
// runner owning the run, the session's own device-side yes, and a
|
|
1204
|
-
// checkout to open — or nothing renders.
|
|
1205
1007
|
editor: runtime.options.editorLinks !== undefined && runtime.options.localRunner !== undefined && run.runner === runtime.options.localRunner && who.via === "cookie" && who.session.editorLinks === true && run.worktree !== null && existsSync(run.worktree)
|
|
1206
1008
|
? { worktree: run.worktree }
|
|
1207
1009
|
: null,
|
|
@@ -1211,15 +1013,12 @@ export function createTaskViews(runtime) {
|
|
|
1211
1013
|
}
|
|
1212
1014
|
return { guided, projectFamilyPeek, familiesInView, familyTasksInView, revisionDestination, earlierLiveVersions, familyHistory, freshAssignment, workRowOf, taskListPane, runIsLive, runIsTaskResult, revisionViewOf, taskViewData, routeViewOf, taskChatFocus, pullRequestTargetOf, taskPullRequestOf, failureOf, explainAttempt, runChecksHere, taskScreen, armTaskResume, planViewOf, planContractViewOf, revisionDocOf, revisionLedgerOf, progressOf, resultDetailOf };
|
|
1213
1015
|
}
|
|
1214
|
-
/** A release task the plane approved (or is checking) itself, for the task page (docs/plans/auto-approve-green.md). */
|
|
1215
1016
|
function autoReleaseOf(scope) {
|
|
1216
1017
|
if (scope === null || scope.approvedDigest !== scope.digest || (scope.candidate ?? null) === null)
|
|
1217
1018
|
return null;
|
|
1218
1019
|
return scope.approvalBasis === "auto-green" ? { kind: "approved", candidate: scope.candidate }
|
|
1219
1020
|
: scope.approvalBasis === "auto-check" ? { kind: "checking", candidate: scope.candidate } : null;
|
|
1220
1021
|
}
|
|
1221
|
-
/** A pull request's checks as Ship shows them (src/design/KIT.md timing rows): each check on one elapsed-time axis
|
|
1222
|
-
* from the first one's start, its state in the five words' tones, and one line for the whole. Null: no checks read. */
|
|
1223
1022
|
export function shipViewOf(ship, now) {
|
|
1224
1023
|
if (ship === null || ship.checks.length === 0)
|
|
1225
1024
|
return null;
|
|
@@ -1239,8 +1038,6 @@ export function shipViewOf(ship, now) {
|
|
|
1239
1038
|
const passed = ship.checks.filter(one => one.state === "passed" || one.state === "skipped" || one.state === "neutral").length;
|
|
1240
1039
|
const failed = ship.checks.filter(one => one.state === "failed" || one.state === "cancelled").length;
|
|
1241
1040
|
const running = ship.checks.length - passed - failed;
|
|
1242
|
-
// The overall status is the observation's own (the one merges read); the rows only time each check.
|
|
1243
|
-
// `none` (the pull request closed or merged, or GitHub reported no checks) is never painted as passed.
|
|
1244
1041
|
const state = ship.observed === "failing" ? "failed" : ship.observed === "passing" ? "passed" : ship.observed === "running" ? "running" : "none";
|
|
1245
1042
|
return {
|
|
1246
1043
|
pr: ship.prNumber, head: ship.headSha.slice(0, 7), state, rows,
|
|
@@ -1250,22 +1047,16 @@ export function shipViewOf(ship, now) {
|
|
|
1250
1047
|
observedAt: ship.observedAt,
|
|
1251
1048
|
};
|
|
1252
1049
|
}
|
|
1253
|
-
/** A release step's name in words (release.ts RELEASE_STEPS). */
|
|
1254
1050
|
const RELEASE_STEP_WORDS = {
|
|
1255
1051
|
gate: "Release gate", approval: "Approval", check: "Release check", complete: "Complete the task", quiet: "Wait for quiet", deploy: "Deploy to this Mac",
|
|
1256
1052
|
link: "Point the CLI at it", ci: "Pull request checks", merge: "Merge into main", tree: "Verify the merged tree", tag: "Tag", publish: "Publish to npm", homebrew: "Homebrew",
|
|
1257
1053
|
};
|
|
1258
|
-
/** A release's steps as its progress view shows them: every step in order on one time axis, the ones not reached
|
|
1259
|
-
* queued, and where it stands in one line. Null: this task is no release. */
|
|
1260
1054
|
export function releaseStepsViewOf(progress, now) {
|
|
1261
1055
|
if (progress === null)
|
|
1262
1056
|
return null;
|
|
1263
1057
|
const origin = Date.parse(progress.startedAt);
|
|
1264
1058
|
const recorded = new Map(progress.steps.map(one => [one.step, one]));
|
|
1265
1059
|
const all = RELEASE_STEPS.filter(step => step !== "done");
|
|
1266
|
-
// A release that started part way (one carried under an earlier approval, or resumed from an older journal) shows
|
|
1267
|
-
// the steps from where its own record starts; a step missing between two recorded ones is a write that was lost.
|
|
1268
|
-
// A build running since the stop is the release's check, wherever the release last stopped; what follows it is to come.
|
|
1269
1060
|
const building = progress.building, checkAt = all.indexOf("check");
|
|
1270
1061
|
const firstAt = building === null ? all.findIndex(step => recorded.has(step)) : Math.min(all.findIndex(step => recorded.has(step)), checkAt);
|
|
1271
1062
|
const lastAt = all.reduce((at, step, index) => recorded.has(step) ? index : at, -1);
|
|
@@ -1278,28 +1069,22 @@ export function releaseStepsViewOf(progress, now) {
|
|
|
1278
1069
|
}
|
|
1279
1070
|
if (building !== null && all.indexOf(step) > checkAt)
|
|
1280
1071
|
return { name: RELEASE_STEP_WORDS[step] ?? step, st: "q", start: 0, dur: 0 };
|
|
1281
|
-
// A step with no record is never painted as done: between recorded ones it says so, after them it is queued.
|
|
1282
1072
|
if (one === undefined)
|
|
1283
1073
|
return all.indexOf(step) < lastAt ? { name: RELEASE_STEP_WORDS[step] ?? step, sub: "not recorded", st: "q", start: 0, dur: 0 }
|
|
1284
1074
|
: { name: RELEASE_STEP_WORDS[step] ?? step, st: "q", start: 0, dur: 0 };
|
|
1285
1075
|
const start = Date.parse(one.startedAt), end = one.endedAt === null ? now.getTime() : Date.parse(one.endedAt);
|
|
1286
|
-
// A failure the release has gone on from (resumed past it, or a build since) is history, not where it stands.
|
|
1287
1076
|
const passed = one.state === "failed" && progress.stopped === null;
|
|
1288
1077
|
const st = one.state === "done" || passed ? "ok" : one.state === "failed" ? "bad" : one.state === "waiting" ? "wait" : "run";
|
|
1289
1078
|
return { name: RELEASE_STEP_WORDS[step] ?? step, ...(passed ? { sub: "Stopped here, then went on" } : one.detail === null || one.state === "done" ? {} : { sub: one.detail.slice(0, 160) }), st,
|
|
1290
1079
|
start: Number.isFinite(start) && Number.isFinite(origin) ? Math.max(0, (start - origin) / 1000) : 0, dur: Number.isFinite(start) && Number.isFinite(end) ? Math.max(0, (end - start) / 1000) : 0 };
|
|
1291
1080
|
});
|
|
1292
1081
|
const current = rows.findIndex(row => row.st === "run" || row.st === "wait" || row.st === "bad");
|
|
1293
|
-
// Released only on its own evidence: the last step (Homebrew, after publication) recorded done. A merge (authority
|
|
1294
|
-
// `merged`) is not a release: verifying the tree, the tag and publication still follow it.
|
|
1295
1082
|
const done = progress.stopped === null && recorded.get("homebrew")?.state === "done";
|
|
1296
1083
|
const at = current === -1 ? null : rows[current];
|
|
1297
1084
|
const last = lastAt === -1 ? null : RELEASE_STEP_WORDS[all[lastAt]] ?? all[lastAt];
|
|
1298
1085
|
return {
|
|
1299
1086
|
tag: progress.tag, version: progress.version, pr: progress.pr,
|
|
1300
1087
|
rows,
|
|
1301
|
-
// Waiting is a person's act only at Approval; a step waiting on a machine (its check, GitHub's checks, quiet) is the
|
|
1302
|
-
// release running, never "Needs you".
|
|
1303
1088
|
state: progress.stopped !== null ? "failed" : done ? "done" : at?.st === "wait" && steps[current] === "approval" ? "waiting" : "running",
|
|
1304
1089
|
at: current === -1 ? null : { step: steps[current], name: at.name, index: current + 1, of: rows.length },
|
|
1305
1090
|
headline: done ? `Released ${progress.version}` : progress.stopped !== null ? `Stopped at ${RELEASE_STEP_WORDS[progress.stopped.step] ?? progress.stopped.step}`
|