toolroll 0.9.104 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -5
- package/README.md +18 -20
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +17 -139
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +1 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +0 -17
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +0 -53
- package/dist/local-owner.js +2 -93
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +0 -20
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +0 -100
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +0 -25
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +4 -567
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +21 -555
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +1 -88
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +13 -493
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +6 -135
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +9 -227
- package/dist/server/tasks.js +5 -539
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +0 -75
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +17 -28
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +16 -36
- package/dist/tui.js +1 -1
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +4 -3
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -350
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1985
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -540
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -43
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -61
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -170
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -39
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1098
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -81
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -60
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -343
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -108
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -48
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -202
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Settings → Project: what Toolroll holds for a project, and deleting
|
|
3
|
-
* it. An instance operator deletes in two steps: type the project's name,
|
|
4
|
-
* then read exactly what goes and confirm with their password (or a fresh
|
|
5
|
-
* sign-in with the identity provider). The repository itself stays.
|
|
6
|
-
*/
|
|
1
|
+
import { advancedShownNow } from "./advanced-view.js";
|
|
7
2
|
import { entryMovesOnWords, entryWords } from "./fallback.js";
|
|
8
3
|
import { sandboxRuntimeWords } from "./sandbox-runtime.js";
|
|
9
4
|
import { CHECK_ACCESS_WARNINGS, signInHostsMissing } from "./check-access.js";
|
|
@@ -11,14 +6,12 @@ import { html, joinHtml, postForm } from "./html.js";
|
|
|
11
6
|
import { holdingsWords } from "./project-delete.js";
|
|
12
7
|
import { acts, btn, codeLine, disclose, formRow, infoLine, input, note, notice, radios, settingsSection, switchInput, textarea } from "./server/kit.js";
|
|
13
8
|
import { kitSectionForm } from "./settings-kit.js";
|
|
14
|
-
/** Check access: a wider level's warning shows only under the option chosen. Everything else on the page is kit markup. */
|
|
15
9
|
export const PROJECT_DELETE_CSS = ".k-opt [data-check-access-warning]{display:none;color:var(--so-ink)}.k-opt:has(input:checked) [data-check-access-warning]{display:block}" +
|
|
16
10
|
".k-opt:has(input:disabled){cursor:default;opacity:.6}";
|
|
17
11
|
const mono = (text) => html `<span class="k-mono">${text}</span>`;
|
|
18
12
|
const list = (items) => html `<ul class="k-note">${items.map(one => html `<li>${one}</li>`)}</ul>`;
|
|
19
13
|
const SCOPED = "Tasks scoped from now on use this; tasks already approved keep what they were approved with.";
|
|
20
14
|
const APPROVER_CHANGES = note("An approver for this project can change this.");
|
|
21
|
-
/** Where builds may write, said plainly; an approver changes it with their password (always typed: it widens). */
|
|
22
15
|
function writesHtml(view) {
|
|
23
16
|
const writes = view.writes;
|
|
24
17
|
if (writes === undefined)
|
|
@@ -36,8 +29,6 @@ function writesHtml(view) {
|
|
|
36
29
|
note(SCOPED),
|
|
37
30
|
]) })) });
|
|
38
31
|
}
|
|
39
|
-
/** Home folder (project-sandbox.ts): what builds and checks can read there, said once; the paths they can't, and the
|
|
40
|
-
* advanced list (macOS services), changed under Change with the approver's password. */
|
|
41
32
|
function sandboxHtml(view) {
|
|
42
33
|
const sandbox = view.sandbox;
|
|
43
34
|
if (sandbox === undefined)
|
|
@@ -48,7 +39,6 @@ function sandboxHtml(view) {
|
|
|
48
39
|
: `Builds and checks can read your home folder except ${readDeny.length === 1 ? readDeny[0] : `${readDeny.length} paths`}.`;
|
|
49
40
|
const head = joinHtml([
|
|
50
41
|
machLookup.length === 0 ? "" : note(`${machLookup.length} macOS ${machLookup.length === 1 ? "service" : "services"} allowed`),
|
|
51
|
-
// The engine, named where the sandbox is set (sandbox-runtime.ts).
|
|
52
42
|
html `<p class="k-note" data-sandbox-engine>Builds, checks and flows run in ${sandboxRuntimeWords()}.</p>`,
|
|
53
43
|
]);
|
|
54
44
|
return settingsSection({ id: "sandbox", title: "Home folder", lead: said,
|
|
@@ -59,29 +49,22 @@ function sandboxHtml(view) {
|
|
|
59
49
|
note(SCOPED),
|
|
60
50
|
]) }))]) });
|
|
61
51
|
}
|
|
62
|
-
/** Check access (check-access.ts): how far the project's checks reach, said once. Collapsed: the level, what it means
|
|
63
|
-
* when it isn't the default, and who changed it. Inside Change: a line per level, and each wider level's warning under it
|
|
64
|
-
* only while it is chosen. An instance operator widens it with a password typed now; an approver narrows it. */
|
|
65
52
|
function checkAccessHtml(view) {
|
|
66
53
|
const access = view.checkAccess;
|
|
67
54
|
if (access === undefined)
|
|
68
55
|
return "";
|
|
69
56
|
const saved = access.setting;
|
|
70
|
-
// Sign-ins aren't available (off for now): a saved sign-ins level runs sandboxed, and the page says so.
|
|
71
57
|
const unavailable = access.signInsUnavailable ?? null;
|
|
72
58
|
const setting = unavailable !== null && saved === "sign-ins" ? "sandboxed" : saved;
|
|
73
59
|
const network = view.network?.setting ?? null;
|
|
74
60
|
const names = { sandboxed: "Sandboxed", "sign-ins": "Sandboxed, with model and GitHub sign-ins", unsandboxed: "Not sandboxed" };
|
|
75
61
|
const meaning = { sandboxed: null, "sign-ins": "Checks can read your Claude, Codex and GitHub sign-ins.", unsandboxed: "Checks run with your full access to this machine and to Toolroll." };
|
|
76
|
-
// The sign-ins never widen the network: how many hosts they'd still need, and where to add them (a change of its own).
|
|
77
62
|
const missing = setting === "sign-ins" && network !== null ? signInHostsMissing(network) : [];
|
|
78
63
|
const hosts = missing.length === 0 ? "" : joinHtml([
|
|
79
64
|
html `<p class="k-note" data-sign-in-hosts>${missing.length} sign-in ${missing.length === 1 ? "host isn't" : "hosts aren't"} allowed yet · <a class="k-link" href="#network">Add them</a></p>`,
|
|
80
65
|
disclose("Show hosts", html `<p class="k-note k-mono">${missing.join(", ")}</p>`),
|
|
81
66
|
]);
|
|
82
67
|
const changed = access.changed === null ? "" : note(`Changed by ${access.changed.by}, ${new Date(access.changed.at).toLocaleDateString("en-GB", { day: "numeric", month: "short", timeZone: "UTC" })}`);
|
|
83
|
-
// No OS sandbox here, and unconfined running allowed: checks run without a sandbox whatever is saved, and that is
|
|
84
|
-
// what the page says first (never "sandboxed"); the saved level is named under it.
|
|
85
68
|
const unconfinedHere = access.unconfinedHere === true;
|
|
86
69
|
const shown = unconfinedHere ? "unsandboxed" : setting;
|
|
87
70
|
const head = unconfinedHere
|
|
@@ -105,13 +88,11 @@ ${option("unsandboxed", "For projects whose checks create sandboxes themselves,
|
|
|
105
88
|
const confirmOpen = open && unavailable === null
|
|
106
89
|
? html `<label class="k-opt"><input type="checkbox" name="confirm-open" value="yes"><span><b>The network is open</b><span>With sign-ins, checks could send them to any host.</span></span></label>`
|
|
107
90
|
: "";
|
|
108
|
-
// A form that offers a wider level asks for an instance operator's password, typed now (the server decides).
|
|
109
91
|
const form = kitSectionForm({ proof: access.canWiden ? "project-check-access-widen" : "project-check-access", action: "/settings/project/check-access", id: "check-access-form", gate: true, hidden: { repo: view.repo },
|
|
110
92
|
body: joinHtml([formRow("How far checks reach", null, choices, "wide"), confirmOpen,
|
|
111
93
|
note(`${access.canWiden ? "" : "Only an instance operator can widen this. "}Flow script steps always run sandboxed. Tasks already approved keep their level.`)]) });
|
|
112
94
|
return section(joinHtml([head, disclose("Change", form)]));
|
|
113
95
|
}
|
|
114
|
-
/** Network: what the project's builds may reach, said plainly; an approver changes it with their password. */
|
|
115
96
|
function networkHtml(view) {
|
|
116
97
|
const network = view.network;
|
|
117
98
|
if (network === undefined)
|
|
@@ -149,7 +130,6 @@ function fallbackHtml(view) {
|
|
|
149
130
|
note("Tasks scoped from now on use this; tasks already approved keep the chain they were approved with."),
|
|
150
131
|
]) }))]) });
|
|
151
132
|
}
|
|
152
|
-
/** Live view: hidden by default; showing commands takes the password, hiding them is one step. */
|
|
153
133
|
function liveViewHtml(view) {
|
|
154
134
|
const live = view.liveView;
|
|
155
135
|
if (live === undefined)
|
|
@@ -166,7 +146,6 @@ function liveViewHtml(view) {
|
|
|
166
146
|
return settingsSection({ id: "live-view", title: "Live view", state: html `<span data-live-view-setting="${live.commands ? "commands" : "base"}"> · ${live.commands ? "Commands shown" : "Commands hidden"}</span>`,
|
|
167
147
|
lead: said, body: change });
|
|
168
148
|
}
|
|
169
|
-
/** Build access: one sentence for what a build gets, the detail on demand, and the way to change it. */
|
|
170
149
|
function accessHtml(view) {
|
|
171
150
|
const access = view.access;
|
|
172
151
|
if (access === undefined)
|
|
@@ -188,7 +167,6 @@ function accessHtml(view) {
|
|
|
188
167
|
const tools = access.tools.map(one => html `${mono(one.name)} · ${one.words}`);
|
|
189
168
|
return settingsSection({ id: "build-access", title: "Build access", lead: outcome, body: joinHtml([disclose("Details", list([...always, ...tools])), manage]) });
|
|
190
169
|
}
|
|
191
|
-
/** Builds at once: one number, one Save. The worker's cap is said only when it lowers the number. */
|
|
192
170
|
function buildsHtml(view) {
|
|
193
171
|
const b = view.builds;
|
|
194
172
|
if (b === undefined)
|
|
@@ -201,8 +179,6 @@ function buildsHtml(view) {
|
|
|
201
179
|
body: postForm("/settings/project/concurrency", formRow("Builds at once", now, html `${input({ id: "builds-at-once-n", name: "concurrency", type: "number", value: String(b.setting),
|
|
202
180
|
attrs: { min: 1, max: 64, step: 1, inputmode: "numeric", "aria-label": "Builds at once" } })}${btn("Save", { sm: true, type: "submit" })}`, "inline"), { hidden: { repo: view.repo } }) });
|
|
203
181
|
}
|
|
204
|
-
/** The project's page: its name and path, what Toolroll holds for it, its build settings, and (for an instance operator)
|
|
205
|
-
* Remove and Delete. */
|
|
206
182
|
function codeMapHtml(view) {
|
|
207
183
|
const map = view.codeMap;
|
|
208
184
|
if (map === undefined)
|
|
@@ -222,7 +198,9 @@ export function projectSettingsHtml(view, said) {
|
|
|
222
198
|
formRow("Recorded remote", view.remoteUrl ? null : "None. Landed work waits for your review.", view.remoteUrl ? mono(view.remoteUrl) : html ``, view.remoteUrl ? "wide" : "inline"),
|
|
223
199
|
disclose("Change remote", joinHtml([note("An owner or instance operator can run:"), codeLine("toolroll repos add <project> --remote <url>")])),
|
|
224
200
|
]) });
|
|
225
|
-
const
|
|
201
|
+
const advanced = advancedShownNow();
|
|
202
|
+
const settings = joinHtml([buildsHtml(view), accessHtml(view), networkHtml(view), advanced || (view.fallback?.setting ?? null) !== null ? fallbackHtml(view) : "",
|
|
203
|
+
writesHtml(view), sandboxHtml(view), checkAccessHtml(view), advanced || view.liveView?.commands === true ? liveViewHtml(view) : "", advanced ? codeMapHtml(view) : ""]);
|
|
226
204
|
if (!view.canDelete)
|
|
227
205
|
return joinHtml([answer, project, settings, note("An instance operator can remove or delete a project.")]);
|
|
228
206
|
const deleteBody = view.running.length > 0
|
|
@@ -232,7 +210,6 @@ export function projectSettingsHtml(view, said) {
|
|
|
232
210
|
formRow(`Type ${view.name} to continue`, null, input({ id: "delete-name", name: "name", attrs: { autocomplete: "off", autocapitalize: "off", spellcheck: "false", required: true, "aria-label": `Type ${view.name} to continue` } })),
|
|
233
211
|
acts(btn("Continue", { sm: true, type: "submit", variant: "danger" })),
|
|
234
212
|
]), { hidden: { repo: view.repo } })]);
|
|
235
|
-
// Removing is the reversible step: off the lists and the builder, everything kept.
|
|
236
213
|
const leave = settingsSection({ id: "remove", title: "Remove or delete",
|
|
237
214
|
body: joinHtml([
|
|
238
215
|
formRow("Remove from Toolroll", "Its tasks and results stay saved. Add it again to bring it back.", postForm("/projects/remove", btn("Remove from Toolroll", { sm: true, type: "submit" }), { hidden: { repo: view.repo } }), "inline"),
|
|
@@ -240,7 +217,6 @@ export function projectSettingsHtml(view, said) {
|
|
|
240
217
|
]) });
|
|
241
218
|
return joinHtml([answer, project, settings, leave]);
|
|
242
219
|
}
|
|
243
|
-
/** The second step: exactly what goes, and the password. */
|
|
244
220
|
export function projectDeleteConfirmHtml(view, problem) {
|
|
245
221
|
const h = view.holdings;
|
|
246
222
|
const count = (n, one, many = `${one}s`) => `${n} ${n === 1 ? one : many}`;
|
|
@@ -258,7 +234,6 @@ export function projectDeleteConfirmHtml(view, problem) {
|
|
|
258
234
|
body: joinHtml([
|
|
259
235
|
list(items),
|
|
260
236
|
note(html `The repository at ${mono(view.repo)} and its own branches stay. The ledger keeps its history. There's no undo.`),
|
|
261
|
-
// The answer is a page of its own (this page again with a refusal, or the project page), so it posts as a navigation.
|
|
262
237
|
kitSectionForm({ proof: "project-delete", action: "/settings/project/delete", id: "delete-form", native: true, hidden: { repo: view.repo, name: view.name, step: "delete" },
|
|
263
238
|
save: { label: "Delete project", variant: "danger" }, confirm: `Delete ${view.name}`,
|
|
264
239
|
body: acts(btn("Cancel", { sm: true, variant: "ghost", href: `/settings/project?repo=${encodeURIComponent(view.repo)}` })) }),
|
package/dist/project-delete.js
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Deleting a project: everything Toolroll holds for it goes, and
|
|
3
|
-
* nothing else. Its tasks and their versions, runs and their evidence, the
|
|
4
|
-
* checkouts and branches Toolroll made, its chats and threads, flows
|
|
5
|
-
* and cards, subagents, budgets and settings. Never while any of its work is
|
|
6
|
-
* running. The project's own repository, its working copy and every branch
|
|
7
|
-
* Toolroll didn't make stay exactly as they are. The action ledger
|
|
8
|
-
* keeps every entry (its hash chain still verifies) and gains one: who
|
|
9
|
-
* deleted the project and what went.
|
|
10
|
-
*
|
|
11
|
-
* An instance operator does it, with a step-up: Settings → Project (type the
|
|
12
|
-
* project's name, then the password) or `project delete --repo <path> --yes`.
|
|
13
|
-
* There is no undo.
|
|
14
|
-
*/
|
|
15
1
|
import { existsSync, lstatSync, rmSync } from "node:fs";
|
|
16
2
|
import { isAbsolute, relative, resolve } from "node:path";
|
|
17
3
|
import { teardownGit, refusal } from "./teardown-git.js";
|
|
18
4
|
import { BUILT_IN, forgetProjectModels, V149_REPO_TABLES } from "./store.js";
|
|
19
5
|
import { BRANCH_PREFIXES, isOwnBranch } from "./names.js";
|
|
20
|
-
/** The tables whose history is the audit record itself: never touched. */
|
|
21
6
|
const KEPT = new Set(["action_ledger", "ledger_seal", "ledger_checkpoint"]);
|
|
22
7
|
export const OWN_BRANCHES = BRANCH_PREFIXES;
|
|
23
8
|
const list = (db, sql, ...params) => db.prepare(sql).all(...params).map(row => Object.values(row)[0]);
|
|
@@ -25,15 +10,12 @@ const ids = (db, sql, ...params) => list(db, sql, ...params).map(Number);
|
|
|
25
10
|
const json = (values) => JSON.stringify(values);
|
|
26
11
|
const tableExists = (db, name) => db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(name) !== undefined;
|
|
27
12
|
const plural = (count, one, many = `${one}s`) => `${count} ${count === 1 ? one : many}`;
|
|
28
|
-
/** The project's rows, by what everything else hangs off. */
|
|
29
13
|
function doomed(db, repo) {
|
|
30
14
|
const refs = ids(db, "SELECT id FROM task_ref WHERE repo = ?", repo);
|
|
31
|
-
// A built-in task goes when every version of it is this project's.
|
|
32
15
|
const tasks = list(db, `SELECT DISTINCT external_id FROM task_ref WHERE repo = ? AND backend = ?
|
|
33
16
|
AND external_id NOT IN (SELECT external_id FROM task_ref WHERE backend = ? AND (repo IS NULL OR repo <> ?))`, repo, BUILT_IN, BUILT_IN, repo).map(String);
|
|
34
17
|
const runs = ids(db, "SELECT id FROM run WHERE task_ref IN (SELECT value FROM json_each(?))", json(refs));
|
|
35
18
|
const artifacts = ids(db, "SELECT id FROM artifact WHERE run IN (SELECT value FROM json_each(?))", json(runs));
|
|
36
|
-
// A team conversation's thread is the team's, whatever it talked about.
|
|
37
19
|
const threads = ids(db, `SELECT id FROM lead_thread WHERE ((scope_kind = 'project' AND scope_key = ?) OR (scope_kind = 'task' AND scope_key IN (SELECT value FROM json_each(?))))
|
|
38
20
|
AND id NOT IN (SELECT thread FROM team_conversation WHERE thread IS NOT NULL)`, repo, json(tasks));
|
|
39
21
|
const turns = ids(db, "SELECT id FROM mate_turn WHERE thread IN (SELECT value FROM json_each(?))", json(threads));
|
|
@@ -42,22 +24,15 @@ function doomed(db, repo) {
|
|
|
42
24
|
const subagents = ids(db, "SELECT id FROM subagent WHERE repo = ?", repo);
|
|
43
25
|
return { refs, tasks, runs, artifacts, threads, turns, flows, cards, subagents };
|
|
44
26
|
}
|
|
45
|
-
/** A project's settings: one row per thing someone set for it. Its Models rows (phase_config, phase_tier_config,
|
|
46
|
-
* phase_tier_alternate) are settings too, but go only through store.ts forgetProjectModels, which moves their
|
|
47
|
-
* generations and takes the project's results-routing rows with them (MODEL_SETTINGS). */
|
|
48
27
|
const SETTINGS = [
|
|
49
28
|
["approval_policy", "repo"], ["verify_command", "repo"], ["worktree_setup", "repo"], ["backend_grant", "repo"], ["publication_grant", "repo"],
|
|
50
29
|
["intake_grant", "repo"], ["capability", "repo"], ["project_tool", "repo"],
|
|
51
30
|
["learning_policy", "repo"], ["operating_mode", "repo"], ["project_knowledge", "repo"], ["live_detail_setting", "repo"],
|
|
52
31
|
["project_decision", "repo"], ["flow_script", "repo"], ["workflow_recipe", "repo"], ["team_lead_project", "project"],
|
|
53
|
-
// Its fallback agents and, on the same row, its paid fallback grant (fallback.ts).
|
|
54
32
|
["fallback_setting", "repo"],
|
|
55
33
|
];
|
|
56
|
-
/** The project's Models rows, counted with its settings and deleted by forgetProjectModels only. */
|
|
57
34
|
export const MODEL_SETTINGS = Object.freeze([["phase_config", "scope"], ["phase_tier_config", "scope"], ["phase_tier_alternate", "scope"]]);
|
|
58
|
-
/** The project's settings tables, for the deletion test's inventory. */
|
|
59
35
|
export const PROJECT_SETTINGS = Object.freeze(SETTINGS.map(one => [...one]));
|
|
60
|
-
/** What Toolroll holds for a project, counted. */
|
|
61
36
|
export function projectHoldings(store, repo) {
|
|
62
37
|
const db = store.handle;
|
|
63
38
|
const d = doomed(db, repo);
|
|
@@ -72,7 +47,6 @@ export function projectHoldings(store, repo) {
|
|
|
72
47
|
settings: [...SETTINGS, ...MODEL_SETTINGS].filter(([table]) => tableExists(db, table)).reduce((sum, [table, column]) => sum + count(`SELECT COUNT(*) AS n FROM ${table} WHERE ${column} = ?`, repo), 0),
|
|
73
48
|
};
|
|
74
49
|
}
|
|
75
|
-
/** What's in it, in words: "12 tasks, 3 versions, 30 runs, …". Empty kinds are left out. */
|
|
76
50
|
export function holdingsWords(held) {
|
|
77
51
|
const parts = [
|
|
78
52
|
plural(held.tasks, "task"), ...(held.versions > 0 ? [plural(held.versions, "version")] : []), plural(held.runs, "run"),
|
|
@@ -83,7 +57,6 @@ export function holdingsWords(held) {
|
|
|
83
57
|
];
|
|
84
58
|
return parts.join(", ");
|
|
85
59
|
}
|
|
86
|
-
/** The project's work that is running right now, in words; empty when none is. */
|
|
87
60
|
export function projectRunning(store, repo, now) {
|
|
88
61
|
const db = store.handle;
|
|
89
62
|
const d = doomed(db, repo);
|
|
@@ -95,7 +68,6 @@ export function projectRunning(store, repo, now) {
|
|
|
95
68
|
const steps = count("SELECT COUNT(*) AS n FROM flow_step_run WHERE state = 'running' AND card IN (SELECT value FROM json_each(?))", json(d.cards));
|
|
96
69
|
const calls = count("SELECT COUNT(*) AS n FROM subagent_call WHERE state = 'running' AND subagent IN (SELECT value FROM json_each(?))", json(d.subagents));
|
|
97
70
|
const merges = count(`SELECT COUNT(*) AS n FROM merge_intent WHERE state IN ('claimed','firing') AND publication IN (SELECT id FROM publication WHERE task_ref IN (SELECT value FROM json_each(?)))`, json(d.refs))
|
|
98
|
-
// A person's merge between its last check and GitHub's answer (v145); a row older than 15 minutes is a crash.
|
|
99
71
|
+ count("SELECT COUNT(*) AS n FROM merge_in_flight WHERE at > ? AND task_ref IN (SELECT value FROM json_each(?))", new Date(now.getTime() - 15 * 60_000).toISOString(), json(d.refs));
|
|
100
72
|
const checkouts = count("SELECT COUNT(*) AS n FROM worktree WHERE repo = ? AND runner IS NOT NULL AND released_at IS NULL", repo);
|
|
101
73
|
return [
|
|
@@ -108,15 +80,7 @@ export function projectRunning(store, repo, now) {
|
|
|
108
80
|
...(checkouts > 0 && building === 0 ? [`${plural(checkouts, "checkout")} ${checkouts === 1 ? "is" : "are"} in use`] : []),
|
|
109
81
|
];
|
|
110
82
|
}
|
|
111
|
-
/** Whether `path` is inside `root` (not the root itself). */
|
|
112
83
|
const inside = (root, path) => { const rel = relative(resolve(root), resolve(path)); return rel !== "" && !rel.startsWith("..") && !isAbsolute(rel); };
|
|
113
|
-
/**
|
|
114
|
-
* Remove the checkouts and branches Toolroll made for the project: only
|
|
115
|
-
* branches named toolroll/… or standing-orders/… that its tasks, runs, checkouts, races or
|
|
116
|
-
* pull requests used, and only checkouts of those branches or ones it
|
|
117
|
-
* recorded. Git itself refuses to delete a branch that is checked out
|
|
118
|
-
* somewhere; that one stays and is said. Nothing else in the repository moves.
|
|
119
|
-
*/
|
|
120
84
|
async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
121
85
|
const db = store.handle;
|
|
122
86
|
const recorded = db.prepare("SELECT path, branch FROM worktree WHERE repo = ?").all(repo).map(row => ({ path: String(row["path"]), branch: String(row["branch"]) }));
|
|
@@ -133,7 +97,6 @@ async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
|
133
97
|
return { checkouts, branches, left: [refusal(probe)] };
|
|
134
98
|
const isRepo = probe?.code === 0;
|
|
135
99
|
if (!isRepo) {
|
|
136
|
-
// No repository to ask: only checkouts in Toolroll's own folder go.
|
|
137
100
|
for (const row of recorded) {
|
|
138
101
|
if (poolRoot === null || !inside(poolRoot, row.path) || !existsSync(row.path))
|
|
139
102
|
continue;
|
|
@@ -142,7 +105,6 @@ async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
|
142
105
|
}
|
|
143
106
|
return { checkouts, branches, left };
|
|
144
107
|
}
|
|
145
|
-
// Every checkout of one of our branches, and every one we recorded, wherever git has it.
|
|
146
108
|
const listed = await git(["worktree", "list", "--porcelain"], repo);
|
|
147
109
|
const trees = [];
|
|
148
110
|
if (listed.code === 0) {
|
|
@@ -158,8 +120,6 @@ async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
|
158
120
|
}
|
|
159
121
|
const main = trees[0]?.path ?? null;
|
|
160
122
|
const targets = new Set();
|
|
161
|
-
// A checkout goes only while it's on one of our branches, or on no branch at all (a detached checkout Toolroll
|
|
162
|
-
// made). One we recorded that someone has since switched to a branch of their own is theirs now: it stays, and is said.
|
|
163
123
|
for (const tree of trees.slice(1)) {
|
|
164
124
|
const recordedHere = recorded.some(row => resolve(row.path) === resolve(tree.path));
|
|
165
125
|
if (tree.branch !== null && ours.has(tree.branch))
|
|
@@ -178,11 +138,9 @@ async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
|
178
138
|
else
|
|
179
139
|
left.push(`checkout ${path}: ${gone.stderr.trim().split("\n")[0] ?? "git refused"}`);
|
|
180
140
|
}
|
|
181
|
-
// A recorded checkout git no longer knows, still on disk in our folder.
|
|
182
141
|
for (const row of recorded) {
|
|
183
142
|
if (targets.has(row.path) || poolRoot === null || !inside(poolRoot, row.path) || !existsSync(row.path))
|
|
184
143
|
continue;
|
|
185
|
-
// Only one git has forgotten: a checkout git still lists was either removed above or left alone on purpose.
|
|
186
144
|
if (trees.some(tree => resolve(tree.path) === resolve(row.path)))
|
|
187
145
|
continue;
|
|
188
146
|
rmSync(row.path, { recursive: true, force: true });
|
|
@@ -201,7 +159,6 @@ async function removeCheckoutsAndBranches(store, repo, d, git, poolRoot) {
|
|
|
201
159
|
}
|
|
202
160
|
return { checkouts, branches, left };
|
|
203
161
|
}
|
|
204
|
-
/** Delete the project's rows in one transaction; returns how many rows went. */
|
|
205
162
|
function deleteRows(store, repo, d, now) {
|
|
206
163
|
const db = store.handle;
|
|
207
164
|
let rows = 0;
|
|
@@ -217,14 +174,10 @@ function deleteRows(store, repo, d, now) {
|
|
|
217
174
|
const notifications = json(ids(db, `SELECT id FROM notification WHERE project = ? OR ${IN("task_ref")} OR ${IN("source_run")}`, repo, T, R));
|
|
218
175
|
const questions = json(ids(db, `SELECT id FROM subagent_question WHERE ${IN("subagent")} OR ${IN("card")}`, M, C));
|
|
219
176
|
const proposals = json(ids(db, `SELECT id FROM lead_proposal WHERE ${IN("thread")}`, H));
|
|
220
|
-
// A chat message about one of the project's tasks (its turn named it), with its reply. Event ids are text ('m123'),
|
|
221
|
-
// and the same id can be another app's: each is kept whole, as provider:id.
|
|
222
177
|
const conversations = json(list(db, `SELECT provider || ':' || id FROM chat_event WHERE kind = 'message' AND json_extract(payload, '$.about.task') IN (SELECT value FROM json_each(?))`, K));
|
|
223
|
-
// Every app's planned parts about the project's work: a result screenshot, or a message naming one of its tasks or runs.
|
|
224
178
|
const parts = `SELECT provider || ':' || id FROM chat_part WHERE provider || ':' || event IN (SELECT value FROM json_each(?))
|
|
225
179
|
OR json_extract(payload, '$.image.taskId') IN (SELECT value FROM json_each(?)) OR json_extract(payload, '$.image.run') IN (SELECT value FROM json_each(?))`;
|
|
226
180
|
const doomedParts = `provider || ':' || part IN (${parts})`;
|
|
227
|
-
// Chats about the project's work, on every app.
|
|
228
181
|
del("chat_progress", IN("run"), R);
|
|
229
182
|
del("chat_action", `${IN("proposal")} OR ${IN("decision")} OR ${doomedParts}`, proposals, decisions, conversations, K, R);
|
|
230
183
|
del("chat_flow_action", `${IN("card")} OR ${doomedParts}`, C, conversations, K, R);
|
|
@@ -239,13 +192,9 @@ function deleteRows(store, repo, d, now) {
|
|
|
239
192
|
del("chat_decide_action", IN("task_id"), K);
|
|
240
193
|
del("chat_decide_prompt", IN("task_id"), K);
|
|
241
194
|
del("chat_message_ref", `${IN("decision")} OR ${IN("task_id")} OR ${IN("run")} OR project = ? OR ${IN("notification")} OR ${IN("task_ref")}`, decisions, K, R, repo, notifications, T);
|
|
242
|
-
// A typed yes to a Start card (one-step-chat.md C5). Its record goes with its message. Where the message stays (it
|
|
243
|
-
// named no task of this project) but the card's proposal goes, the record is settled instead and forgets the task: a
|
|
244
|
-
// yes still waiting is then answered by Toolroll as one that started nothing, never handed to the lead.
|
|
245
195
|
del("chat_typed_start", `provider || ':' || event IN (SELECT value FROM json_each(?))`, conversations);
|
|
246
196
|
if (tableExists(db, "chat_typed_start")) {
|
|
247
197
|
db.prepare(`UPDATE chat_typed_start SET outcome = 'not-counted', task_id = NULL, finished = COALESCE(finished, ?) WHERE ${IN("proposal")}`).run(now.toISOString(), proposals);
|
|
248
|
-
// A yes that started one of this project's tasks, said in a message that stays: the record forgets the task.
|
|
249
198
|
db.prepare(`UPDATE chat_typed_start SET task_id = NULL WHERE ${IN("task_id")}`).run(K);
|
|
250
199
|
}
|
|
251
200
|
del("chat_part", `provider || ':' || id IN (${parts})`, conversations, K, R);
|
|
@@ -267,7 +216,6 @@ function deleteRows(store, repo, d, now) {
|
|
|
267
216
|
del("lead_proposal", IN("id"), proposals);
|
|
268
217
|
del("lead_message", IN("thread"), H);
|
|
269
218
|
del("lead_thread", IN("id"), H);
|
|
270
|
-
// Runs and their evidence.
|
|
271
219
|
del("run_decision", `${IN("run")} OR ${IN("decision")}`, R, decisions);
|
|
272
220
|
del("decision_artifact", `${IN("decision")} OR ${IN("artifact")}`, decisions, A);
|
|
273
221
|
del("decision", IN("id"), decisions);
|
|
@@ -275,7 +223,6 @@ function deleteRows(store, repo, d, now) {
|
|
|
275
223
|
del("diff_comment", `${IN("run")} OR ${IN("reviewer_run")} OR ${IN("artifact")}`, R, R, A);
|
|
276
224
|
del("review_request", `${IN("run")} OR ${IN("reviewer_run")}`, R, R);
|
|
277
225
|
del("repair_chain", IN("source_run"), R);
|
|
278
|
-
// What happens to a result after its agent finishes (fleet-schema.ts): a project's own rows, answers first.
|
|
279
226
|
del("finding_answer", "finding IN (SELECT id FROM finding WHERE repo = ?)", repo);
|
|
280
227
|
for (const table of ["finding", "check_repair", "evidence_pair", "failing_first", "provider_capture"])
|
|
281
228
|
del(table, "repo = ?", repo);
|
|
@@ -296,7 +243,6 @@ function deleteRows(store, repo, d, now) {
|
|
|
296
243
|
del("deploy_in_flight", IN("task_ref"), T);
|
|
297
244
|
del("publication", IN("id"), publications);
|
|
298
245
|
del("artifact", IN("id"), A);
|
|
299
|
-
// Tasks and their versions.
|
|
300
246
|
del("run", IN("id"), R);
|
|
301
247
|
del("plan_revision", IN("task_ref"), T);
|
|
302
248
|
for (const table of ["claim", "hold", "task_steer"])
|
|
@@ -316,7 +262,6 @@ function deleteRows(store, repo, d, now) {
|
|
|
316
262
|
del("task_scope", IN("task_id"), K);
|
|
317
263
|
del("task_edge", `${IN("blocked")} OR ${IN("blocker")}`, K, K);
|
|
318
264
|
del("task", IN("id"), K);
|
|
319
|
-
// Flows, cards and subagents.
|
|
320
265
|
del("flow_trigger_event", `${IN("card")} OR trigger IN (SELECT id FROM flow_trigger WHERE ${IN("flow")})`, C, F);
|
|
321
266
|
del("flow_trigger", IN("flow"), F);
|
|
322
267
|
del("flow_unattended_run", `grant_id IN (SELECT id FROM flow_unattended_grant WHERE ${IN("flow")})`, F);
|
|
@@ -333,35 +278,24 @@ function deleteRows(store, repo, d, now) {
|
|
|
333
278
|
del("subagent", IN("id"), M);
|
|
334
279
|
del("flow_card", IN("id"), C);
|
|
335
280
|
del("flow", IN("id"), F);
|
|
336
|
-
// Settings, knowledge and the project itself.
|
|
337
281
|
del("operating_mode_event", "mode IN (SELECT id FROM operating_mode WHERE repo = ?)", repo);
|
|
338
282
|
del("decision_change", "decision IN (SELECT id FROM project_decision WHERE repo = ?)", repo);
|
|
339
|
-
// Its learning-loops rows (v149), by repo; a check's results, a note's tallies and a merge of its decisions go with
|
|
340
|
-
// the rows they hang off (the deleted runs, notes and decisions), below.
|
|
341
283
|
for (const table of V149_REPO_TABLES)
|
|
342
284
|
del(table, "repo = ?", repo);
|
|
343
|
-
// Its code map: the pointer before the versions it names.
|
|
344
285
|
del("code_map_current", "repo = ?", repo);
|
|
345
286
|
for (const table of ["code_map_version", "code_map_refresh", "code_map_family"])
|
|
346
287
|
del(table, "repo = ?", repo);
|
|
347
288
|
del("memory_sighting", "gap IN (SELECT id FROM memory_gap WHERE repo = ?) OR session IN (SELECT id FROM memory_session WHERE repo = ?)", repo, repo);
|
|
348
289
|
for (const [table, column] of SETTINGS)
|
|
349
290
|
del(table, `${column} = ?`, repo);
|
|
350
|
-
// Its Models rows and results-routing rows: through the Models counter, so whatever depended on them pauses.
|
|
351
291
|
rows += forgetProjectModels(store, repo, now);
|
|
352
292
|
del("project_mute", "repo = ?", repo);
|
|
353
293
|
for (const table of ["knowledge_change", "project_identity_carry", "project_skill_change", "memory_gap", "memory_proposal", "memory_rejection", "memory_session", "memory_search", "mode_rail", "side_spend", "watch_episode", "worktree", "coordinator_proposal", "lead_commitment"])
|
|
354
294
|
del(table, "repo = ?", repo);
|
|
355
|
-
// A builder watching the project keeps its lease until it stops; an ended one goes.
|
|
356
295
|
del("watch_lease", "repo = ? AND expires_at <= ?", repo, now.toISOString());
|
|
357
296
|
del("project", "path = ?", repo);
|
|
358
297
|
return rows;
|
|
359
298
|
}
|
|
360
|
-
/**
|
|
361
|
-
* Delete the project. Refuses while any of its work is running (checked
|
|
362
|
-
* again inside the deletion). Its tasks are held first so nothing new
|
|
363
|
-
* starts while the checkouts and branches go.
|
|
364
|
-
*/
|
|
365
299
|
export async function deleteProject(store, repo, options) {
|
|
366
300
|
const hardened = teardownGit(options.runner ?? (options.git === undefined ? undefined :
|
|
367
301
|
(_file, args, execOptions) => options.git(args, execOptions.cwd)));
|
|
@@ -372,7 +306,6 @@ export async function deleteProject(store, repo, options) {
|
|
|
372
306
|
const db = store.handle;
|
|
373
307
|
const held = projectHoldings(store, repo);
|
|
374
308
|
let d = doomed(db, repo);
|
|
375
|
-
// Nothing new starts while the checkouts go.
|
|
376
309
|
store.transact(() => {
|
|
377
310
|
for (const ref of d.refs) {
|
|
378
311
|
db.prepare(`INSERT INTO hold (task_ref, owner_kind, owner_id, reason, until, held_at) VALUES (?, 'operator', ?, 'Its project is being deleted', NULL, ?)
|
|
@@ -395,18 +328,14 @@ export async function deleteProject(store, repo, options) {
|
|
|
395
328
|
if (again.length > 0)
|
|
396
329
|
throw new RunningError(again);
|
|
397
330
|
d = doomed(db, repo);
|
|
398
|
-
// Checked when the deletion commits, so the order of the deletes doesn't matter; what's left dangling is below.
|
|
399
331
|
db.exec("PRAGMA defer_foreign_keys = ON");
|
|
400
332
|
const before = new Set(db.prepare("PRAGMA foreign_key_check").all().map(row => `${String(row["table"])}:${String(row["rowid"])}`));
|
|
401
|
-
// History tables refuse deletes; the project's own history goes with it, and their guards come straight back.
|
|
402
333
|
const guards = db.prepare(`SELECT name, sql FROM sqlite_master WHERE type = 'trigger' AND sql LIKE '%RAISE(ABORT%' AND sql NOT LIKE '%AFTER%'`).all()
|
|
403
334
|
.map(row => ({ name: String(row["name"]), sql: String(row["sql"]) }))
|
|
404
335
|
.filter(one => ![...KEPT].some(table => new RegExp(`\\bON\\s+${table}\\b`, "i").test(one.sql)));
|
|
405
336
|
for (const guard of guards)
|
|
406
337
|
db.exec(`DROP TRIGGER "${guard.name}"`);
|
|
407
338
|
rows = deleteRows(store, repo, d, options.now);
|
|
408
|
-
// Anything else that pointed at the project's rows: a pointer that may be empty is emptied (another project's
|
|
409
|
-
// row keeps everything else); a row that can't exist without it goes too. Never the ledger.
|
|
410
339
|
for (let pass = 0; pass < 8; pass++) {
|
|
411
340
|
const dangling = db.prepare("PRAGMA foreign_key_check").all()
|
|
412
341
|
.filter(row => !before.has(`${String(row["table"])}:${String(row["rowid"])}`) && row["rowid"] != null && !KEPT.has(String(row["table"])));
|
|
@@ -431,7 +360,6 @@ export async function deleteProject(store, repo, options) {
|
|
|
431
360
|
return { ok: false, reason: "running", said: `Nothing was deleted: ${error.running.join(", ")}. Stop it, then try again.`, running: error.running };
|
|
432
361
|
return { ok: false, reason: "failed", said: `Nothing was deleted from the database: ${error instanceof Error ? error.message : String(error)}.` };
|
|
433
362
|
}
|
|
434
|
-
// The runs' evidence files, each in its own folder named for the run.
|
|
435
363
|
if (options.evidenceRoot !== null) {
|
|
436
364
|
for (const runId of d.runs) {
|
|
437
365
|
const folder = resolve(options.evidenceRoot, String(runId));
|
|
@@ -439,7 +367,7 @@ export async function deleteProject(store, repo, options) {
|
|
|
439
367
|
if (lstatSync(folder).isDirectory() && inside(options.evidenceRoot, folder))
|
|
440
368
|
rmSync(folder, { recursive: true, force: true });
|
|
441
369
|
}
|
|
442
|
-
catch {
|
|
370
|
+
catch { }
|
|
443
371
|
}
|
|
444
372
|
}
|
|
445
373
|
return { ok: true, repo, removed: { ...held, checkouts: Math.max(held.checkouts, git_.checkouts), branches: git_.branches, rows }, left: git_.left, ledgerId };
|
package/dist/project-demo.js
CHANGED
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A project's own demo or dev server (review 827): the one address a scout
|
|
3
|
-
* may reach that is not on the public internet, so it can take screenshots
|
|
4
|
-
* of the project's UI. An approver sets it with
|
|
5
|
-
* `toolroll project demo --repo <p> <url>|off`; it is kept in a small file
|
|
6
|
-
* beside the database, like a project's builds-at-once number, and recorded
|
|
7
|
-
* in the ledger as before → after. A project without one has none.
|
|
8
|
-
*/
|
|
9
1
|
import { lstatSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
10
2
|
import { randomBytes } from "node:crypto";
|
|
11
3
|
import { dirname, join } from "node:path";
|
|
12
4
|
export const projectDemoPath = (databaseFile) => join(dirname(databaseFile), "project-demo.json");
|
|
13
|
-
/** A demo URL as typed: an http(s) address with no sign-in details, at most 500 characters, or null. */
|
|
14
5
|
export function parseDemoUrl(value) {
|
|
15
6
|
const typed = value.trim();
|
|
16
7
|
if (typed === "" || typed.length > 500)
|
|
@@ -27,7 +18,6 @@ export function parseDemoUrl(value) {
|
|
|
27
18
|
return null;
|
|
28
19
|
}
|
|
29
20
|
}
|
|
30
|
-
/** Every saved demo URL, by canonical project path. An unreadable file reads as none saved. */
|
|
31
21
|
export function savedProjectDemos(databaseFile) {
|
|
32
22
|
const saved = new Map();
|
|
33
23
|
const file = projectDemoPath(databaseFile);
|
|
@@ -46,15 +36,12 @@ export function savedProjectDemos(databaseFile) {
|
|
|
46
36
|
}
|
|
47
37
|
}
|
|
48
38
|
catch {
|
|
49
|
-
// A damaged file never stops a scout: it simply has no demo to open.
|
|
50
39
|
}
|
|
51
40
|
return saved;
|
|
52
41
|
}
|
|
53
|
-
/** The project's demo URL, or null when it has none. */
|
|
54
42
|
export function projectDemoUrl(databaseFile, repo) {
|
|
55
43
|
return savedProjectDemos(databaseFile).get(repo) ?? null;
|
|
56
44
|
}
|
|
57
|
-
/** Save (or, with null, clear) one project's demo URL atomically; returns it before and after. */
|
|
58
45
|
export function saveProjectDemo(databaseFile, repo, url) {
|
|
59
46
|
const saved = savedProjectDemos(databaseFile);
|
|
60
47
|
const before = saved.get(repo) ?? null;
|
package/dist/project-file.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { realpathSync, statSync } from "node:fs";
|
|
2
2
|
import { isAbsolute, join, relative } from "node:path";
|
|
3
|
-
/** A project file a script names, if it is one: inside the project, and there. Kept free of the runner's imports so a
|
|
4
|
-
* flow's "runs on its own" grant (flow-unattended.ts) resolves the very file a script would run. */
|
|
5
3
|
export function projectFile(root, path) {
|
|
6
4
|
if (path === "" || isAbsolute(path) || path.split(/[\\/]/).includes(".."))
|
|
7
5
|
return null;
|
package/dist/project-identity.js
CHANGED
|
@@ -1,45 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project identities as the console uses them, without touching a person's folders on its thread.
|
|
3
|
-
*
|
|
4
|
-
* A project's identity is its real path (project.ts canonicalProject). Resolving one reads the folder, and a folder can
|
|
5
|
-
* stop answering (folder-look.ts), so the console never resolves one on a page or at startup on its own thread, and
|
|
6
|
-
* never waits for one before it answers:
|
|
7
|
-
*
|
|
8
|
-
* - `hot` (display and grouping only): the last answer, else the path as saved. Nothing is started by asking.
|
|
9
|
-
* - `strict` (visibility and authorization): only a resolved identity; an unknown one fails closed until the next
|
|
10
|
-
* refresh resolves it, so a stored path that leads outside its root never passes on its spelling.
|
|
11
|
-
* - `vouched` (a path a request names): only a path whose identity is known, or one that is exactly a saved identity.
|
|
12
|
-
* Anything else is refused this time and resolved by the next background pass, never resolved inline.
|
|
13
|
-
* - `resolveNow` (an action that needs a path checked now, a POST): resolved off the thread under the look's deadline.
|
|
14
|
-
* - `refresh` (the console's background pass, the first started right after it listens): resolves what was asked about
|
|
15
|
-
* and what has gone stale. The console answers before any of it does; until a path answers it fails closed.
|
|
16
|
-
*
|
|
17
|
-
* An embedder or test that passes no identities gets `syncProjectIdentities`: the old synchronous reads, unchanged.
|
|
18
|
-
*/
|
|
19
1
|
import { resolve } from "node:path";
|
|
20
2
|
import { insideFolder } from "./folder-gate.js";
|
|
21
3
|
import { lookIdentities } from "./folder-look.js";
|
|
22
4
|
import { canonicalProject } from "./project.js";
|
|
23
|
-
/** How long an answer stands before the background pass resolves the path again. */
|
|
24
5
|
const STALE_MS = 60_000;
|
|
25
|
-
/** How long an answer vouches that its folder answers, for `answering`: past it (the background pass every 30 s
|
|
26
|
-
* renews it each minute), a synchronous read waits for the next look. */
|
|
27
6
|
const ANSWERING_MS = 3 * STALE_MS;
|
|
28
|
-
/** How many folders a pass looks at side by side when they're looked at one by one (within FOLDER_LOOK_CHILDREN). */
|
|
29
7
|
export const IDENTITY_LOOKS = 4;
|
|
30
8
|
export function projectIdentities(look = {}, now = Date.now) {
|
|
31
|
-
/** Each answer with when the look that answered it started (folder-look.ts `started`, kept across joined looks): an
|
|
32
|
-
* answer from a look started earlier never overwrites one from a look started later. */
|
|
33
9
|
const answers = new Map();
|
|
34
10
|
const wanted = new Set();
|
|
35
|
-
/** Paths whose last look didn't answer: looked at only on their own (joining a look still under way), never in a
|
|
36
|
-
* batch, so one folder that never answers holds one child, not one per differently made-up batch. */
|
|
37
11
|
const suspect = new Set();
|
|
38
12
|
let generation = 0;
|
|
39
13
|
const known = (path) => answers.get(resolve(path))?.real;
|
|
40
14
|
const put = (key, real, at, seq) => {
|
|
41
15
|
const before = answers.get(key);
|
|
42
|
-
// A known identity that changes (or goes) moves authority: anything decided on the old one is out of date.
|
|
43
16
|
if (before !== undefined && before.real !== real)
|
|
44
17
|
generation++;
|
|
45
18
|
answers.set(key, { real, at, seq });
|
|
@@ -48,12 +21,10 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
48
21
|
const at = now();
|
|
49
22
|
for (const [path, real] of found) {
|
|
50
23
|
const key = resolve(path);
|
|
51
|
-
// Superseded: a later lookup already answered for this path. Its real path's entry goes with it.
|
|
52
24
|
if ((answers.get(key)?.seq ?? -1) > seq)
|
|
53
25
|
continue;
|
|
54
26
|
put(key, real, at, seq);
|
|
55
27
|
wanted.delete(key);
|
|
56
|
-
// A real path is its own identity.
|
|
57
28
|
if (real !== null && (answers.get(real)?.seq ?? -1) <= seq)
|
|
58
29
|
put(real, real, at, seq);
|
|
59
30
|
}
|
|
@@ -66,7 +37,6 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
66
37
|
return "no-answer";
|
|
67
38
|
}
|
|
68
39
|
suspect.delete(key);
|
|
69
|
-
// No start known: older than every answer, so it only fills what nothing answered yet.
|
|
70
40
|
store(looked.value, looked.started ?? 0);
|
|
71
41
|
return answers.get(key)?.real ?? null;
|
|
72
42
|
};
|
|
@@ -93,8 +63,6 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
93
63
|
else
|
|
94
64
|
alone.push(...batched);
|
|
95
65
|
}
|
|
96
|
-
// One folder that doesn't answer mustn't hold the others: each on its own, a few at a time (inside the looks'
|
|
97
|
-
// child cap, leaving room for a person's actions), each under its deadline, each stored as soon as it answers.
|
|
98
66
|
let missed = false;
|
|
99
67
|
const worker = async () => {
|
|
100
68
|
for (let one = alone.shift(); one !== undefined; one = alone.shift())
|
|
@@ -135,7 +103,6 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
135
103
|
resolveNow,
|
|
136
104
|
generation: () => generation,
|
|
137
105
|
refresh: paths => {
|
|
138
|
-
// One pass at a time: a pass asked for while another runs waits for it, then resolves only what is still due.
|
|
139
106
|
const asked = [...paths];
|
|
140
107
|
const pass = passes.then(() => refreshNow(asked));
|
|
141
108
|
passes = pass.then(() => undefined, () => undefined);
|
|
@@ -144,8 +111,6 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
144
111
|
answering: path => {
|
|
145
112
|
const when = now();
|
|
146
113
|
const recent = (at) => when - at < ANSWERING_MS;
|
|
147
|
-
// Decided on real paths only. First the spelling: a path under an answered spelling (the longest) is read where
|
|
148
|
-
// that answer says it leads, and only while that answer is recent, since a link can be pointed elsewhere.
|
|
149
114
|
let real = resolve(path);
|
|
150
115
|
let spelled = null;
|
|
151
116
|
for (const [key, answer] of answers) {
|
|
@@ -157,11 +122,9 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
157
122
|
return false;
|
|
158
123
|
real = resolve(spelled.real, `.${real.slice(spelled.key.length)}`);
|
|
159
124
|
}
|
|
160
|
-
// A folder whose last look didn't answer holds back every read inside where it leads, whatever older answer stands.
|
|
161
125
|
for (const key of suspect)
|
|
162
126
|
if (insideFolder(real, answers.get(key)?.real ?? key))
|
|
163
127
|
return false;
|
|
164
|
-
// Otherwise the nearest real folder an answer names decides, by its newest answer; "/" vouches for nothing below it.
|
|
165
128
|
let nearest = null;
|
|
166
129
|
for (const answer of answers.values()) {
|
|
167
130
|
const folder = answer.real;
|
|
@@ -174,7 +137,6 @@ export function projectIdentities(look = {}, now = Date.now) {
|
|
|
174
137
|
},
|
|
175
138
|
};
|
|
176
139
|
}
|
|
177
|
-
/** The synchronous reads, as before: for embedders and tests that pass no identities. */
|
|
178
140
|
export function syncProjectIdentities() {
|
|
179
141
|
return {
|
|
180
142
|
hot: path => canonicalProject(path) ?? path,
|
|
@@ -187,9 +149,6 @@ export function syncProjectIdentities() {
|
|
|
187
149
|
answering: () => true,
|
|
188
150
|
};
|
|
189
151
|
}
|
|
190
|
-
/** The console's folder gate (folder-gate.ts): its own data folders (the database's, evidence, build checkouts) are read
|
|
191
|
-
* freely when the console names them; a path read from a file a build can write (`pointer`), and anything else, only
|
|
192
|
-
* while `answering` vouches for where it leads. */
|
|
193
152
|
export function consoleFolderGate(identities, own) {
|
|
194
153
|
const folders = [...new Set(own.filter((one) => typeof one === "string" && one !== "").map(one => resolve(one)))];
|
|
195
154
|
return (path, pointer) => (!pointer && folders.some(folder => insideFolder(path, folder))) || identities.answering(path);
|