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/task-status.js
CHANGED
|
@@ -1,34 +1,17 @@
|
|
|
1
|
-
/** One answer per task, then the details (docs/design/task-status.md). Every
|
|
2
|
-
* surface — the Tasks list, the task page, the build page, Crew, the Chat
|
|
3
|
-
* result, the Telegram/Slack/Discord/Teams cards and `toolroll status` — reads
|
|
4
|
-
* its headline, sentence, tone and detail rows from `taskStatusOf`, so the
|
|
5
|
-
* words cannot drift apart again. Pure: it reads facts the existing
|
|
6
|
-
* projections already recorded and never changes a check, approval or
|
|
7
|
-
* completion.
|
|
8
|
-
*
|
|
9
|
-
* Severity: red belongs to the Failed headline alone. A detail problem that
|
|
10
|
-
* doesn't undo the outcome (a pull request that couldn't open, shortened
|
|
11
|
-
* output) is an ink note on its own row with one action; the exact
|
|
12
|
-
* technical reason stays one tap away in `why`. */
|
|
13
1
|
import { DEFAULT_LEAD_NAME } from "./lead-identity.js";
|
|
14
2
|
import { html } from "./html.js";
|
|
15
3
|
import { FAILED_CHECK } from "./result-acts.js";
|
|
16
4
|
import { CODE_READING, NEEDS, needSentence, waitSentence } from "./needs-you.js";
|
|
17
|
-
/** A cancelled task with a successor reads "Replaced by <id>" everywhere, never "Cancelled". */
|
|
18
5
|
export const replacedWords = (successor) => `Replaced by ${successor}`;
|
|
19
6
|
const REPLACED = /^Replaced by \S+/;
|
|
20
|
-
/** Waiting: a reason no person can act on, worded as what it waits for (needs-you.ts). */
|
|
21
7
|
export const HEADLINES = ["Queued", "Planning", "Needs you", "Waiting", "Building", "Ready for review", "Complete", "Failed", "Stopped"];
|
|
22
8
|
export const HEADLINE_TONE = {
|
|
23
9
|
Queued: "neutral", Planning: "live", "Needs you": "attention", Waiting: "neutral", Building: "live",
|
|
24
10
|
"Ready for review": "ready", Complete: "success", Failed: "danger", Stopped: "neutral",
|
|
25
11
|
};
|
|
26
|
-
/** The project's own checks and the pull request's CI are two different things, never one word (Checks beside CI). */
|
|
27
12
|
export const CHECKS_LABEL = "Project checks";
|
|
28
13
|
export const PR_CI_LABEL = "PR CI";
|
|
29
|
-
/** The one verb for opening a saved result, on every surface. */
|
|
30
14
|
export const OPEN_RESULT = "Open result";
|
|
31
|
-
/** A machine-run check under way (a prepared candidate: no agent runs), on every surface that has no richer words. */
|
|
32
15
|
export const MACHINE_CHECK_RUNNING = "Running the check on the prepared version.";
|
|
33
16
|
export const CHECKED_AT_RELEASE = "Checked at release";
|
|
34
17
|
export function releaseStateOf(checks) {
|
|
@@ -36,20 +19,9 @@ export function releaseStateOf(checks) {
|
|
|
36
19
|
return undefined;
|
|
37
20
|
return checks.release != null ? "covered" : "pending";
|
|
38
21
|
}
|
|
39
|
-
/** How the project check stands for requirements that rest on it, read now: `covered` once a check passed on this
|
|
40
|
-
* commit (its own, a follow-up, or a release check containing it), `pending` while checks Off wait for a release. */
|
|
41
22
|
export function checkBackingOf(checks) {
|
|
42
23
|
return checks?.status === "passed" ? "covered" : checksUnderway(checks) ? "running" : releaseStateOf(checks);
|
|
43
24
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Did the approved check pass for this result? The ONE answer the status headline and sentence, the Project checks
|
|
46
|
-
* row, the road's Checks step and the result page all read, so none of them can say "passed" while another says the
|
|
47
|
-
* check couldn't be read. Two records speak to it: the machine verdict sealed when the build finished, and the saved
|
|
48
|
-
* check receipt read now (with any follow-up check on the same commit). Fail closed: the check passed only when the
|
|
49
|
-
* receipt read now says so. A verdict that recorded a pass whose receipt is missing, says nothing ran, or can't be
|
|
50
|
-
* read is unreadable; a verdict that recorded a failure stays failed unless a later check on the same commit passed.
|
|
51
|
-
* `checks` undefined or null: nothing was read. Returns the check as every surface shows it (null: nothing to show).
|
|
52
|
-
*/
|
|
53
25
|
export function approvedCheckOf(verdict, reasons, checks) {
|
|
54
26
|
let failedExit = null;
|
|
55
27
|
for (const reason of reasons) {
|
|
@@ -69,12 +41,10 @@ export function approvedCheckOf(verdict, reasons, checks) {
|
|
|
69
41
|
}
|
|
70
42
|
if (read.status === "passed" || read.status === "failed" || read.status === "running")
|
|
71
43
|
return read;
|
|
72
|
-
// Checks Off covered by a passing release check read as passed (the row says on which commit); nothing to correct.
|
|
73
44
|
if (read.level === "off" && read.release != null && !recordedFail)
|
|
74
45
|
return read;
|
|
75
46
|
if (recordedFail)
|
|
76
47
|
return { ...read, status: "failed", exitCode: failedExit };
|
|
77
|
-
// The verdict says the check passed, the receipt read now can't show it: the two disagree, so it doesn't count.
|
|
78
48
|
if (recordedPass)
|
|
79
49
|
return { ...read, status: "unavailable", exitCode: null };
|
|
80
50
|
return read;
|
|
@@ -82,8 +52,6 @@ export function approvedCheckOf(verdict, reasons, checks) {
|
|
|
82
52
|
export function approvedCheckStateOf(checks) {
|
|
83
53
|
if (checks == null)
|
|
84
54
|
return null;
|
|
85
|
-
// A failure stands while a new check runs: only its result can change the answer. A check that couldn't be read (a
|
|
86
|
-
// result waiting for its batch check has none yet) reads running while one is underway, and never passed.
|
|
87
55
|
if (checks.status === "failed")
|
|
88
56
|
return "failed";
|
|
89
57
|
if (checksUnderway(checks) || checks.status === "running")
|
|
@@ -96,19 +64,15 @@ export function approvedCheckStateOf(checks) {
|
|
|
96
64
|
return checks.release != null ? "passed" : "off";
|
|
97
65
|
return "not-run";
|
|
98
66
|
}
|
|
99
|
-
/** A saved check that can't be read, in the words every surface uses. */
|
|
100
67
|
export const CHECK_UNREADABLE = "The check result couldn't be read.";
|
|
101
68
|
export const CHECK_UNREADABLE_ASK = `${CHECK_UNREADABLE} Run checks on it, or open the result to see why.`;
|
|
102
|
-
/** A saved check whose files are intact but whose command was approved again since it ran. */
|
|
103
69
|
export const CHECK_COMMAND_CHANGED = "The check command changed since this check; run checks again.";
|
|
104
70
|
const unreadableAsk = (checks) => checks?.cause === "command-changed" ? CHECK_COMMAND_CHANGED : CHECK_UNREADABLE_ASK;
|
|
105
|
-
/** "T2", "T2 and T3", "T2, T3 and 2 more": short enough for one line. The full list is on the result. */
|
|
106
71
|
export function peerWords(peers, shown = 2) {
|
|
107
72
|
if (peers.length <= shown)
|
|
108
73
|
return peers.length <= 1 ? peers.join("") : `${peers.slice(0, -1).join(", ")} and ${peers.at(-1)}`;
|
|
109
74
|
return `${peers.slice(0, shown).join(", ")} and ${peers.length - shown} more`;
|
|
110
75
|
}
|
|
111
|
-
/** "Checked together with T2 on 1a2b3c4": every surface says a shared check the same way, naming the commit it tested. */
|
|
112
76
|
export function checkedTogetherWords(batch) {
|
|
113
77
|
const sha = short(batch.tested);
|
|
114
78
|
return batch.state === "together" && batch.peers.length > 0 && sha !== null ? `Checked together with ${peerWords(batch.peers)} on ${sha}` : null;
|
|
@@ -118,10 +82,7 @@ const BATCH_WHY = {
|
|
|
118
82
|
conflict: "It conflicted with another result when merged for a batch check, so it was checked on its own.",
|
|
119
83
|
};
|
|
120
84
|
const short = (sha) => sha !== null && /^[a-f0-9]{7,40}$/.test(sha) ? sha.slice(0, 7) : null;
|
|
121
|
-
/** A check waiting for its batch or running on this commit: the result reads Ready meanwhile, not Needs you. */
|
|
122
85
|
const checksUnderway = (checks) => checks?.batch?.state === "waiting" || checks?.running != null;
|
|
123
|
-
/** A finished result a person still has to act on before it can be complete: an unresolved HIGH finding or unmet
|
|
124
|
-
* requirement, a missing check, or a requirement only they can confirm. Failed checks read Failed instead. */
|
|
125
86
|
function resultAsk(facts) {
|
|
126
87
|
if (facts.report || facts.checks?.status === "failed")
|
|
127
88
|
return null;
|
|
@@ -131,7 +92,6 @@ function resultAsk(facts) {
|
|
|
131
92
|
const req = facts.requirements;
|
|
132
93
|
if (req != null && facts.accepted !== true && req.unverified !== true && (req.yours > 0 || (req.unshown ?? 0) > 0) && req.ask != null)
|
|
133
94
|
return req.ask;
|
|
134
|
-
// A check that can't be read is never a pass: a person runs it again or looks at why, unless they already accepted.
|
|
135
95
|
if (facts.accepted !== true && approvedCheckStateOf(facts.checks) === "unreadable")
|
|
136
96
|
return unreadableAsk(facts.checks);
|
|
137
97
|
return null;
|
|
@@ -150,10 +110,8 @@ export function headlineOf(facts) {
|
|
|
150
110
|
return "Ready for review";
|
|
151
111
|
if (facts.checks?.status === "failed")
|
|
152
112
|
return "Failed";
|
|
153
|
-
// A requirement a person checks, a missing screenshot, an unmet requirement or a HIGH finding: Needs you, with the ask.
|
|
154
113
|
if (resultAsk(facts) !== null)
|
|
155
114
|
return "Needs you";
|
|
156
|
-
// Off: ready like any build; the sentence and the Checks row say it is checked at release.
|
|
157
115
|
return "Ready for review";
|
|
158
116
|
case "complete": return "Complete";
|
|
159
117
|
case "failed": return "Failed";
|
|
@@ -166,7 +124,6 @@ function sentenceOf(headline, facts) {
|
|
|
166
124
|
switch (headline) {
|
|
167
125
|
case "Queued": return reason ?? "Waiting for a builder.";
|
|
168
126
|
case "Planning": return reason ?? "The lead is writing the plan.";
|
|
169
|
-
// One plain sentence per need (needs-you.ts); a recorded reason only where the need keeps one.
|
|
170
127
|
case "Needs you": return facts.stage === "finished" ? resultAsk(facts) ?? needSentence("review-result", reason, facts.needContext) : needSentence(facts.need ?? "other", reason, facts.needContext);
|
|
171
128
|
case "Waiting": return waitSentence(facts.wait, reason, facts.needContext);
|
|
172
129
|
case "Building": return facts.stage === "checking" ? "Checks are running on the change."
|
|
@@ -180,7 +137,6 @@ function sentenceOf(headline, facts) {
|
|
|
180
137
|
if (facts.checks?.level === "off" && facts.checks.status !== "passed")
|
|
181
138
|
return "Checked at release. Review the change, then accept it.";
|
|
182
139
|
if (facts.checks?.status === "passed") {
|
|
183
|
-
// The Checks row names the others and the batch commit; the sentence doesn't repeat them.
|
|
184
140
|
const peers = facts.checks.batch?.state === "together" ? facts.checks.batch.peers.length : 0;
|
|
185
141
|
if (peers > 0)
|
|
186
142
|
return `Checks passed together with ${peers === 1 ? "1 other result" : `${peers} other results`}. Review the change, then accept it.`;
|
|
@@ -190,12 +146,10 @@ function sentenceOf(headline, facts) {
|
|
|
190
146
|
return "Its full check runs with other results within 10 minutes. Review the change, then accept it.";
|
|
191
147
|
if (facts.checks?.status === "unavailable")
|
|
192
148
|
return `${facts.checks.cause === "command-changed" ? CHECK_COMMAND_CHANGED : CHECK_UNREADABLE} Review the change, then accept it.`;
|
|
193
|
-
// Never claim a check that isn't known to have passed.
|
|
194
149
|
if (facts.checks == null)
|
|
195
150
|
return "Review the change, then accept it.";
|
|
196
151
|
return "Built without a passing project check. Review the change, then accept it.";
|
|
197
152
|
case "Complete": {
|
|
198
|
-
// Landed work says why once; its merged pull request is that reason, not a second sentence.
|
|
199
153
|
if (facts.landed)
|
|
200
154
|
return `Accepted automatically: ${facts.landed}.`;
|
|
201
155
|
const by = facts.completedBy ? `Accepted by ${facts.completedBy}.` : "Accepted.";
|
|
@@ -209,7 +163,6 @@ function sentenceOf(headline, facts) {
|
|
|
209
163
|
case "Stopped": return reason ?? "Stopped by a person. The work so far is kept.";
|
|
210
164
|
}
|
|
211
165
|
}
|
|
212
|
-
/** A detail problem: red only under Failed, otherwise an ink note. */
|
|
213
166
|
const problem = (headline) => headline === "Failed" ? "failed" : "note";
|
|
214
167
|
function detailsOf(headline, facts) {
|
|
215
168
|
const rows = [];
|
|
@@ -223,7 +176,6 @@ function detailsOf(headline, facts) {
|
|
|
223
176
|
const batch = checks.batch ?? null;
|
|
224
177
|
const together = batch === null ? null : checkedTogetherWords(batch);
|
|
225
178
|
const batchWhy = batch === null ? null : BATCH_WHY[batch.state] ?? null;
|
|
226
|
-
// A failure or an unreadable check keeps its words while a new check runs, so the row never reads better than the answer.
|
|
227
179
|
const again = checksUnderway(checks) && checks.status === "failed" ? " · running again" : "";
|
|
228
180
|
if (again !== "")
|
|
229
181
|
row("checks", CHECKS_LABEL, `${quick ? "Quick checks failed" : "Failed"}${checks.exitCode === null ? "" : ` (exit ${checks.exitCode})`}${again}`, problem(headline), headline === "Failed" ? { href: checksHref } : { action: { label: "See what failed", href: checksHref } });
|
|
@@ -249,7 +201,6 @@ function detailsOf(headline, facts) {
|
|
|
249
201
|
row("checks", CHECKS_LABEL, CHECKED_AT_RELEASE, "none", runChecks === null ? {} : { action: runChecks });
|
|
250
202
|
else if (checks.status === "not-run")
|
|
251
203
|
row("checks", CHECKS_LABEL, "Didn't run", "none", runChecks === null ? {} : { action: runChecks });
|
|
252
|
-
// A saved check that can't be read is run again where that is possible.
|
|
253
204
|
else if (checks.cause === "command-changed")
|
|
254
205
|
row("checks", CHECKS_LABEL, "Check command changed since", "note", { action: runChecks ?? { label: OPEN_RESULT, href: facts.links?.result ?? null }, why: CHECK_COMMAND_CHANGED });
|
|
255
206
|
else
|
|
@@ -279,7 +230,6 @@ function detailsOf(headline, facts) {
|
|
|
279
230
|
row("pull-request", "Pull request", `${name} open`, "none", { href: github });
|
|
280
231
|
}
|
|
281
232
|
const req = facts.requirements;
|
|
282
|
-
// A failed result names how many it missed, refuted or not: that is what failed.
|
|
283
233
|
if (req != null && req.total > 0 && headline === "Failed" && (req.missed ?? 0) > 0)
|
|
284
234
|
row("requirements", "Requirements", `${req.missed} missed`, "failed");
|
|
285
235
|
else if (req != null && req.total > 0 && req.unverified === true)
|
|
@@ -304,25 +254,19 @@ function detailsOf(headline, facts) {
|
|
|
304
254
|
}
|
|
305
255
|
return rows;
|
|
306
256
|
}
|
|
307
|
-
/** What the lead's claim says, in place of "waits for you" (lead-voice.ts). */
|
|
308
257
|
export const leadOnIt = (name = DEFAULT_LEAD_NAME) => `${name} is on it.`;
|
|
309
258
|
export const leadLapsed = (name = DEFAULT_LEAD_NAME) => `${name} hasn't acted on this for 2 hours, so it's back with you.`;
|
|
310
|
-
/** The headlines a lead's claim speaks for: the ones that would otherwise wait on a person. */
|
|
311
259
|
const LEAD_HEADLINES = new Set(["Needs you", "Failed", "Ready for review", "Stopped"]);
|
|
312
260
|
function leadSentence(headline, facts) {
|
|
313
261
|
const sha = short(facts.checks?.head ?? null);
|
|
314
|
-
// A failed check stays said: the claim changes who acts next, never the result.
|
|
315
262
|
if (headline === "Failed" && facts.checks?.status === "failed")
|
|
316
263
|
return `${facts.checks.level === "quick" ? "Quick checks" : "Checks"} failed${sha === null ? "" : ` on ${sha}`}. ${leadOnIt(facts.leadName)}`;
|
|
317
264
|
return leadOnIt(facts.leadName);
|
|
318
265
|
}
|
|
319
|
-
/** The one status every surface shows (console list, task and result pages, CLI, chat, phone, `status`). */
|
|
320
266
|
export function statusOf(facts) {
|
|
321
267
|
const read = headlineOf(facts);
|
|
322
268
|
const lead = facts.lead != null && LEAD_HEADLINES.has(read) ? facts.lead : null;
|
|
323
|
-
// The lead has it: nothing waits on the person, so a Needs you reads Waiting.
|
|
324
269
|
const headline = lead === "on-it" && read === "Needs you" ? "Waiting" : read;
|
|
325
|
-
// Every Needs you carries the one action that resolves it, worded the same everywhere; a finished result's is Open result.
|
|
326
270
|
const needKey = facts.stage === "finished" ? "review-result" : facts.need ?? "other";
|
|
327
271
|
const need = headline === "Needs you" ? { key: needKey, action: NEEDS[needKey].action } : null;
|
|
328
272
|
const ownWords = need !== null && (need.key === "other" || need.key === "review-result") && facts.action != null;
|
|
@@ -331,14 +275,8 @@ export function statusOf(facts) {
|
|
|
331
275
|
return { headline, tone: HEADLINE_TONE[headline], sentence, details: detailsOf(headline, facts),
|
|
332
276
|
primaryAction, why: [...new Set(facts.why ?? [])].filter(one => one.trim() !== ""), need, check: facts.report ? null : approvedCheckStateOf(facts.checks) };
|
|
333
277
|
}
|
|
334
|
-
/** The name most surfaces already import. */
|
|
335
278
|
export const taskStatusOf = statusOf;
|
|
336
|
-
// ---- reading the existing projections ----------------------------------------
|
|
337
|
-
/** Codes that read Needs you whoever asks (their reason is a person's by nature). Any other need reads Needs you
|
|
338
|
-
* only when the caller says a person is needed; otherwise it waits in the queue. */
|
|
339
279
|
const ALWAYS_NEEDS = new Set(["planner-source", "signed-out", "needs-approval", "waiting-decision", "decision-queue"]);
|
|
340
|
-
/** Queue reasons worth a sentence of their own; any other queued or
|
|
341
|
-
* building reason is scheduler wording, and the default sentence is plainer. */
|
|
342
280
|
const QUEUED_REASONS = new Set(["worker-at-capacity", "waiting-dependency", "retry-scheduled", "updating", "planning-ready", "scouting-ready", "provider-quota"]);
|
|
343
281
|
export function plainReasonOf(stage, code, detail) {
|
|
344
282
|
if (stage === "building" || stage === "checking" || stage === "reviewing" || stage === "planning")
|
|
@@ -347,8 +285,6 @@ export function plainReasonOf(stage, code, detail) {
|
|
|
347
285
|
return QUEUED_REASONS.has(code) ? detail ?? null : null;
|
|
348
286
|
return detail ?? null;
|
|
349
287
|
}
|
|
350
|
-
/** Every dispatch or work-index code, as the stage it means (needs-you.ts CODE_READING, the one table). Unknown
|
|
351
|
-
* codes that wait on a person stay Needs you; everything else waits in the queue. */
|
|
352
288
|
export function stageOfCode(code, options = {}) {
|
|
353
289
|
if (code === "running" && options.planning)
|
|
354
290
|
return { stage: "planning" };
|
|
@@ -360,7 +296,6 @@ export function stageOfCode(code, options = {}) {
|
|
|
360
296
|
}
|
|
361
297
|
return options.needsPerson === false ? { stage: "queued" } : { stage: "needs-you", need: known?.need ?? "other" };
|
|
362
298
|
}
|
|
363
|
-
/** The pull request as the task page's follower reports it, or the bare publication row. */
|
|
364
299
|
export function pullRequestFactOf(publication) {
|
|
365
300
|
if (publication === null)
|
|
366
301
|
return null;
|
|
@@ -382,13 +317,9 @@ export function pullRequestFactOf(publication) {
|
|
|
382
317
|
return { ...base, state: "open" };
|
|
383
318
|
return { ...base, state: "opening" };
|
|
384
319
|
}
|
|
385
|
-
/** The assignment's stage. The work status, when the caller read one, names
|
|
386
|
-
* the exact reason (a running planner, a pause, a failed attempt, a sign-in). */
|
|
387
320
|
export function assignmentStageOf(assignment, work, planning = false) {
|
|
388
|
-
// A finding held for a person outlives the stage the work is in, a saved result included: only a person closes it.
|
|
389
321
|
if (work?.token === "finding-held" && assignment.state !== "cancelled")
|
|
390
322
|
return { stage: "needs-you", need: "finding" };
|
|
391
|
-
// The assignment's own reading (a build Toolroll can't confirm stopped) comes first.
|
|
392
323
|
const own = assignment.need ?? null;
|
|
393
324
|
if (own !== null && (assignment.state === "working" || assignment.state === "needs-decision"))
|
|
394
325
|
return "wait" in own ? { stage: "waiting", wait: own.wait } : { stage: "needs-you", need: own.key };
|
|
@@ -413,32 +344,22 @@ export function assignmentStageOf(assignment, work, planning = false) {
|
|
|
413
344
|
if (action === "inspect-findings")
|
|
414
345
|
return { stage: "needs-you", need: "finding" };
|
|
415
346
|
const token = work?.token ?? "";
|
|
416
|
-
// A failed attempt is Failed. A saved result that still needs a decision
|
|
417
|
-
// (its scope, a hold, a process exit) is Needs you, even if its checks
|
|
418
|
-
// failed: the decision is the next step, and the Checks row says the rest.
|
|
419
347
|
if (token === "failed" || token === "waiting-incident")
|
|
420
348
|
return { stage: "failed" };
|
|
421
349
|
const read = stageOfCode(token, { needsPerson: true, operatorHold: action === "unhold" });
|
|
422
350
|
if (read.stage === "stopped" || read.stage === "waiting")
|
|
423
351
|
return read;
|
|
424
|
-
// A saved result that isn't ready keeps its own reading; a task's dispatch reason names its need.
|
|
425
352
|
return { stage: "needs-you", need: read.need ?? "other" };
|
|
426
353
|
}
|
|
427
354
|
}
|
|
428
355
|
}
|
|
429
|
-
/** Evidence that passed and only awaits the retired assessment step is met. */
|
|
430
356
|
const requirementMet = (row) => row.state === "pass" || (row.assessment?.evidenceState === "pass" && (row.review ?? null) === null);
|
|
431
|
-
/** A requirement whose only gap is the project check: every other kind it needs was shown, none is a person's check. */
|
|
432
357
|
const onlyCheckMissing = (row) => {
|
|
433
358
|
const needs = row.requiredEvidence ?? [];
|
|
434
359
|
const answered = new Set((row.answered ?? []).map(one => one.kind));
|
|
435
360
|
if (row.state !== "missing" || row.review != null || row.assessment?.evidenceState === "failed" ||
|
|
436
361
|
!needs.includes("check") || needs.includes("manual-review") || !needs.every(kind => kind === "check" || answered.has(kind)))
|
|
437
362
|
return false;
|
|
438
|
-
// `answered` contains claims, not validated evidence. In legacy matrices a missing
|
|
439
|
-
// check takes precedence over an invalid screenshot/changed path in `state`.
|
|
440
|
-
// Only the stored validator's check-only gaps establish that every other
|
|
441
|
-
// reference resolved. Direct assessment keeps these outcomes in its own detail.
|
|
442
363
|
const detail = row.assessment?.detail ?? row.detail ?? [];
|
|
443
364
|
const checkGaps = new Set([
|
|
444
365
|
`criterion "${row.id}" requires check evidence, which the proof does not reference`,
|
|
@@ -447,7 +368,6 @@ const onlyCheckMissing = (row) => {
|
|
|
447
368
|
]);
|
|
448
369
|
return (needs.every(kind => kind === "check") || detail.length > 0) && detail.every(one => checkGaps.has(one));
|
|
449
370
|
};
|
|
450
|
-
/** A required screenshot nobody captured. */
|
|
451
371
|
const screenshotMissing = (row) => (row.requiredEvidence ?? []).includes("screenshot") && !(row.answered ?? []).some(one => one.kind === "screenshot");
|
|
452
372
|
export function requirementWordOf(row, verdict, release) {
|
|
453
373
|
if (verdict === "refuted")
|
|
@@ -465,13 +385,11 @@ const quoted = (statement) => {
|
|
|
465
385
|
const one = (statement ?? "").replace(/\s+/g, " ").trim();
|
|
466
386
|
return one.length > ASK_STATEMENT ? `${one.slice(0, ASK_STATEMENT - 1)}…` : one;
|
|
467
387
|
};
|
|
468
|
-
/** The ask for one unresolved requirement: what is wrong with it, and the two ways on. */
|
|
469
388
|
function unresolvedAsk(row, word) {
|
|
470
389
|
const what = word === "Not shown yet" && screenshotMissing(row) ? "A screenshot is missing for"
|
|
471
390
|
: word === "Not shown yet" ? "Nothing shows this requirement is met" : word === "Unverified" ? "This requirement couldn't be verified" : "This requirement isn't met";
|
|
472
391
|
return `${what}: ${quoted(row.statement) || row.id || "a requirement"}. Send it back, or accept the result with a reason.`;
|
|
473
392
|
}
|
|
474
|
-
/** Requirements from the stored matrix: met, the ones only a person confirms, and the total. */
|
|
475
393
|
export function requirementsOf(matrix, release) {
|
|
476
394
|
if (!matrix || matrix.length === 0)
|
|
477
395
|
return null;
|
|
@@ -486,10 +404,6 @@ export function requirementsOf(matrix, release) {
|
|
|
486
404
|
...(unshown.length === 0 ? {} : { unshown: unshown.length }),
|
|
487
405
|
...(ask === null ? {} : { ask }) };
|
|
488
406
|
}
|
|
489
|
-
/** What refuses Complete, for `task complete`, the console and chat completion and deploy-candidate alike: a failed
|
|
490
|
-
* check; a required check that is missing (checks deliberately Off are not missing: they are checked at release);
|
|
491
|
-
* an unresolved requirement (a person's own check is theirs to give by completing; a recorded acceptance resolves
|
|
492
|
-
* the rest); an unresolved HIGH review finding. A release check that covers the commit counts as passed. */
|
|
493
407
|
export function completionBlockersOf(f) {
|
|
494
408
|
const blockers = [];
|
|
495
409
|
const release = releaseStateOf(f.checks);
|
|
@@ -517,39 +431,32 @@ export function completionBlockersOf(f) {
|
|
|
517
431
|
blockers.push({ key: "high", message: `The automatic review found ${f.high === 1 ? "a high-severity problem" : `${f.high} high-severity problems`}. Send it back before accepting it.` });
|
|
518
432
|
return blockers;
|
|
519
433
|
}
|
|
520
|
-
/** A refuted report verifies none of its requirements, whatever it marked met (a person's acceptance doesn't change that). */
|
|
521
434
|
export function unverifiedWhenRefuted(requirements, verdict) {
|
|
522
435
|
return requirements === null || verdict !== "refuted" ? requirements : { ...requirements, unverified: true };
|
|
523
436
|
}
|
|
524
|
-
/** Saved evidence health from the receipt's artifact list and its caveats. */
|
|
525
437
|
export function evidenceOf(receipt, problems = receipt?.caveats ?? []) {
|
|
526
438
|
if (receipt === null)
|
|
527
439
|
return null;
|
|
528
|
-
// The check's own reading is the Project checks row's to say (a changed command is not a missing file).
|
|
529
440
|
problems = problems.filter(one => one !== receipt.checks.detail);
|
|
530
441
|
const shortened = receipt.artifacts.filter(one => !one.complete).length + problems.filter(one => /shortened|cut short/.test(one)).length;
|
|
531
442
|
const damaged = problems.filter(one => /unavailable or changed|no longer verif|cannot be read|could not be read|failed capture|altered|damaged/i.test(one)).length;
|
|
532
443
|
const missing = problems.filter(one => /missing|ambiguous|no longer exists/i.test(one) && !/unavailable or changed/.test(one)).length;
|
|
533
444
|
return { shortened, missing, damaged };
|
|
534
445
|
}
|
|
535
|
-
/** A saved check reading as the shared fact (head, level, a follow-up running, a batch, release coverage). */
|
|
536
446
|
export function checksFactOf(checks, head) {
|
|
537
447
|
return { status: checks.status, exitCode: checks.exitCode, head,
|
|
538
448
|
...(checks.level == null ? {} : { level: checks.level }), ...(checks.running == null ? {} : { running: checks.running }),
|
|
539
449
|
...(checks.batch == null ? {} : { batch: checks.batch }), ...(checks.release == null ? {} : { release: checks.release }),
|
|
540
450
|
...(checks.cause == null ? {} : { cause: checks.cause }) };
|
|
541
451
|
}
|
|
542
|
-
/** A receipt's approved check, as every surface reads it (`approvedCheckOf` over its verdict and its saved check). */
|
|
543
452
|
export function receiptChecksOf(receipt) {
|
|
544
453
|
return approvedCheckOf(receipt.proof?.verdict ?? null, receipt.proof?.reasons ?? [], checksFactOf(receipt.checks, receipt.head));
|
|
545
454
|
}
|
|
546
|
-
/** The status facts of one assignment, as every surface reads them. */
|
|
547
455
|
export function assignmentStatusFacts(assignment, options = {}) {
|
|
548
456
|
const { stage, need, wait } = assignmentStageOf(assignment, options.work ?? null, options.planning ?? false);
|
|
549
457
|
const build = assignment.need?.build ?? null;
|
|
550
458
|
const receipt = assignment.receipt;
|
|
551
459
|
const finished = stage === "finished" || stage === "complete";
|
|
552
|
-
// A saved result's rows show whenever it is the reason a person is needed, too.
|
|
553
460
|
const withResult = finished || stage === "failed" || ((stage === "needs-you" || stage === "waiting") && receipt !== null);
|
|
554
461
|
const report = receipt?.completionKind === "research-report";
|
|
555
462
|
const checks = receipt === null || !withResult ? null : receiptChecksOf(receipt);
|
|
@@ -557,7 +464,6 @@ export function assignmentStatusFacts(assignment, options = {}) {
|
|
|
557
464
|
const pullRequest = options.pullRequest !== undefined ? options.pullRequest
|
|
558
465
|
: publication === null ? (withResult && !report ? { state: "none", number: null, url: null, ci: null, error: null } : null)
|
|
559
466
|
: pullRequestFactOf(publication);
|
|
560
|
-
// Ready, Complete and Failed speak for themselves; every other stage keeps its recorded reason.
|
|
561
467
|
const reason = stage === "needs-you" || stage === "waiting" || stage === "stopped" || stage === "queued" || (stage === "failed" && checks?.status !== "failed")
|
|
562
468
|
? stage === "stopped" && assignment.state === "cancelled" ? REPLACED.test(assignment.detail) ? assignment.detail : "Cancelled. Nothing else will run." : plainReasonOf(stage, options.work?.token ?? "", options.work?.detail ?? assignment.detail)
|
|
563
469
|
: null;
|
|
@@ -577,8 +483,6 @@ export function assignmentStatusFacts(assignment, options = {}) {
|
|
|
577
483
|
...(assignment.lead == null ? {} : { lead: assignment.lead.state }),
|
|
578
484
|
};
|
|
579
485
|
}
|
|
580
|
-
// ---- rendering helpers shared by the server pages and chat cards ------------
|
|
581
|
-
/** The legacy work tone each headline wears where a surface still keys off StatusTone. */
|
|
582
486
|
export function workToneOf(headline) {
|
|
583
487
|
switch (headline) {
|
|
584
488
|
case "Needs you": return "attention";
|
|
@@ -590,12 +494,10 @@ export function workToneOf(headline) {
|
|
|
590
494
|
default: return "muted";
|
|
591
495
|
}
|
|
592
496
|
}
|
|
593
|
-
/** One plain-text line per detail for chat cards: an icon, the label, the words. */
|
|
594
497
|
export function statusDetailLines(status) {
|
|
595
498
|
const icon = { ok: "✓", running: "●", none: "○", note: "⚠", failed: "✕" };
|
|
596
499
|
return status.details.map(one => `${icon[one.mark]} ${one.label} · ${one.text}${one.action === null ? "" : ` — ${one.action.label}`}`);
|
|
597
500
|
}
|
|
598
|
-
/** The headline's emoji for chat cards (colour is never the only signal: the words follow). */
|
|
599
501
|
export function headlineEmoji(headline) {
|
|
600
502
|
return { Queued: "🕓", Planning: "📝", "Needs you": "👋", Waiting: "⏸", Building: "⏳", "Ready for review": "✅", Complete: "✅", Failed: "❌", Stopped: "⏹" }[headline];
|
|
601
503
|
}
|
|
@@ -607,7 +509,6 @@ const ICON_PATHS = {
|
|
|
607
509
|
failed: html `<path d="M18 6 6 18M6 6l12 12"/>`,
|
|
608
510
|
};
|
|
609
511
|
export const statusIconSvg = (mark) => html `<svg class="status-icon status-icon--${mark}" viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${ICON_PATHS[mark]}</svg>`;
|
|
610
|
-
/** The detail rows as server HTML: quiet rows, colour only on the icon. */
|
|
611
512
|
export function statusDetailsHtml(status) {
|
|
612
513
|
if (status.details.length === 0)
|
|
613
514
|
return html ``;
|
|
@@ -617,20 +518,14 @@ export function statusDetailsHtml(status) {
|
|
|
617
518
|
return html `<li class="status-detail status-detail--${one.mark}" data-status-detail="${one.key}" data-mark="${one.mark}">${statusIconSvg(one.mark)}<span class="status-detail-label">${one.label}</span><span class="status-detail-text"><span>${text}</span>${action}</span></li>`;
|
|
618
519
|
})}</ul>`;
|
|
619
520
|
}
|
|
620
|
-
/** The status card's fold of exact reasons: "More", never a third thing called Details. */
|
|
621
521
|
export const STATUS_MORE = "More";
|
|
622
|
-
/** The technical reasons, one tap away. */
|
|
623
522
|
export function statusWhyHtml(status, extra = [], diagnostics = []) {
|
|
624
523
|
const lines = [...new Set([...status.details.flatMap(one => one.why === null ? [] : [`${one.label}: ${one.why}`]), ...status.why, ...extra])];
|
|
625
524
|
if (lines.length === 0 && diagnostics.length === 0)
|
|
626
525
|
return html ``;
|
|
627
526
|
return html `<details class="status-why"><summary>${STATUS_MORE}</summary>${lines.map(one => html `<p class="meta">${one}</p>`)}${diagnostics.map(one => html `<p class="meta" data-work-diagnostic="${one.token}">${one.label} · ${one.detail}</p>`)}</details>`;
|
|
628
527
|
}
|
|
629
|
-
/** Shared CSS for the server-rendered status: neutral rows, coloured icons. */
|
|
630
528
|
export const TASK_STATUS_CSS = `.status-headline{display:flex;align-items:center;gap:.6rem;margin:0;font-size:1.125rem;font-weight:600;color:var(--foreground)}.status-headline i{width:.625rem;height:.625rem;border-radius:999px;flex-shrink:0;background:var(--muted-foreground)}[data-headline-tone=live] .status-headline i{background:var(--so-info,#0d74ce)}[data-headline-tone=attention] .status-headline i{background:var(--so-attention,var(--attention))}[data-headline-tone=ready] .status-headline i{background:transparent;box-shadow:inset 0 0 0 2px var(--so-success,#218358)}[data-headline-tone=success] .status-headline i{background:var(--so-success,#218358)}[data-headline-tone=danger] .status-headline i{background:var(--so-danger,#c4320a)}.status-sentence{margin:.35rem 0 0;color:var(--muted-foreground)}.status-details{list-style:none;margin:.75rem 0 0;padding:.25rem 0 0;border-top:1px solid var(--so-line,var(--border))}.status-detail{display:grid;grid-template-columns:14px 7.5rem minmax(0,1fr);align-items:center;gap:.6rem;padding:.4rem 0;font-size:.8125rem;color:var(--foreground)}.status-detail .status-icon{align-self:center;color:var(--muted-foreground)}.status-detail--ok .status-icon{color:var(--so-success,#218358)}.status-detail--running .status-icon{color:var(--so-info,#0d74ce)}.status-detail--note .status-icon{color:var(--so-ink)}.status-detail--failed .status-icon{color:var(--so-danger,#c4320a)}.status-detail-label{color:var(--muted-foreground)}.status-detail-text{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .6rem;min-width:0;overflow-wrap:anywhere}.status-detail-text a{color:inherit}.status-detail-act{font-weight:600;white-space:nowrap}.status-detail--note .status-detail-act{color:var(--so-ink)}@media(max-width:480px){.status-detail{grid-template-columns:14px 6.5rem minmax(0,1fr);min-height:2.75rem;padding:.25rem 0}.status-detail-text a{display:inline-block;padding:.75rem 0;margin:-.75rem 0}}.status-why{border:0;padding:0;margin:.25rem 0 0;background:transparent;box-shadow:none}.status-why>summary{cursor:pointer;min-height:2.75rem;display:list-item;align-content:center;font-size:.8125rem;color:var(--muted-foreground)}.status-why p{margin:.25rem 0 .5rem}.receipt-note{display:flex;align-items:center;gap:.45rem;font-size:.8125rem;color:var(--foreground)}.receipt-note .status-icon{color:var(--so-ink)}`;
|
|
631
|
-
/** A dispatch diagnosis as its stage, for the phone and CLI reads that hold
|
|
632
|
-
* no assignment. A done task is Complete once a person marked its result;
|
|
633
|
-
* a refuted result whose project check failed is Failed. */
|
|
634
529
|
export function stageOfDispatch(d, options = {}) {
|
|
635
530
|
if (d.code === "reviewing")
|
|
636
531
|
return { stage: "reviewing" };
|
|
@@ -642,7 +537,6 @@ export function stageOfDispatch(d, options = {}) {
|
|
|
642
537
|
return { stage: "needs-you", need: "review-result" };
|
|
643
538
|
return stageOfCode(d.code, { needsPerson: d.condition === "waiting" && d.action !== null, planning: d.condition === "running" && d.role === "planner", operatorHold: d.action === "unhold" });
|
|
644
539
|
}
|
|
645
|
-
/** The demo runs no checks: a Checks row that would offer to run one (or open one that never ran) says so instead. */
|
|
646
540
|
export const DEMO_CHECKS = "Can't run in the demo";
|
|
647
541
|
export function demoChecksOf(status) {
|
|
648
542
|
return { ...status, details: status.details.map(one => one.key !== "checks" || one.mark === "ok" || one.mark === "failed" || one.mark === "running" ? one
|
package/dist/task-text.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/** New task text only. Historical signed terms are read by sealRevision,
|
|
2
|
-
* never re-authored through this validator. Character counts deliberately
|
|
3
|
-
* retain the existing JavaScript/HTML UTF-16 policy (TEXT_LIMITS.goal code units).
|
|
4
|
-
* UTF-8 byte limits remain explicit storage bounds beside that policy. Reading
|
|
5
|
-
* a stored goal never re-validates it, so a longer goal stays readable by a
|
|
6
|
-
* runtime with lower limits. */
|
|
7
1
|
import { hasForbiddenControls, hasDisguisedText } from "./decision.js";
|
|
8
2
|
import { TEXT_LIMITS } from "./text-limits.js";
|
|
9
3
|
export const TASK_TEXT_LIMITS = { title: TEXT_LIMITS.taskTitle, text: TEXT_LIMITS.goal, textBytes: TEXT_LIMITS.goalBytes };
|
|
@@ -41,11 +35,6 @@ export function validateTaskText(fields) {
|
|
|
41
35
|
const bad = validateScopeText(fields);
|
|
42
36
|
return bad === null ? null : refuse("bad-goal", bad.message);
|
|
43
37
|
}
|
|
44
|
-
/**
|
|
45
|
-
* A title that fits: words longer than the title limit are cut at the last whole word that fits, with an ellipsis,
|
|
46
|
-
* never mid-word (one unbroken word longer than half the limit is the only thing cut inside a word). Whitespace runs
|
|
47
|
-
* read as one space. Text within the limit is returned as it is.
|
|
48
|
-
*/
|
|
49
38
|
export function titleWithin(text, max = TASK_TEXT_LIMITS.title) {
|
|
50
39
|
if (text.length <= max)
|
|
51
40
|
return text;
|
|
@@ -53,7 +42,6 @@ export function titleWithin(text, max = TASK_TEXT_LIMITS.title) {
|
|
|
53
42
|
if (words.length <= max)
|
|
54
43
|
return words;
|
|
55
44
|
const room = words.slice(0, max - 1);
|
|
56
|
-
// The room ends at a whole word when the next character is a space; else back to the last space in it.
|
|
57
45
|
const space = words[max - 1] === " " ? room.length : room.lastIndexOf(" ");
|
|
58
46
|
const cut = (space >= Math.floor(max / 2) ? room.slice(0, space) : room).replace(/[\s,;:.\-–—]+$/u, "");
|
|
59
47
|
return `${cut}…`;
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
/** The live grant shared by team execution, proposal cards and confirmation doors. */
|
|
2
1
|
import { createHash } from 'node:crypto';
|
|
3
2
|
import { ceilingDigestOf } from './principal.js';
|
|
4
3
|
import { credentialKeyOf, isDirectChatProvider, priceForConfig, subscriptionCredentialKey } from './converse.js';
|
|
5
4
|
const hash = (value) => createHash('sha256').update(JSON.stringify(value)).digest('hex');
|
|
6
|
-
/** Subscription-only surfaces can resolve current terms from saved settings.
|
|
7
|
-
* Direct API callers must supply their live key; a stored grant is never proof of it. */
|
|
8
5
|
export function subscriptionTeamChatProvider(store) {
|
|
9
6
|
const config = store.getChatConfig();
|
|
10
7
|
return config && !isDirectChatProvider(config.provider) ? { config, key: null } : null;
|
package/dist/team-contract.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export const TEAM_OPERATIONS = ['list', 'show', 'create-lead', 'update-lead', 'create-conversation', 'member', 'send', 'edit', 'withdraw', 'read', 'authorize', 'follow', 'stop', 'transfer'];
|
|
2
|
-
/** Whether each operation writes anything (a read receipt included). Exhaustive, so a new operation can't default to read. */
|
|
3
2
|
export const TEAM_MUTATIONS = {
|
|
4
3
|
list: false, show: false, 'create-lead': true, 'update-lead': true, 'create-conversation': true, member: true, send: true, edit: true,
|
|
5
4
|
withdraw: true, read: true, authorize: true, follow: true, stop: true, transfer: true,
|
|
6
5
|
};
|
|
7
|
-
/** Whether this actor may run `operation`: a read-scope token never writes. */
|
|
8
6
|
export const teamScopeAllows = (actor, operation) => !TEAM_MUTATIONS[operation] || actor.principal === undefined || actor.principal.scope === 'act';
|
package/dist/team-http.js
CHANGED
|
@@ -2,8 +2,6 @@ import { adapterPolicy } from "./server/route-policy.js";
|
|
|
2
2
|
import { TEAM_OPERATIONS, TEAM_MUTATIONS, teamScopeAllows } from './team-contract.js';
|
|
3
3
|
import { limitWords } from './request-budget.js';
|
|
4
4
|
export const TEAM_REQUEST_BYTES = 64 * 1024;
|
|
5
|
-
/** How long a password bearer's proof stands on a long live team stream (GET /live?room=team) before its password is
|
|
6
|
-
* checked again. The account, its revocation and its credential generation are still rechecked on every signal. */
|
|
7
5
|
export const TEAM_PASSWORD_REVERIFY_MS = 5 * 60_000;
|
|
8
6
|
const failure = (code, message) => ({ version: 1, ok: false, code, message });
|
|
9
7
|
function send(response, status, value, headers = {}) {
|
|
@@ -33,8 +31,6 @@ function valid(value) {
|
|
|
33
31
|
!!row.args && typeof row.args === 'object' && !Array.isArray(row.args) &&
|
|
34
32
|
!['actor', 'generation', 'authenticatedActor'].some(key => key in row.args);
|
|
35
33
|
}
|
|
36
|
-
/** Authenticated browser and remote CLI share one operation boundary. Live
|
|
37
|
-
* updates come from GET /live?room=team (server/live.ts). */
|
|
38
34
|
export async function handleTeamHttp(request, response, options) {
|
|
39
35
|
const url = new URL(request.url ?? '/', 'http://standing-orders.local');
|
|
40
36
|
if (url.pathname !== '/api/team')
|
package/dist/team-leads.js
CHANGED
|
@@ -34,7 +34,6 @@ function role(value) {
|
|
|
34
34
|
refuse('invalid', 'Choose Viewer, Contributor or Manager.');
|
|
35
35
|
return value;
|
|
36
36
|
}
|
|
37
|
-
/** A failed turn's words for its message: none when the turn said why in the thread itself (it stopped at its deadline). */
|
|
38
37
|
function savedFailure(reason) {
|
|
39
38
|
return reason === 'timeout' || reason === 'crashed' ? null : String(reason ?? 'The saved turn failed.');
|
|
40
39
|
}
|
|
@@ -46,7 +45,6 @@ function stable(value) {
|
|
|
46
45
|
return Object.fromEntries(Object.entries(value).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => [k, stable(v)]));
|
|
47
46
|
return value;
|
|
48
47
|
}
|
|
49
|
-
/** One central database owns audiences and queued turns. No model or provider calls here. */
|
|
50
48
|
export class TeamLeads {
|
|
51
49
|
store;
|
|
52
50
|
enrolled;
|
|
@@ -55,8 +53,6 @@ export class TeamLeads {
|
|
|
55
53
|
this.enrolled = enrolled;
|
|
56
54
|
}
|
|
57
55
|
get db() { return this.store.handle; }
|
|
58
|
-
/** The account as this actor may use it now. An API token's principal narrows it: a read token acts as a viewer, and a
|
|
59
|
-
* project-limited token sees only its projects. Every role and project check below reads this, never the raw row. */
|
|
60
56
|
account(actor) {
|
|
61
57
|
const account = this.store.accountOf(actor.name);
|
|
62
58
|
if (account === null || account.revokedAt !== null || account.generation !== actor.generation)
|
|
@@ -68,7 +64,6 @@ export class TeamLeads {
|
|
|
68
64
|
refuse('signed-out', 'Sign in again to use this conversation.');
|
|
69
65
|
return { ...account, role: principal.scope === 'act' ? account.role : 'viewer', projects: tokenProjects(account.projects, principal.projects) };
|
|
70
66
|
}
|
|
71
|
-
/** Whether the actor may use `repo` now: their account's access, narrowed by any token limit. */
|
|
72
67
|
reaches(actor, repo) {
|
|
73
68
|
return this.store.accountCanAccess(actor.name, repo) && projectAccessAllows(this.account(actor).projects, repo);
|
|
74
69
|
}
|
|
@@ -129,7 +124,6 @@ export class TeamLeads {
|
|
|
129
124
|
event(lead, conversation, kind, actor, now) {
|
|
130
125
|
this.db.prepare('INSERT INTO team_event(lead,conversation,kind,actor,created_at) VALUES(?,?,?,?,?)').run(lead, conversation, kind, actor, now.toISOString());
|
|
131
126
|
}
|
|
132
|
-
/** Permission recheck and a small indexed cursor query; it never rebuilds chat history. */
|
|
133
127
|
cursor(actor, conversationId) {
|
|
134
128
|
try {
|
|
135
129
|
this.account(actor);
|
|
@@ -137,7 +131,6 @@ export class TeamLeads {
|
|
|
137
131
|
const { lead } = this.access(actor, conversationId);
|
|
138
132
|
return Number(this.db.prepare('SELECT COALESCE(MAX(id),0) AS n FROM team_event WHERE (conversation=? OR (conversation IS NULL AND lead=?))').get(conversationId, lead.id)?.['n'] ?? 0);
|
|
139
133
|
}
|
|
140
|
-
// A project-limited token hears only of the leads and conversations it can open, never activity beyond its projects.
|
|
141
134
|
if (actor.principal?.projects != null) {
|
|
142
135
|
const account = this.account(actor);
|
|
143
136
|
const leads = this.db.prepare('SELECT l.id FROM team_lead l JOIN team_lead_member m ON m.lead=l.id WHERE m.account=? AND m.active=1').all(actor.name).map(r => String(r['id']))
|
|
@@ -198,7 +191,6 @@ export class TeamLeads {
|
|
|
198
191
|
refuse('read-only', 'Your token reads only. Use an act token for this.');
|
|
199
192
|
const requestId = request.args['requestId'];
|
|
200
193
|
const key = requestId === undefined ? null : str(requestId, 'Request ID', 128);
|
|
201
|
-
// A token's scope and project limit are part of what was asked: a narrower token never replays a wider one's receipt.
|
|
202
194
|
const digest = hash(stable(actor.principal === undefined ? request : { request, scope: actor.principal.scope, projects: actor.principal.projects }));
|
|
203
195
|
if (key) {
|
|
204
196
|
const seen = this.db.prepare('SELECT payload_hash,response_json FROM team_request WHERE account=? AND generation=? AND request_id=?').get(actor.name, actor.generation, key);
|
|
@@ -214,10 +206,9 @@ export class TeamLeads {
|
|
|
214
206
|
return response;
|
|
215
207
|
});
|
|
216
208
|
if (request.operation === 'read')
|
|
217
|
-
return result;
|
|
209
|
+
return result;
|
|
218
210
|
const conversationId = typeof request.args['conversationId'] === 'string' ? request.args['conversationId'] : undefined;
|
|
219
211
|
const leadId = typeof request.args['leadId'] === 'string' ? request.args['leadId'] : undefined;
|
|
220
|
-
// A membership operation may deliberately remove the caller; its receipt still stands.
|
|
221
212
|
try {
|
|
222
213
|
return { ...result, snapshot: this.snapshot(actor, conversationId, leadId) };
|
|
223
214
|
}
|
|
@@ -472,7 +463,6 @@ export class TeamLeads {
|
|
|
472
463
|
return true;
|
|
473
464
|
});
|
|
474
465
|
}
|
|
475
|
-
/** A pre-admission refusal saves a waiting reason. Admitted work is never requeued. */
|
|
476
466
|
defer(claim, error, now = new Date()) {
|
|
477
467
|
return this.store.transact(() => {
|
|
478
468
|
const row = this.claimed(claim);
|
|
@@ -488,7 +478,6 @@ export class TeamLeads {
|
|
|
488
478
|
return true;
|
|
489
479
|
});
|
|
490
480
|
}
|
|
491
|
-
/** Reconcile only recorded terminal receipts; never infer success from time or rerun a turn. */
|
|
492
481
|
reconcileFinished(now = new Date()) {
|
|
493
482
|
return this.store.transact(() => {
|
|
494
483
|
const rows = this.db.prepare(`SELECT q.*,c.lead,c.thread,t.state AS turn_state,t.failure_reason FROM team_message q
|
|
@@ -498,8 +487,6 @@ export class TeamLeads {
|
|
|
498
487
|
ORDER BY q.message LIMIT 100`).all();
|
|
499
488
|
let changed = 0;
|
|
500
489
|
for (const row of rows) {
|
|
501
|
-
// An unknown provider outcome remains a stop point even when the account
|
|
502
|
-
// lost access: permission revocation is not proof an effect did not occur.
|
|
503
490
|
const uncertain = this.deliveryUncertain(Number(row['turn_id']));
|
|
504
491
|
const cancelled = Number(row['stop_requested']) === 1 || !this.authorStillAllowed(row);
|
|
505
492
|
const status = uncertain ? 'uncertain' : cancelled ? 'cancelled' : row['turn_state'] === 'answered' ? 'answered' : 'failed';
|
|
@@ -515,7 +502,6 @@ export class TeamLeads {
|
|
|
515
502
|
}
|
|
516
503
|
deliveryUncertain(turnId) { return this.db.prepare("SELECT 1 FROM chat_turn WHERE mate_turn=? AND (unknown_spend=1 OR state IN ('queued','running') OR settled_microusd IS NULL) LIMIT 1").get(turnId) !== undefined; }
|
|
517
504
|
activeRunners() { return this.db.prepare("SELECT DISTINCT runner FROM team_message WHERE status='running' AND runner IS NOT NULL").all().map(r => String(r['runner'])); }
|
|
518
|
-
/** Called only after the runtime proves this runner has stopped. Never repeats work. */
|
|
519
505
|
recover(runner, now = new Date()) {
|
|
520
506
|
return this.store.transact(() => {
|
|
521
507
|
const rows = this.db.prepare("SELECT q.*,c.lead FROM team_message q JOIN team_conversation c ON c.id=q.conversation WHERE runner=? AND status='running'").all(runner);
|
|
@@ -557,7 +543,6 @@ export class TeamLeads {
|
|
|
557
543
|
const row = this.db.prepare('SELECT lead,revision,conversation FROM team_task_owner WHERE task_ref=?').get(ref.id);
|
|
558
544
|
return row ? { leadId: String(row['lead']), revision: Number(row['revision']), conversationId: row['conversation'] === null ? null : String(row['conversation']) } : null;
|
|
559
545
|
}
|
|
560
|
-
/** Attach newly filed work in its original admission transaction. Never steals an existing owner. */
|
|
561
546
|
recordTaskOwner(taskId, leadId, conversationId, actor, now = new Date()) {
|
|
562
547
|
return this.store.transact(() => {
|
|
563
548
|
const lead = this.leadAccess(actor, leadId, 'contributor').lead;
|