toolroll 0.9.104 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -5
- package/README.md +18 -20
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +17 -139
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +1 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +0 -17
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +0 -53
- package/dist/local-owner.js +2 -93
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +0 -20
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +0 -100
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +0 -25
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +4 -567
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +21 -555
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +1 -88
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +13 -493
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +6 -135
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +9 -227
- package/dist/server/tasks.js +5 -539
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +0 -75
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +17 -28
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +16 -36
- package/dist/tui.js +1 -1
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +4 -3
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -350
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1985
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -540
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -43
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -61
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -170
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -39
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1098
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -81
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -60
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -343
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -108
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -48
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -202
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/lead-identity.js
CHANGED
|
@@ -2,7 +2,6 @@ export const DEFAULT_LEAD_NAME = "Lead";
|
|
|
2
2
|
export const DEFAULT_LEAD_PERSONA = "Be genuinely helpful, not performative. Have opinions and say which you'd pick. Check before you claim. Be resourceful before asking. Keep it short.";
|
|
3
3
|
export const LEAD_NAME_MAX = 40;
|
|
4
4
|
export const LEAD_PERSONA_MAX = 600;
|
|
5
|
-
/** This person's lead: their saved name and persona, else the defaults. An older store reads as the defaults. */
|
|
6
5
|
export function leadIdentityOf(store, account) {
|
|
7
6
|
if (account == null || account === "")
|
|
8
7
|
return { name: DEFAULT_LEAD_NAME, persona: DEFAULT_LEAD_PERSONA };
|
|
@@ -11,14 +10,12 @@ export function leadIdentityOf(store, account) {
|
|
|
11
10
|
if (saved !== null)
|
|
12
11
|
return { name: saved.name || DEFAULT_LEAD_NAME, persona: saved.persona || DEFAULT_LEAD_PERSONA };
|
|
13
12
|
}
|
|
14
|
-
catch {
|
|
13
|
+
catch { }
|
|
15
14
|
return { name: DEFAULT_LEAD_NAME, persona: DEFAULT_LEAD_PERSONA };
|
|
16
15
|
}
|
|
17
|
-
/** The name alone, for the places the lead speaks. */
|
|
18
16
|
export function leadNameOf(store, account) {
|
|
19
17
|
return leadIdentityOf(store, account).name;
|
|
20
18
|
}
|
|
21
|
-
/** The saved form of a name and persona, or the problem with them. An empty name or persona means the default. */
|
|
22
19
|
export function checkLeadIdentity(name, persona) {
|
|
23
20
|
const named = name.trim().replace(/\s+/g, " "), described = persona.trim().replace(/\r\n?/g, "\n");
|
|
24
21
|
if (named.length > LEAD_NAME_MAX)
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* v158: the lead's latency records and its quick-answer switch (docs/plans/responsive-chat.md, slice 5). Adds only:
|
|
3
|
-
* a saved row reads as it did. Kept beside nothing else so the update road can read the lists without the store.
|
|
4
|
-
*
|
|
5
|
-
* - `chat_turn.tools`: the tool names one lead step asked for, as a JSON array of names (never arguments); saved rows
|
|
6
|
-
* read NULL (not recorded). So the next latency decision (a prefetched brief, §7.2) is made from data.
|
|
7
|
-
* - `chat_turn.failure_detail` and `mate_turn.failure_detail`: why a step or reply failed, more exactly than
|
|
8
|
-
* failure_reason (LEAD_FAILURE_DETAILS); saved rows read NULL (unknown), and read the plain reason's words as before.
|
|
9
|
-
* - `mate_turn.route`: which model answered (§8): `default`, `fast` (the quick model answered) or `escalated` (a quick
|
|
10
|
-
* step asked for more than reading, so the main model took the reply over); saved rows read NULL (before routing).
|
|
11
|
-
* - `lead_quick_setting`: Settings → Lead's "Quick answers use a faster model", one row; absent reads off.
|
|
12
|
-
*/
|
|
13
1
|
export const LEAD_FAILURE_DETAILS = ["not-installed", "sign-in", "refused", "lost", "timeout-silent", "timeout-output"];
|
|
14
2
|
export const LEAD_ROUTES = ["default", "fast", "escalated"];
|
|
15
3
|
const detailCheck = (column) => `TEXT CHECK (${column} IS NULL OR ${column} IN (${LEAD_FAILURE_DETAILS.map(one => `'${one}'`).join(",")}))`;
|
|
@@ -32,5 +20,4 @@ export const V158_ADDED_COLUMNS = Object.freeze({
|
|
|
32
20
|
},
|
|
33
21
|
});
|
|
34
22
|
export const V158_TABLES = Object.freeze(["lead_quick_setting"]);
|
|
35
|
-
/** The v158 migration's steps, in order (a test seam may stop after each). */
|
|
36
23
|
export const V158_STEPS = Object.freeze(["lead-quick-setting", "lead-latency-columns"]);
|
package/dist/lead-people.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
/** Who the lead works with: the people on this installation who share a project with its owner, the subagents in
|
|
2
|
-
* those projects, and the team chats the owner is in. The bundle carries one line each (lead-context.ts); get_person
|
|
3
|
-
* reads one in full, with their open work. Ids stay the same from turn to turn however the list changes: p and c plus a
|
|
4
|
-
* short digest of the account or team chat, t plus the subagent's number. In a team chat the lead speaks for the room,
|
|
5
|
-
* so only that room and its members are listed. Only the owner's own projects are listed, by their r1.. ids; first
|
|
6
|
-
* names are shown on purpose, everything else is scrubbed by the caller. */
|
|
7
1
|
import { createHash } from "node:crypto";
|
|
8
2
|
import { firstNameOf } from "./lead-context.js";
|
|
9
3
|
import { labelOf, nameOf, zonesOf } from "./subagent-admin.js";
|
|
10
4
|
import { parseSoul } from "./subagents.js";
|
|
11
5
|
import { deskOf } from "./subagent-desk.js";
|
|
12
6
|
const OPEN_TASK = new Set(["queued", "running", "failed"]);
|
|
13
|
-
/** get_person's id shapes. */
|
|
14
7
|
export const PERSON_ID = /^(p[0-9a-f]{8}|t[0-9]{1,9}|c[0-9a-f]{8})$/;
|
|
15
8
|
const stableId = (prefix, key) => `${prefix}${createHash("sha256").update(key).digest("hex").slice(0, 8)}`;
|
|
16
|
-
/** The team chat this conversation is, or null when it is the person's own chat with their lead. */
|
|
17
9
|
export function teamRoomOf(store, thread) {
|
|
18
10
|
if (thread === undefined)
|
|
19
11
|
return null;
|
|
@@ -23,10 +15,9 @@ export function teamRoomOf(store, thread) {
|
|
|
23
15
|
}
|
|
24
16
|
catch {
|
|
25
17
|
return null;
|
|
26
|
-
}
|
|
18
|
+
}
|
|
27
19
|
}
|
|
28
20
|
const line = (text, max) => { const flat = text.replace(/\s+/g, " ").trim(); return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat; };
|
|
29
|
-
/** Everyone the owner's lead works with, in order; in a team chat (`room`), only that room and its members. */
|
|
30
21
|
export function peopleIndexOf(store, owner, repos, room = null) {
|
|
31
22
|
const label = (repo) => { const index = repos.indexOf(repo); return index === -1 ? null : `r${index + 1}`; };
|
|
32
23
|
const named = (list) => list.map(label).filter((one) => one !== null);
|
|
@@ -37,9 +28,7 @@ export function peopleIndexOf(store, owner, repos, room = null) {
|
|
|
37
28
|
.filter(({ shared }) => shared.length > 0)
|
|
38
29
|
.map(({ one, shared }) => ({ id: stableId("p", one.name), account: one.name, name: firstNameOf(one.name) || one.name,
|
|
39
30
|
role: one.role === "approver" ? "approves work" : "watches work",
|
|
40
|
-
// No person has a written profile yet; the field is there for when one does.
|
|
41
31
|
projects: named(shared), profile: null }));
|
|
42
|
-
// subagents are not members of a team chat.
|
|
43
32
|
const subagents = room !== null ? [] : store.subagents(repos).map(mate => {
|
|
44
33
|
const soul = parseSoul(mate.soul);
|
|
45
34
|
return { id: `t${mate.id}`, mate, name: nameOf(mate), role: soul.ok ? soul.soul.role : labelOf(mate), project: label(mate.repo) ?? "" };
|
|
@@ -59,15 +48,14 @@ export function peopleIndexOf(store, owner, repos, room = null) {
|
|
|
59
48
|
if (Array.isArray(listed))
|
|
60
49
|
projects = named(listed.map(String));
|
|
61
50
|
}
|
|
62
|
-
catch {
|
|
51
|
+
catch { }
|
|
63
52
|
const purpose = String(row["instructions"] ?? "").split("\n").map(one => one.trim()).find(one => one !== "") ?? "";
|
|
64
53
|
return { id: stableId("c", String(row["id"])), conversation: String(row["id"]), name: String(row["title"]), members, purpose: purpose || String(row["lead"]), projects };
|
|
65
54
|
});
|
|
66
55
|
}
|
|
67
|
-
catch {
|
|
56
|
+
catch { }
|
|
68
57
|
return { people, subagents, teams };
|
|
69
58
|
}
|
|
70
|
-
/** One line each, as the bundle carries them. Free text goes through `redact`; names and project ids do not. */
|
|
71
59
|
export function peopleLines(index, redact) {
|
|
72
60
|
return {
|
|
73
61
|
people: index.people.map(one => `${one.id} ${one.name}: ${one.role}; ${one.projects.join(", ")}${one.profile === null ? "" : `; ${line(redact(one.profile), 120)}`}`),
|
|
@@ -75,7 +63,6 @@ export function peopleLines(index, redact) {
|
|
|
75
63
|
teams: index.teams.map(one => `${one.id} ${line(redact(one.name), 60)}: ${one.members.join(", ")}; ${line(redact(one.purpose), 120)}`),
|
|
76
64
|
};
|
|
77
65
|
}
|
|
78
|
-
/** The work still open for one person: tasks last filed, approved or handed to them in the owner's projects, and flow cards they own. */
|
|
79
66
|
function openWorkOf(store, account, repos) {
|
|
80
67
|
const repoId = (repo) => `r${repos.indexOf(repo) + 1}`;
|
|
81
68
|
const tasks = repos.length === 0 ? [] : store.handle.prepare(`SELECT r.external_id AS task, r.repo FROM task_ref r JOIN task_act a ON a.id = (SELECT MAX(id) FROM task_act WHERE task_ref = r.id AND act IN ('filed', 'approved', 'asked'))
|
|
@@ -85,8 +72,6 @@ function openWorkOf(store, account, repos) {
|
|
|
85
72
|
const cards = repos.flatMap(repo => store.activeFlowCards(repo).filter(card => card.owner === account).map(card => ({ card: card.id, flow: card.flow, title: card.title, zone: card.stage, repo: repoId(repo) }))).slice(0, 10);
|
|
86
73
|
return { tasks, cards };
|
|
87
74
|
}
|
|
88
|
-
/** One entry in full by its id (p3fa91c2e, t5, c07b1d9a4) or by name; the candidates when a name fits several, null when
|
|
89
|
-
* none. In a team chat (`room`), only that room and its members. */
|
|
90
75
|
export function personEntry(store, owner, repos, ask, room = null) {
|
|
91
76
|
const index = peopleIndexOf(store, owner, repos, room);
|
|
92
77
|
const wanted = ask.name?.trim().toLowerCase() ?? "";
|
package/dist/lead-progress.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
/** Live progress of one lead turn (chat streaming): what the lead is doing
|
|
2
|
-
* and the reply as it is written. Nothing here is durable or authoritative —
|
|
3
|
-
* the finished turn's saved message and cards remain the record. */
|
|
4
1
|
import { topLevelEvent } from "./stream-scope.js";
|
|
5
|
-
/** Plain words for each tool the lead uses, as the person watching reads them. */
|
|
6
2
|
const TOOL_LABELS = {
|
|
7
3
|
get_brief: "Catching up on your work",
|
|
8
4
|
get_project_context: "Reading the project",
|
|
@@ -50,8 +46,6 @@ export function leadToolLabel(name) {
|
|
|
50
46
|
return TOOL_LABELS[name];
|
|
51
47
|
return name.startsWith("propose_") ? "Preparing a card for you to confirm" : "Working on it";
|
|
52
48
|
}
|
|
53
|
-
/** Tool errors instruct the model how to retry. Only known, fixed copy belongs
|
|
54
|
-
* in the live UI; never echo arguments, redaction placeholders or exceptions. */
|
|
55
49
|
const TOOL_FAILURE_REASONS = new Map([
|
|
56
50
|
["Choose a project from list_repos.", "That project isn't available."],
|
|
57
51
|
["Choose an available project from list_repos.", "That project isn't available."],
|
|
@@ -74,9 +68,6 @@ const TOOL_FAILURE_REASONS = new Map([
|
|
|
74
68
|
export function leadToolFailureReason(name, message) {
|
|
75
69
|
return TOOL_FAILURE_REASONS.get(message) ?? `That step didn't work (${leadToolLabel(name)}).`;
|
|
76
70
|
}
|
|
77
|
-
/** The `text` of a structured answer still being written, when the answer
|
|
78
|
-
* opens with it (`{"text": "…`); null until then. Escapes are decoded, and
|
|
79
|
-
* an escape cut off at the end is left for the next chunk. */
|
|
80
71
|
export function partialAnswerText(partial) {
|
|
81
72
|
const opening = /^\s*\{\s*"text"\s*:\s*"/.exec(partial);
|
|
82
73
|
if (opening === null)
|
|
@@ -109,8 +100,6 @@ export function partialAnswerText(partial) {
|
|
|
109
100
|
}
|
|
110
101
|
return out;
|
|
111
102
|
}
|
|
112
|
-
/** A reader for `claude -p --output-format stream-json --include-partial-messages`:
|
|
113
|
-
* follows the structured-output block and reports its text as it grows. */
|
|
114
103
|
export function claudeStreamReader(onText, capBytes = 1_048_576) {
|
|
115
104
|
let pending = "";
|
|
116
105
|
let json = "";
|
|
@@ -133,7 +122,6 @@ export function claudeStreamReader(onText, capBytes = 1_048_576) {
|
|
|
133
122
|
catch {
|
|
134
123
|
continue;
|
|
135
124
|
}
|
|
136
|
-
// A subagent's frames (parent_tool_use_id set) are not the lead's reply: they never start, feed or end it.
|
|
137
125
|
if (!record(event) || !topLevelEvent(event) || event["type"] !== "stream_event" || !record(event["event"]))
|
|
138
126
|
continue;
|
|
139
127
|
const inner = event["event"];
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runs the personal lead queue (docs/plans/lead-message-queue.md): one message per turn, in order, through the engine's
|
|
3
|
-
* own admission. Each claim is re-proved from its row — the person's standing at the generation it was sent under, the
|
|
4
|
-
* session it was sent under (never a newer one), the project set it was sent under, its task and result still there —
|
|
5
|
-
* and re-checked before every model step. A refusal before admission waits with its words and wakes when what refused
|
|
6
|
-
* it changes; anything after admission is settled from the turn's own record and never sent again.
|
|
7
|
-
*/
|
|
8
1
|
import { AsyncResource } from "node:async_hooks";
|
|
9
2
|
import { createHash, randomUUID } from "node:crypto";
|
|
10
3
|
import { runLeadTurn } from "./lead.js";
|
|
@@ -12,8 +5,6 @@ import { PersonalQueue } from "./lead-queue.js";
|
|
|
12
5
|
import { verifyApproverStanding } from "./principal.js";
|
|
13
6
|
import { updateAdmissionPaused } from "./desktop-update-gate.js";
|
|
14
7
|
import { TURN_WALL_CLOCK_MS } from "./converse.js";
|
|
15
|
-
/** The context a lead turn is given for what the person was looking at: the same words for a message sent now and one
|
|
16
|
-
* that waited. Null when the message was sent from the lead's own chat. */
|
|
17
8
|
export function leadTurnContext(store, context, names) {
|
|
18
9
|
if (context === null)
|
|
19
10
|
return undefined;
|
|
@@ -27,24 +18,16 @@ export function leadTurnContext(store, context, names) {
|
|
|
27
18
|
return `Current project: ${names.project(context.project)} (${context.project}). Keep this conversation about that project unless the operator explicitly asks to broaden it; use it as the repo for project tools.`;
|
|
28
19
|
return undefined;
|
|
29
20
|
}
|
|
30
|
-
/** Refusals before admission that wait (with their words) rather than end the message: what wakes each one is in its
|
|
31
|
-
* stamp (a turn ends, the day or week or month rolls, the cost is confirmed, a budget is raised). */
|
|
32
21
|
const WAITS = new Set(["concurrent", "backlog", "daily-cap", "over-budget", "monthly-budget", "latched"]);
|
|
33
22
|
const UPDATE_WAIT = "Waiting: Toolroll is updating. It runs once the update is done.";
|
|
34
23
|
export function createPersonalQueueRuntime(options) {
|
|
35
24
|
const { store } = options, clock = options.clock ?? (() => new Date());
|
|
36
25
|
const queue = new PersonalQueue(store);
|
|
37
26
|
const runner = `personal:${process.pid}:${randomUUID()}`;
|
|
38
|
-
/** A deferred message's admission stamp: it is not tried again until something that refused it changes. */
|
|
39
27
|
const waiting = new Map();
|
|
40
28
|
let timer = null, closed = false, passing = false;
|
|
41
|
-
/** The server's own async context, captured at start (no request in it). A wake from inside a browser request runs
|
|
42
|
-
* its pass from here, so no request's session facts (its actor, form token or Passwordless session) ever reach a
|
|
43
|
-
* queued turn — the queue re-proves each message's person itself. */
|
|
44
29
|
let detached = null;
|
|
45
30
|
const active = new Set();
|
|
46
|
-
/** What openLeadTurn checks for this person, and the chat configuration (its caps and budget), with a minute bucket
|
|
47
|
-
* as the belt for what is not named here (weekly and monthly spend roll over within it): a change wakes a waiting message. */
|
|
48
31
|
function stamp(row) {
|
|
49
32
|
const now = clock();
|
|
50
33
|
const live = store.handle.prepare("SELECT id, state FROM mate_turn WHERE approver = ? AND state IN ('queued','running') ORDER BY id").all(row.approver);
|
|
@@ -54,7 +37,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
54
37
|
return createHash("sha256").update(JSON.stringify([live, liveChat, store.chatTurnsToday(row.approver, now), session?.spentMicrousd ?? null,
|
|
55
38
|
session?.ceilingMicrousd ?? null, latched?.["n"] ?? 0, updateAdmissionPaused(store.raw()), options.provider()?.config ?? null, Math.floor(now.getTime() / 60_000)])).digest("hex");
|
|
56
39
|
}
|
|
57
|
-
/** The person as the row was sent: same generation, same session (live, theirs), same projects. Null: it can't run. */
|
|
58
40
|
function standing(row) {
|
|
59
41
|
const session = store.getLeadSession(row.session);
|
|
60
42
|
if (session === null || session.endedAt !== null || session.approver !== row.approver)
|
|
@@ -87,7 +69,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
87
69
|
waiting.set(claim.message, stamp(claim));
|
|
88
70
|
return;
|
|
89
71
|
}
|
|
90
|
-
// An update is being installed (or the console is stopping): the message waits for the next start, words kept.
|
|
91
72
|
const holding = () => closed || updateAdmissionPaused(store.raw());
|
|
92
73
|
if (holding()) {
|
|
93
74
|
if (queue.defer(claim, UPDATE_WAIT))
|
|
@@ -100,8 +81,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
100
81
|
outcome = await runLeadTurn({
|
|
101
82
|
store, who: proof.who, session, thread, config: provider.config, key: provider.key, message: claim.text, requestId: claim.requestId,
|
|
102
83
|
queuedMessageId: claim.message, queueClaim: { message: claim.message, runner: claim.runner, generation: claim.generation },
|
|
103
|
-
// The live reply display starts only once this message holds the turn: a refused attempt never blanks the display
|
|
104
|
-
// of a turn that is still running in the same conversation.
|
|
105
84
|
onAdmitted: turn => {
|
|
106
85
|
if (!queue.bindTurn(claim, turn))
|
|
107
86
|
throw new Error("The queued message changed before admission.");
|
|
@@ -109,7 +88,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
109
88
|
},
|
|
110
89
|
...(context === undefined ? {} : { context }), channel: "console", clock, evidenceRoot: options.evidenceRoot,
|
|
111
90
|
...(options.live === undefined ? {} : { onProgress: (event) => progress?.(event) }),
|
|
112
|
-
// Before every step: still this claim, still this person at this generation and session, still the same projects.
|
|
113
91
|
revalidate: async () => {
|
|
114
92
|
if (holding()) {
|
|
115
93
|
held = true;
|
|
@@ -125,7 +103,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
125
103
|
return;
|
|
126
104
|
}
|
|
127
105
|
if ("refused" in outcome) {
|
|
128
|
-
// Refused before admission because an update paused it: that is a wait too (the words stay; the pause ending wakes it).
|
|
129
106
|
if (outcome.refused === "channel" && held) {
|
|
130
107
|
if (queue.defer(claim, UPDATE_WAIT))
|
|
131
108
|
waiting.set(claim.message, stamp(claim));
|
|
@@ -138,7 +115,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
138
115
|
queue.finish(claim, { status: "failed", error: `Not sent: ${outcome.message}` }, clock());
|
|
139
116
|
return;
|
|
140
117
|
}
|
|
141
|
-
// After admission: settled from the turn's record; an unknown outcome is never sent again.
|
|
142
118
|
queue.finish(claim, { status: "unknownSpend" in outcome && outcome.unknownSpend ? "uncertain" : "failed", error: outcome.message, ...("turn" in outcome ? { turnId: outcome.turn } : {}) }, clock());
|
|
143
119
|
}
|
|
144
120
|
catch {
|
|
@@ -171,8 +147,6 @@ export function createPersonalQueueRuntime(options) {
|
|
|
171
147
|
}
|
|
172
148
|
return {
|
|
173
149
|
queue,
|
|
174
|
-
/** Look now (a turn just ended, a message was just queued): the next message of each person may start. Safe to call
|
|
175
|
-
* from a request: the pass runs in the server's own context, never the caller's. Before start, the timer will look. */
|
|
176
150
|
kick() {
|
|
177
151
|
const scope = detached;
|
|
178
152
|
if (scope === null || closed)
|
package/dist/lead-queue.js
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The personal lead queue (docs/plans/lead-message-queue.md): a message sent while one of its author's personal lead
|
|
3
|
-
* turns runs (or while earlier ones wait) waits here and runs one turn per message, in order — the same machinery
|
|
4
|
-
* shared team conversations use (team-leads.ts), for the person's own threads (/chat, a task's or a project's chat).
|
|
5
|
-
*
|
|
6
|
-
* The row's words are its lead_message (pending until the engine's admission binds it, which clears pending in the
|
|
7
|
-
* same statement). Admission itself is the engine's (runLeadTurn with queuedMessageId + onAdmitted): this module only
|
|
8
|
-
* decides queue-or-run at send, claims the backlog's oldest row, binds, finishes, defers, removes and expires.
|
|
9
|
-
*/
|
|
10
1
|
import { createHash } from "node:crypto";
|
|
11
|
-
/** At most this many messages wait per person, and this many characters in all; a waiting message expires after 7 days. */
|
|
12
2
|
export const LEAD_QUEUE_MAX_MESSAGES = 10;
|
|
13
3
|
export const LEAD_QUEUE_MAX_CHARS = 20_000;
|
|
14
4
|
export const LEAD_QUEUE_EXPIRY_MS = 7 * 86_400_000;
|
|
15
|
-
/** The identity of a send: the same request with the same words and context is the same message. */
|
|
16
5
|
export function leadQueuePayloadHash(thread, text, context) {
|
|
17
6
|
return createHash("sha256").update(JSON.stringify([thread, text, context === null ? null : canonical(context)])).digest("hex");
|
|
18
7
|
}
|
|
@@ -32,11 +21,9 @@ export class PersonalQueue {
|
|
|
32
21
|
this.store = store;
|
|
33
22
|
}
|
|
34
23
|
get db() { return this.store.handle; }
|
|
35
|
-
/** The approver's backlog: rows waiting or claimed but not yet bound to a turn, oldest first. */
|
|
36
24
|
backlog(approver) {
|
|
37
25
|
return this.db.prepare(`${SELECT} WHERE q.approver = ? AND (q.status = 'queued' OR (q.status = 'running' AND q.turn_id IS NULL)) ORDER BY q.message`).all(approver).map(readRow);
|
|
38
26
|
}
|
|
39
|
-
/** Every queue row of a thread (what the thread shows next to its messages). */
|
|
40
27
|
forThread(thread) {
|
|
41
28
|
return this.db.prepare(`${SELECT} WHERE q.thread = ? ORDER BY q.message`).all(thread).map(readRow);
|
|
42
29
|
}
|
|
@@ -44,12 +31,6 @@ export class PersonalQueue {
|
|
|
44
31
|
const row = this.db.prepare(`${SELECT} WHERE q.message = ?`).get(message);
|
|
45
32
|
return row === undefined ? null : readRow(row);
|
|
46
33
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Send: run now, or wait — in ONE transaction, so a turn ending between the check and the insert can't strand a
|
|
49
|
-
* message. A request already saved with the same words and context is that message (never a second send, never a
|
|
50
|
-
* removed one resurrected); with different ones it conflicts. Busy means a personal lead turn of this person is
|
|
51
|
-
* queued or running, or something of theirs already waits.
|
|
52
|
-
*/
|
|
53
34
|
sendOrQueue(input, now) {
|
|
54
35
|
return this.store.transact(() => {
|
|
55
36
|
const hash = leadQueuePayloadHash(input.thread, input.text, input.context);
|
|
@@ -72,14 +53,8 @@ export class PersonalQueue {
|
|
|
72
53
|
return { kind: "queued", row: this.get(message), already: false };
|
|
73
54
|
});
|
|
74
55
|
}
|
|
75
|
-
/**
|
|
76
|
-
* The next message to run: per person, only the oldest of their backlog, only while none of theirs runs, and only when
|
|
77
|
-
* `eligible` agrees (the runtime's admission stamp). Claiming keeps it in the backlog until its turn binds it.
|
|
78
|
-
*/
|
|
79
56
|
claimNext(runner, now, eligible = () => true) {
|
|
80
57
|
return this.store.transact(() => {
|
|
81
|
-
// An uncertain row does not hold the person's later messages (unlike a team room): its outcome is shown on it, and
|
|
82
|
-
// an unknown cost already pauses chat through its own latch.
|
|
83
58
|
const heads = this.db.prepare(`${SELECT} WHERE q.status = 'queued'
|
|
84
59
|
AND NOT EXISTS (SELECT 1 FROM lead_queue r WHERE r.approver = q.approver AND r.status = 'running')
|
|
85
60
|
AND NOT EXISTS (SELECT 1 FROM lead_queue e WHERE e.approver = q.approver AND e.status = 'queued' AND e.message < q.message)
|
|
@@ -96,12 +71,10 @@ export class PersonalQueue {
|
|
|
96
71
|
return null;
|
|
97
72
|
});
|
|
98
73
|
}
|
|
99
|
-
/** The claim still stands: running, this runner, this generation and revision, unbound or bound to `turn`. */
|
|
100
74
|
current(claim) {
|
|
101
75
|
return this.db.prepare("SELECT 1 FROM lead_queue WHERE message = ? AND status = 'running' AND runner = ? AND generation = ? AND revision = ?")
|
|
102
76
|
.get(claim.message, claim.runner, claim.generation, claim.revision) !== undefined;
|
|
103
77
|
}
|
|
104
|
-
/** Inside the engine's admission transaction (onAdmitted): the claim binds to the turn that took it, exactly once. */
|
|
105
78
|
bindTurn(claim, turnId) {
|
|
106
79
|
if (!this.current(claim))
|
|
107
80
|
return false;
|
|
@@ -111,8 +84,6 @@ export class PersonalQueue {
|
|
|
111
84
|
return Number(this.db.prepare("UPDATE lead_queue SET turn_id = ? WHERE message = ? AND turn_id IS NULL AND status = 'running' AND generation = ?")
|
|
112
85
|
.run(turnId, claim.message, claim.generation).changes) === 1;
|
|
113
86
|
}
|
|
114
|
-
/** The claim ends: answered (its turn's reply is in the thread), failed or cancelled (words kept as the error), or
|
|
115
|
-
* uncertain (an outcome that can't be confirmed — never sent again). A message that never got a turn loses its words. */
|
|
116
87
|
finish(claim, result, now) {
|
|
117
88
|
return this.store.transact(() => {
|
|
118
89
|
const row = this.db.prepare("SELECT turn_id FROM lead_queue WHERE message = ? AND status = 'running' AND runner = ? AND generation = ?").get(claim.message, claim.runner, claim.generation);
|
|
@@ -127,12 +98,10 @@ export class PersonalQueue {
|
|
|
127
98
|
return true;
|
|
128
99
|
});
|
|
129
100
|
}
|
|
130
|
-
/** A refusal before admission (a cap, a budget, a latch, another turn): back to waiting with the words to show. */
|
|
131
101
|
defer(claim, error) {
|
|
132
102
|
return Number(this.db.prepare(`UPDATE lead_queue SET status = 'queued', generation = generation + 1, revision = revision + 1, runner = NULL, claimed_at = NULL, error = ?
|
|
133
103
|
WHERE message = ? AND status = 'running' AND turn_id IS NULL AND runner = ? AND generation = ?`).run(error, claim.message, claim.runner, claim.generation).changes) === 1;
|
|
134
104
|
}
|
|
135
|
-
/** Remove a waiting message (its author only, while it still waits): its words are forgotten, its request kept. */
|
|
136
105
|
remove(approver, message, now) {
|
|
137
106
|
return this.store.transact(() => {
|
|
138
107
|
const row = this.db.prepare("SELECT status FROM lead_queue WHERE message = ? AND approver = ?").get(message, approver);
|
|
@@ -145,8 +114,6 @@ export class PersonalQueue {
|
|
|
145
114
|
return "removed";
|
|
146
115
|
});
|
|
147
116
|
}
|
|
148
|
-
/** Settle rows whose bound turn ended (by its recorded state), expire week-old waiting rows, and mark a claim that
|
|
149
|
-
* never bound by its turn deadline uncertain (the binding is the proof; elapsed time never resends). */
|
|
150
117
|
reconcile(now, turnDeadlineMs) {
|
|
151
118
|
return this.store.transact(() => {
|
|
152
119
|
let changed = 0;
|
|
@@ -169,7 +136,6 @@ export class PersonalQueue {
|
|
|
169
136
|
return changed;
|
|
170
137
|
});
|
|
171
138
|
}
|
|
172
|
-
/** End every waiting message sent under a session (it ended, or its person's chat was revoked). */
|
|
173
139
|
cancelForSession(session, why, now) {
|
|
174
140
|
return this.store.transact(() => {
|
|
175
141
|
const rows = this.db.prepare("SELECT message FROM lead_queue WHERE session = ? AND status = 'queued'").all(session);
|
|
@@ -180,7 +146,6 @@ export class PersonalQueue {
|
|
|
180
146
|
return rows.length;
|
|
181
147
|
});
|
|
182
148
|
}
|
|
183
|
-
/** A message that never ran keeps no words, context or search copy (it stays pending, so never history). */
|
|
184
149
|
forgetWords(message) {
|
|
185
150
|
this.store.forgetQueuedLeadMessage(message);
|
|
186
151
|
}
|
package/dist/lead-route.js
CHANGED
|
@@ -1,38 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The quick-answer router (docs/plans/responsive-chat.md §8, owner decision 7): which model answers a reply, decided
|
|
3
|
-
* before the turn, deterministically and conservatively. A reply goes to the faster model only when quick answers are
|
|
4
|
-
* on, the lead runs on the Claude membership, the organisation policy allows that model, the message carries no task
|
|
5
|
-
* or reply context, it doesn't answer the lead's own open question, and it reads as a status or read question with no
|
|
6
|
-
* act word. Everything else stays on the main model, unchanged.
|
|
7
|
-
*
|
|
8
|
-
* A quick reply is read-only by construction: its requests advertise only QUICK_READ_TOOLS (and find_tools, the way to
|
|
9
|
-
* ask for more). A quick step that asks for anything else has its calls discarded unrun, and the main model takes the reply over from that step (lead.ts).
|
|
10
|
-
*/
|
|
11
1
|
import { aliasTarget } from "./model-catalog.js";
|
|
12
2
|
import { exactModelId } from "./phase-routing.js";
|
|
13
3
|
import { SONNET } from "./model-choices.js";
|
|
14
|
-
/** Words that ask for something to be done (§8's fixed list, plus a few plain synonyms). Any of them keeps a message on
|
|
15
|
-
* the main model. Matched as whole words in their plain form, the form a request takes ("fix it", "can you merge",
|
|
16
|
-
* "file a task"): "what's running?" or "is it merged?" ask about a state and stay quick. A quick step that asks to act
|
|
17
|
-
* anyway is escalated (quickStepEscalates), so this list is the first line, not the only one. */
|
|
18
4
|
export const QUICK_ACT_WORDS = Object.freeze([
|
|
19
5
|
"file", "make", "create", "add", "fix", "change", "build", "plan", "approve", "confirm", "merge", "release", "ship",
|
|
20
6
|
"deploy", "cancel", "pause", "hold", "resume", "retry", "steer", "remember", "delete", "archive", "send", "run",
|
|
21
7
|
"start", "stop",
|
|
22
|
-
// Plain synonyms of the same acts.
|
|
23
8
|
"rerun", "redo", "undo", "revert", "push", "publish", "kill", "edit", "remove", "rename", "reset", "restart",
|
|
24
9
|
"install", "upgrade", "enable", "disable", "accept", "reject", "schedule", "assign", "write", "draft", "set", "move",
|
|
25
10
|
"close", "reopen", "unhold", "dismiss", "prioritize", "prioritise", "split", "revise",
|
|
26
11
|
]);
|
|
27
|
-
/** Openings that ask about the state of things. */
|
|
28
12
|
const ASKING_OPENINGS = new Set([
|
|
29
13
|
"what", "what's", "whats", "which", "who", "who's", "whose", "why", "when", "where", "how", "how's", "is", "are", "was",
|
|
30
14
|
"were", "did", "does", "do", "has", "have", "had", "any", "anything", "show", "list", "status", "tell", "give",
|
|
31
15
|
]);
|
|
32
|
-
/** The longest message the quick model takes: longer ones are rarely a plain status question. */
|
|
33
16
|
export const QUICK_MESSAGE_MAX_CHARS = 240;
|
|
34
17
|
const words = (text) => text.toLowerCase().replace(/[’]/g, "'").split(/[^a-z0-9']+/).filter(one => one !== "");
|
|
35
|
-
/** Whether a message reads as a status or read question with no act word (§8's message rule). */
|
|
36
18
|
export function quickQuestion(message) {
|
|
37
19
|
const text = message.trim();
|
|
38
20
|
if (text === "" || text.length > QUICK_MESSAGE_MAX_CHARS || /[\r\n]/.test(text))
|
|
@@ -42,18 +24,10 @@ export function quickQuestion(message) {
|
|
|
42
24
|
return false;
|
|
43
25
|
if (all.some(word => QUICK_ACT_WORDS.includes(word.replace(/'s$/, ""))))
|
|
44
26
|
return false;
|
|
45
|
-
// A negated or conditional request ("don't…", "if…, then…") is a judgement call: the main model takes it.
|
|
46
27
|
if (all.some(word => word === "don't" || word === "dont" || word === "if" || word === "please"))
|
|
47
28
|
return false;
|
|
48
29
|
return text.endsWith("?") || ASKING_OPENINGS.has(all[0]);
|
|
49
30
|
}
|
|
50
|
-
/**
|
|
51
|
-
* The tools a quick reply's requests advertise: reads only. Every one is a read of saved state as this person sees it;
|
|
52
|
-
* none drafts, records a question, a promise, a memory or a card, or opens a page. `find_tools` is advertised beside them
|
|
53
|
-
* but is not one of them: it is how a quick step says it needs something else ("search before saying something can't
|
|
54
|
-
* be done"), so calling it hands the reply to the main model, unrun (more conservative than §8's "find_tools for
|
|
55
|
-
* something to change": any search escalates).
|
|
56
|
-
*/
|
|
57
31
|
export const QUICK_READ_TOOLS = new Set([
|
|
58
32
|
"get_brief", "get_project_context", "get_code_map", "get_project_activity", "get_actions", "get_action_status", "get_skills",
|
|
59
33
|
"get_acceptance_evidence", "recap", "list_repos", "list_tasks", "get_task", "get_result", "get_result_images", "get_controls",
|
|
@@ -61,17 +35,13 @@ export const QUICK_READ_TOOLS = new Set([
|
|
|
61
35
|
"get_project_tools", "get_flows", "get_flow_insights", "list_decisions", "get_decision", "queue",
|
|
62
36
|
"get_findings", "get_subagents", "get_person", "get_integrations", "get_capabilities", "search_project_memory", "get_models", "get_sweep",
|
|
63
37
|
]);
|
|
64
|
-
/** Whether a quick step's request advertises this tool: the reads, and find_tools as the way to ask for more. */
|
|
65
38
|
export function quickAdvertises(name) {
|
|
66
39
|
return QUICK_READ_TOOLS.has(name) || name === "find_tools";
|
|
67
40
|
}
|
|
68
|
-
/** The faster model, as the model catalog names it: the newest Sonnet this computer's Claude has been seen to run, else
|
|
69
|
-
* the compiled current one. Always an exact id, never an alias that could move under a recorded route. */
|
|
70
41
|
export function quickLeadModel(store) {
|
|
71
42
|
const seen = aliasTarget(store, "sonnet")?.id ?? null;
|
|
72
43
|
return seen !== null && exactModelId(seen) ? seen : SONNET;
|
|
73
44
|
}
|
|
74
|
-
/** Which model answers: the faster one only when every condition holds. */
|
|
75
45
|
export function quickRoute(input) {
|
|
76
46
|
if (!input.enabled || input.provider !== "claude-subscription" || !input.quickAllowed)
|
|
77
47
|
return { route: "default" };
|
|
@@ -79,11 +49,9 @@ export function quickRoute(input) {
|
|
|
79
49
|
return { route: "default" };
|
|
80
50
|
return quickQuestion(input.message) ? { route: "fast", model: input.quickModel } : { route: "default" };
|
|
81
51
|
}
|
|
82
|
-
/** Whether a quick step asked for anything beyond the quick reads: its calls are then discarded unrun (§8). */
|
|
83
52
|
export function quickStepEscalates(calls) {
|
|
84
53
|
return calls.some(call => !QUICK_READ_TOOLS.has(call.name));
|
|
85
54
|
}
|
|
86
|
-
/** "Sonnet 5.5" for claude-sonnet-5-5; the id itself for anything else. */
|
|
87
55
|
export function modelName(model) {
|
|
88
56
|
if (model === "default")
|
|
89
57
|
return "the main model";
|
|
@@ -94,7 +62,6 @@ export function modelName(model) {
|
|
|
94
62
|
return `${model.charAt(0).toUpperCase()}${model.slice(1)}`;
|
|
95
63
|
return model;
|
|
96
64
|
}
|
|
97
|
-
/** The activity line's words for a routed reply: "answered by Sonnet 5.5", "moved to Opus"; nothing for the default. */
|
|
98
65
|
export function routeWords(route, quickModel, mainModel) {
|
|
99
66
|
if (route === "fast")
|
|
100
67
|
return `answered by ${modelName(quickModel)}`;
|
package/dist/lead-status.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** Cheap lead-facing status. Every fact comes from indexed SQLite records;
|
|
2
|
-
* this module never opens a repository, retained evidence, or a live log. */
|
|
3
1
|
import { familyCompleted } from "./result-completion.js";
|
|
4
2
|
import { windowLabel } from "./provider-limits.js";
|
|
5
3
|
import { openAuthPauses, signInCommand, signInReason } from "./provider-auth.js";
|
|
@@ -58,11 +56,6 @@ function newestAttemptSince(store, taskRef, run) {
|
|
|
58
56
|
FROM run INDEXED BY lead_status_task_run LEFT JOIN run_check AS rc ON rc.run = run.id
|
|
59
57
|
WHERE run.task_ref = ? AND run.id >= ? ORDER BY run.id DESC LIMIT 1`).get(taskRef, run);
|
|
60
58
|
}
|
|
61
|
-
/** One indexed observation for `task wait`. `watchedRun` is the attempt the
|
|
62
|
-
* caller first saw. Each poll follows the task's newest attempt from there, so
|
|
63
|
-
* a retry that lands between polls is reported with its own run and outcome,
|
|
64
|
-
* and `replacedRun` says which attempt it replaced. Undefined means no attempt
|
|
65
|
-
* has been observed yet. */
|
|
66
59
|
export function taskWaitSnapshot(store, taskId, now, watchedRun) {
|
|
67
60
|
const task = store.handle.prepare(`SELECT task.id, task.state, ref.id AS task_ref, ref.plan, ref.strikes
|
|
68
61
|
FROM task INDEXED BY sqlite_autoindex_task_1
|
|
@@ -82,8 +75,6 @@ export function taskWaitSnapshot(store, taskId, now, watchedRun) {
|
|
|
82
75
|
const check = checkOf(shown);
|
|
83
76
|
const phase = shown === undefined ? null : phaseWords(phaseOf(shown));
|
|
84
77
|
const answer = (outcome, next, terminal, exitCode, reason) => ({ task: taskId, outcome, run, replacedRun, phase, check, next, terminal, exitCode, reason });
|
|
85
|
-
// The followed attempt's own failure is the answer, even if the task's state
|
|
86
|
-
// has already moved on; a task-level success must not stand in for it.
|
|
87
78
|
if (watchedRun !== undefined && attempt !== undefined && attempt["outcome"] !== null && state !== "failed" && state !== "cancelled") {
|
|
88
79
|
const outcome = String(attempt["outcome"]);
|
|
89
80
|
if (outcome === "parked")
|
|
@@ -93,7 +84,6 @@ export function taskWaitSnapshot(store, taskId, now, watchedRun) {
|
|
|
93
84
|
if (state !== "done")
|
|
94
85
|
return answer("Ready", "Open result", true, 0, "ready");
|
|
95
86
|
}
|
|
96
|
-
// A completed family is Complete from any of its tasks.
|
|
97
87
|
const completed = state === "done" && familyCompleted(store, taskId);
|
|
98
88
|
if (completed)
|
|
99
89
|
return answer("Complete", "No action needed", true, 0, "complete");
|
|
@@ -115,16 +105,11 @@ export function taskWaitSnapshot(store, taskId, now, watchedRun) {
|
|
|
115
105
|
const next = holdKind === "operator" ? "Remove hold" : holdKind === "revision" ? "Review plan" : holdKind === "stop" ? "Resume or close attempt" : "Review task";
|
|
116
106
|
return answer("Needs a person", next, true, 1, "needs-person");
|
|
117
107
|
}
|
|
118
|
-
// An admitted attempt is already the work being watched. Its immutable
|
|
119
|
-
// approval snapshot lives on the run, so a damaged or later-edited current
|
|
120
|
-
// scope must not make `wait` abandon that attempt before it settles.
|
|
121
108
|
if (attempt !== undefined)
|
|
122
109
|
return answer("Running", phase === null ? "Wait for attempt" : `Wait — ${phase}`, false, null, null);
|
|
123
110
|
const scope = store.handle.prepare(`SELECT digest, approved_digest, profile_state,
|
|
124
111
|
(approved_at IS NOT NULL AND approved_by IS NOT NULL AND approved_digest = digest) AS approved
|
|
125
112
|
FROM task_scope WHERE task_id = ?`).get(taskId);
|
|
126
|
-
// Approved only as dispatch reads it (approval policy): a seal whose authority doesn't stand — an old seal a lead token
|
|
127
|
-
// made, an ended mode — waits for a person, never for a worker.
|
|
128
113
|
const approvedNow = Number(scope?.["approved"]) === 1 && store.modeApprovalLive(taskRef, now);
|
|
129
114
|
if (task["plan"] === "drafted" && !approvedNow)
|
|
130
115
|
return answer("Needs a person", "Approve plan", true, 1, "needs-person");
|
|
@@ -173,20 +158,10 @@ function queueReason(row) {
|
|
|
173
158
|
return "needs approval";
|
|
174
159
|
return "ready for a worker";
|
|
175
160
|
}
|
|
176
|
-
/** Whole-installation status, deliberately aggregated and bounded. */
|
|
177
|
-
/** The one-off repair on start. An older build left finished runs' process
|
|
178
|
-
* exits unrecorded and counted completed families as waiting; nothing about
|
|
179
|
-
* a status is stored, so recording every exit that can now be proven and
|
|
180
|
-
* re-deriving each open task's headline from the shared projection clears
|
|
181
|
-
* them. What can't be proven stays as it was. */
|
|
182
161
|
export function repairStaleStatuses(store, now) {
|
|
183
162
|
const exitsRecorded = store.recordFinishedRunExits(now);
|
|
184
163
|
return { exitsRecorded, readyForReview: workReadyForReview(store, now, { principal: "operator", repos: null, includeUnplaced: true }, 0).count };
|
|
185
164
|
}
|
|
186
|
-
/** `viewer`: the person asking (the lead asks as its person); null when nobody is known, which shows no lead.
|
|
187
|
-
* `repos`: the only projects to report (a remote person limited to some projects); null is the whole installation.
|
|
188
|
-
* A limited report counts only those projects' tasks and leaves out what belongs to the installation as a whole:
|
|
189
|
-
* the release check, plan windows and the lead line are empty, never another project's. */
|
|
190
165
|
export function installationStatus(store, now, viewer = currentActor()?.account ?? null, repos = null, root) {
|
|
191
166
|
const admitted = (row) => repos === null || typeof row["repo"] === "string" && repos.includes(row["repo"]);
|
|
192
167
|
const access = { principal: "operator", repos, includeUnplaced: repos === null };
|
|
@@ -232,14 +207,9 @@ export function installationStatus(store, now, viewer = currentActor()?.account
|
|
|
232
207
|
if (queuedTasks.length < 8)
|
|
233
208
|
queuedTasks.push({ task: String(row["id"]), reason });
|
|
234
209
|
}
|
|
235
|
-
// One per family, from the same projection as the Tasks list: a completed
|
|
236
|
-
// family (root or any revision) and a superseded version never count.
|
|
237
210
|
const ready = workReadyForReview(store, now, access, 5);
|
|
238
|
-
// The most urgent tasks and Home's figures, from one read of the work index.
|
|
239
211
|
const index = workIndexPage(store, now, { ...access, viewer }, { limit: 8, ...(root === undefined ? {} : { root }) });
|
|
240
212
|
const checkRow = (run) => store.handle.prepare(`SELECT ${CHECK_COLUMNS} FROM run_check AS rc WHERE rc.run = ?`).get(run);
|
|
241
|
-
// Run ids grow with time, so the newest finished release check is the
|
|
242
|
-
// first finished row down the partial index.
|
|
243
213
|
const release = repos !== null ? undefined : store.handle.prepare(`SELECT run.id, run.finished_at, ${CHECK_COLUMNS}, ref.external_id AS task
|
|
244
214
|
FROM run_check AS rc INDEXED BY run_check_release
|
|
245
215
|
JOIN run ON run.id = rc.run
|
|
@@ -271,23 +241,18 @@ export function installationStatus(store, now, viewer = currentActor()?.account
|
|
|
271
241
|
tasks: index.items.map(one => ({ task: one.rootId, title: one.title, headline: one.status.label, sentence: one.status.detail })),
|
|
272
242
|
figures: homeFiguresOf(index.totals),
|
|
273
243
|
lead: repos !== null ? null : (() => {
|
|
274
|
-
// Only the asker's own lead: another person's lead is never "Your lead".
|
|
275
244
|
const activity = leadActivity(store, viewer);
|
|
276
245
|
return activity === null ? null : { owner: activity.owner, doing: activity.doing, at: activity.at, task: activity.taskId, line: leadActivityLine(activity, now) };
|
|
277
246
|
})(),
|
|
278
247
|
};
|
|
279
248
|
}
|
|
280
|
-
/** `limited`: a report over some projects (installationStatus's `repos`), which has no release check or plan windows to state. */
|
|
281
249
|
export function renderInstallationStatus(status, limited = false) {
|
|
282
250
|
const lines = [];
|
|
283
|
-
// A paused provider comes first: it is the one thing a person must do.
|
|
284
251
|
for (const one of status.signIn)
|
|
285
252
|
lines.push(`${one.reason} — run \`${one.command}\`. Its tasks wait until then.`);
|
|
286
|
-
// Then Home's figures, the same words and counts as Home.
|
|
287
253
|
lines.push(homeFiguresLine(status.figures));
|
|
288
254
|
if (status.lead != null)
|
|
289
255
|
lines.push(status.lead.line);
|
|
290
|
-
// Each task's one headline, the same words as the console and chat cards.
|
|
291
256
|
if (status.tasks.length > 0) {
|
|
292
257
|
lines.push("Tasks:");
|
|
293
258
|
for (const one of status.tasks)
|
|
@@ -296,7 +261,6 @@ export function renderInstallationStatus(status, limited = false) {
|
|
|
296
261
|
lines.push(status.running.count === 0 ? "Building: none" : `Building: ${status.running.count} — ${status.running.tasks.map(one => `${one.task} (#${one.run}, ${one.phase})`).join(", ")}${status.running.count > status.running.tasks.length ? ", …" : ""}`);
|
|
297
262
|
lines.push(status.queued.count === 0 ? "Queued: none" : `Queued: ${status.queued.count} — ${status.queued.tasks.map(one => `${one.task} (${queueReasonWords(one.reason)})`).join(", ")}${status.queued.count > status.queued.tasks.length ? ", …" : ""}`);
|
|
298
263
|
lines.push(status.waitingForReview.count === 0 ? "Ready for review: none" : `Ready for review: ${status.waitingForReview.count} — ${status.waitingForReview.results.map(one => one.run === null ? one.task : `${one.task} (#${one.run})`).join(", ")}${status.waitingForReview.count > status.waitingForReview.results.length ? ", …" : ""}`);
|
|
299
|
-
// Neither the release check nor plan windows belong to a person's projects: a limited report leaves both out.
|
|
300
264
|
if (limited)
|
|
301
265
|
return lines;
|
|
302
266
|
if (status.releaseCheck === null) {
|
|
@@ -332,7 +296,6 @@ export function renderTaskWait(snapshot, outcome = snapshot.outcome) {
|
|
|
332
296
|
const run = snapshot.run === null ? "no run" : snapshot.replacedRun === null ? `run #${snapshot.run}` : `run #${snapshot.run}, a retry that replaced run #${snapshot.replacedRun}`;
|
|
333
297
|
return `${outcome} | ${run} | ${check} | next: ${snapshot.next === "Wait for a worker" ? "Wait for a builder" : snapshot.next}`;
|
|
334
298
|
}
|
|
335
|
-
/** A queue reason as people read it (the JSON keeps its own words). */
|
|
336
299
|
export function queueReasonWords(reason) {
|
|
337
300
|
return reason === "ready for a worker" ? "ready for a builder" : reason === "needs a scope" ? "needs a plan" : reason;
|
|
338
301
|
}
|