toolroll 0.9.104 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -5
- package/README.md +18 -20
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +17 -139
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +1 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +0 -17
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +0 -53
- package/dist/local-owner.js +2 -93
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +0 -20
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +0 -100
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +0 -25
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +4 -567
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +21 -555
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +1 -88
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +13 -493
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +6 -135
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +9 -227
- package/dist/server/tasks.js +5 -539
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +0 -75
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +17 -28
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +16 -36
- package/dist/tui.js +1 -1
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +4 -3
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -350
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1985
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -540
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -43
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -61
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -170
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -39
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1098
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -81
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -60
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -343
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -108
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -48
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -202
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/lesson-notes.js
CHANGED
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lesson notes (docs/plans/learning-loops.md, "Lesson notes"): when a check failure is followed by a revision whose check
|
|
3
|
-
* explicitly passed the same tests, Toolroll proposes a note saying exactly that — "`<test>` failed in build #F; it
|
|
4
|
-
* passed in revision R, which changed `<files>`". Not a claim that R caused it. A person writes or edits the words and
|
|
5
|
-
* accepts it as a project decision through the memory proposal flow (memory-pass.ts decideProposal); nothing changes
|
|
6
|
-
* before that. Then Toolroll reports how often the test fails afterwards, with no causal claim.
|
|
7
|
-
*
|
|
8
|
-
* The rules (all must hold), checked here when R's check is recorded:
|
|
9
|
-
* 1. F is a builder run whose check failed (its own result), not infrastructure, with at least one case that failed
|
|
10
|
-
* with explicit execution evidence. File-level-only failures get no note.
|
|
11
|
-
* 2. R is a builder run of a revision of F's task, or of F's explicit repair draft, or the next Full check of the same
|
|
12
|
-
* release; R's commit descends from F's (a verified commit walk).
|
|
13
|
-
* 3. R's check passed with the same command and access as F's.
|
|
14
|
-
* 4. Every failed case of F has an explicit `passed` line in R. F's cases join R's advisory `learn` request (never the
|
|
15
|
-
* gate's `watch`) so that can be true.
|
|
16
|
-
* 5. No retry-assisted pass: nothing in R passed on a retry.
|
|
17
|
-
* 6. None of those cases has mixed outcomes at F's tree.
|
|
18
|
-
* 7. Otherwise no note, and R's page says exactly what was recorded: an explicit skip, a test file that isn't in R, or
|
|
19
|
-
* no test result at all. Each has its own words; none is read as another.
|
|
20
|
-
*
|
|
21
|
-
* Tallies are written with each check's results and never pruned, so "since" numbers survive retention. The only writer
|
|
22
|
-
* of `lesson_note` and `lesson_note_tally`, and with flaky.ts of `learning_watch`. A policy path (release-auto.ts
|
|
23
|
-
* EVAL_POLICY). Nothing here changes a check's outcome, a verdict, an approval or a rerun.
|
|
24
|
-
*/
|
|
25
1
|
import { createHash } from "node:crypto";
|
|
26
2
|
import { isUnitFile, projectGitDir } from "./check-report.js";
|
|
27
3
|
import { readVerifiedCommit, verifiedBlobs, verifiedTreeDiff } from "./commit-extract.js";
|
|
@@ -34,7 +10,6 @@ const PATHS_MAX = 200;
|
|
|
34
10
|
const WALK_MAX = 500;
|
|
35
11
|
export const NOTE_SURFACE = "lesson-note";
|
|
36
12
|
const FINGERPRINT = "note:";
|
|
37
|
-
/** How deep a revision's ancestry is followed looking for the failed check. */
|
|
38
13
|
const ANCESTRY_MAX = 8;
|
|
39
14
|
export function lessonNoteOf(store, proposal) {
|
|
40
15
|
const row = store.handle.prepare("SELECT * FROM lesson_note WHERE proposal = ?").get(proposal);
|
|
@@ -52,8 +27,6 @@ function factOf(store, run) {
|
|
|
52
27
|
}
|
|
53
28
|
const receiptIs = (store, run, state) => store.handle.prepare("SELECT 1 FROM check_result WHERE run = ? AND identity = 'check' AND source = 'receipt' AND state = ?").get(run, state) !== undefined;
|
|
54
29
|
const roleOf = (store, run) => { const row = store.handle.prepare("SELECT role FROM run WHERE id = ?").get(run); return row === undefined ? null : String(row["role"]); };
|
|
55
|
-
/** The check F a run revises, by the plane's own records: its repair draft's source, the failed check of the nearest
|
|
56
|
-
* ancestor task with one, or the previous check of the same release. Null when it revises none. */
|
|
57
30
|
function revisedRun(store, runId, taskRef, purpose) {
|
|
58
31
|
const ref = store.handle.prepare("SELECT external_id, revision_of, revision_origin FROM task_ref WHERE id = ?").get(taskRef);
|
|
59
32
|
if (ref === undefined)
|
|
@@ -80,15 +53,9 @@ function revisedRun(store, runId, taskRef, purpose) {
|
|
|
80
53
|
}
|
|
81
54
|
return null;
|
|
82
55
|
}
|
|
83
|
-
/** A run's failed cases with explicit execution evidence (the report's lines; file-level names don't count). */
|
|
84
56
|
function failedCases(store, run) {
|
|
85
57
|
return store.handle.prepare("SELECT DISTINCT identity FROM check_result WHERE run = ? AND state = 'failed' AND source = 'report' ORDER BY identity").all(run).map(row => String(row["identity"])).filter(isExactCase);
|
|
86
58
|
}
|
|
87
|
-
/**
|
|
88
|
-
* What this run's check should also ask about for learning: the failed cases of the check it revises (rule 4). Advisory:
|
|
89
|
-
* a separate handshake field, never the gate's `watch`. Called before the run's check starts, so its own facts don't
|
|
90
|
-
* exist yet.
|
|
91
|
-
*/
|
|
92
59
|
export function revisedFailures(store, runId) {
|
|
93
60
|
const run = store.handle.prepare("SELECT task_ref, role FROM run WHERE id = ?").get(runId);
|
|
94
61
|
if (run === undefined || run["role"] !== "builder")
|
|
@@ -98,7 +65,6 @@ export function revisedFailures(store, runId) {
|
|
|
98
65
|
const prior = revisedRun(store, runId, taskRef, scoped === undefined ? null : String(scoped["purpose"]));
|
|
99
66
|
return prior === null ? [] : failedCases(store, prior.failed);
|
|
100
67
|
}
|
|
101
|
-
/** Whether `head` descends from `ancestor`, walking verified commits, bounded. Unreadable is false: no note. */
|
|
102
68
|
function descends(gitDir, head, ancestor) {
|
|
103
69
|
if (head === ancestor)
|
|
104
70
|
return false;
|
|
@@ -117,19 +83,15 @@ function descends(gitDir, head, ancestor) {
|
|
|
117
83
|
}
|
|
118
84
|
return false;
|
|
119
85
|
}
|
|
120
|
-
/** Test and harness files, as a reader would call them. Every one R changed is listed, never hidden. */
|
|
121
86
|
export function testOrHarnessPath(path) {
|
|
122
87
|
return isUnitFile(path) || /^(?:tests?|scripts|\.github)\//.test(path) || /(?:^|\/)(?:vitest|jest|playwright)[^/]*\.[a-z]+$/.test(path) || /(?:^|\/)package(?:-lock)?\.json$/.test(path);
|
|
123
88
|
}
|
|
124
|
-
/** Text from a candidate, made safe to show: one line, clipped, control-free; anything secret-shaped is withheld. */
|
|
125
89
|
function safeText(text, max) {
|
|
126
|
-
// eslint-disable-next-line no-control-regex
|
|
127
90
|
const line = text.replace(/[\u0000-\u001f\u007f\u2028\u2029]+/g, " ").trim();
|
|
128
91
|
if (scanForSecrets(line).length > 0)
|
|
129
92
|
return "(text withheld)";
|
|
130
93
|
return line.length > max ? `${line.slice(0, max - 1)}…` : line;
|
|
131
94
|
}
|
|
132
|
-
/** The first failure line of F's sealed log, as output: clipped, secret-scanned, null when there is none to read. */
|
|
133
95
|
function firstFailureLine(store, root, run) {
|
|
134
96
|
const log = store.artifactsFor(run).find(one => one.kind === "check-log");
|
|
135
97
|
if (log === undefined)
|
|
@@ -140,10 +102,6 @@ function firstFailureLine(store, root, run) {
|
|
|
140
102
|
const line = read.content.toString("utf8").split("\n").find(one => /\b(?:FAIL|AssertionError|Error)\b/.test(one));
|
|
141
103
|
return line === undefined ? null : safeText(line, 160);
|
|
142
104
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Consider a note for run R, once its check is recorded. Returns what happened; a note that can't be proposed for a
|
|
145
|
-
* reason a person should see says so on R (rule 7). Any unreadable fact means no note.
|
|
146
|
-
*/
|
|
147
105
|
export function considerLessonNote(store, root, runId, now) {
|
|
148
106
|
const passing = factOf(store, runId);
|
|
149
107
|
if (passing === null || passing.repo === null || passing.head === null || passing.tree === null || roleOf(store, runId) !== "builder")
|
|
@@ -225,16 +183,13 @@ export function considerLessonNote(store, root, runId, now) {
|
|
|
225
183
|
return { proposal };
|
|
226
184
|
});
|
|
227
185
|
}
|
|
228
|
-
// ---- accepted notes ------------------------------------------------------------------------------------------------
|
|
229
186
|
const sourceRefOf = (proposal) => `lesson-note:${proposal}`;
|
|
230
187
|
const noteOfDecision = (ref) => { const found = ref === null ? null : /^lesson-note:(\d+)$/.exec(ref); return found === null ? null : Number(found[1]); };
|
|
231
|
-
/** Track an accepted note's cases in every later Full check, whether or not a run received it. */
|
|
232
188
|
export function watchNote(store, input) {
|
|
233
189
|
const sourceRef = input.decisionRevision === undefined ? `note:${input.proposal}` : `note:${input.proposal}:${input.decisionRevision}`;
|
|
234
190
|
for (const identity of input.identities)
|
|
235
191
|
store.handle.prepare(`INSERT INTO learning_watch (repo, identity, reason, source_ref, since, until) VALUES (?, ?, 'note', ?, ?, NULL) ON CONFLICT (repo, identity, reason, source_ref) DO NOTHING`).run(input.repo, identity, sourceRef, input.now.toISOString());
|
|
236
192
|
}
|
|
237
|
-
/** A note's tracking ends when its decision stops being active. */
|
|
238
193
|
export function endNoteWatch(store, decisionSourceRef, now) {
|
|
239
194
|
const proposal = noteOfDecision(decisionSourceRef);
|
|
240
195
|
if (proposal === null)
|
|
@@ -253,12 +208,6 @@ function addTally(store, note, month, add, partial = 0) {
|
|
|
253
208
|
const activeNotes = (store, repo) => store.handle.prepare(`SELECT n.proposal, n.identities_json, d.id AS decision, d.decided_at FROM lesson_note n JOIN project_decision d ON d.repo = n.repo AND d.source_ref = 'lesson-note:' || n.proposal AND d.status = 'active' WHERE n.repo = ?`).all(repo)
|
|
254
209
|
.map(row => ({ note: Number(row["proposal"]), decision: Number(row["decision"]), identities: JSON.parse(String(row["identities_json"])), since: String(row["decided_at"]) }));
|
|
255
210
|
const monthOf = (now) => now.toISOString().slice(0, 7);
|
|
256
|
-
/**
|
|
257
|
-
* Count one check for every accepted note, in the transaction that records its results: distinct `(run, identity)`
|
|
258
|
-
* pairs with explicit results, split by whether the run received the decision. A check with no line for the note's
|
|
259
|
-
* tests counts as unreported. `observations`: what this check just added, so a failure elsewhere that turned out to
|
|
260
|
-
* have mixed outcomes is counted as such.
|
|
261
|
-
*/
|
|
262
211
|
export function tallyCheck(store, runId, repo, observations, now) {
|
|
263
212
|
const notes = activeNotes(store, repo);
|
|
264
213
|
if (notes.length === 0)
|
|
@@ -291,7 +240,6 @@ export function tallyCheck(store, runId, repo, observations, now) {
|
|
|
291
240
|
tally.unreported = 1;
|
|
292
241
|
addTally(store, one.note, month, tally);
|
|
293
242
|
}
|
|
294
|
-
// Observations this check added about an earlier failure: that failure is now known to have mixed outcomes.
|
|
295
243
|
for (const id of observations) {
|
|
296
244
|
const row = store.handle.prepare("SELECT identity, failed_run FROM local_observation WHERE id = ?").get(id);
|
|
297
245
|
if (row === undefined || Number(row["failed_run"]) === runId)
|
|
@@ -303,12 +251,10 @@ export function tallyCheck(store, runId, repo, observations, now) {
|
|
|
303
251
|
}
|
|
304
252
|
}
|
|
305
253
|
}
|
|
306
|
-
/** A month whose check couldn't be recorded is partial, and says so. */
|
|
307
254
|
export function markTalliesPartial(store, repo, now) {
|
|
308
255
|
for (const one of activeNotes(store, repo))
|
|
309
256
|
addTally(store, one.note, monthOf(now), { executions: 0, failures: 0, mixed: 0, receivedExecutions: 0, receivedFailures: 0, unreported: 0, sources: new Set() }, 1);
|
|
310
257
|
}
|
|
311
|
-
/** What a note's tallies say since it was accepted: sums of durable rows, unchanged by retention. */
|
|
312
258
|
export function noteAfterwards(store, decision) {
|
|
313
259
|
const note = noteOfDecision(decision.sourceRef);
|
|
314
260
|
if (note === null)
|
|
@@ -319,7 +265,6 @@ export function noteAfterwards(store, decision) {
|
|
|
319
265
|
partial: rows.some(row => Number(row["partial"]) === 1), sources: [...new Set(rows.flatMap(row => JSON.parse(String(row["sources_json"]))))].sort() };
|
|
320
266
|
}
|
|
321
267
|
const DAY = new Intl.DateTimeFormat("en-US", { month: "short", day: "numeric", timeZone: "UTC" });
|
|
322
|
-
/** "Since Nov 5: failed 1 of 31 runs of this test (0 of 18 that received this note; 1 of 13 that didn't). …". No "helped". */
|
|
323
268
|
export function afterwardsWords(after) {
|
|
324
269
|
const others = after.executions - after.receivedExecutions, otherFailures = after.failures - after.receivedFailures;
|
|
325
270
|
return [
|
|
@@ -329,7 +274,6 @@ export function afterwardsWords(after) {
|
|
|
329
274
|
after.partial ? "Partial: not every check was counted." : "",
|
|
330
275
|
].filter(Boolean).join(" ");
|
|
331
276
|
}
|
|
332
|
-
/** What waits for a person, for pages and chat. */
|
|
333
277
|
export function memoryWaiting(store, repo) {
|
|
334
278
|
return { notes: Number(store.handle.prepare("SELECT COUNT(*) AS n FROM memory_proposal WHERE repo = ? AND status = 'pending' AND surface = ?").get(repo, NOTE_SURFACE)?.["n"] ?? 0),
|
|
335
279
|
cleanups: Number(store.handle.prepare("SELECT COUNT(*) AS n FROM memory_tidy_proposal WHERE repo = ? AND status = 'pending'").get(repo)?.["n"] ?? 0) };
|
package/dist/limits-ui.js
CHANGED
|
@@ -2,9 +2,7 @@ import { windowLabel } from "./provider-limits.js";
|
|
|
2
2
|
import { usd } from "./spend.js";
|
|
3
3
|
import { html } from "./html.js";
|
|
4
4
|
const PROVIDER_NAMES = { claude: "Claude", codex: "Codex", gemini: "Gemini" };
|
|
5
|
-
/** Plan names worth showing; anything else (an internal billing name) is left off. */
|
|
6
5
|
const PLAN_NAMES = { free: "Free", plus: "Plus", pro: "Pro", max: "Max", team: "Team", business: "Business", enterprise: "Enterprise", edu: "Edu" };
|
|
7
|
-
/** "in 25 min", "in 2 h 10 min", or a day and hour ("Fri 11 PM") beyond a day. */
|
|
8
6
|
export function resetWords(resetsAt, now) {
|
|
9
7
|
const minutes = Math.max(1, Math.round((Date.parse(resetsAt) - now.getTime()) / 60_000));
|
|
10
8
|
if (minutes < 60)
|
|
@@ -21,7 +19,6 @@ const toneOf = (percent, reached) => reached || percent >= 100 ? "danger" : perc
|
|
|
21
19
|
export function limitsView(windows, budgets, names, now) {
|
|
22
20
|
const tiles = [];
|
|
23
21
|
for (const one of windows) {
|
|
24
|
-
// A window that has turned over since the reading starts again from nothing.
|
|
25
22
|
const turned = one.resetsAt !== null && Date.parse(one.resetsAt) <= now.getTime();
|
|
26
23
|
const percent = turned ? 0 : one.usedPercent;
|
|
27
24
|
const reached = !turned && one.reached;
|
|
@@ -48,20 +45,11 @@ export function limitsView(windows, budgets, names, now) {
|
|
|
48
45
|
}
|
|
49
46
|
return tiles.length === 0 ? null : { tiles };
|
|
50
47
|
}
|
|
51
|
-
/** One short reset: "3h", "25 min", or "Fri 11 PM". */
|
|
52
48
|
const shortReset = (resetsAt, now) => {
|
|
53
49
|
const minutes = Math.max(1, Math.round((Date.parse(resetsAt) - now.getTime()) / 60_000));
|
|
54
50
|
return minutes < 60 ? `${minutes} min` : minutes < 24 * 60 ? `${Math.round(minutes / 60)}h` : resetWords(resetsAt, now);
|
|
55
51
|
};
|
|
56
|
-
/**
|
|
57
|
-
* The usage chip (cockpit §3, R16): the subscription window with the highest use the providers last reported, as
|
|
58
|
-
* "Claude 5-hour · 82% · resets 3h". A reading older than 30 minutes stays visibly stale ("as of 2h ago"), judged by
|
|
59
|
-
* the reading's age as the Limits view judges it; a window with no known reset says "resets: unknown". API-key budgets
|
|
60
|
-
* are not compared here (they stay in the details). An operator's view, as the Limits view is. Null: nothing reported.
|
|
61
|
-
*/
|
|
62
52
|
export function usageChipOf(windows, now) {
|
|
63
|
-
// A window whose reset has passed since its reading is not measured again yet: it ranks below every current one, and
|
|
64
|
-
// shows what was last read, as stale — never an inferred 0%.
|
|
65
53
|
const expired = (one) => one.resetsAt !== null && Date.parse(one.resetsAt) <= now.getTime();
|
|
66
54
|
const rank = (one) => (expired(one) ? -1_000 : 0) + one.usedPercent + (one.reached && !expired(one) ? 1_000 : 0);
|
|
67
55
|
const top = [...windows].sort((a, b) => rank(b) - rank(a))[0];
|
|
@@ -69,12 +57,10 @@ export function usageChipOf(windows, now) {
|
|
|
69
57
|
return null;
|
|
70
58
|
const old = expired(top);
|
|
71
59
|
const stale = old || now.getTime() - Date.parse(top.observedAt) > 30 * 60_000;
|
|
72
|
-
// A window with no known length or reset has no reset to name.
|
|
73
60
|
const reset = old ? "window reset" : top.resetsAt === null || top.windowMinutes === null ? "resets: unknown" : `resets ${shortReset(top.resetsAt, now)}`;
|
|
74
61
|
const text = `${PROVIDER_NAMES[top.provider] ?? top.provider} ${windowLabel(top.window, top.windowMinutes)} · ${Math.round(top.usedPercent)}% · ${reset}${stale ? ` · as of ${ago(top.observedAt, now)}` : ""}`;
|
|
75
62
|
return { text, tone: old ? "neutral" : toneOf(top.usedPercent, top.reached), stale, href: "/tasks", title: `What the providers last reported: ${text}` };
|
|
76
63
|
}
|
|
77
|
-
/** The same tiles for the page without scripts. */
|
|
78
64
|
export function limitsHtml(limits) {
|
|
79
65
|
if (limits === null)
|
|
80
66
|
return html ``;
|
package/dist/link.js
CHANGED
|
@@ -1,44 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Putting the command on PATH, as an explicit act.
|
|
3
|
-
*
|
|
4
|
-
* Toolroll refuses to install things on an operator's behalf — it prints
|
|
5
|
-
* the command and its side effects and lets them run it. A tool that applied
|
|
6
|
-
* that rule to `bd init` and then quietly edited PATH during its own install
|
|
7
|
-
* would not deserve to be believed, so this is a command you run, it shows
|
|
8
|
-
* you what it will do before it does it, and `unlink` undoes it exactly.
|
|
9
|
-
*
|
|
10
|
-
* Three rules hold throughout: never sudo, never a directory outside the home
|
|
11
|
-
* directory unless explicitly named, and never delete anything that is not
|
|
12
|
-
* something we put there.
|
|
13
|
-
*
|
|
14
|
-
* Two mechanisms, because "a command on PATH" means different things. On POSIX
|
|
15
|
-
* it is a symlink with the execute bit set. On Windows the shell resolves
|
|
16
|
-
* commands through PATHEXT, so an extensionless symlink is invisible no matter
|
|
17
|
-
* which directory it sits in — there it is a `.cmd` shim, which is also what
|
|
18
|
-
* npm writes, and which needs no Developer Mode to create.
|
|
19
|
-
*/
|
|
20
1
|
import { chmod, mkdir, lstat, readFile, readlink, stat, symlink, unlink, writeFile } from "node:fs/promises";
|
|
21
2
|
import { dirname, join, resolve, sep } from "node:path";
|
|
22
3
|
const isWindows = process.platform === "win32";
|
|
23
|
-
/** What you type. */
|
|
24
4
|
export const BIN_NAME = "toolroll";
|
|
25
|
-
/** What lands on disk. Windows needs the extension to resolve it through PATHEXT. */
|
|
26
5
|
export const LINK_FILE = isWindows ? `${BIN_NAME}.cmd` : BIN_NAME;
|
|
27
|
-
/** Owner, group, and other execute — the same bits npm sets on a package bin. */
|
|
28
6
|
const EXECUTABLE_BITS = 0o111;
|
|
29
|
-
/**
|
|
30
|
-
* How a shim is known to be ours. The symlink case can ask the filesystem what
|
|
31
|
-
* it is; a `.cmd` is an ordinary file, so it has to say so in its own text or
|
|
32
|
-
* `unlink` could not tell it from someone else's program of the same name.
|
|
33
|
-
*/
|
|
34
7
|
const SHIM_MARKER = "toolroll-link: generated by `toolroll link`";
|
|
35
|
-
/** Shims written before the rename to Toolroll stay ours. */
|
|
36
8
|
const LEGACY_SHIM_MARKER = "standing-orders-link: generated by `standing-orders link`";
|
|
37
|
-
/**
|
|
38
|
-
* Windows path comparison is case-insensitive, and a PATH entry may or may not
|
|
39
|
-
* carry a trailing separator. Comparing the raw strings means a directory that
|
|
40
|
-
* is on PATH gets reported as missing from it.
|
|
41
|
-
*/
|
|
42
9
|
function comparablePath(path) {
|
|
43
10
|
const trimmed = path.length > 1 && path.endsWith(sep) ? path.slice(0, -1) : path;
|
|
44
11
|
return isWindows ? trimmed.toLowerCase() : trimmed;
|
|
@@ -46,17 +13,11 @@ function comparablePath(path) {
|
|
|
46
13
|
function samePath(left, right) {
|
|
47
14
|
return comparablePath(left) === comparablePath(right);
|
|
48
15
|
}
|
|
49
|
-
/** Whether `path` is the home directory or sits beneath it. */
|
|
50
16
|
function isInside(path, home) {
|
|
51
17
|
const inner = comparablePath(path);
|
|
52
18
|
const outer = comparablePath(home);
|
|
53
19
|
return inner === outer || inner.startsWith(outer + sep);
|
|
54
20
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Where the link should go. Only directories inside the home directory are
|
|
57
|
-
* ever proposed: everything else needs sudo, and needing sudo to read your own
|
|
58
|
-
* git repositories would be absurd.
|
|
59
|
-
*/
|
|
60
21
|
export function chooseTarget(options) {
|
|
61
22
|
const { pathEntries, home, override } = options;
|
|
62
23
|
const isOnPath = (dir) => pathEntries.some(entry => samePath(entry, dir));
|
|
@@ -71,7 +32,6 @@ export function chooseTarget(options) {
|
|
|
71
32
|
const homeOwned = pathEntries.find(entry => isInside(entry, home));
|
|
72
33
|
if (homeOwned !== undefined)
|
|
73
34
|
return { dir: homeOwned, onPath: true };
|
|
74
|
-
// Nothing usable on PATH. Propose the conventional location and say so.
|
|
75
35
|
return { dir: conventional[0], onPath: false };
|
|
76
36
|
}
|
|
77
37
|
export async function planLink(source, dir) {
|
|
@@ -93,7 +53,6 @@ export async function applyLink(plan) {
|
|
|
93
53
|
if (plan.action === "already")
|
|
94
54
|
return;
|
|
95
55
|
await mkdir(dirname(plan.target), { recursive: true });
|
|
96
|
-
// Only ever removing a shim we recognise, never someone else's file.
|
|
97
56
|
if (plan.action === "replace")
|
|
98
57
|
await unlink(plan.target);
|
|
99
58
|
if (isWindows) {
|
|
@@ -103,31 +62,6 @@ export async function applyLink(plan) {
|
|
|
103
62
|
await symlink(plan.source, plan.target);
|
|
104
63
|
await ensureExecutable(plan.source);
|
|
105
64
|
}
|
|
106
|
-
/**
|
|
107
|
-
* `%*` forwards arguments with their quoting intact — the same mechanism npm's
|
|
108
|
-
* own generated shims use — and `EXIT /B` hands the command's exit code back to
|
|
109
|
-
* the shell, without which a failing scan would look like a success to anything
|
|
110
|
-
* that checked.
|
|
111
|
-
*
|
|
112
|
-
* The path is written with `%` doubled, because a percent sign is legal in a
|
|
113
|
-
* Windows path and cmd would otherwise read `%Foo%` in it as a variable and
|
|
114
|
-
* substitute it away. The `REM source:` line keeps the path verbatim: it is
|
|
115
|
-
* read back by this program, not by cmd.
|
|
116
|
-
*
|
|
117
|
-
* `SETLOCAL DisableDelayedExpansion` is not ceremony. Delayed expansion is
|
|
118
|
-
* inherited — a shim invoked under `cmd /v:on`, or from a batch file that
|
|
119
|
-
* enabled it, would have every `!` in the path *and in the arguments* eaten
|
|
120
|
-
* before node saw them, turning `a!name!b` into `ab` silently. Disabling it for
|
|
121
|
-
* our own scope is the only way to be sure. `ENDLOCAL &` shares a line with the
|
|
122
|
-
* exit so that `%ERRORLEVEL%` is read inside the scope, before it is torn down.
|
|
123
|
-
*
|
|
124
|
-
* One inherited quirk remains, worth knowing before someone reports it as a
|
|
125
|
-
* bug: a batch file reaching this through CALL has its arguments parsed a
|
|
126
|
-
* second time by cmd, which doubles any caret in them. That happens to
|
|
127
|
-
* `CALL node ...` just the same, with no shim involved, and no batch file can
|
|
128
|
-
* avoid it — only a compiled launcher could. The tests pin the shim to being
|
|
129
|
-
* transparent rather than to being immune.
|
|
130
|
-
*/
|
|
131
65
|
function shimText(source) {
|
|
132
66
|
return [
|
|
133
67
|
"@ECHO off",
|
|
@@ -139,18 +73,12 @@ function shimText(source) {
|
|
|
139
73
|
"",
|
|
140
74
|
].join("\r\n");
|
|
141
75
|
}
|
|
142
|
-
/** The source a shim points at, or null when the text is not one of ours. */
|
|
143
76
|
function readShimSource(text) {
|
|
144
77
|
if (!text.includes(SHIM_MARKER) && !text.includes(LEGACY_SHIM_MARKER))
|
|
145
78
|
return null;
|
|
146
79
|
const declared = /^REM source: (.+)$/m.exec(text);
|
|
147
80
|
return declared?.[1]?.trim() ?? null;
|
|
148
81
|
}
|
|
149
|
-
/**
|
|
150
|
-
* tsc emits a file with the shebang intact but without the execute bit, so a
|
|
151
|
-
* symlink to it fails with "permission denied" the first time it is typed.
|
|
152
|
-
* Windows has no such bit, and chmod there is a no-op at best.
|
|
153
|
-
*/
|
|
154
82
|
async function ensureExecutable(source) {
|
|
155
83
|
if (isWindows)
|
|
156
84
|
return;
|
|
@@ -177,10 +105,6 @@ export async function applyUnlink(plan) {
|
|
|
177
105
|
return;
|
|
178
106
|
await unlink(plan.target);
|
|
179
107
|
}
|
|
180
|
-
/**
|
|
181
|
-
* null when nothing is there. Otherwise: ours, and what it points at, or
|
|
182
|
-
* foreign, and why we will not touch it.
|
|
183
|
-
*/
|
|
184
108
|
async function describeExisting(target) {
|
|
185
109
|
let stats;
|
|
186
110
|
try {
|
|
@@ -209,9 +133,6 @@ async function describeExisting(target) {
|
|
|
209
133
|
if (!stats.isSymbolicLink()) {
|
|
210
134
|
return { kind: "foreign", reason: "something that is not a link is already there" };
|
|
211
135
|
}
|
|
212
|
-
// readlink returns the link's raw text, which may be relative. Comparing that
|
|
213
|
-
// against an absolute source would call a perfectly good link stale and
|
|
214
|
-
// replace it on every run.
|
|
215
136
|
const raw = await readlink(target);
|
|
216
137
|
return { kind: "ours", pointsTo: resolve(dirname(target), raw) };
|
|
217
138
|
}
|
package/dist/live-backup.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The continuous copy (docs/plans/actors-lessons.md): every few minutes (default 5) the worker takes an online SQLite
|
|
3
|
-
* backup of the database into a folder (default `backups/live` beside it), checks it with `PRAGMA integrity_check`,
|
|
4
|
-
* hashes it and renames it into place, then records it as the latest verified copy (path, sha256, time, schema). It
|
|
5
|
-
* keeps the newest 24 and the newest of each of the last 7 days.
|
|
6
|
-
*
|
|
7
|
-
* Off the hot path: the copy, the check and the hash run on a worker thread, so neither the console nor the worker's
|
|
8
|
-
* loops wait for them. One process copies at a time (the live_backup lease).
|
|
9
|
-
*
|
|
10
|
-
* The folder is checked every time before use: a plain directory this user owns, not a link and reached through none,
|
|
11
|
-
* not writable by others, and inside the permanent fenced `backups` namespace beside the actual database, outside
|
|
12
|
-
* every project and build checkout (backup.ts checkBackupFolder). Restoring stays manual (`toolroll restore <file>` with Toolroll stopped). A deploy reuses the latest copy only
|
|
13
|
-
* when it is fresh, its schema matches and its content proves equal to the database it would otherwise copy
|
|
14
|
-
* (scripts/deploy-phases.mjs liveCopyBackup).
|
|
15
|
-
*/
|
|
16
1
|
import { randomBytes, randomUUID } from "node:crypto";
|
|
17
2
|
import { lstatSync, mkdirSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
18
3
|
import { hostname } from "node:os";
|
|
@@ -20,13 +5,9 @@ import { dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
|
20
5
|
import { Worker } from "node:worker_threads";
|
|
21
6
|
import { checkBackupFolder, databaseTag } from "./backup.js";
|
|
22
7
|
import { holdLiveBackup, liveBackupState, recordLiveBackup, releaseLiveBackup } from "./store.js";
|
|
23
|
-
/** The choices Settings offers, in minutes (0: off is its own choice). */
|
|
24
8
|
export const LIVE_EVERY_MINUTES = [1, 5, 15, 30];
|
|
25
|
-
/** Daily copies are kept this many days besides the newest `keep`. */
|
|
26
9
|
export const LIVE_DAILY_DAYS = 7;
|
|
27
|
-
/** How long one copy may hold the lease. */
|
|
28
10
|
const LEASE_MS = 15 * 60_000;
|
|
29
|
-
/** `backups/live` beside the database, through its real path (the folder check refuses a path through a link). */
|
|
30
11
|
export function defaultLiveFolder(databaseFile) {
|
|
31
12
|
let database = resolve(databaseFile);
|
|
32
13
|
try {
|
|
@@ -40,11 +21,10 @@ export function defaultLiveFolder(databaseFile) {
|
|
|
40
21
|
try {
|
|
41
22
|
at = realpathSync(at);
|
|
42
23
|
}
|
|
43
|
-
catch {
|
|
24
|
+
catch { }
|
|
44
25
|
return join(at, "backups", "live");
|
|
45
26
|
}
|
|
46
27
|
export const liveFolderOf = (settings, databaseFile) => settings.folder ?? defaultLiveFolder(databaseFile);
|
|
47
|
-
/** Why a folder can't hold the copies, or null. Missing is fine (it is made on first use, then checked again). */
|
|
48
28
|
export function liveFolderProblem(folder, forbidden, protectedRoot) {
|
|
49
29
|
const said = checkBackupFolder(folder, forbidden);
|
|
50
30
|
if (said !== null)
|
|
@@ -81,7 +61,6 @@ export function liveFolderProblem(folder, forbidden, protectedRoot) {
|
|
|
81
61
|
const NAME = (tag) => new RegExp(`^live-${tag}-(\\d{4}-\\d{2}-\\d{2})-(\\d{6})(?:-(\\d+))?\\.db$`);
|
|
82
62
|
const PARTIAL = (tag) => new RegExp(`^\\.live-${tag}-.*\\.partial$`);
|
|
83
63
|
const stampOf = (now) => now.toISOString().replace(/\.\d+Z$/, "").replace("T", "-").replace(/:/g, "");
|
|
84
|
-
/** This database's copies in a folder, newest first (plain files named for it only). */
|
|
85
64
|
export function liveCopies(folder, tag) {
|
|
86
65
|
let names;
|
|
87
66
|
try {
|
|
@@ -105,8 +84,6 @@ export function liveCopies(folder, tag) {
|
|
|
105
84
|
return [{ name, path: join(folder, name), day: m[1], order: `${m[1]}-${m[2]}-${(m[3] ?? "1").padStart(6, "0")}` }];
|
|
106
85
|
}).sort((a, b) => a.order < b.order ? 1 : a.order > b.order ? -1 : 0).map(({ name, path, day }) => ({ name, path, day }));
|
|
107
86
|
}
|
|
108
|
-
/** Keep the newest `keep`, the newest of each of the last LIVE_DAILY_DAYS days, and `protect`; remove the rest (and
|
|
109
|
-
* this database's partial files older than an hour). Never anything not named for this database. */
|
|
110
87
|
export function pruneLiveCopies(folder, tag, keep, now, protect) {
|
|
111
88
|
const copies = liveCopies(folder, tag);
|
|
112
89
|
const kept = new Set(copies.slice(0, Math.max(1, keep)).map(one => one.path));
|
|
@@ -126,7 +103,7 @@ export function pruneLiveCopies(folder, tag, keep, now, protect) {
|
|
|
126
103
|
rmSync(one.path);
|
|
127
104
|
removed++;
|
|
128
105
|
}
|
|
129
|
-
catch {
|
|
106
|
+
catch { }
|
|
130
107
|
}
|
|
131
108
|
try {
|
|
132
109
|
for (const name of readdirSync(folder).filter(one => PARTIAL(tag).test(one))) {
|
|
@@ -135,10 +112,9 @@ export function pruneLiveCopies(folder, tag, keep, now, protect) {
|
|
|
135
112
|
rmSync(path, { force: true });
|
|
136
113
|
}
|
|
137
114
|
}
|
|
138
|
-
catch {
|
|
115
|
+
catch { }
|
|
139
116
|
return removed;
|
|
140
117
|
}
|
|
141
|
-
/** The thread's whole job, plain JavaScript (an eval worker: no loader, the same in a checkout and when installed). */
|
|
142
118
|
const COPY_THREAD = `
|
|
143
119
|
const { workerData, parentPort } = require("node:worker_threads");
|
|
144
120
|
const { DatabaseSync, backup } = require("node:sqlite");
|
|
@@ -173,7 +149,6 @@ const fs = require("node:fs"), crypto = require("node:crypto"), path = require("
|
|
|
173
149
|
}
|
|
174
150
|
})();
|
|
175
151
|
`;
|
|
176
|
-
/** One copy on a worker thread: copied, checked, hashed and renamed into place, or a problem (nothing left behind). */
|
|
177
152
|
export function copyOffThread(source, folder, tag, now) {
|
|
178
153
|
const stamp = stampOf(now);
|
|
179
154
|
let name = `live-${tag}-${stamp}.db`;
|
|
@@ -200,7 +175,6 @@ export function copyOffThread(source, folder, tag, now) {
|
|
|
200
175
|
thread.once("exit", () => finish({ ok: false, problem: "the copy stopped before it finished" }));
|
|
201
176
|
});
|
|
202
177
|
}
|
|
203
|
-
/** Whether a copy is due: on, and the latest (or the latest try) is at least the schedule old. */
|
|
204
178
|
export function liveCopyDue(store, now) {
|
|
205
179
|
const state = liveBackupState(store);
|
|
206
180
|
if (!state.settings.enabled)
|
|
@@ -209,7 +183,6 @@ export function liveCopyDue(store, now) {
|
|
|
209
183
|
const last = Math.max(state.latest === null ? 0 : Date.parse(state.latest.madeAt), state.triedAt === null ? 0 : Date.parse(state.triedAt));
|
|
210
184
|
return !Number.isFinite(last) || now.getTime() - last >= every;
|
|
211
185
|
}
|
|
212
|
-
/** One pass: hold the lease, and when due check the folder, copy, record and prune. */
|
|
213
186
|
export async function liveBackupPass(store, databaseFile, holder, forbidden, clock = () => new Date()) {
|
|
214
187
|
const now = clock();
|
|
215
188
|
if (!liveCopyDue(store, now))
|
|
@@ -229,7 +202,6 @@ export async function liveBackupPass(store, databaseFile, holder, forbidden, clo
|
|
|
229
202
|
catch (error) {
|
|
230
203
|
return fail(`${folder} couldn't be made (${error.message})`);
|
|
231
204
|
}
|
|
232
|
-
// Checked again now that it exists: what was made (or found) is what is used.
|
|
233
205
|
problem = liveFolderProblem(folder, forbidden(), dirname(defaultLiveFolder(databaseFile)));
|
|
234
206
|
if (problem !== null)
|
|
235
207
|
return fail(problem);
|
|
@@ -245,7 +217,6 @@ export async function liveBackupPass(store, databaseFile, holder, forbidden, clo
|
|
|
245
217
|
releaseLiveBackup(store, holder);
|
|
246
218
|
}
|
|
247
219
|
}
|
|
248
|
-
/** The loop in the worker: a pass a minute (the first after 30 s). The returned stop waits for a copy under way. */
|
|
249
220
|
export function startLiveBackups(store, databaseFile, forbidden, everyMs = 60_000) {
|
|
250
221
|
const holder = `${hostname()}:${process.pid}:${randomUUID().slice(0, 8)}`;
|
|
251
222
|
let stopped = false, timer = null, running = Promise.resolve();
|
|
@@ -265,7 +236,6 @@ export function startLiveBackups(store, databaseFile, forbidden, everyMs = 60_00
|
|
|
265
236
|
stopped = true;
|
|
266
237
|
if (timer !== null)
|
|
267
238
|
clearTimeout(timer);
|
|
268
|
-
// A copy under way gets a few seconds; past that the process may end under it (its partial file is removed later).
|
|
269
239
|
await Promise.race([running, new Promise(resolveWait => setTimeout(resolveWait, 10_000).unref?.())]);
|
|
270
240
|
};
|
|
271
241
|
}
|