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
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** Supervision of one approved app update, independent of the app being swapped.
|
|
2
|
-
* No task scheduling, credentials or provider calls belong in this process. */
|
|
3
1
|
import { spawn } from "node:child_process";
|
|
4
2
|
import { existsSync, lstatSync, readFileSync, unlinkSync } from "node:fs";
|
|
5
3
|
import { homedir } from "node:os";
|
|
@@ -35,8 +33,6 @@ export function updateRecoveryDefinition(j, home = homedir()) {
|
|
|
35
33
|
return { platform: "darwin", label, bin, entry, logPath, unitPath: join(home, "Library", "LaunchAgents", `${label}.plist`),
|
|
36
34
|
unitContent: launchdPlist({ label, command: [bin, entry, "update-supervise", "--state", j.stateDir, "--update-id", j.id], workingDirectory: j.workDir, logPath,
|
|
37
35
|
pathEnv: [dirname(bin), "/usr/bin", "/bin", "/usr/sbin", "/sbin"].join(":"), associatedBundleId: j.next.bundleId,
|
|
38
|
-
// A timer is a fallback even when macOS defers a non-demand KeepAlive
|
|
39
|
-
// restart. It is an updater wakeup, never a task execution time limit.
|
|
40
36
|
keepAlive: false, startInterval: 15 }) };
|
|
41
37
|
}
|
|
42
38
|
export async function armUpdateRecovery(stateDir, retry = false, supervise = run, home = homedir()) {
|
|
@@ -51,7 +47,7 @@ export async function armUpdateRecovery(stateDir, retry = false, supervise = run
|
|
|
51
47
|
throw Error("The staged updater changed. Nothing was launched.");
|
|
52
48
|
const lock = sqliteLock(join(j.workDir, "guardian.sqlite"), 1000);
|
|
53
49
|
if (!lock)
|
|
54
|
-
return;
|
|
50
|
+
return;
|
|
55
51
|
try {
|
|
56
52
|
let record = readRecovery(j);
|
|
57
53
|
if (record?.state === "attention" && !retry)
|
|
@@ -87,8 +83,6 @@ export async function runUpdateAttempt(j, signal, onPid, hooks = {}) {
|
|
|
87
83
|
const child = spawn(join(resources, "runtime", "node"), [join(resources, "dist", "desktop-host.js"), "update-run", "--state", j.stateDir, "--update-id", j.id], { cwd: j.workDir, stdio: "inherit" });
|
|
88
84
|
let ended = false, fault = null;
|
|
89
85
|
const startedAt = Date.now();
|
|
90
|
-
// Only this ChildProcess handle may be signalled. A PID in a receipt is
|
|
91
|
-
// diagnostic, never authority to kill something after a restart.
|
|
92
86
|
const stop = () => { if (!ended)
|
|
93
87
|
child.kill("SIGKILL"); };
|
|
94
88
|
signal.addEventListener("abort", stop, { once: true });
|
|
@@ -126,10 +120,7 @@ export async function runUpdateAttempt(j, signal, onPid, hooks = {}) {
|
|
|
126
120
|
onPid(null);
|
|
127
121
|
}
|
|
128
122
|
}
|
|
129
|
-
/** Remove only the immutable job definition for this completed operation.
|
|
130
|
-
* Receipts/backups remain. A crash during cleanup gets another no-op wake. */
|
|
131
123
|
async function cleanup(j) {
|
|
132
|
-
// Prevent a new update's registration racing this old job's bootout.
|
|
133
124
|
const lock = installationLock(j);
|
|
134
125
|
if (!lock)
|
|
135
126
|
return;
|
|
@@ -152,9 +143,6 @@ export async function superviseDesktopUpdate(stateDir, id, signal, hooks = {}) {
|
|
|
152
143
|
initial = readUpdateJournal(stateDir);
|
|
153
144
|
}
|
|
154
145
|
catch (error) {
|
|
155
|
-
// The OS job's pinned working directory has an independently validated
|
|
156
|
-
// receipt. Use it only to suspend this exact job, never to overwrite a
|
|
157
|
-
// damaged/newer main record or infer permission to continue the update.
|
|
158
146
|
const retained = readUpdateJournal(stateDir, join(hooks.receiptDir ?? process.cwd(), "receipt.json"));
|
|
159
147
|
if (!retained || retained.id !== id)
|
|
160
148
|
throw error;
|
|
@@ -162,7 +150,6 @@ export async function superviseDesktopUpdate(stateDir, id, signal, hooks = {}) {
|
|
|
162
150
|
await (hooks.cleanup ?? cleanup)(retained);
|
|
163
151
|
return;
|
|
164
152
|
}
|
|
165
|
-
// A retained old login job cannot act on a newer update in the same state.
|
|
166
153
|
if (!initial || initial.id !== id)
|
|
167
154
|
return;
|
|
168
155
|
const lock = sqliteLock(join(initial.workDir, "guardian.sqlite"), 1000);
|
|
@@ -196,8 +183,6 @@ export async function superviseDesktopUpdate(stateDir, id, signal, hooks = {}) {
|
|
|
196
183
|
pause(j, "The staged updater changed. Automatic recovery stopped; keep the app and backups and open Update status.");
|
|
197
184
|
return;
|
|
198
185
|
}
|
|
199
|
-
// launchd may be settling the previous process group. Do not consume a
|
|
200
|
-
// retry or spawn over an updater that still owns the database lock.
|
|
201
186
|
if (desktopUpdateStatus(stateDir).running) {
|
|
202
187
|
await (hooks.sleep ?? sleep)(500);
|
|
203
188
|
continue;
|
|
@@ -229,8 +214,6 @@ export async function superviseDesktopUpdate(stateDir, id, signal, hooks = {}) {
|
|
|
229
214
|
}
|
|
230
215
|
}
|
|
231
216
|
catch (error) {
|
|
232
|
-
// If the receipt itself cannot be trusted, do not invent state or launch
|
|
233
|
-
// anything. Preserve it and suspend this OS job instead of looping.
|
|
234
217
|
if (record)
|
|
235
218
|
writeRecovery(initial, record, "attention", `Automatic recovery stopped: ${error instanceof Error ? error.message : String(error)}. Open Update status; saved work was kept.`);
|
|
236
219
|
finished = true;
|
package/dist/desktop-update.js
CHANGED
|
@@ -17,8 +17,6 @@ import { assertCodingUpdateStopped, backupCodingCatalog, codingCatalogExists, re
|
|
|
17
17
|
import { processMayBeAlive } from "./process-liveness.js";
|
|
18
18
|
import { readDesktopRecoveryView, readDesktopUpdateJournal, supervisorPidsOf, updateRequestIs } from "./contracts/update-journal.js";
|
|
19
19
|
import { sleep as defaultSleep } from "./sleep.js";
|
|
20
|
-
/** Loaded on first use (as backup.ts and store.ts do), so modules that only import this one (the console,
|
|
21
|
-
* and tests that load it in a browser-like environment) never need `node:sqlite` itself. */
|
|
22
20
|
function sqlite() {
|
|
23
21
|
return createRequire(import.meta.url)("node:sqlite");
|
|
24
22
|
}
|
|
@@ -31,7 +29,6 @@ const journalPath = (state) => join(state, "desktop-update.json");
|
|
|
31
29
|
const payload = (j) => join(j.workDir, "Updater.app");
|
|
32
30
|
const standby = (j) => join(j.workDir, "Standby.app");
|
|
33
31
|
const atInstalled = (bundle, j) => ({ ...bundle, path: j.old.path });
|
|
34
|
-
/** Durable receipts are private and independent of the app being replaced. */
|
|
35
32
|
export function durableJson(file, value) {
|
|
36
33
|
const temp = `${file}.${randomUUID()}.tmp`;
|
|
37
34
|
const fd = openSync(temp, "wx", 0o600);
|
|
@@ -65,8 +62,6 @@ function privateFile(file) {
|
|
|
65
62
|
if (!stat.isFile() || stat.isSymbolicLink() || (process.platform !== "win32" && ((stat.mode & 0o077) !== 0 || stat.uid !== process.getuid?.())))
|
|
66
63
|
throw Error("The update record must be an owner-only regular file.");
|
|
67
64
|
}
|
|
68
|
-
/** The refusal the hand-written reader gave for the field a saved journal first gets wrong, so callers and people read
|
|
69
|
-
* the same words; fields it never checked read as an invalid record. */
|
|
70
65
|
function journalRefusal(issue) {
|
|
71
66
|
const [field, inner] = issue.path.split(/[.[]/);
|
|
72
67
|
switch (field) {
|
|
@@ -178,7 +173,6 @@ async function otherControllers(app, stateDir) {
|
|
|
178
173
|
const command = `${join(resources(app), "runtime", "node")} ${join(resources(app), "dist", "desktop-host.js")} serve --state `;
|
|
179
174
|
return result.stdout.split("\n").some(line => line.trim().startsWith(command) && line.trim() !== command + resolve(stateDir));
|
|
180
175
|
}
|
|
181
|
-
/** How long an update waits on a finished run it cannot show has ended before it stops waiting and says why. */
|
|
182
176
|
export const LINGERING_LIMIT_MS = 120_000;
|
|
183
177
|
export function lingeringRun(db) {
|
|
184
178
|
const store = new Store(db);
|
|
@@ -194,9 +188,7 @@ export function lingeringWork(db) {
|
|
|
194
188
|
return lingering && lingeringWords(lingering);
|
|
195
189
|
}
|
|
196
190
|
export const lingeringWords = (l) => l.action ? `${l.on}. To have Toolroll check again, run: ${l.action}` : `${l.on}.`;
|
|
197
|
-
/** What an update says when it stops waiting on `l`: what is in the way, the command, and that new work resumed. */
|
|
198
191
|
export const stoppedWaitingWords = (l) => `Stopped waiting after 2 minutes. ${l.on}. ${clearWords(l)} New work resumed; nothing was changed.`;
|
|
199
|
-
/** The next step once an update has stopped on `l`. */
|
|
200
192
|
export const clearWords = (l) => l.action ? `To have Toolroll check again, run ${l.action}, then update again.` : "Update again once it has stopped.";
|
|
201
193
|
export function updateWaitingWords(o) {
|
|
202
194
|
const { app, version, stopped, lingering: l } = o;
|
|
@@ -211,9 +203,6 @@ export function updateWaitingWords(o) {
|
|
|
211
203
|
words: `${update} ${stopped ? "stopped waiting" : "is waiting"}: ${l.on}.${next}`,
|
|
212
204
|
short: `${update} ${stopped ? `stopped: run #${l.run} is in the way` : `is waiting on run #${l.run}`}.${next}` };
|
|
213
205
|
}
|
|
214
|
-
/** An app updater that ended while letting work finish, with no automatic recovery coming to resume it, leaves new
|
|
215
|
-
* work paused with nobody left to lift the pause. Nothing was stopped or swapped yet, so the pause is lifted here and
|
|
216
|
-
* the update says it stopped. Returns what it said, or null. */
|
|
217
206
|
export function releaseStalledDesktopUpdate(stateDir) {
|
|
218
207
|
let j;
|
|
219
208
|
try {
|
|
@@ -250,8 +239,6 @@ export function releaseStalledDesktopUpdate(stateDir) {
|
|
|
250
239
|
lock.close();
|
|
251
240
|
}
|
|
252
241
|
}
|
|
253
|
-
/** The desktop app's update, when it is waiting on work in `databaseFile`'s installation, or stopped on a run still in
|
|
254
|
-
* the way. An app updater that ended mid-drain is released first, as `toolroll update`'s is. */
|
|
255
242
|
export function desktopUpdateWaitingOf(databaseFile, inTheWay, stateDirs = [dirname(databaseFile), join(homedir(), "Library", "Application Support", "Standing Orders")]) {
|
|
256
243
|
for (const stateDir of new Set(stateDirs.map(dir => resolve(dir)))) {
|
|
257
244
|
let j;
|
|
@@ -263,13 +250,12 @@ export function desktopUpdateWaitingOf(databaseFile, inTheWay, stateDirs = [dirn
|
|
|
263
250
|
}
|
|
264
251
|
if (!j || resolve(j.databaseFile) !== resolve(databaseFile))
|
|
265
252
|
continue;
|
|
266
|
-
// A page visit only reads (docs/plans/get-side-effects.md): the console's background pass releases it.
|
|
267
253
|
if (!inReadOnlyRequest()) {
|
|
268
254
|
try {
|
|
269
255
|
if (releaseStalledDesktopUpdate(stateDir))
|
|
270
256
|
j = readUpdateJournal(stateDir);
|
|
271
257
|
}
|
|
272
|
-
catch {
|
|
258
|
+
catch { }
|
|
273
259
|
}
|
|
274
260
|
const version = j.next.version;
|
|
275
261
|
if (j.phase === "draining")
|
|
@@ -279,13 +265,9 @@ export function desktopUpdateWaitingOf(databaseFile, inTheWay, stateDirs = [dirn
|
|
|
279
265
|
}
|
|
280
266
|
return null;
|
|
281
267
|
}
|
|
282
|
-
/** The same settling reconcile the background worker runs: a finished run's leftover record of a process that never
|
|
283
|
-
* started settles once the run's process groups are proven gone. A record nothing can prove either way stays. */
|
|
284
268
|
export function settleLeftoverRecords(db, now) {
|
|
285
269
|
return new Store(db).settleUnspawnedWitnesses(now);
|
|
286
270
|
}
|
|
287
|
-
/** Store.stopQuiescenceProblem's reasons, said for a person: no internal terms. Nobody vouches that a run stopped:
|
|
288
|
-
* Toolroll proves it itself (stop-proof.ts), and `toolroll run settle` only has it look again now. */
|
|
289
271
|
export function plainLingering(fallbackRun, problem) {
|
|
290
272
|
const run = Number(/run #(\d+)/.exec(problem)?.[1] ?? fallbackRun);
|
|
291
273
|
const settle = `toolroll run settle ${run}`;
|
|
@@ -358,14 +340,11 @@ export async function prepareDesktopUpdate(stateDir, installed, candidate, label
|
|
|
358
340
|
mkdirSync(workDir, { recursive: true, mode: 0o700 });
|
|
359
341
|
chmodSync(dirname(workDir), 0o700);
|
|
360
342
|
chmodSync(workDir, 0o700);
|
|
361
|
-
// The staged updater stays put while Standby and the installation exchange.
|
|
362
343
|
cpSync(plan.next.path, join(workDir, "Updater.app"), { recursive: true, errorOnExist: true, force: false });
|
|
363
344
|
cpSync(plan.next.path, join(workDir, "Standby.app"), { recursive: true, errorOnExist: true, force: false });
|
|
364
345
|
if (bundleHash(join(workDir, "Updater.app")) !== plan.next.hash || bundleHash(join(workDir, "Standby.app")) !== plan.next.hash)
|
|
365
346
|
throw Error("The staged update changed during copying. The installed app is unchanged.");
|
|
366
347
|
const journal = { version: 1, id, workDir, ...plan, phase: "prepared", intended: "install", startedAt: new Date().toISOString(), updatedAt: new Date().toISOString(), detail: "Update prepared; waiting to pause new work." };
|
|
367
|
-
// Two starts may finish copying together. Reserve the installation's one
|
|
368
|
-
// active journal atomically; never replace another pending update.
|
|
369
348
|
const reservation = installationLock(journal);
|
|
370
349
|
if (!reservation)
|
|
371
350
|
throw Error("This app is already being updated. Open Update status in its controlling installation.");
|
|
@@ -403,8 +382,6 @@ export function sqliteLock(file, busyTimeoutMs = 0) {
|
|
|
403
382
|
throw error;
|
|
404
383
|
}
|
|
405
384
|
}
|
|
406
|
-
/** Whether another process holds the lock in `file`, without making the file or changing it: a status read (a page
|
|
407
|
-
* shows it, docs/plans/get-side-effects.md). A file that isn't there yet is held by nobody. */
|
|
408
385
|
export function lockHeld(file) {
|
|
409
386
|
let st;
|
|
410
387
|
try {
|
|
@@ -413,11 +390,9 @@ export function lockHeld(file) {
|
|
|
413
390
|
catch {
|
|
414
391
|
return false;
|
|
415
392
|
}
|
|
416
|
-
// Not a plain file of ours (a link, or one someone else made): treated as held, so nothing goes ahead on it.
|
|
417
393
|
if (!st.isFile() || (typeof process.getuid === "function" && st.uid !== process.getuid()))
|
|
418
394
|
return true;
|
|
419
395
|
let db;
|
|
420
|
-
// Read-only: it never makes the file. The holder's exclusive lock stops even a read.
|
|
421
396
|
try {
|
|
422
397
|
db = new (sqlite().DatabaseSync)(file, { readOnly: true });
|
|
423
398
|
}
|
|
@@ -448,7 +423,7 @@ export function desktopUpdateStatus(stateDir) {
|
|
|
448
423
|
privateFile(join(j.workDir, "recovery.json"));
|
|
449
424
|
recovery = readDesktopRecoveryView(JSON.parse(readFileSync(join(j.workDir, "recovery.json"), "utf8")));
|
|
450
425
|
}
|
|
451
|
-
catch {
|
|
426
|
+
catch { }
|
|
452
427
|
const wantsAutomatic = recovery?.id === j.id && ["armed", "running", "backoff"].includes(recovery.state ?? "") && !terminal(j.phase);
|
|
453
428
|
const automatic = wantsAutomatic && (lockHeld(join(j.workDir, "guardian.sqlite")) || Date.now() - Date.parse(recovery?.updatedAt ?? "") < 45_000);
|
|
454
429
|
const detail = wantsAutomatic && !automatic ? "Automatic recovery has not restarted. Work remains paused; use Retry safely in Update status." : recovery?.state === "attention" || (automatic && (!running || j.phase === "needs-attention")) ? recovery?.detail ?? j.detail : j.detail;
|
|
@@ -517,7 +492,6 @@ function assertConfig(j) {
|
|
|
517
492
|
}
|
|
518
493
|
function snapshot(db) {
|
|
519
494
|
const result = {};
|
|
520
|
-
// The lead's messages were mate_message before v117 (D5); a desktop update never migrates, so read whichever is here.
|
|
521
495
|
const messages = db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'lead_message'").get() === undefined ? "mate_message" : "lead_message";
|
|
522
496
|
for (const table of ["task", "task_scope", "approver", "run", "artifact", messages, "project"]) {
|
|
523
497
|
const rows = db.prepare(`SELECT * FROM "${table}" ORDER BY rowid`).all();
|
|
@@ -535,7 +509,6 @@ async function verifiedBackup(j) {
|
|
|
535
509
|
save(j, "backing-up", "Private database backups verified; saved tasks and coding sessions are retained.");
|
|
536
510
|
return;
|
|
537
511
|
}
|
|
538
|
-
// A crashed partial attempt gets a fresh filename; no backup is overwritten.
|
|
539
512
|
const backupPath = existsSync(file) ? join(j.workDir, `orders.backup.${randomUUID()}.db`) : file;
|
|
540
513
|
const backupHash = await verifiedDatabaseBackup(j.databaseFile, backupPath, j.id, async () => {
|
|
541
514
|
await verifiedCodingBackup(j);
|
|
@@ -555,16 +528,10 @@ async function verifiedBackup(j) {
|
|
|
555
528
|
j.backupHash = backupHash;
|
|
556
529
|
save(j, "backing-up", "Private database backups verified; saved tasks, evidence and coding sessions match.");
|
|
557
530
|
}
|
|
558
|
-
/** A private, verified copy of the task database, made under a write
|
|
559
|
-
* reservation so no writer slips in between the snapshot and the copy. The
|
|
560
|
-
* copy drops the update's own admission pause. `inside` runs before the
|
|
561
|
-
* reservation is released, `after` once it is; returns the copy's hash. */
|
|
562
531
|
export async function verifiedDatabaseBackup(databaseFile, backupPath, gateId, inside = async () => { }, after = () => { }, accepts = currentSchemaOnly) {
|
|
563
532
|
const db = connect(databaseFile, false, accepts);
|
|
564
533
|
try {
|
|
565
534
|
db.exec("BEGIN IMMEDIATE");
|
|
566
|
-
// The write reservation prevents a concurrent writer; a separate read
|
|
567
|
-
// connection is required because SQLite cannot back up a write transaction.
|
|
568
535
|
const source = connect(databaseFile, true, accepts);
|
|
569
536
|
let before;
|
|
570
537
|
try {
|
|
@@ -613,7 +580,6 @@ function assertDesktopCodingStopped(j, db) {
|
|
|
613
580
|
assertCodingCatalogPresent(j);
|
|
614
581
|
assertCodingUpdateStopped(db);
|
|
615
582
|
}
|
|
616
|
-
/** The service's own processes, from its supervisor's status file: read before the stop, never after. */
|
|
617
583
|
function servicePids(stateDir) {
|
|
618
584
|
try {
|
|
619
585
|
return supervisorPidsOf(JSON.parse(readFileSync(join(stateDir, "controller-supervisor.json"), "utf8")));
|
|
@@ -622,8 +588,6 @@ function servicePids(stateDir) {
|
|
|
622
588
|
return [];
|
|
623
589
|
}
|
|
624
590
|
}
|
|
625
|
-
/** An older app killed before its close leaves the coding owner record behind. Once the stopped service's processes
|
|
626
|
-
* are proved gone, it is released here (and recorded in the ledger); anything unproven keeps the ordinary refusal. */
|
|
627
591
|
function releaseDesktopCodingOwner(j, db, alive) {
|
|
628
592
|
assertCodingCatalogPresent(j);
|
|
629
593
|
const released = releaseStaleCodingOwner(db, j.stoppedPids ?? [], (pid, group) => alive(pid) || processMayBeAlive(pid, group));
|
|
@@ -668,14 +632,10 @@ async function verifiedCodingBackup(j) {
|
|
|
668
632
|
assertCodingBackup(j);
|
|
669
633
|
save(j, j.phase, j.detail);
|
|
670
634
|
}
|
|
671
|
-
/** A SQLite OS lock releases on updater death. Each irreversible step has a
|
|
672
|
-
* preceding durable intent; recovery determines the actual side by hashes. */
|
|
673
635
|
export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
674
636
|
let j = readUpdateJournal(stateDir);
|
|
675
637
|
if (!j || terminal(j.phase))
|
|
676
638
|
return;
|
|
677
|
-
// A status probe briefly tries this same lock. Give it time to finish;
|
|
678
|
-
// treating its millisecond lock as a live updater stranded resume/start.
|
|
679
639
|
const lock = workerLock(j, 1000);
|
|
680
640
|
if (!lock)
|
|
681
641
|
return;
|
|
@@ -826,8 +786,6 @@ export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
|
826
786
|
await release("restored", "Previous app restored. Your current tasks and evidence were preserved." + (j.error ? ` Update stopped because: ${j.error}` : ""));
|
|
827
787
|
};
|
|
828
788
|
const cancel = async () => {
|
|
829
|
-
// A resumed operation may already have swapped or stopped the service,
|
|
830
|
-
// even though its new drain pass is now showing "draining".
|
|
831
789
|
if (bundleHash(j.old.path) === j.old.hash && !j.serviceInterrupted)
|
|
832
790
|
await release("cancelled", "Update cancelled. The installed app and current work are unchanged; any verified backup was kept.");
|
|
833
791
|
else
|
|
@@ -871,7 +829,6 @@ export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
|
871
829
|
try {
|
|
872
830
|
const active = activeUpdateWork(checking);
|
|
873
831
|
const idle = Object.values(active).every(n => n === 0);
|
|
874
|
-
// A finished run's leftover record settles here first, as the background worker would settle it.
|
|
875
832
|
if (idle)
|
|
876
833
|
settleLeftoverRecords(checking, now());
|
|
877
834
|
const lingering = idle ? lingeringRun(checking) : null;
|
|
@@ -879,7 +836,6 @@ export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
|
879
836
|
delete j.waiting;
|
|
880
837
|
break;
|
|
881
838
|
}
|
|
882
|
-
// Saved, so a resumed updater keeps counting from when it began, and status can say what it waits on.
|
|
883
839
|
if (!lingering)
|
|
884
840
|
delete j.waiting;
|
|
885
841
|
else if (j.waiting?.run !== lingering.run || j.waiting.on !== lingering.on)
|
|
@@ -892,7 +848,6 @@ export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
|
892
848
|
finally {
|
|
893
849
|
checking.close();
|
|
894
850
|
}
|
|
895
|
-
// Waiting longer proves nothing more: new work resumes, and the one thing in the way is named.
|
|
896
851
|
if (stuck) {
|
|
897
852
|
await release("cancelled", stoppedWaitingWords(stuck));
|
|
898
853
|
return;
|
|
@@ -918,7 +873,6 @@ export async function runDesktopUpdate(stateDir, hooks = {}) {
|
|
|
918
873
|
throw Error("The installed app changed after preview. Nothing was replaced.");
|
|
919
874
|
const current = actual === j.old.hash ? j.old : atInstalled(j.next, j);
|
|
920
875
|
j.serviceInterrupted = true;
|
|
921
|
-
// Recorded once, before the first stop: a resumed update keeps the processes it first saw.
|
|
922
876
|
if (j.stoppedPids === undefined)
|
|
923
877
|
j.stoppedPids = servicePids(j.stateDir);
|
|
924
878
|
checkpoint("stopping", "Current work is finished. Stopping the background service for the update.");
|
package/dist/digest-times.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** The evening digest choices Settings offers: off, or an evening hour โ plus a time set from the command line,
|
|
2
|
-
* kept as chosen. Shared by the console page and its no-script fallback. */
|
|
3
1
|
export function digestTimes(current) {
|
|
4
2
|
const hours = ["17:00", "18:00", "19:00", "20:00", "21:00", "22:00"];
|
|
5
3
|
const times = current === null || hours.includes(current) ? hours : [...hours, current].sort();
|
package/dist/disclosure.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/** One disclosure glyph everywhere: the chevron. It points right while a fold is shut and turns down when it opens,
|
|
2
|
-
* on the server pages, the enhanced folds (workspace-motion.ts) and the React views (lucide's ChevronRight). Every
|
|
3
|
-
* other marker (the native triangle, โธ/โพ, +/โ, โ and the old arrows) is turned off here, last, so no page can bring
|
|
4
|
-
* a second glyph back. A summary that carries its own icon keeps it. Drawn with two borders: the page's content
|
|
5
|
-
* policy allows no image, not even a data: one. */
|
|
6
1
|
export const DISCLOSURE_CSS = `details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}` +
|
|
7
2
|
`details>summary::after{content:none!important}` +
|
|
8
3
|
`details>summary:not(:has(>svg))::before{content:""!important;display:inline-block;flex:none;box-sizing:border-box;width:7px!important;height:7px!important;` +
|
package/dist/discord-api.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Discord REST requests and private installation credentials. */
|
|
2
1
|
import { chmodSync, readFileSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
3
2
|
import { join } from "node:path";
|
|
4
3
|
import { randomBytes } from "node:crypto";
|
|
@@ -8,17 +7,12 @@ export { object };
|
|
|
8
7
|
export const discordId = (v) => typeof v === "string" && /^[1-9][0-9]{16,19}$/.test(v);
|
|
9
8
|
export class DiscordError extends ChatDeliveryError {
|
|
10
9
|
}
|
|
11
|
-
/** Discord's 403: the bot may not do this here (for a file, no Attach Files permission). */
|
|
12
10
|
export const DISCORD_REFUSED = "Discord refused access. Check the app and direct-message permissions.";
|
|
13
|
-
/** Discord's 404: the message (or the conversation) is gone. */
|
|
14
11
|
export const DISCORD_GONE = "The Discord message or conversation is unavailable. Open the saved chat.";
|
|
15
12
|
export function discordApi(token, fetcher = fetch) {
|
|
16
13
|
return async (method, path, body, file) => {
|
|
17
|
-
// Only relative API routes; never send the bot credential to supplied URLs. Beyond messages: typing, and the bot's
|
|
18
|
-
// own ๐ on a message (put on, taken off).
|
|
19
14
|
if (!/^\/(?:users\/@me|users\/[0-9]+|oauth2\/applications\/@me|channels\/[0-9]+(?:\/typing|\/messages\/[0-9]+\/reactions\/%F0%9F%91%80\/@me|\/messages(?:\/[0-9]+)?(?:\?limit=100)?)?|interactions\/[0-9]+\/[A-Za-z0-9._-]+\/callback)$/.test(path))
|
|
20
15
|
throw new DiscordError("Invalid Discord request");
|
|
21
|
-
// DELETE takes off the bot's own ๐ and nothing else (never a message).
|
|
22
16
|
if (method === "DELETE" && !/^\/channels\/[0-9]+\/messages\/[0-9]+\/reactions\/%F0%9F%91%80\/@me$/.test(path))
|
|
23
17
|
throw new DiscordError("Invalid Discord request");
|
|
24
18
|
let response;
|
package/dist/discord-chat.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Discord messages and buttons transport the shared assistant's saved actions. */
|
|
2
1
|
import { chatQuestionButtons } from "./subagent-question.js";
|
|
3
2
|
import { chatAskButtons } from "./chat-ask.js";
|
|
4
3
|
import { discordCardEmbed } from "./card-render.js";
|
|
@@ -25,8 +24,6 @@ export const discordDelivery = (options) => {
|
|
|
25
24
|
state,
|
|
26
25
|
label: "Discord",
|
|
27
26
|
member: (member, channel) => discordMember(options.api, member, channel),
|
|
28
|
-
// "typingโฆ" while the lead works (the ๐ goes at arrival: discordAckHooks), under the shared cooldown; a missing
|
|
29
|
-
// permission is skipped silently.
|
|
30
27
|
warm: (event) => ({
|
|
31
28
|
typing: underCooldown(state, options.identity.installation, error => error instanceof DiscordError && error.code === "ratelimited" ? error.retryMs : null, () => options.clock?.() ?? new Date(), () => options.api("POST", `/channels/${event.channel}/typing`)),
|
|
32
29
|
}),
|
|
@@ -38,13 +35,10 @@ export const discordDelivery = (options) => {
|
|
|
38
35
|
export const processDiscordEvent = (options) => processChatEvent(discordDelivery(options));
|
|
39
36
|
export const planDiscordRooms = (options) => planRoomMessages(discordDelivery(options));
|
|
40
37
|
export const planDiscordNotifications = (options) => planChatNotifications(discordDelivery(options));
|
|
41
|
-
/** Save only normalized input. Interaction credentials and pairing codes never enter SQLite. */
|
|
42
38
|
export function receiveDiscord(state, identity, type, raw, now) {
|
|
43
39
|
const body = object(raw);
|
|
44
40
|
if (body.webhook_id !== undefined)
|
|
45
41
|
return false;
|
|
46
|
-
// A guild channel is a room: accepted only while it follows a conversation,
|
|
47
|
-
// or for the `/team` words that make it follow one.
|
|
48
42
|
const isRoom = body.guild_id !== undefined;
|
|
49
43
|
let member, channel, id, ts, thread, kind, payload;
|
|
50
44
|
if (type === "MESSAGE_CREATE") {
|
|
@@ -77,7 +71,6 @@ export function receiveDiscord(state, identity, type, raw, now) {
|
|
|
77
71
|
};
|
|
78
72
|
}
|
|
79
73
|
else if (type === "INTERACTION_CREATE") {
|
|
80
|
-
// Only a tap on one of this bot's own messages, in a DM (or a followed guild text channel), from this app.
|
|
81
74
|
const interaction = readDiscordComponentInteraction(body);
|
|
82
75
|
if (!interaction.ok)
|
|
83
76
|
return false;
|
|
@@ -93,7 +86,6 @@ export function receiveDiscord(state, identity, type, raw, now) {
|
|
|
93
86
|
ts = tap.message.id;
|
|
94
87
|
thread = tap.message.id;
|
|
95
88
|
kind = "action";
|
|
96
|
-
// A button that isn't one Toolroll made is answered with why, once the tap is proved to be the paired person's below.
|
|
97
89
|
const button = readDiscordButtonToken(tap);
|
|
98
90
|
payload = button.ok ? { token: button.value } : { problem: button.issues.map(issue => issue.line).join("; ") };
|
|
99
91
|
}
|
|
@@ -150,10 +142,8 @@ function link(origin, target) {
|
|
|
150
142
|
return [];
|
|
151
143
|
}
|
|
152
144
|
}
|
|
153
|
-
/** Escape Discord's presentation syntax; allowed_mentions also prevents actual pings. */
|
|
154
145
|
export { discordPlain };
|
|
155
146
|
export function discordCard(text, buttons = [], voice = false) {
|
|
156
|
-
// The lead's own reply: one description in Discord's Markdown (bold anchors, labelled links), no title line promoted to a header.
|
|
157
147
|
if (voice)
|
|
158
148
|
return discordVoicePayload(renderReply(text, "discord"), buttons);
|
|
159
149
|
const lines = text.split("\n"), first = lines[0] ?? "Toolroll", title = discordPlain(first).length <= 256 &&
|
|
@@ -161,7 +151,6 @@ export function discordCard(text, buttons = [], voice = false) {
|
|
|
161
151
|
lines.length > 1
|
|
162
152
|
? first
|
|
163
153
|
: "Toolroll", detail = title === first ? lines.slice(1).join("\n").trim() : text;
|
|
164
|
-
// Long answers were split before this point; approval controls only appear when full terms fit.
|
|
165
154
|
return {
|
|
166
155
|
content: "",
|
|
167
156
|
embeds: [
|
|
@@ -171,7 +160,6 @@ export function discordCard(text, buttons = [], voice = false) {
|
|
|
171
160
|
color: 0x297b70,
|
|
172
161
|
},
|
|
173
162
|
],
|
|
174
|
-
// A row holds at most 5 buttons (a question's 4 options and "Answer in words", then the link, need two).
|
|
175
163
|
components: Array.from({ length: Math.min(5, Math.ceil(buttons.length / 5)) }, (_, row) => ({ type: 1, components: buttons.slice(row * 5, row * 5 + 5) })),
|
|
176
164
|
allowed_mentions: { parse: [], replied_user: false },
|
|
177
165
|
};
|
|
@@ -208,7 +196,6 @@ export async function deliverDiscordPart(options) {
|
|
|
208
196
|
state.dropPart(row.id, "Removed by retention");
|
|
209
197
|
return true;
|
|
210
198
|
}
|
|
211
|
-
// A screenshot sent with a result replies to that result's message once it is placed, and waits until then.
|
|
212
199
|
const result = content.shot?.follows == null ? null : state.part(content.shot.follows);
|
|
213
200
|
if (result !== null && !discordId(result.message) && result.state === "pending") {
|
|
214
201
|
state.holdPart(row.id, shotWaitsUntil(result.next_at, now));
|
|
@@ -280,7 +267,6 @@ export async function deliverDiscordPart(options) {
|
|
|
280
267
|
}
|
|
281
268
|
else if (!content.image)
|
|
282
269
|
buttons = [
|
|
283
|
-
// A flow decision (v88): Approve / Edit / Send back, then the link.
|
|
284
270
|
...(content.flow || content.choose || content.note
|
|
285
271
|
? chatFlowButtons(state, row.id, now).map((one) => ({
|
|
286
272
|
type: 2,
|
|
@@ -289,7 +275,6 @@ export async function deliverDiscordPart(options) {
|
|
|
289
275
|
custom_id: `so_${one.token}`,
|
|
290
276
|
}))
|
|
291
277
|
: []),
|
|
292
|
-
// A subagent's question (v93): its options, then "Answer in words".
|
|
293
278
|
...(content.question
|
|
294
279
|
? chatQuestionButtons(state, row.id, now).map((one) => ({
|
|
295
280
|
type: 2,
|
|
@@ -298,7 +283,6 @@ export async function deliverDiscordPart(options) {
|
|
|
298
283
|
custom_id: `so_${one.token}`,
|
|
299
284
|
}))
|
|
300
285
|
: []),
|
|
301
|
-
// The lead's question to its owner: its options, then "Something else".
|
|
302
286
|
...(content.ask
|
|
303
287
|
? chatAskButtons(state, row.id, now).map((one) => ({
|
|
304
288
|
type: 2,
|
|
@@ -307,7 +291,6 @@ export async function deliverDiscordPart(options) {
|
|
|
307
291
|
custom_id: `so_${one.token}`,
|
|
308
292
|
}))
|
|
309
293
|
: []),
|
|
310
|
-
// A result's, plan's, failure's or pull request's own buttons (chat-decide.ts): its acts, then its links.
|
|
311
294
|
...(content.decide?.rows.flat() ?? []).flatMap((one, index) => "token" in one
|
|
312
295
|
? [{ type: 2, style: index === 0 ? 1 : 2, label: one.label.slice(0, 80), custom_id: `so_${one.token}` }]
|
|
313
296
|
: link(options.origin(), one.link)),
|
|
@@ -322,7 +305,6 @@ export async function deliverDiscordPart(options) {
|
|
|
322
305
|
file = undefined;
|
|
323
306
|
}
|
|
324
307
|
const nonce = chatHash(`discord:part:${row.id}:${event.id}`).slice(0, 24);
|
|
325
|
-
// Recent Discord nonce receipts reconcile uncertain sends, including attachments.
|
|
326
308
|
if (row.uncertain && !target) {
|
|
327
309
|
const recent = await options.api("GET", `/channels/${destination}/messages?limit=100`);
|
|
328
310
|
const found = (Array.isArray(recent.items) ? recent.items : [])
|
|
@@ -332,8 +314,6 @@ export async function deliverDiscordPart(options) {
|
|
|
332
314
|
m.channel_id === destination &&
|
|
333
315
|
discordId(m.id));
|
|
334
316
|
if (found) {
|
|
335
|
-
// Record the recovered placement, then repaint current terms/progress.
|
|
336
|
-
// A notification or proposal may have changed while delivery was uncertain.
|
|
337
317
|
target = String(found.id);
|
|
338
318
|
if (content.image) {
|
|
339
319
|
const attachments = Array.isArray(found.attachments)
|
|
@@ -346,7 +326,6 @@ export async function deliverDiscordPart(options) {
|
|
|
346
326
|
if (!file && attachments.length)
|
|
347
327
|
text =
|
|
348
328
|
"Screenshot delivered earlier. The saved evidence has since changed; open the result to review its current state.";
|
|
349
|
-
// Preserve the original remote attachment; never upload it again on an edit.
|
|
350
329
|
file = undefined;
|
|
351
330
|
}
|
|
352
331
|
state.setPartFile(row.id, null, Boolean(content.image && Array.isArray(found.attachments) && found.attachments.length), target);
|
|
@@ -376,7 +355,6 @@ export async function deliverDiscordPart(options) {
|
|
|
376
355
|
fail_if_not_exists: false,
|
|
377
356
|
};
|
|
378
357
|
}
|
|
379
|
-
// The watch, at the last moment before the network (cockpit ยง3).
|
|
380
358
|
if (heldForWatch(state, store, row.id, event, binding.approver, content, now))
|
|
381
359
|
return true;
|
|
382
360
|
const answer = await options.api(target ? "PATCH" : "POST", `/channels/${destination}/messages${target ? `/${target}` : ""}`, args, file);
|
|
@@ -398,15 +376,12 @@ export async function deliverDiscordPart(options) {
|
|
|
398
376
|
state.dropPart(row.id, error.message);
|
|
399
377
|
return true;
|
|
400
378
|
}
|
|
401
|
-
// No permission to attach files here: one plain line instead of the result's screenshots.
|
|
402
379
|
const saved = readChatPart(row.payload), content = saved.ok ? saved.value : null;
|
|
403
|
-
// The live message the reply was to replace is gone: the reply goes out as a new message.
|
|
404
380
|
if (content?.edit !== undefined && error instanceof DiscordError && error.code === DISCORD_GONE && isLiveMessage(state, row.event, content.edit)) {
|
|
405
381
|
const { edit: _edit, ...asNew } = content;
|
|
406
382
|
state.repaint(row.id, asNew);
|
|
407
383
|
return true;
|
|
408
384
|
}
|
|
409
|
-
// Discord refused the card's embed: the part's own plain text goes instead, so the message is never lost.
|
|
410
385
|
if (content?.rich && error instanceof DiscordError && error.code === "Discord could not complete the request" && error.retryMs === 60_000) {
|
|
411
386
|
state.repaint(row.id, withoutCard(content));
|
|
412
387
|
return true;
|
|
@@ -426,9 +401,6 @@ export async function deliverDiscordPart(options) {
|
|
|
426
401
|
return true;
|
|
427
402
|
}
|
|
428
403
|
}
|
|
429
|
-
/** The lead's words as Discord carries them, already rendered: one embed description (cut to its 4 096), empty
|
|
430
|
-
* content, its buttons (none on a live message) and never a ping. Every field is sent on every edit: Discord keeps
|
|
431
|
-
* what an edit leaves out, and inherits no allowed_mentions. */
|
|
432
404
|
export function discordVoicePayload(rendered, buttons = []) {
|
|
433
405
|
return {
|
|
434
406
|
content: "",
|
|
@@ -437,7 +409,6 @@ export function discordVoicePayload(rendered, buttons = []) {
|
|
|
437
409
|
allowed_mentions: { parse: [], replied_user: false },
|
|
438
410
|
};
|
|
439
411
|
}
|
|
440
|
-
/** The live message for one owner message: a reply to it, created under a nonce so a repeat returns the same one. */
|
|
441
412
|
export function discordLive(options, event, spacingMs) {
|
|
442
413
|
const nonce = chatHash(`discord:live:${event.id}`).slice(0, 24);
|
|
443
414
|
const confirmed = (answer, id) => {
|
|
@@ -453,7 +424,6 @@ export function discordLive(options, event, spacingMs) {
|
|
|
453
424
|
...discordVoicePayload(text), nonce, enforce_nonce: true,
|
|
454
425
|
...(discordId(event.thread) ? { message_reference: { message_id: event.thread, channel_id: event.channel, fail_if_not_exists: false } } : {}),
|
|
455
426
|
})),
|
|
456
|
-
// Discord checks an enforced nonce against "the past few minutes": a repeat within one minute is the same message.
|
|
457
427
|
nonceMs: 60_000,
|
|
458
428
|
recover: async () => {
|
|
459
429
|
const recent = await options.api("GET", `/channels/${event.channel}/messages?limit=100`);
|
|
@@ -466,7 +436,6 @@ export function discordLive(options, event, spacingMs) {
|
|
|
466
436
|
uncertain: error => !(error instanceof ChatDeliveryError) || error.uncertain,
|
|
467
437
|
};
|
|
468
438
|
}
|
|
469
|
-
/** The ๐ on the owner's message, and taking it off. A missing permission is asked about at most once a minute, quietly. */
|
|
470
439
|
export function discordAckHooks(options) {
|
|
471
440
|
const path = (event) => `/channels/${event.channel}/messages/${event.ts}/reactions/${encodeURIComponent("๐")}/@me`;
|
|
472
441
|
return {
|
package/dist/discord.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** A single leased Discord Gateway connection, hosted by the ordinary worker. */
|
|
2
1
|
import { randomBytes } from "node:crypto";
|
|
3
2
|
import { abortablePause, workChatQueue } from "./chat-follow.js";
|
|
4
3
|
import { loadDiscordCredentials, discordApi, object, discordId, } from "./discord-api.js";
|
|
@@ -32,11 +31,8 @@ export async function followDiscord(options) {
|
|
|
32
31
|
};
|
|
33
32
|
const problem = (message) => state.setProblem(credentials.installation, owner, message);
|
|
34
33
|
const api = discordApi(credentials.botToken);
|
|
35
|
-
// The SDK loads once Discord is set up, not with every command that could host the follower.
|
|
36
34
|
const { Client, GatewayIntentBits, Partials } = await import("discord.js");
|
|
37
35
|
const client = new Client({
|
|
38
|
-
// Guild messages and their content are needed for rooms; the Message
|
|
39
|
-
// Content intent must be enabled for the app in Discord's developer portal.
|
|
40
36
|
intents: [GatewayIntentBits.DirectMessages, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent],
|
|
41
37
|
partials: [Partials.Channel],
|
|
42
38
|
allowedMentions: { parse: [], repliedUser: false },
|
|
@@ -70,10 +66,8 @@ export async function followDiscord(options) {
|
|
|
70
66
|
});
|
|
71
67
|
client.on("error", () => problem("Discord connection failed. Check the bot token and reconnect."));
|
|
72
68
|
client.on("shardError", () => problem("Discord connection failed. Saved replies will retry."));
|
|
73
|
-
// The ๐ on each owner message as it arrives, beside the queue (a turn there can take a minute).
|
|
74
69
|
const acks = runChatAcks({ state, installation: credentials.installation, owner, current: () => same() && connected,
|
|
75
70
|
hooks: discordAckHooks({ api }), same, signal: options.signal });
|
|
76
|
-
// Never subscribe a logger to raw payloads, SDK debug output or interaction tokens.
|
|
77
71
|
client.on("raw", (packet) => {
|
|
78
72
|
if (!same())
|
|
79
73
|
return;
|
|
@@ -101,7 +95,6 @@ export async function followDiscord(options) {
|
|
|
101
95
|
typeof body.token === "string" &&
|
|
102
96
|
/^[A-Za-z0-9._-]{1,300}$/.test(body.token)) {
|
|
103
97
|
const repeated = state.event(chatHash(`${credentials.installation}:interaction:${body.id}`)) !== null;
|
|
104
|
-
// Immediate acknowledgement; model work and approvals are handled from the durable queue.
|
|
105
98
|
void api("POST", `/interactions/${body.id}/${body.token}/callback`, saved || repeated
|
|
106
99
|
? { type: 6 }
|
|
107
100
|
: {
|