toolroll 0.9.103 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/README.md +27 -27
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +117 -103
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +3 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +2 -16
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +168 -0
- package/dist/local-owner.js +15 -80
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +2 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +280 -2304
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +3 -18
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +11 -30
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +6 -74
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +26 -103
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +9 -28
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +88 -566
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +29 -564
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +9 -86
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +17 -497
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +8 -133
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +12 -227
- package/dist/server/tasks.js +37 -531
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +8 -73
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +66 -19
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +91 -40
- package/dist/tui.js +54 -54
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +5 -4
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -318
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1972
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -539
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -41
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner.d.ts +0 -124
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -52
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -156
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -35
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1067
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -80
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -59
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -754
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -774
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -342
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -83
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -30
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -144
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
|
@@ -1,24 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Keeping Toolroll running in the background on a laptop (easy-start plan D): `toolroll background on|off|show`,
|
|
3
|
-
* `toolroll stop`, and the `laptop` part of `toolroll status`.
|
|
4
|
-
*
|
|
5
|
-
* The login item itself is laptop-service.ts's definition (com.toolroll.up / toolroll-up.service). This module is
|
|
6
|
-
* the handoff around it:
|
|
7
|
-
*
|
|
8
|
-
* - **on** writes and validates the unit without loading it, stops the foreground `up` this invoker owns (if one runs
|
|
9
|
-
* for this database) by SIGTERM to its controller and waits until that controller's whole process record is proved
|
|
10
|
-
* gone by start identity and the port is free, then loads the unit and proves the console live within 30 s. Any
|
|
11
|
-
* failure boots the unit out, removes it (or puts back the one that was there), starts the foreground `up` again if
|
|
12
|
-
* it was stopped, and says what failed. An identical unit already loaded is left alone.
|
|
13
|
-
* - **off** stops and removes only our own label.
|
|
14
|
-
* - **stop**: with the service loaded, the supervisor stops it (it comes back at login); otherwise the controller of
|
|
15
|
-
* the proven console, found through its signed process record, gets SIGTERM — never the console child, which the
|
|
16
|
-
* controller would only start again.
|
|
17
|
-
*
|
|
18
|
-
* Every outside effect goes through LaptopSeams: tests give a temporary HOME, a scripted launchctl/systemctl, and their
|
|
19
|
-
* own child processes. Without a supervisor seam, a test run (VITEST) refuses to reach the real launchctl or systemctl.
|
|
20
|
-
* Other services (the desktop app's com.toolroll.browser, a watch on this database) are reported, never touched.
|
|
21
|
-
*/
|
|
22
1
|
import { execFileSync } from "node:child_process";
|
|
23
2
|
import { existsSync, mkdirSync, readFileSync, rmSync } from "node:fs";
|
|
24
3
|
import { createServer } from "node:net";
|
|
@@ -54,18 +33,15 @@ function resolveSeams(seams) {
|
|
|
54
33
|
host: seams.host ?? hostname(),
|
|
55
34
|
buildAt: seams.buildAt ?? installedBuild,
|
|
56
35
|
healthTimeoutMs: seams.healthTimeoutMs ?? 30_000,
|
|
57
|
-
// A drain is bounded by `up`'s own forced stop (stop-grace 30 s + 20 s); a margin past it.
|
|
58
36
|
exitTimeoutMs: seams.exitTimeoutMs ?? 75_000,
|
|
59
37
|
...(seams.foreground === undefined ? {} : { foreground: seams.foreground }),
|
|
60
38
|
};
|
|
61
39
|
}
|
|
62
40
|
const realSupervisor = async (file, args, options) => {
|
|
63
|
-
// Tests never reach this machine's real launchd or systemd: they pass their own supervisor.
|
|
64
41
|
if (process.env["VITEST"] !== undefined)
|
|
65
42
|
throw Error(`a test reached the real ${file}: pass LaptopSeams.supervisor`);
|
|
66
43
|
return (await import("./exec.js")).run(file, args, options);
|
|
67
44
|
};
|
|
68
|
-
/** The package version beside an installed unit's `dist/bin.js`. Null when it can't be read. */
|
|
69
45
|
function installedBuild(entry) {
|
|
70
46
|
try {
|
|
71
47
|
const version = JSON.parse(readFileSync(join(dirname(dirname(entry)), "package.json"), "utf8")).version;
|
|
@@ -94,7 +70,6 @@ function portIsFree(port) {
|
|
|
94
70
|
probe.listen(port, "127.0.0.1", () => probe.close(() => resolve(true)));
|
|
95
71
|
});
|
|
96
72
|
}
|
|
97
|
-
/** `toolroll up`'s port when none is named. */
|
|
98
73
|
const DEFAULT_PORT = 4180;
|
|
99
74
|
const uid = () => (typeof process.getuid === "function" ? process.getuid() : 501);
|
|
100
75
|
function labelOf(platform) {
|
|
@@ -114,31 +89,25 @@ function readUnit(path) {
|
|
|
114
89
|
function firstLine(text) {
|
|
115
90
|
return text.trim().split("\n")[0] ?? "";
|
|
116
91
|
}
|
|
117
|
-
// ---- the supervisor, for our own label only ------------------------------------------------------------------------
|
|
118
|
-
/** Whether our label is loaded (launchd) or active (systemd) now. */
|
|
119
92
|
async function serviceLoaded(s, platform) {
|
|
120
93
|
if (platform === "darwin")
|
|
121
94
|
return (await s.supervisor("launchctl", ["print", `gui/${uid()}/${LAPTOP_LABEL_DARWIN}`])).code === 0;
|
|
122
95
|
const answer = await s.supervisor("systemctl", ["--user", "is-active", `${LAPTOP_LABEL_LINUX}.service`]);
|
|
123
96
|
return ["active", "activating", "reloading", "deactivating"].includes(answer.stdout.trim());
|
|
124
97
|
}
|
|
125
|
-
/** The written unit, checked by the platform's own validator, never loaded. Null when it passes. */
|
|
126
98
|
async function validateUnit(s, platform, path) {
|
|
127
99
|
if (platform === "darwin") {
|
|
128
100
|
const checked = await s.supervisor("plutil", ["-lint", path]);
|
|
129
101
|
return checked.code === 0 ? null : `plutil refused the login item: ${firstLine(checked.stdout) || firstLine(checked.stderr) || `exit ${checked.code}`}`;
|
|
130
102
|
}
|
|
131
103
|
const checked = await s.supervisor("systemd-analyze", ["verify", "--user", path]);
|
|
132
|
-
// Not every Linux has systemd-analyze; systemctl itself still parses the unit when it loads it.
|
|
133
104
|
if (checked.notFound)
|
|
134
105
|
return null;
|
|
135
106
|
return checked.code === 0 ? null : `systemd-analyze refused the unit: ${firstLine(checked.stderr) || firstLine(checked.stdout) || `exit ${checked.code}`}`;
|
|
136
107
|
}
|
|
137
|
-
/** Load and start our unit. Null on success. */
|
|
138
108
|
async function startService(s, platform, path) {
|
|
139
109
|
if (platform === "darwin") {
|
|
140
110
|
const service = `gui/${uid()}/${LAPTOP_LABEL_DARWIN}`;
|
|
141
|
-
// `background off` disabled the label; loading it again is the person's explicit yes.
|
|
142
111
|
const enabled = await s.supervisor("launchctl", ["enable", service]);
|
|
143
112
|
if (enabled.code !== 0)
|
|
144
113
|
return `launchctl could not enable ${LAPTOP_LABEL_DARWIN}: ${firstLine(enabled.stderr) || `exit ${enabled.code}`}`;
|
|
@@ -151,10 +120,6 @@ async function startService(s, platform, path) {
|
|
|
151
120
|
const enabled = await s.supervisor("systemctl", ["--user", "enable", "--now", `${LAPTOP_LABEL_LINUX}.service`]);
|
|
152
121
|
return enabled.code === 0 ? null : `systemctl could not start ${LAPTOP_LABEL_LINUX}: ${firstLine(enabled.stderr) || `exit ${enabled.code}`}`;
|
|
153
122
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Stop our unit. `until: "login"` (toolroll stop) leaves it to start again at the next login; `"removed"` (off,
|
|
156
|
-
* rollback) also disables it. Resolves once the supervisor no longer has it running. Null on success.
|
|
157
|
-
*/
|
|
158
123
|
async function stopService(s, platform, path, until) {
|
|
159
124
|
if (platform === "darwin") {
|
|
160
125
|
const service = `gui/${uid()}/${LAPTOP_LABEL_DARWIN}`;
|
|
@@ -166,7 +131,6 @@ async function stopService(s, platform, path, until) {
|
|
|
166
131
|
const out = await s.supervisor("launchctl", ["bootout", service]);
|
|
167
132
|
if (out.code !== 0)
|
|
168
133
|
await s.supervisor("launchctl", ["unload", path]);
|
|
169
|
-
// launchctl can return before the label leaves the domain; wait for the observable boundary.
|
|
170
134
|
for (const deadline = Date.now() + s.exitTimeoutMs;;) {
|
|
171
135
|
if ((await s.supervisor("launchctl", ["print", service])).code !== 0)
|
|
172
136
|
return null;
|
|
@@ -181,12 +145,6 @@ async function stopService(s, platform, path, until) {
|
|
|
181
145
|
return `systemctl could not stop ${LAPTOP_LABEL_LINUX}: ${firstLine(stopped.stderr) || `exit ${stopped.code}`}`;
|
|
182
146
|
return null;
|
|
183
147
|
}
|
|
184
|
-
/**
|
|
185
|
-
* The controller of this database's live console, proved from the plane's own records: a live runner on this host
|
|
186
|
-
* whose signed process record names the proven console (pid and start time) and exactly one live `up` process, that
|
|
187
|
-
* `up` still the process the record names (same start time), and the console's parent that `up`. Anything else —
|
|
188
|
-
* no record, a reused pid, a console whose parent is someone else — proves nothing and is refused.
|
|
189
|
-
*/
|
|
190
148
|
export function findController(store, databaseFile, console_, s) {
|
|
191
149
|
let why = "no Toolroll process record names the running console";
|
|
192
150
|
for (const runner of store.listRunners()) {
|
|
@@ -224,10 +182,6 @@ export function findController(store, databaseFile, console_, s) {
|
|
|
224
182
|
}
|
|
225
183
|
return { why };
|
|
226
184
|
}
|
|
227
|
-
/**
|
|
228
|
-
* SIGTERM to the controller (its full drain), re-checking its start time at the moment of the signal, then wait until
|
|
229
|
-
* every process in its signed record is proved gone by start identity. Never signals the console child.
|
|
230
|
-
*/
|
|
231
185
|
async function drainController(databaseFile, controller, s) {
|
|
232
186
|
if (s.probe.start(controller.pid) !== controller.started)
|
|
233
187
|
return `process ${controller.pid} is no longer the \`up\` that was found; nothing was stopped`;
|
|
@@ -286,13 +240,11 @@ export async function backgroundShow(store, databaseFile, requestedPort, seams =
|
|
|
286
240
|
return { ok: false, reason: "unreadable", message: conflicts.error };
|
|
287
241
|
return { ok: true, show: { platform, label: definition.label, unit: definition.path, installed: compareInstalled(readUnit(definition.path), definition), loaded: await serviceLoaded(s, platform), running, conflicts, port } };
|
|
288
242
|
}
|
|
289
|
-
/** `requestedPort`: --port, else the running console's, else the port this laptop install saved, else `up`'s default. */
|
|
290
243
|
export async function backgroundOn(store, databaseFile, requestedPort, seams = {}) {
|
|
291
244
|
const s = resolveSeams(seams);
|
|
292
245
|
const platform = s.platform;
|
|
293
246
|
if (platform !== "darwin" && platform !== "linux")
|
|
294
247
|
return { ok: false, reason: "unsupported", message: `there is no background service for ${platform}; keep \`toolroll up\` running yourself` };
|
|
295
|
-
// A login item runs at every login: something a person sets up, never a coding agent on their behalf.
|
|
296
248
|
if (s.agent)
|
|
297
249
|
return { ok: false, reason: "agent", message: "a coding agent can't set Toolroll to start at login; run `toolroll background on` yourself at a terminal" };
|
|
298
250
|
const first = await s.proveConsole(databaseFile, store);
|
|
@@ -310,7 +262,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
310
262
|
if (live.ok)
|
|
311
263
|
return { ok: true, action: "unchanged", label: definition.label, unit: definition.path, url: live.url, pid: live.pid, stoppedForeground: false };
|
|
312
264
|
}
|
|
313
|
-
// 1. Other services on this database (or the desktop app's console) are a person's call, at a terminal.
|
|
314
265
|
const conflicts = detectOtherServices({ platform, home: s.home, db: databaseFile });
|
|
315
266
|
if (!Array.isArray(conflicts))
|
|
316
267
|
return { ok: false, reason: "unreadable", message: conflicts.error };
|
|
@@ -321,8 +272,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
321
272
|
if (!(await s.confirm(`${reasons}. Keep Toolroll running in the background anyway?`)))
|
|
322
273
|
return { ok: false, reason: "declined", message: "Nothing was changed." };
|
|
323
274
|
}
|
|
324
|
-
// 2. What runs now: our service under another definition (replaced), the foreground `up` this invoker owns, or
|
|
325
|
-
// nothing. A console that runs elsewhere is not ours to stop.
|
|
326
275
|
const live = await s.proveConsole(databaseFile, store);
|
|
327
276
|
if (!live.ok && live.state === "refused")
|
|
328
277
|
return { ok: false, reason: "console-unproven", message: live.message };
|
|
@@ -340,7 +289,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
340
289
|
foreground = found;
|
|
341
290
|
}
|
|
342
291
|
}
|
|
343
|
-
// 3. The unit, written and validated, not loaded.
|
|
344
292
|
const rollback = [];
|
|
345
293
|
const restoreUnit = () => {
|
|
346
294
|
try {
|
|
@@ -363,7 +311,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
363
311
|
restoreUnit();
|
|
364
312
|
return { ok: false, reason: "write", message: `could not write ${definition.path}: ${error.message}` };
|
|
365
313
|
}
|
|
366
|
-
/** 7. Undo everything this call did, in reverse, and say what failed. */
|
|
367
314
|
const fail = async (message, reason, loaded = false) => {
|
|
368
315
|
if (loaded || (await serviceLoaded(s, platform))) {
|
|
369
316
|
const out = await stopService(s, platform, definition.path, "removed");
|
|
@@ -389,8 +336,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
389
336
|
restoreUnit();
|
|
390
337
|
return { ok: false, reason: "invalid-unit", message: `${invalid}. Nothing was changed` };
|
|
391
338
|
}
|
|
392
|
-
// 4. Hand over: the old definition's service is stopped through the supervisor, the foreground `up` by SIGTERM to its
|
|
393
|
-
// controller; either way, every process its record names is proved gone and the port is free before anything loads.
|
|
394
339
|
if (wasLoaded) {
|
|
395
340
|
const stopped = await stopService(s, platform, definition.path, "login");
|
|
396
341
|
if (stopped !== null) {
|
|
@@ -411,7 +356,6 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
411
356
|
if (!(await waitPortFree(handoffPort, s)) || (handoffPort !== port && !(await waitPortFree(port, s)))) {
|
|
412
357
|
return fail(`port ${port} is still taken after Toolroll stopped`, "port-busy");
|
|
413
358
|
}
|
|
414
|
-
// 5. Load it, and 6. prove the console it starts.
|
|
415
359
|
const started = await startService(s, platform, definition.path);
|
|
416
360
|
if (started !== null)
|
|
417
361
|
return fail(started, "supervisor");
|
|
@@ -420,14 +364,12 @@ export async function backgroundOn(store, databaseFile, requestedPort, seams = {
|
|
|
420
364
|
return fail(`the background service did not answer within ${Math.round(s.healthTimeoutMs / 1000)} s (${healthy.message})`, "unhealthy", true);
|
|
421
365
|
return { ok: true, action: installed === "absent" ? "installed" : wasLoaded ? "replaced" : "installed", label: definition.label, unit: definition.path, url: healthy.url, pid: healthy.pid, stoppedForeground: foreground !== null };
|
|
422
366
|
}
|
|
423
|
-
/** The previous service, put back as it was: its unit is restored by the caller; this loads it again. */
|
|
424
367
|
async function restartPrevious(s, platform, path, before, rollback) {
|
|
425
368
|
if (before === null)
|
|
426
369
|
return;
|
|
427
370
|
const again = await startService(s, platform, path);
|
|
428
371
|
rollback.push(again === null ? "started the previous background service again" : `could not start the previous background service again: ${again}`);
|
|
429
372
|
}
|
|
430
|
-
/** The supervisor stopped it: wait for the record's proof, without signalling anything ourselves. */
|
|
431
373
|
async function waitControllerGone(databaseFile, controller, s) {
|
|
432
374
|
const file = runnerProcessFile(databaseFile, controller.runner);
|
|
433
375
|
for (const deadline = Date.now() + s.exitTimeoutMs;;) {
|
|
@@ -447,7 +389,6 @@ export async function backgroundOff(store, databaseFile, seams = {}) {
|
|
|
447
389
|
const label = labelOf(platform), path = unitPath(platform, s.home);
|
|
448
390
|
const present = existsSync(path);
|
|
449
391
|
const loaded = await serviceLoaded(s, platform);
|
|
450
|
-
// The wish goes first: a restart must never race a person turning this off.
|
|
451
392
|
recordBuilderWish(store, "stopped", "background off", packageVersion(), new Date());
|
|
452
393
|
if (!present && !loaded)
|
|
453
394
|
return { ok: true, action: "already-off", label, unit: path };
|
|
@@ -484,10 +425,8 @@ export async function laptopStop(store, databaseFile, seams = {}) {
|
|
|
484
425
|
const live = await s.proveConsole(databaseFile, store);
|
|
485
426
|
if (!live.ok && live.state === "refused")
|
|
486
427
|
return { ok: false, reason: "console-unproven", message: live.message };
|
|
487
|
-
// The wish goes first: a restart must never race a person stopping this.
|
|
488
428
|
recordBuilderWish(store, "stopped", "stop", packageVersion(), new Date());
|
|
489
429
|
const found = live.ok ? findController(store, databaseFile, live, s) : null;
|
|
490
|
-
// Our service, loaded: the supervisor stops it (SIGTERM reaches the controller, which drains). It starts at login.
|
|
491
430
|
if ((platform === "darwin" || platform === "linux") && existsSync(unitPath(platform, s.home)) && await serviceLoaded(s, platform)) {
|
|
492
431
|
const stopped = await stopService(s, platform, unitPath(platform, s.home), "login");
|
|
493
432
|
if (stopped !== null)
|
|
@@ -508,11 +447,6 @@ export async function laptopStop(store, databaseFile, seams = {}) {
|
|
|
508
447
|
return { ok: false, reason: "still-running", message: drained };
|
|
509
448
|
return { ok: true, action: "stopped", pid: found.pid, startsAtLogin: false };
|
|
510
449
|
}
|
|
511
|
-
/**
|
|
512
|
-
* The `laptop` key of `toolroll status`: whether this database's console is proven live (its address and the console
|
|
513
|
-
* process), and whether a background service runs it — ours ("on"), another service on this database or the desktop
|
|
514
|
-
* app's ("other-service"), or none ("off"). Reads files only; never asks the supervisor.
|
|
515
|
-
*/
|
|
516
450
|
export async function laptopStatus(store, databaseFile, seams = {}) {
|
|
517
451
|
const s = resolveSeams(seams);
|
|
518
452
|
let live;
|
|
@@ -534,17 +468,10 @@ export async function laptopStatus(store, databaseFile, seams = {}) {
|
|
|
534
468
|
}
|
|
535
469
|
return { running: live.ok, url: live.ok ? live.url : null, pid: live.ok ? live.pid : null, background };
|
|
536
470
|
}
|
|
537
|
-
// ---- easy start: starting the installed service again ------------------------------------------------------------------
|
|
538
|
-
/** Whether Toolroll's own login item is installed here (its unit file exists). Reads one path; asks no supervisor. */
|
|
539
471
|
export function backgroundInstalled(seams = {}) {
|
|
540
472
|
const s = resolveSeams(seams);
|
|
541
473
|
return (s.platform === "darwin" || s.platform === "linux") && existsSync(unitPath(s.platform, s.home));
|
|
542
474
|
}
|
|
543
|
-
/**
|
|
544
|
-
* Bare `toolroll` and `toolroll open` with the background service installed but this database's console not running
|
|
545
|
-
* (stopped with `toolroll stop`, or not yet started at this login): start it through its supervisor — never a second
|
|
546
|
-
* `up` beside it — and prove the console it runs live. Our own label only.
|
|
547
|
-
*/
|
|
548
475
|
export async function startInstalledService(store, databaseFile, seams = {}) {
|
|
549
476
|
const s = resolveSeams(seams);
|
|
550
477
|
const platform = s.platform;
|
|
@@ -559,14 +486,11 @@ export async function startInstalledService(store, databaseFile, seams = {}) {
|
|
|
559
486
|
return { ok: false, state: "refused", message: started };
|
|
560
487
|
}
|
|
561
488
|
else if (platform === "darwin") {
|
|
562
|
-
// Loaded but not answering (between restarts): ask launchd to run it now.
|
|
563
489
|
await s.supervisor("launchctl", ["kickstart", `gui/${uid()}/${LAPTOP_LABEL_DARWIN}`]);
|
|
564
490
|
}
|
|
565
491
|
const healthy = await awaitHealthy(databaseFile, store, s);
|
|
566
492
|
return healthy.ok ? healthy : { ok: false, state: "refused", message: `the background service did not answer within ${Math.round(s.healthTimeoutMs / 1000)} s (${healthy.message})` };
|
|
567
493
|
}
|
|
568
|
-
// ---- restarting this computer's own builder (plain-toolroll.md P2.3) ---------------------------------------------------
|
|
569
|
-
/** Whether the supervisor shows our process gone: not loaded, or loaded with nothing running. Null when it can't tell. */
|
|
570
494
|
async function supervisedExit(s, platform) {
|
|
571
495
|
if (platform === "darwin") {
|
|
572
496
|
const shown = await s.supervisor("launchctl", ["print", `gui/${uid()}/${LAPTOP_LABEL_DARWIN}`]);
|
|
@@ -580,7 +504,6 @@ async function supervisedExit(s, platform) {
|
|
|
580
504
|
const state = shown.stdout.trim();
|
|
581
505
|
return state === "inactive" || state === "failed" ? true : state === "" || state === "unknown" ? null : false;
|
|
582
506
|
}
|
|
583
|
-
/** Whether the unit is switched off at the supervisor (`background off` disabled it). Null when it can't tell. */
|
|
584
507
|
async function labelDisabled(s, platform) {
|
|
585
508
|
if (platform === "darwin") {
|
|
586
509
|
const shown = await s.supervisor("launchctl", ["print-disabled", `gui/${uid()}`]);
|
|
@@ -594,8 +517,6 @@ async function labelDisabled(s, platform) {
|
|
|
594
517
|
return null;
|
|
595
518
|
return shown.stdout.trim() === "enabled" ? false : true;
|
|
596
519
|
}
|
|
597
|
-
/** Whether every process of this computer's current registrations is proved gone, by their signed records. False: one
|
|
598
|
-
* may live, or nothing proves it. */
|
|
599
520
|
function recordedRuntimeGone(store, databaseFile, s) {
|
|
600
521
|
let proved = 0;
|
|
601
522
|
for (const runner of store.listRunners()) {
|
|
@@ -608,12 +529,6 @@ function recordedRuntimeGone(store, databaseFile, s) {
|
|
|
608
529
|
}
|
|
609
530
|
return proved > 0;
|
|
610
531
|
}
|
|
611
|
-
/**
|
|
612
|
-
* Start our own service again, by Toolroll alone, only when a person's recorded wish is to run, nothing is stopping or
|
|
613
|
-
* updating, the old process is proved gone, what would start is what ran, and it isn't over its attempts. Every other
|
|
614
|
-
* answer leaves the need with one label, "Start the builder". This never enables a disabled label, which is what sets it
|
|
615
|
-
* apart from `startService`: a person's own yes.
|
|
616
|
-
*/
|
|
617
532
|
export async function restartOwnBuilder(store, databaseFile, seams = {}, now = new Date()) {
|
|
618
533
|
const s = resolveSeams(seams);
|
|
619
534
|
const platform = s.platform;
|
package/dist/laptop-service.js
CHANGED
|
@@ -1,38 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The laptop-mode login item, generated and compared — never installed.
|
|
3
|
-
*
|
|
4
|
-
* Laptop mode keeps one `toolroll up --laptop` console running for the
|
|
5
|
-
* person who is logged in: a launchd LaunchAgent on macOS
|
|
6
|
-
* (~/Library/LaunchAgents/com.toolroll.up.plist), a systemd user unit on
|
|
7
|
-
* Linux (~/.config/systemd/user/toolroll-up.service). This module only
|
|
8
|
-
* computes what that definition would be, whether an installed one matches,
|
|
9
|
-
* and which existing services would conflict with it. Nothing here writes a
|
|
10
|
-
* unit, loads one, or calls launchctl or systemctl; the handoff that does
|
|
11
|
-
* (`toolroll background on`) is laptop-background.ts.
|
|
12
|
-
*
|
|
13
|
-
* The command is pinned with absolute paths, as daemon.ts pins its services:
|
|
14
|
-
* launchd and systemd do not inherit an interactive shell's PATH, so the unit
|
|
15
|
-
* runs the absolute Node binary with the package entry, and the database is
|
|
16
|
-
* the canonical path (realpath of its folder) so a symlinked folder and its
|
|
17
|
-
* target are one database. Values with control characters are refused: a
|
|
18
|
-
* newline would end a systemd line and a NUL cannot appear in either format.
|
|
19
|
-
*
|
|
20
|
-
* Conflicts are reported, never touched: the desktop/browser service
|
|
21
|
-
* (com.toolroll.browser, and com.standing-orders.browser from before the
|
|
22
|
-
* rename) and any `daemon install` watch whose unit points at the same
|
|
23
|
-
* database. Whatever cannot be read counts as a conflict, so the caller asks
|
|
24
|
-
* instead of assuming.
|
|
25
|
-
*/
|
|
26
1
|
import { existsSync, readFileSync, readdirSync, realpathSync } from "node:fs";
|
|
27
|
-
// POSIX paths throughout: a LaunchAgent and a systemd unit only ever name POSIX paths.
|
|
28
2
|
import { posix } from "node:path";
|
|
29
3
|
import { definitionDigest, launchdPlist } from "./daemon.js";
|
|
30
4
|
const { basename, dirname, isAbsolute, join } = posix;
|
|
31
5
|
export const LAPTOP_LABEL_DARWIN = "com.toolroll.up";
|
|
32
6
|
export const LAPTOP_LABEL_LINUX = "toolroll-up";
|
|
33
|
-
/** The services laptop mode never runs beside on macOS: the desktop app's browser controller, either name. */
|
|
34
7
|
export const BROWSER_SERVICE_LABELS = ["com.toolroll.browser", "com.standing-orders.browser"];
|
|
35
|
-
/** The watch labels daemon.ts writes (labelFor / legacyLabelFor). */
|
|
36
8
|
const WATCH_PREFIXES = ["com.toolroll.watch.", "com.standing-orders.watch."];
|
|
37
9
|
export const nodeFs = {
|
|
38
10
|
exists: existsSync,
|
|
@@ -40,8 +12,6 @@ export const nodeFs = {
|
|
|
40
12
|
readdir: path => readdirSync(path),
|
|
41
13
|
realpath: path => realpathSync(path),
|
|
42
14
|
};
|
|
43
|
-
// Every C0 control character and DEL: newline and NUL are the dangerous ones,
|
|
44
|
-
// the rest are never part of a real path and are not valid XML 1.0 either.
|
|
45
15
|
const CONTROL = /[\u0000-\u001f\u007f]/;
|
|
46
16
|
function checkPath(name, value) {
|
|
47
17
|
if (value === "")
|
|
@@ -52,11 +22,6 @@ function checkPath(name, value) {
|
|
|
52
22
|
return `${name} must be an absolute path (got ${value})`;
|
|
53
23
|
return null;
|
|
54
24
|
}
|
|
55
|
-
/**
|
|
56
|
-
* The database path the unit names: its folder resolved through realpath,
|
|
57
|
-
* its file name kept (the file may not exist yet). A relative, empty or
|
|
58
|
-
* control-character path, or a folder that cannot be resolved, refuses.
|
|
59
|
-
*/
|
|
60
25
|
export function canonicalDatabasePath(db, fs = nodeFs) {
|
|
61
26
|
const problem = checkPath("the database path", db);
|
|
62
27
|
if (problem !== null)
|
|
@@ -80,13 +45,6 @@ function unitPathFor(platform, home) {
|
|
|
80
45
|
? { label: LAPTOP_LABEL_DARWIN, path: join(home, "Library", "LaunchAgents", `${LAPTOP_LABEL_DARWIN}.plist`) }
|
|
81
46
|
: { label: LAPTOP_LABEL_LINUX, path: join(home, ".config", "systemd", "user", `${LAPTOP_LABEL_LINUX}.service`) };
|
|
82
47
|
}
|
|
83
|
-
/**
|
|
84
|
-
* The login item for laptop mode, computed without writing anything. On
|
|
85
|
-
* macOS the text comes from daemon.ts's launchdPlist, so it carries the same
|
|
86
|
-
* KeepAlive/ExitTimeOut contract and the same service digest (which binds the
|
|
87
|
-
* runtime's and package's code, read only). On Linux it is a systemd user
|
|
88
|
-
* unit in daemon.ts's shape, with systemd's `%` and `$` expansion escaped.
|
|
89
|
-
*/
|
|
90
48
|
export function laptopServiceDefinition(args) {
|
|
91
49
|
const { platform } = args;
|
|
92
50
|
if (platform !== "darwin" && platform !== "linux")
|
|
@@ -114,11 +72,6 @@ export function laptopServiceDefinition(args) {
|
|
|
114
72
|
: systemdUnit({ command, workingDirectory: stateDir, pathEnv, logPath });
|
|
115
73
|
return { platform, label, path, text, digest: definitionDigest(text), command, db, logPath };
|
|
116
74
|
}
|
|
117
|
-
/**
|
|
118
|
-
* The systemd user unit: daemon.ts's watch unit shape (Restart=always,
|
|
119
|
-
* default.target) plus TimeoutStopSec=60, launchd's ExitTimeOut, so a stop
|
|
120
|
-
* gets the same drain window on both platforms.
|
|
121
|
-
*/
|
|
122
75
|
function systemdUnit(args) {
|
|
123
76
|
return `[Unit]
|
|
124
77
|
Description=toolroll laptop console
|
|
@@ -138,35 +91,20 @@ StandardError=append:${systemdSpecifiers(args.logPath)}
|
|
|
138
91
|
WantedBy=default.target
|
|
139
92
|
`;
|
|
140
93
|
}
|
|
141
|
-
/** `%` starts a specifier in every systemd setting. */
|
|
142
94
|
function systemdSpecifiers(text) {
|
|
143
95
|
return text.replace(/%/g, "%%");
|
|
144
96
|
}
|
|
145
|
-
/**
|
|
146
|
-
* daemon.ts's quoting (double quotes around anything with whitespace,
|
|
147
|
-
* quotes or backslashes; `"` and `\` escaped), plus `%%` everywhere and, in
|
|
148
|
-
* a command line, `$$`, since ExecStart expands `$NAME`.
|
|
149
|
-
*/
|
|
150
97
|
function systemdQuote(part, command) {
|
|
151
98
|
let text = systemdSpecifiers(part);
|
|
152
99
|
if (command)
|
|
153
100
|
text = text.replace(/\$/g, "$$$$");
|
|
154
101
|
return /[\s"'\\]/.test(text) || text === "" ? `"${text.replace(/(["\\])/g, "\\$1")}"` : text;
|
|
155
102
|
}
|
|
156
|
-
/** Whether an installed unit's text is exactly this definition. Null (or undefined) text means no unit is installed. */
|
|
157
103
|
export function compareInstalled(existingText, definition) {
|
|
158
104
|
if (existingText === null || existingText === undefined)
|
|
159
105
|
return "absent";
|
|
160
106
|
return existingText === definition.text && definitionDigest(existingText) === definition.digest ? "same" : "different";
|
|
161
107
|
}
|
|
162
|
-
/**
|
|
163
|
-
* Existing services laptop mode must not run beside: the browser service on
|
|
164
|
-
* macOS (whatever database it uses — it is a console of its own), and any
|
|
165
|
-
* daemon.ts watch whose unit points at this database, by `--db` or by its
|
|
166
|
-
* `--token-file` sitting in the database's folder (daemon install keeps the
|
|
167
|
-
* runner token beside the database it was installed from). A unit that
|
|
168
|
-
* cannot be read is listed too. Laptop mode's own unit is never a conflict.
|
|
169
|
-
*/
|
|
170
108
|
export function detectOtherServices(args) {
|
|
171
109
|
const fs = args.fs ?? nodeFs;
|
|
172
110
|
if (args.platform !== "darwin" && args.platform !== "linux")
|
|
@@ -220,7 +158,6 @@ export function detectOtherServices(args) {
|
|
|
220
158
|
}
|
|
221
159
|
return conflicts;
|
|
222
160
|
}
|
|
223
|
-
/** Which database a watch's command line names: its `--db`, else the folder of its `--token-file`. */
|
|
224
161
|
function watchDatabase(argv, fs) {
|
|
225
162
|
const value = (flag) => {
|
|
226
163
|
const at = argv.indexOf(flag);
|
|
@@ -243,12 +180,10 @@ function watchDatabase(argv, fs) {
|
|
|
243
180
|
return { folder: dirname(tokenFile) };
|
|
244
181
|
}
|
|
245
182
|
}
|
|
246
|
-
/** ProgramArguments from a plist daemon.ts wrote. */
|
|
247
183
|
function plistProgramArguments(text) {
|
|
248
184
|
const array = /<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/.exec(text)?.[1] ?? "";
|
|
249
185
|
return [...array.matchAll(/<string>([^<]*)<\/string>/g)].map(match => unxml(match[1] ?? ""));
|
|
250
186
|
}
|
|
251
|
-
/** ExecStart from a systemd unit, split as systemd would for the quoting daemon.ts and this module write. */
|
|
252
187
|
function systemdExecStart(text) {
|
|
253
188
|
const line = /^ExecStart=(.*)$/m.exec(text)?.[1] ?? "";
|
|
254
189
|
return (line.match(/"(?:[^"\\]|\\.)*"|\S+/g) ?? []).map(part => (part.startsWith('"') ? part.slice(1, -1).replace(/\\(["\\])/g, "$1") : part).replace(/%%/g, "%").replace(/\$\$/g, "$"));
|
|
@@ -256,11 +191,9 @@ function systemdExecStart(text) {
|
|
|
256
191
|
function unxml(text) {
|
|
257
192
|
return text.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'").replace(/&/g, "&");
|
|
258
193
|
}
|
|
259
|
-
/** The command an installed unit runs, argument by argument (a plist's ProgramArguments, a unit's ExecStart). */
|
|
260
194
|
export function unitCommand(text, platform) {
|
|
261
195
|
return platform === "darwin" ? plistProgramArguments(text) : systemdExecStart(text);
|
|
262
196
|
}
|
|
263
|
-
/** The value after `flag` in an installed unit's command, or null. */
|
|
264
197
|
export function unitFlag(text, platform, flag) {
|
|
265
198
|
const argv = unitCommand(text, platform);
|
|
266
199
|
const at = argv.indexOf(flag);
|
package/dist/latency-timeline.js
CHANGED
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Latency timelines (docs/plans/actors-lessons.md, from durable-actors' latency timeline): for one operation, a short
|
|
3
|
-
* list of milestones, each an offset from its start, kept in the plane (latency_timeline, bounded and pruned) for:
|
|
4
|
-
*
|
|
5
|
-
* - console requests slower than SLOW_REQUEST_MS: route matched, signed in, chrome and worker reads, handler, render;
|
|
6
|
-
* - release checks: each part's start and end, from the sealed report's start times and the check's own `took:` line;
|
|
7
|
-
* - deploys: each phase, and each health wait with its reason (scripts/deploy-phases.mjs writes those).
|
|
8
|
-
*
|
|
9
|
-
* Milestones carry route ids, part and phase names and fixed reason words only: never a URL, a query, a body or a
|
|
10
|
-
* secret. A console request's offsets are monotonic (performance.now within one process); a check's and a deploy's
|
|
11
|
-
* are wall-clock offsets, since their parts run in other processes.
|
|
12
|
-
*/
|
|
13
1
|
import { performance } from "node:perf_hooks";
|
|
14
2
|
import { latencyTimelines, MAX_MILESTONES, recordLatencyTimeline } from "./store.js";
|
|
15
|
-
/** A console request slower than this keeps its timeline. */
|
|
16
3
|
export const SLOW_REQUEST_MS = 1_000;
|
|
17
|
-
/** One operation's milestones as they happen, bounded (the store bounds them again when kept). */
|
|
18
4
|
export class Timeline {
|
|
19
5
|
startedAt = new Date();
|
|
20
6
|
t0 = performance.now();
|
|
@@ -26,7 +12,6 @@ export class Timeline {
|
|
|
26
12
|
}
|
|
27
13
|
elapsed() { return performance.now() - this.t0; }
|
|
28
14
|
}
|
|
29
|
-
/** Keep a finished console request's timeline when it was slow. Best effort: a failed write never touches the answer. */
|
|
30
15
|
export function keepSlowRequest(store, timeline, route, status, now) {
|
|
31
16
|
const total = timeline.elapsed();
|
|
32
17
|
if (total < SLOW_REQUEST_MS)
|
|
@@ -35,10 +20,9 @@ export function keepSlowRequest(store, timeline, route, status, now) {
|
|
|
35
20
|
recordLatencyTimeline(store, { kind: "console", subject: route, startedAt: timeline.startedAt, totalMs: total,
|
|
36
21
|
milestones: [...timeline.marks, { name: "answered", ms: total, detail: `status ${status}` }] }, now);
|
|
37
22
|
}
|
|
38
|
-
catch {
|
|
23
|
+
catch { }
|
|
39
24
|
}
|
|
40
25
|
const TOOK = /^(\d+(?:\.\d+)?) (s|min)$/;
|
|
41
|
-
/** The check's own `took:` line (scripts/release-check.mjs): each part's duration, in ms, by label. */
|
|
42
26
|
export function partDurations(stdout) {
|
|
43
27
|
const line = stdout.split("\n").reverse().find(one => one.startsWith("took: "));
|
|
44
28
|
const durations = new Map();
|
|
@@ -54,7 +38,6 @@ export function partDurations(stdout) {
|
|
|
54
38
|
}
|
|
55
39
|
return durations;
|
|
56
40
|
}
|
|
57
|
-
/** A release check's parts as milestones: each part that started, and its end where its duration is known. */
|
|
58
41
|
export function checkMilestones(report, stdout) {
|
|
59
42
|
const took = partDurations(stdout);
|
|
60
43
|
const started = report.parts.flatMap(part => {
|
|
@@ -70,7 +53,6 @@ export function checkMilestones(report, stdout) {
|
|
|
70
53
|
]).sort((a, b) => a.ms - b.ms);
|
|
71
54
|
return { startedAt: new Date(first), totalMs: Math.max(...milestones.map(one => one.ms)), milestones };
|
|
72
55
|
}
|
|
73
|
-
/** Keep a release check's timeline beside its run. Best effort: the check's outcome never depends on it. */
|
|
74
56
|
export function keepCheckTimeline(store, args) {
|
|
75
57
|
if (args.report === null)
|
|
76
58
|
return;
|
|
@@ -80,9 +62,8 @@ export function keepCheckTimeline(store, args) {
|
|
|
80
62
|
return;
|
|
81
63
|
recordLatencyTimeline(store, { kind: "release-check", subject: `check ${args.report.mode}`, runId: args.runId, taskId: args.taskId, ...timeline }, args.now);
|
|
82
64
|
}
|
|
83
|
-
catch {
|
|
65
|
+
catch { }
|
|
84
66
|
}
|
|
85
|
-
/** 65 s → "1:05"; 3 723 s → "1:02:03". */
|
|
86
67
|
export function clockWords(ms) {
|
|
87
68
|
const seconds = Math.round(ms / 1000), h = Math.floor(seconds / 3600), m = Math.floor((seconds % 3600) / 60), s = seconds % 60;
|
|
88
69
|
return h > 0 ? `${h}:${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}` : `${m}:${String(s).padStart(2, "0")}`;
|
|
@@ -98,7 +79,6 @@ function viewOf(one) {
|
|
|
98
79
|
return { label: mark.name, at: `+${clockWords(mark.ms)}`, detail: began === undefined ? mark.detail ?? null : `took ${clockWords(mark.ms - began)}` };
|
|
99
80
|
}) };
|
|
100
81
|
}
|
|
101
|
-
/** A run's check timelines and its task's deploy timelines, for the page (null: none kept). */
|
|
102
82
|
export function timingFor(store, runId, taskId) {
|
|
103
83
|
try {
|
|
104
84
|
const kept = runId === null ? latencyTimelines(store, { taskId, limit: 5 }) : latencyTimelines(store, { runId, taskId, limit: 5 });
|
|
@@ -109,7 +89,6 @@ export function timingFor(store, runId, taskId) {
|
|
|
109
89
|
return null;
|
|
110
90
|
}
|
|
111
91
|
}
|
|
112
|
-
/** The approver's debug view beside /healthz (/health): the slowest recent console requests, one line each. */
|
|
113
92
|
export function slowRequestLines(store, limit = 20) {
|
|
114
93
|
try {
|
|
115
94
|
return latencyTimelines(store, { kind: "console", limit }).map(one => `${one.startedAt} ${one.subject} ${Math.round(one.totalMs)} ms: ${one.milestones.map(mark => `${mark.name} +${Math.round(mark.ms)}${mark.detail === undefined ? "" : ` (${mark.detail})`}`).join(", ")}`);
|
package/dist/lead-about.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { scanForSecrets } from "./evidence.js";
|
|
2
2
|
export const ABOUT_YOU_MAX_LINES = 20;
|
|
3
|
-
/** Each line is under 200 characters. */
|
|
4
3
|
export const ABOUT_YOU_LINE_MAX = 199;
|
|
5
|
-
/** This person's confirmed lines; an older store reads as none. */
|
|
6
4
|
export function aboutYouOf(store, account) {
|
|
7
5
|
if (account == null || account === "")
|
|
8
6
|
return [];
|
|
@@ -13,7 +11,6 @@ export function aboutYouOf(store, account) {
|
|
|
13
11
|
return [];
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
|
-
/** One line as it is saved, or the problem with it. */
|
|
17
14
|
export function checkAboutYouLine(value) {
|
|
18
15
|
const line = typeof value === "string" ? value.replace(/^\s*[-*•]\s*/, "").replace(/\s+/g, " ").trim() : "";
|
|
19
16
|
if (line.length < 2)
|
|
@@ -24,10 +21,8 @@ export function checkAboutYouLine(value) {
|
|
|
24
21
|
return { ok: false, message: "Use plain words, with no passwords or keys." };
|
|
25
22
|
return { ok: true, line };
|
|
26
23
|
}
|
|
27
|
-
/** The Settings form's text, one line each: the saved list, or the problem with it. Blank lines and repeats go. */
|
|
28
24
|
export function checkAboutYou(text) {
|
|
29
25
|
const lines = [];
|
|
30
|
-
// A problem names the line as the person sees it in the box, blank lines and repeats counted.
|
|
31
26
|
for (const [index, raw] of text.replace(/\r\n?/g, "\n").split("\n").entries()) {
|
|
32
27
|
if (raw.trim() === "")
|
|
33
28
|
continue;
|
|
@@ -41,11 +36,9 @@ export function checkAboutYou(text) {
|
|
|
41
36
|
return { ok: false, message: `Keep it to ${ABOUT_YOU_MAX_LINES} lines.` };
|
|
42
37
|
return { ok: true, lines };
|
|
43
38
|
}
|
|
44
|
-
/** Save the whole list for this person (already checked). Their lead's name and persona are left as they are. */
|
|
45
39
|
export function saveAboutYou(store, account, lines, now) {
|
|
46
40
|
store.setLeadAbout(account, lines, now);
|
|
47
41
|
}
|
|
48
|
-
/** The list once a confirmed line is added, or once it replaces line `replaces` (1-based). */
|
|
49
42
|
export function withAboutYouLine(lines, line, replaces) {
|
|
50
43
|
if (replaces > 0) {
|
|
51
44
|
if (replaces > lines.length)
|