toolroll 0.9.104 → 0.9.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +62 -5
- package/README.md +18 -20
- package/dist/accent-colors.js +0 -29
- package/dist/acp-agents.js +0 -3
- package/dist/acp-attest.js +0 -30
- package/dist/acp-check.js +3 -70
- package/dist/acp-client.js +3 -94
- package/dist/acp-inspect.js +1 -20
- package/dist/action-ledger.js +0 -8
- package/dist/activity-line.js +0 -14
- package/dist/actor.js +0 -15
- package/dist/advanced-schema.js +12 -0
- package/dist/advanced-view.js +26 -0
- package/dist/advanced.js +61 -0
- package/dist/agent-board.js +0 -117
- package/dist/agent-fence.js +11 -367
- package/dist/agent-onboard.js +12 -50
- package/dist/agent-pulse.js +5 -38
- package/dist/agent-state-words.js +0 -8
- package/dist/agent-state.js +1 -45
- package/dist/agent-turns.js +3 -17
- package/dist/agentconfig.js +1 -99
- package/dist/agents-board.js +0 -60
- package/dist/agents-live.js +1 -8
- package/dist/api-tokens.js +0 -27
- package/dist/approval-authority.js +0 -59
- package/dist/approval-password.js +0 -10
- package/dist/approval-policy.js +0 -29
- package/dist/approval-rules-ui.js +0 -9
- package/dist/assignment-adapters.js +0 -14
- package/dist/assignment-brief.js +1 -17
- package/dist/assignment-delivery.js +0 -22
- package/dist/assignment-presentation.js +0 -14
- package/dist/assignment-status.js +1 -30
- package/dist/assignment-ui.js +0 -12
- package/dist/assignment.js +17 -139
- package/dist/attest.js +0 -38
- package/dist/audit-cli.js +0 -9
- package/dist/backend.js +0 -59
- package/dist/backup-ui.js +0 -12
- package/dist/backup.js +8 -61
- package/dist/batch-checks.js +0 -20
- package/dist/batch-policy.js +0 -4
- package/dist/beads.js +0 -48
- package/dist/bin.js +0 -8
- package/dist/board.js +1 -36
- package/dist/boot-identity.js +0 -42
- package/dist/bounded-spawn.js +4 -28
- package/dist/brand-mark.js +0 -21
- package/dist/brief-fence.js +0 -16
- package/dist/browser/terminal.css +1 -1
- package/dist/browser/terminal.js +16 -16
- package/dist/browser/workspace.css +2 -2
- package/dist/browser/workspace.js +26 -26
- package/dist/browser-crew.js +0 -8
- package/dist/browser-shell.js +2 -15
- package/dist/browser-workspace.js +6 -30
- package/dist/budget-alerts.js +1 -4
- package/dist/build-review.js +2 -50
- package/dist/builder-restart.js +0 -13
- package/dist/builder.js +21 -1035
- package/dist/canonical-json.js +0 -12
- package/dist/capscan.js +1 -32
- package/dist/card-catalog.js +0 -12
- package/dist/card-cli.js +0 -1
- package/dist/card-render.js +0 -25
- package/dist/card-sources.js +0 -10
- package/dist/chat-acceptance.js +0 -7
- package/dist/chat-actions.js +5 -190
- package/dist/chat-admission.js +0 -7
- package/dist/chat-approval.js +0 -25
- package/dist/chat-ask.js +0 -17
- package/dist/chat-card-part.js +0 -3
- package/dist/chat-card.js +0 -6
- package/dist/chat-channel.js +2 -83
- package/dist/chat-continuity.js +0 -31
- package/dist/chat-controls.js +0 -7
- package/dist/chat-core.js +0 -55
- package/dist/chat-decide.js +2 -153
- package/dist/chat-delivery-state.js +0 -49
- package/dist/chat-delivery.js +2 -143
- package/dist/chat-display.js +0 -2
- package/dist/chat-evidence.js +0 -65
- package/dist/chat-flow.js +0 -72
- package/dist/chat-follow.js +0 -13
- package/dist/chat-inbox.js +0 -34
- package/dist/chat-live-schema.js +0 -14
- package/dist/chat-live.js +2 -87
- package/dist/chat-message-states.js +13 -40
- package/dist/chat-messages.js +0 -153
- package/dist/chat-migration.js +0 -57
- package/dist/chat-polish.js +0 -7
- package/dist/chat-quiet.js +0 -37
- package/dist/chat-review.js +0 -4
- package/dist/chat-rooms.js +0 -22
- package/dist/chat-settings-page.js +0 -4
- package/dist/chat-task-actions.js +0 -7
- package/dist/chat-terms.js +0 -21
- package/dist/chat-voice.js +0 -38
- package/dist/chat-warmth.js +1 -3
- package/dist/check-access.js +0 -30
- package/dist/check-facts.js +2 -62
- package/dist/check-failure.js +0 -98
- package/dist/check-levels-ui.js +4 -10
- package/dist/check-levels.js +3 -35
- package/dist/check-load.js +1 -49
- package/dist/check-only-standing.js +0 -6
- package/dist/check-only.js +0 -22
- package/dist/check-progress.js +0 -32
- package/dist/check-repair.js +2 -35
- package/dist/check-report.js +1 -108
- package/dist/check-stamp.js +0 -20
- package/dist/checkout-cleanup.js +0 -84
- package/dist/checkout-proof.js +1 -13
- package/dist/child-database.js +0 -3
- package/dist/claim.js +4 -508
- package/dist/claude-print.js +0 -10
- package/dist/cli-fast.js +0 -8
- package/dist/cli-help.js +90 -78
- package/dist/cli-http.js +0 -10
- package/dist/cli.js +26 -241
- package/dist/code-extract.js +0 -6
- package/dist/code-map-acts.js +0 -7
- package/dist/code-map-admission.js +2 -26
- package/dist/code-map-build.js +3 -24
- package/dist/code-map-cli.js +0 -4
- package/dist/code-map-main.js +0 -6
- package/dist/code-map-read.js +0 -12
- package/dist/code-map-report.js +0 -9
- package/dist/code-map-shape.js +0 -19
- package/dist/code-map-store.js +0 -26
- package/dist/codex-limits.js +1 -17
- package/dist/coding-context.js +0 -10
- package/dist/coding-handoff.js +0 -14
- package/dist/coding-provider.js +0 -39
- package/dist/coding-shipping-ui.js +0 -1
- package/dist/coding-ui.js +0 -1
- package/dist/coding-update.js +1 -18
- package/dist/coding-workspace.js +0 -27
- package/dist/commit-extract.js +0 -83
- package/dist/connect-cli.js +0 -19
- package/dist/console-chrome.js +1 -34
- package/dist/console-instance.js +2 -91
- package/dist/container-state.js +0 -4
- package/dist/containment.js +2 -105
- package/dist/contract-changes.js +0 -6
- package/dist/contracts/acceptance-terms.js +0 -7
- package/dist/contracts/chat-actions.js +0 -46
- package/dist/contracts/chat-callback-rows.js +0 -8
- package/dist/contracts/chat-card.js +0 -14
- package/dist/contracts/chat-content.js +0 -55
- package/dist/contracts/chat-tables.js +0 -7
- package/dist/contracts/cli.js +0 -59
- package/dist/contracts/coding-activity.js +0 -15
- package/dist/contracts/coding-context.js +0 -15
- package/dist/contracts/coding-handoff.js +0 -11
- package/dist/contracts/coding-workspace.js +0 -14
- package/dist/contracts/console-api.js +1 -54
- package/dist/contracts/contract-test.js +0 -14
- package/dist/contracts/contract.js +0 -48
- package/dist/contracts/decision.js +0 -20
- package/dist/contracts/diff-stat.js +0 -16
- package/dist/contracts/discord-callback.js +0 -9
- package/dist/contracts/flow-card.js +0 -18
- package/dist/contracts/flow-propose.js +0 -8
- package/dist/contracts/flow-send.js +0 -31
- package/dist/contracts/flow.js +0 -112
- package/dist/contracts/gateway-tools.js +0 -22
- package/dist/contracts/handoff.js +0 -22
- package/dist/contracts/integration-metadata.js +0 -39
- package/dist/contracts/lead-context.js +0 -14
- package/dist/contracts/lead-tools.js +0 -49
- package/dist/contracts/mcp-oauth.js +0 -12
- package/dist/contracts/memory-pass.js +0 -21
- package/dist/contracts/model-catalog.js +0 -9
- package/dist/contracts/observation-request.js +0 -11
- package/dist/contracts/plan.js +0 -16
- package/dist/contracts/project-knowledge.js +0 -26
- package/dist/contracts/project-memory.js +0 -16
- package/dist/contracts/project-skills.js +0 -31
- package/dist/contracts/proof.js +0 -23
- package/dist/contracts/provider.js +0 -9
- package/dist/contracts/recipes.js +0 -16
- package/dist/contracts/release-check.js +0 -61
- package/dist/contracts/release-terms.js +0 -27
- package/dist/contracts/retention.js +0 -12
- package/dist/contracts/review-findings.js +0 -13
- package/dist/contracts/route-results.js +0 -15
- package/dist/contracts/route.js +0 -33
- package/dist/contracts/scope.js +0 -29
- package/dist/contracts/scout-report.js +0 -34
- package/dist/contracts/slack-callback.js +0 -11
- package/dist/contracts/sort-answer.js +0 -24
- package/dist/contracts/stage-output.js +0 -46
- package/dist/contracts/storage.js +0 -8
- package/dist/contracts/store-json.js +0 -41
- package/dist/contracts/subagent-turn.js +0 -23
- package/dist/contracts/task-sizing.js +0 -10
- package/dist/contracts/teams-callback.js +0 -7
- package/dist/contracts/telegram-callback.js +0 -27
- package/dist/contracts/trigger-payloads.js +0 -41
- package/dist/contracts/update-journal.js +0 -47
- package/dist/contracts/verification-receipt.js +0 -36
- package/dist/contracts/verification-view.js +0 -15
- package/dist/contracts/youiyoux-request.js +0 -26
- package/dist/control-setup.js +0 -7
- package/dist/control-ui.js +0 -3
- package/dist/controller-service.js +0 -4
- package/dist/controller-supervisor.js +0 -15
- package/dist/converse.js +3 -129
- package/dist/coordinator-proposals.js +1 -6
- package/dist/coordinator.js +0 -65
- package/dist/credentials-ui.js +0 -6
- package/dist/daemon.js +0 -137
- package/dist/database-reclaim.js +0 -3
- package/dist/decision.js +0 -78
- package/dist/demo-chat.js +4 -15
- package/dist/demo-sign-in.js +77 -0
- package/dist/demo.js +5 -194
- package/dist/deploy-gate.js +0 -20
- package/dist/deploy-lock.js +0 -4
- package/dist/deploy-phase.js +0 -22
- package/dist/deploy-rescue.js +0 -21
- package/dist/deprecations.js +0 -12
- package/dist/design/kit.css +9 -6
- package/dist/design/kit.js +2 -33
- package/dist/desktop-access.js +0 -9
- package/dist/desktop-bundle.js +1 -3
- package/dist/desktop-host.js +0 -34
- package/dist/desktop-update-gate.js +0 -8
- package/dist/desktop-update-recovery.js +1 -18
- package/dist/desktop-update.js +2 -48
- package/dist/digest-times.js +0 -2
- package/dist/disclosure.js +0 -5
- package/dist/discord-api.js +0 -6
- package/dist/discord-chat.js +0 -31
- package/dist/discord.js +0 -7
- package/dist/discover.js +0 -50
- package/dist/dispatch.js +61 -60
- package/dist/dispose.js +0 -208
- package/dist/doctor.js +0 -48
- package/dist/easy-start-args.js +7 -7
- package/dist/easy-start.js +32 -45
- package/dist/egress.js +1 -63
- package/dist/email-settings.js +0 -8
- package/dist/envelope.js +50 -86
- package/dist/eval-gate.js +1 -37
- package/dist/eval-hooks.js +0 -120
- package/dist/eval-oracle-main.js +0 -7
- package/dist/eval-oracle.js +3 -42
- package/dist/eval-world.js +1 -23
- package/dist/evals.js +6 -134
- package/dist/evidence-pack.js +0 -29
- package/dist/evidence-pair.js +0 -17
- package/dist/evidence.js +4 -280
- package/dist/exec.js +19 -404
- package/dist/exhaustion.js +0 -30
- package/dist/export-ui.js +0 -7
- package/dist/export.js +1 -38
- package/dist/failing-first.js +0 -6
- package/dist/fallback-schema.js +0 -5
- package/dist/fallback.js +0 -81
- package/dist/fast-start.js +0 -97
- package/dist/fast-terms.js +0 -3
- package/dist/fenced-check-coverage.js +0 -11
- package/dist/findings.js +1 -63
- package/dist/first-run.js +4 -57
- package/dist/first-tasks-child.js +0 -5
- package/dist/flaky-ci.js +1 -24
- package/dist/flaky-cli.js +0 -4
- package/dist/flaky.js +0 -43
- package/dist/fleet-schema.js +0 -11
- package/dist/flow-actions.js +0 -31
- package/dist/flow-browser.js +0 -42
- package/dist/flow-cadence.js +1 -24
- package/dist/flow-card-task.js +0 -11
- package/dist/flow-changed.js +0 -16
- package/dist/flow-code.js +1 -45
- package/dist/flow-draft.js +0 -17
- package/dist/flow-engine.js +2 -76
- package/dist/flow-gallery-ui.js +0 -28
- package/dist/flow-gallery.js +0 -54
- package/dist/flow-insights.js +0 -12
- package/dist/flow-items.js +0 -27
- package/dist/flow-live.js +0 -31
- package/dist/flow-people.js +0 -14
- package/dist/flow-pull-request.js +0 -32
- package/dist/flow-replies.js +0 -9
- package/dist/flow-result-card.js +0 -8
- package/dist/flow-schedule.js +0 -74
- package/dist/flow-scripts.js +0 -13
- package/dist/flow-secrets.js +0 -10
- package/dist/flow-send.js +0 -45
- package/dist/flow-share.js +0 -60
- package/dist/flow-sort.js +1 -24
- package/dist/flow-starters-ui.js +0 -2
- package/dist/flow-starters.js +0 -13
- package/dist/flow-steps.js +0 -80
- package/dist/flow-triggers.js +2 -256
- package/dist/flow-unattended-words.js +0 -13
- package/dist/flow-unattended.js +2 -115
- package/dist/flows-cli.js +2 -36
- package/dist/flows-ui.js +0 -51
- package/dist/flows.js +0 -158
- package/dist/folder-gate.js +0 -21
- package/dist/folder-look.js +0 -42
- package/dist/follow-through-brief.js +0 -6
- package/dist/follow-through-cli.js +0 -5
- package/dist/fonts.js +0 -13
- package/dist/gaps.js +0 -20
- package/dist/gate-failure.js +0 -7
- package/dist/git-floor.js +0 -12
- package/dist/git-incident.js +2 -38
- package/dist/git-views.js +0 -24
- package/dist/git.js +0 -31
- package/dist/github-import.js +0 -22
- package/dist/github-jobs.js +0 -12
- package/dist/google-mail.js +2 -27
- package/dist/grant.js +0 -110
- package/dist/graph.js +0 -108
- package/dist/guides.js +4 -15
- package/dist/handover-note.js +0 -12
- package/dist/health-cli.js +0 -2
- package/dist/home-groups.js +0 -15
- package/dist/html.js +0 -54
- package/dist/install-method.js +0 -12
- package/dist/integrations-ui.js +0 -15
- package/dist/integrations.js +7 -50
- package/dist/invoke.js +1 -381
- package/dist/is-record.js +0 -1
- package/dist/issues.js +0 -48
- package/dist/jsonl-discriminants.js +0 -6
- package/dist/keymap.js +0 -17
- package/dist/keys.js +0 -56
- package/dist/kits-ui.js +0 -3
- package/dist/kits.js +1 -24
- package/dist/knowledge-cli.js +0 -4
- package/dist/knowledge-ui.js +0 -8
- package/dist/landed-cleanup.js +0 -119
- package/dist/laptop-background.js +0 -85
- package/dist/laptop-service.js +0 -67
- package/dist/latency-timeline.js +2 -23
- package/dist/lead-about.js +0 -7
- package/dist/lead-answer-eval.js +0 -39
- package/dist/lead-capabilities.js +0 -19
- package/dist/lead-cli-live.js +0 -22
- package/dist/lead-cli.js +0 -27
- package/dist/lead-commitments.js +1 -27
- package/dist/lead-context.js +2 -42
- package/dist/lead-contract.js +0 -8
- package/dist/lead-doors.js +0 -105
- package/dist/lead-follow.js +0 -41
- package/dist/lead-identity.js +1 -4
- package/dist/lead-latency-schema.js +0 -13
- package/dist/lead-people.js +3 -18
- package/dist/lead-progress.js +0 -12
- package/dist/lead-queue-runtime.js +0 -26
- package/dist/lead-queue.js +0 -35
- package/dist/lead-route.js +0 -33
- package/dist/lead-status.js +0 -37
- package/dist/lead-sweep.js +0 -18
- package/dist/lead-tools.js +0 -160
- package/dist/lead-voice.js +0 -54
- package/dist/lead.js +2 -105
- package/dist/learning-child.js +0 -6
- package/dist/learning-look.js +0 -14
- package/dist/ledger-chain.js +0 -34
- package/dist/ledger-csv.js +0 -2
- package/dist/ledger-view.js +0 -3
- package/dist/lesson-notes.js +0 -56
- package/dist/limits-ui.js +0 -14
- package/dist/link.js +0 -79
- package/dist/live-backup.js +3 -33
- package/dist/live-bus.js +7 -81
- package/dist/live-children-read.js +4 -47
- package/dist/live-children.js +4 -44
- package/dist/live-detail.js +0 -17
- package/dist/live-input.js +5 -68
- package/dist/live-main-read.js +1 -14
- package/dist/live-notes.js +0 -12
- package/dist/live-open.js +1 -23
- package/dist/live-records.js +4 -151
- package/dist/live-reply.js +1 -51
- package/dist/live-terminal.js +12 -111
- package/dist/live.js +4 -130
- package/dist/local-owner-acts.js +0 -53
- package/dist/local-owner.js +2 -93
- package/dist/log.js +0 -8
- package/dist/login-secrets.js +2 -38
- package/dist/machine-check.js +0 -2
- package/dist/machine-identity.js +1 -46
- package/dist/mailbox.js +0 -30
- package/dist/maintenance.js +1 -3
- package/dist/mcp-connect.js +0 -88
- package/dist/mcp-core.js +0 -45
- package/dist/mcp-http.js +0 -13
- package/dist/mcp-oauth.js +0 -37
- package/dist/mcp-person.js +0 -11
- package/dist/mcp.js +3 -73
- package/dist/memory-cli.js +0 -3
- package/dist/memory-pass.js +0 -53
- package/dist/memory-tidy.js +0 -55
- package/dist/memory-use.js +2 -24
- package/dist/merge-checklist.js +21 -29
- package/dist/metrics.js +0 -10
- package/dist/mobile-viewport.js +0 -6
- package/dist/model-catalog.js +1 -33
- package/dist/model-choices.js +9 -84
- package/dist/model-names.js +0 -9
- package/dist/models-cli.js +0 -13
- package/dist/models-ui.js +0 -17
- package/dist/modes.js +0 -35
- package/dist/monitoring-settings.js +2 -27
- package/dist/monitoring-ui.js +2 -14
- package/dist/monitoring.js +2 -38
- package/dist/names.js +0 -39
- package/dist/needs-you.js +7 -70
- package/dist/never-index.js +0 -9
- package/dist/nightly-check.js +0 -74
- package/dist/nightly-github.js +0 -168
- package/dist/notification-delivery.js +0 -3
- package/dist/notification-rows.js +0 -17
- package/dist/oauth-run-token.js +1 -37
- package/dist/observations.js +0 -16
- package/dist/oidc.js +1 -20
- package/dist/onboard.js +4 -57
- package/dist/one-step-chat-schema.js +0 -15
- package/dist/openrouter-models.js +0 -6
- package/dist/operate-remote-arguments.js +0 -17
- package/dist/operate-remote.js +0 -33
- package/dist/operate.js +227 -2326
- package/dist/orphan-sweep.js +3 -37
- package/dist/page-work-contract.js +0 -3
- package/dist/password-bearer.js +1 -11
- package/dist/passwordless.js +0 -3
- package/dist/peek-cli.js +0 -46
- package/dist/peek.js +2 -61
- package/dist/people-audit-ui.js +0 -6
- package/dist/person-proof.js +0 -6
- package/dist/phase-routing.js +8 -183
- package/dist/plain-schema.js +0 -14
- package/dist/plain-words.js +18 -12
- package/dist/plan-auto.js +0 -20
- package/dist/plan-login.js +0 -16
- package/dist/plan.js +0 -68
- package/dist/plane-review.js +0 -56
- package/dist/planner-source.js +0 -96
- package/dist/planner.js +0 -117
- package/dist/policy-ui.js +0 -8
- package/dist/policy.js +0 -47
- package/dist/prepared-evidence.js +0 -5
- package/dist/principal.js +0 -29
- package/dist/probe.js +0 -30
- package/dist/process-custody.js +0 -15
- package/dist/process-liveness.js +0 -32
- package/dist/process-tree.js +3 -29
- package/dist/project-access.js +0 -10
- package/dist/project-admission.js +1 -41
- package/dist/project-cli.js +0 -6
- package/dist/project-concurrency.js +0 -35
- package/dist/project-delete-ui.js +4 -29
- package/dist/project-delete.js +1 -73
- package/dist/project-demo.js +0 -13
- package/dist/project-file.js +0 -2
- package/dist/project-identity.js +0 -41
- package/dist/project-knowledge.js +0 -39
- package/dist/project-learning.js +3 -55
- package/dist/project-memory.js +2 -45
- package/dist/project-outcomes.js +0 -6
- package/dist/project-sandbox.js +0 -23
- package/dist/project-skills.js +0 -12
- package/dist/project-tools.js +6 -184
- package/dist/project.js +0 -48
- package/dist/prompt.js +0 -31
- package/dist/proof.js +0 -220
- package/dist/proposal.js +0 -50
- package/dist/protected-storage-look.js +0 -6
- package/dist/protected-storage.js +1 -84
- package/dist/provider-auth.js +3 -69
- package/dist/provider-capture.js +1 -15
- package/dist/provider-connection.js +0 -8
- package/dist/provider-home.js +0 -25
- package/dist/provider-limits.js +0 -14
- package/dist/provider.js +0 -324
- package/dist/public-access.js +0 -34
- package/dist/public-check.js +0 -16
- package/dist/publish.js +1 -150
- package/dist/pull-request-flow.js +0 -77
- package/dist/pull-request-schema.js +0 -4
- package/dist/pull-request-ui.js +0 -5
- package/dist/pulls.js +0 -80
- package/dist/push.js +5 -89
- package/dist/quick-start.js +1 -23
- package/dist/read-executor-worker.js +0 -1
- package/dist/read-executor.js +0 -10
- package/dist/read-only-request.js +0 -7
- package/dist/recipe-ui.js +0 -6
- package/dist/recipes.js +0 -13
- package/dist/release-adapters.js +6 -214
- package/dist/release-approval.js +0 -74
- package/dist/release-authority.js +0 -42
- package/dist/release-auto.js +0 -142
- package/dist/release-card.js +0 -100
- package/dist/release-carry.js +0 -132
- package/dist/release-ci-hold.js +0 -20
- package/dist/release-cli.js +0 -46
- package/dist/release-coverage.js +0 -16
- package/dist/release-gate.js +0 -30
- package/dist/release-git.js +0 -24
- package/dist/release-links.js +0 -17
- package/dist/release-net.js +0 -42
- package/dist/release-next.js +0 -25
- package/dist/release-recheck.js +0 -89
- package/dist/release-refusal.js +0 -18
- package/dist/release-view.js +0 -5
- package/dist/release.js +7 -341
- package/dist/releases.js +0 -49
- package/dist/remote-audit.js +0 -25
- package/dist/remote-command.js +0 -16
- package/dist/remote-destination.js +5 -26
- package/dist/remote-exec.js +1 -27
- package/dist/remote-main.js +1 -53
- package/dist/remote-run.js +0 -5
- package/dist/remote.js +0 -49
- package/dist/render.js +0 -133
- package/dist/reply-shape.js +0 -85
- package/dist/reply-voice.js +0 -7
- package/dist/report-summary.js +0 -5
- package/dist/reported-usage.js +0 -30
- package/dist/repos.js +9 -62
- package/dist/repository-context.js +1 -24
- package/dist/request-budget-ui.js +0 -4
- package/dist/request-budget.js +0 -23
- package/dist/restart-certification.js +0 -37
- package/dist/result-actions.js +0 -62
- package/dist/result-acts.js +0 -34
- package/dist/result-completion.js +0 -25
- package/dist/result-evidence-readers.js +0 -3
- package/dist/result-follow-ups.js +1 -39
- package/dist/result-review.js +0 -86
- package/dist/result-shots.js +0 -39
- package/dist/retention-ui.js +0 -7
- package/dist/retention.js +2 -46
- package/dist/review-context.js +0 -129
- package/dist/review-evidence.js +0 -4
- package/dist/review-switch.js +1 -7
- package/dist/reviewer.js +0 -35
- package/dist/route-change-check.js +0 -2
- package/dist/route-change.js +0 -16
- package/dist/route-hooks.js +0 -27
- package/dist/route-results.js +2 -58
- package/dist/route-rules.js +1 -106
- package/dist/route-savings.js +0 -36
- package/dist/route-store.js +1 -133
- package/dist/run-closeout.js +2 -50
- package/dist/run-efficiency.js +2 -44
- package/dist/run-ending.js +0 -13
- package/dist/runner-process.js +0 -33
- package/dist/runner.js +17 -189
- package/dist/sample-project.js +2 -27
- package/dist/sandbox-launch.js +4 -25
- package/dist/sandbox-runtime.js +1 -88
- package/dist/scan.js +0 -27
- package/dist/scope.js +4 -567
- package/dist/scout-browser-lock.js +0 -6
- package/dist/scout-browser.js +2 -68
- package/dist/scout-net.js +1 -32
- package/dist/scout-report.js +0 -22
- package/dist/scout.js +1 -116
- package/dist/secret-mint.js +0 -6
- package/dist/serve.js +21 -555
- package/dist/server/agents-computers.js +0 -10
- package/dist/server/agents-live-filed.js +0 -13
- package/dist/server/agents-live-lead.js +0 -19
- package/dist/server/agents-live-room.js +0 -19
- package/dist/server/chat.js +2 -194
- package/dist/server/chrome.js +17 -263
- package/dist/server/console.css +4 -4
- package/dist/server/edge-refusal.js +0 -3
- package/dist/server/flows.js +5 -74
- package/dist/server/guards.js +1 -88
- package/dist/server/handler-registry.js +0 -2
- package/dist/server/home-asks.js +1 -22
- package/dist/server/home.js +1 -30
- package/dist/server/http.js +0 -82
- package/dist/server/in-place.js +0 -15
- package/dist/server/kit-standalone.js +0 -20
- package/dist/server/kit.js +2 -114
- package/dist/server/last-checks.js +0 -2
- package/dist/server/live.js +1 -36
- package/dist/server/merge-ready-view.js +0 -6
- package/dist/server/mutation-key.js +3 -40
- package/dist/server/pages-assets.js +0 -16
- package/dist/server/pages.js +7 -195
- package/dist/server/people-tokens.js +3 -101
- package/dist/server/remote-hooks.js +0 -13
- package/dist/server/remote.js +0 -28
- package/dist/server/render-chat.js +8 -144
- package/dist/server/render-code-map.js +0 -5
- package/dist/server/render-flaky.js +0 -8
- package/dist/server/render-follow-through.js +2 -5
- package/dist/server/render-history.js +2 -34
- package/dist/server/render-new-task.js +2 -29
- package/dist/server/render-pages.js +1 -111
- package/dist/server/render-people.js +2 -46
- package/dist/server/render-projects.js +15 -32
- package/dist/server/render-release.js +1 -14
- package/dist/server/render-results.js +4 -355
- package/dist/server/render-settings.js +0 -15
- package/dist/server/render-tasks.js +13 -493
- package/dist/server/request-context.js +2 -9
- package/dist/server/retired-routes.js +0 -11
- package/dist/server/route-policy.js +0 -3
- package/dist/server/route-table.js +6 -135
- package/dist/server/runtime.js +0 -1
- package/dist/server/session.js +0 -28
- package/dist/server/settings.js +40 -246
- package/dist/server/signup-gate.js +0 -11
- package/dist/server/sweeps.js +0 -6
- package/dist/server/task-views.js +9 -227
- package/dist/server/tasks.js +5 -539
- package/dist/server/terminals.js +2 -46
- package/dist/server/welcome.js +2 -22
- package/dist/server-telemetry.js +0 -9
- package/dist/settings-groups-ui.js +50 -63
- package/dist/settings-kit-script.js +0 -19
- package/dist/settings-kit.js +0 -63
- package/dist/settings-proofs.js +0 -23
- package/dist/setup-guide.js +1 -9
- package/dist/shared-deps.js +9 -84
- package/dist/sign-in-guard.js +0 -27
- package/dist/skills-ui.js +0 -2
- package/dist/skills.js +2 -54
- package/dist/slack-api.js +0 -3
- package/dist/slack-chat.js +0 -25
- package/dist/slack-settings.js +0 -1
- package/dist/slack-socket.js +0 -5
- package/dist/slack.js +0 -4
- package/dist/sleep.js +0 -1
- package/dist/source-key.js +0 -10
- package/dist/spend-report.js +0 -29
- package/dist/spend-ui.js +0 -26
- package/dist/spend.js +0 -40
- package/dist/sqlite-runtime.js +0 -2
- package/dist/sqlite-telemetry.js +0 -9
- package/dist/sso-settings.js +0 -13
- package/dist/sso-ui.js +0 -2
- package/dist/staged-runtimes.js +5 -39
- package/dist/steer-capabilities.js +1 -7
- package/dist/steer-controls.js +0 -10
- package/dist/steer-live.js +0 -31
- package/dist/steer-mailbox.js +4 -65
- package/dist/steer-status.js +0 -7
- package/dist/stop-proof.js +5 -62
- package/dist/storage-sweep-child.js +1 -5
- package/dist/storage-sweep-process.js +2 -20
- package/dist/storage-sweep-schedule.js +0 -32
- package/dist/storage-sweep.js +2 -51
- package/dist/storage-ui.js +0 -18
- package/dist/storage.js +0 -31
- package/dist/store-baseline.js +0 -14
- package/dist/store.js +109 -4763
- package/dist/stream-scope.js +0 -16
- package/dist/structured-output.js +0 -39
- package/dist/style-asset.js +0 -2
- package/dist/subagent-admin.js +0 -9
- package/dist/subagent-desk.js +0 -29
- package/dist/subagent-memory.js +0 -38
- package/dist/subagent-question.js +0 -29
- package/dist/subagent-tools.js +1 -60
- package/dist/subagent-week.js +0 -28
- package/dist/subagent-work.js +1 -39
- package/dist/subagents-ui.js +1 -13
- package/dist/subagents.js +0 -40
- package/dist/subscription-chat.js +1 -42
- package/dist/summary.js +0 -19
- package/dist/surface.js +0 -75
- package/dist/sweep-gate.js +0 -2
- package/dist/sweep-quarantine.js +2 -13
- package/dist/sync.js +0 -47
- package/dist/tailnet.js +0 -9
- package/dist/tamper-scan.js +0 -15
- package/dist/task-activity.js +1 -16
- package/dist/task-aliases.js +0 -3
- package/dist/task-archive.js +0 -7
- package/dist/task-base.js +0 -18
- package/dist/task-composer.js +0 -2
- package/dist/task-control.js +0 -74
- package/dist/task-live.js +0 -23
- package/dist/task-moves.js +0 -28
- package/dist/task-outcome-cli.js +17 -28
- package/dist/task-review-brief.js +0 -7
- package/dist/task-sizing.js +0 -47
- package/dist/task-source.js +0 -23
- package/dist/task-status.js +0 -106
- package/dist/task-text.js +0 -12
- package/dist/team-chat-authorization.js +0 -3
- package/dist/team-contract.js +0 -2
- package/dist/team-http.js +0 -4
- package/dist/team-leads.js +1 -16
- package/dist/team-runtime.js +0 -13
- package/dist/team-ui.js +0 -1
- package/dist/team-updates.js +0 -4
- package/dist/teams-api.js +0 -12
- package/dist/teams-chat.js +0 -28
- package/dist/teams.js +0 -12
- package/dist/teardown-git.js +6 -294
- package/dist/telegram-flow.js +0 -51
- package/dist/telegram-lead.js +2 -203
- package/dist/telegram-live.js +1 -42
- package/dist/telegram-progress.js +0 -18
- package/dist/telegram-settings.js +0 -7
- package/dist/telegram-status.js +0 -46
- package/dist/telegram-team.js +1 -33
- package/dist/telegram.js +6 -454
- package/dist/templates.js +0 -24
- package/dist/terminal-catalog.js +2 -20
- package/dist/terminal-text.js +0 -12
- package/dist/test-infra.js +0 -50
- package/dist/test-temp.js +3 -26
- package/dist/text-limits.js +0 -92
- package/dist/tidy.js +0 -76
- package/dist/tier-report.js +0 -2
- package/dist/token-notices.js +1 -9
- package/dist/tokens-cli.js +0 -13
- package/dist/tool-broker.js +2 -53
- package/dist/tool-launcher.js +0 -14
- package/dist/tool-secret-store.js +3 -125
- package/dist/toolroll-update-cli.js +0 -9
- package/dist/toolroll-update-ui.js +0 -14
- package/dist/toolroll-update.js +13 -252
- package/dist/tools-ui.js +0 -17
- package/dist/transitions-recipes.js +0 -2
- package/dist/tree-proof.js +0 -23
- package/dist/tui-contract.js +0 -8
- package/dist/tui-source.js +16 -36
- package/dist/tui.js +1 -1
- package/dist/typed-start.js +0 -27
- package/dist/unfenced-test-support.js +0 -5
- package/dist/up-processes.js +1 -40
- package/dist/up-role-child.js +1 -13
- package/dist/update-notice.js +0 -1
- package/dist/vanished-retry.js +0 -40
- package/dist/verification-evidence.js +0 -39
- package/dist/version.js +0 -1
- package/dist/wake-hub.js +0 -28
- package/dist/webhook-limits.js +0 -7
- package/dist/webhook-readers.js +0 -30
- package/dist/webhook-signing.js +0 -14
- package/dist/webhooks.js +0 -54
- package/dist/welcome-facts.js +2 -14
- package/dist/when-html.js +0 -27
- package/dist/work-index.js +26 -98
- package/dist/work-summary.js +2 -17
- package/dist/workspace-motion.js +0 -2
- package/dist/workspace-revision.js +1 -21
- package/dist/workspace-ui.js +15 -135
- package/dist/worktree-notices.js +0 -3
- package/dist/worktree.js +0 -308
- package/dist/writes-mode.js +0 -1
- package/dist/youiyoux-intake.js +4 -159
- package/package.json +4 -3
- package/dist/accent-colors.d.ts +0 -51
- package/dist/acp-agents.d.ts +0 -43
- package/dist/acp-attest.d.ts +0 -44
- package/dist/acp-check.d.ts +0 -37
- package/dist/acp-client.d.ts +0 -163
- package/dist/acp-inspect.d.ts +0 -23
- package/dist/action-ledger.d.ts +0 -27
- package/dist/activity-line.d.ts +0 -29
- package/dist/actor.d.ts +0 -11
- package/dist/agent-board.d.ts +0 -229
- package/dist/agent-fence.d.ts +0 -479
- package/dist/agent-onboard.d.ts +0 -158
- package/dist/agent-pulse.d.ts +0 -43
- package/dist/agent-state-words.d.ts +0 -19
- package/dist/agent-state.d.ts +0 -65
- package/dist/agent-turns.d.ts +0 -52
- package/dist/agentconfig.d.ts +0 -191
- package/dist/agents-board.d.ts +0 -145
- package/dist/agents-live.d.ts +0 -31
- package/dist/api-tokens.d.ts +0 -80
- package/dist/approval-authority.d.ts +0 -51
- package/dist/approval-password.d.ts +0 -31
- package/dist/approval-policy.d.ts +0 -69
- package/dist/approval-rules-ui.d.ts +0 -40
- package/dist/assignment-adapters.d.ts +0 -152
- package/dist/assignment-brief.d.ts +0 -83
- package/dist/assignment-delivery.d.ts +0 -86
- package/dist/assignment-presentation.d.ts +0 -37
- package/dist/assignment-status.d.ts +0 -71
- package/dist/assignment-ui.d.ts +0 -68
- package/dist/assignment.d.ts +0 -350
- package/dist/attest.d.ts +0 -59
- package/dist/audit-cli.d.ts +0 -17
- package/dist/backend.d.ts +0 -97
- package/dist/backup-ui.d.ts +0 -32
- package/dist/backup.d.ts +0 -92
- package/dist/batch-checks.d.ts +0 -15
- package/dist/batch-policy.d.ts +0 -23
- package/dist/beads.d.ts +0 -34
- package/dist/bin.d.ts +0 -2
- package/dist/board.d.ts +0 -134
- package/dist/boot-identity.d.ts +0 -64
- package/dist/bounded-spawn.d.ts +0 -57
- package/dist/brand-icons.d.ts +0 -168
- package/dist/brand-mark.d.ts +0 -28
- package/dist/brief-fence.d.ts +0 -9
- package/dist/browser-crew.d.ts +0 -12
- package/dist/browser-shell.d.ts +0 -9
- package/dist/browser-workspace.d.ts +0 -1985
- package/dist/budget-alerts.d.ts +0 -19
- package/dist/build-review.d.ts +0 -38
- package/dist/builder-restart.d.ts +0 -21
- package/dist/builder.d.ts +0 -409
- package/dist/canonical-json.d.ts +0 -14
- package/dist/capscan.d.ts +0 -35
- package/dist/card-catalog.d.ts +0 -209
- package/dist/card-cli.d.ts +0 -43
- package/dist/card-render.d.ts +0 -43
- package/dist/card-sources.d.ts +0 -68
- package/dist/chat-acceptance.d.ts +0 -74
- package/dist/chat-actions.d.ts +0 -460
- package/dist/chat-admission.d.ts +0 -19
- package/dist/chat-approval.d.ts +0 -58
- package/dist/chat-ask.d.ts +0 -32
- package/dist/chat-card-part.d.ts +0 -11
- package/dist/chat-card.d.ts +0 -46
- package/dist/chat-channel.d.ts +0 -126
- package/dist/chat-continuity.d.ts +0 -32
- package/dist/chat-controls.d.ts +0 -117
- package/dist/chat-core.d.ts +0 -177
- package/dist/chat-decide.d.ts +0 -269
- package/dist/chat-delivery-state.d.ts +0 -132
- package/dist/chat-delivery.d.ts +0 -71
- package/dist/chat-display.d.ts +0 -1
- package/dist/chat-evidence.d.ts +0 -123
- package/dist/chat-flow.d.ts +0 -70
- package/dist/chat-follow.d.ts +0 -20
- package/dist/chat-inbox.d.ts +0 -57
- package/dist/chat-live-schema.d.ts +0 -17
- package/dist/chat-live.d.ts +0 -161
- package/dist/chat-message-states.d.ts +0 -75
- package/dist/chat-messages.d.ts +0 -338
- package/dist/chat-migration.d.ts +0 -30
- package/dist/chat-polish.d.ts +0 -17
- package/dist/chat-quiet.d.ts +0 -40
- package/dist/chat-review.d.ts +0 -51
- package/dist/chat-rooms.d.ts +0 -123
- package/dist/chat-settings-page.d.ts +0 -43
- package/dist/chat-task-actions.d.ts +0 -59
- package/dist/chat-terms.d.ts +0 -29
- package/dist/chat-voice.d.ts +0 -69
- package/dist/chat-warmth.d.ts +0 -21
- package/dist/check-access.d.ts +0 -54
- package/dist/check-facts.d.ts +0 -126
- package/dist/check-failure.d.ts +0 -113
- package/dist/check-levels-ui.d.ts +0 -36
- package/dist/check-levels.d.ts +0 -70
- package/dist/check-load.d.ts +0 -85
- package/dist/check-only-standing.d.ts +0 -36
- package/dist/check-only.d.ts +0 -15
- package/dist/check-progress.d.ts +0 -78
- package/dist/check-repair.d.ts +0 -47
- package/dist/check-report.d.ts +0 -177
- package/dist/check-stamp.d.ts +0 -46
- package/dist/checkout-cleanup.d.ts +0 -157
- package/dist/checkout-proof.d.ts +0 -28
- package/dist/child-database.d.ts +0 -12
- package/dist/claim.d.ts +0 -627
- package/dist/claude-print.d.ts +0 -12
- package/dist/cli-fast.d.ts +0 -8
- package/dist/cli-help.d.ts +0 -8
- package/dist/cli-http.d.ts +0 -58
- package/dist/cli.d.ts +0 -149
- package/dist/code-extract.d.ts +0 -44
- package/dist/code-map-acts.d.ts +0 -24
- package/dist/code-map-admission.d.ts +0 -52
- package/dist/code-map-build.d.ts +0 -63
- package/dist/code-map-cli.d.ts +0 -153
- package/dist/code-map-main.d.ts +0 -1
- package/dist/code-map-read.d.ts +0 -106
- package/dist/code-map-report.d.ts +0 -37
- package/dist/code-map-shape.d.ts +0 -172
- package/dist/code-map-store.d.ts +0 -136
- package/dist/codex-limits.d.ts +0 -15
- package/dist/coding-context.d.ts +0 -18
- package/dist/coding-handoff.d.ts +0 -39
- package/dist/coding-provider.d.ts +0 -88
- package/dist/coding-shipping-ui.d.ts +0 -5
- package/dist/coding-types.d.ts +0 -16
- package/dist/coding-ui.d.ts +0 -19
- package/dist/coding-update.d.ts +0 -28
- package/dist/coding-workspace.d.ts +0 -141
- package/dist/commit-extract.d.ts +0 -135
- package/dist/connect-cli.d.ts +0 -34
- package/dist/console-chrome.d.ts +0 -41
- package/dist/console-instance.d.ts +0 -157
- package/dist/container-state.d.ts +0 -5
- package/dist/containment.d.ts +0 -205
- package/dist/contract-changes.d.ts +0 -52
- package/dist/contracts/acceptance-terms.d.ts +0 -14
- package/dist/contracts/chat-actions.d.ts +0 -465
- package/dist/contracts/chat-callback-rows.d.ts +0 -59
- package/dist/contracts/chat-card.d.ts +0 -91
- package/dist/contracts/chat-content.d.ts +0 -551
- package/dist/contracts/chat-tables.d.ts +0 -12
- package/dist/contracts/cli.d.ts +0 -987
- package/dist/contracts/coding-activity.d.ts +0 -64
- package/dist/contracts/coding-context.d.ts +0 -97
- package/dist/contracts/coding-handoff.d.ts +0 -44
- package/dist/contracts/coding-workspace.d.ts +0 -165
- package/dist/contracts/console-api.d.ts +0 -540
- package/dist/contracts/contract-test.d.ts +0 -45
- package/dist/contracts/contract.d.ts +0 -92
- package/dist/contracts/decision.d.ts +0 -45
- package/dist/contracts/diff-stat.d.ts +0 -58
- package/dist/contracts/discord-callback.d.ts +0 -45
- package/dist/contracts/flow-card.d.ts +0 -53
- package/dist/contracts/flow-propose.d.ts +0 -334
- package/dist/contracts/flow-send.d.ts +0 -245
- package/dist/contracts/flow.d.ts +0 -19565
- package/dist/contracts/gateway-tools.d.ts +0 -472
- package/dist/contracts/handoff.d.ts +0 -91
- package/dist/contracts/health.d.ts +0 -82
- package/dist/contracts/integration-metadata.d.ts +0 -100
- package/dist/contracts/lead-context.d.ts +0 -165
- package/dist/contracts/lead-tools.d.ts +0 -2312
- package/dist/contracts/mcp-oauth.d.ts +0 -53
- package/dist/contracts/memory-pass.d.ts +0 -157
- package/dist/contracts/model-catalog.d.ts +0 -21
- package/dist/contracts/observation-request.d.ts +0 -37
- package/dist/contracts/plan.d.ts +0 -58
- package/dist/contracts/project-knowledge.d.ts +0 -159
- package/dist/contracts/project-memory.d.ts +0 -119
- package/dist/contracts/project-skills.d.ts +0 -120
- package/dist/contracts/proof.d.ts +0 -136
- package/dist/contracts/provider.d.ts +0 -40
- package/dist/contracts/recipes.d.ts +0 -166
- package/dist/contracts/release-check.d.ts +0 -371
- package/dist/contracts/release-terms.d.ts +0 -107
- package/dist/contracts/retention.d.ts +0 -42
- package/dist/contracts/review-findings.d.ts +0 -46
- package/dist/contracts/route-results.d.ts +0 -121
- package/dist/contracts/route.d.ts +0 -897
- package/dist/contracts/scope.d.ts +0 -105
- package/dist/contracts/scout-report.d.ts +0 -234
- package/dist/contracts/slack-callback.d.ts +0 -43
- package/dist/contracts/sort-answer.d.ts +0 -83
- package/dist/contracts/stage-output.d.ts +0 -127
- package/dist/contracts/storage.d.ts +0 -37
- package/dist/contracts/store-json.d.ts +0 -313
- package/dist/contracts/subagent-turn.d.ts +0 -43
- package/dist/contracts/task-sizing.d.ts +0 -24
- package/dist/contracts/teams-callback.d.ts +0 -13
- package/dist/contracts/telegram-callback.d.ts +0 -120
- package/dist/contracts/trigger-payloads.d.ts +0 -389
- package/dist/contracts/update-journal.d.ts +0 -254
- package/dist/contracts/verification-receipt.d.ts +0 -200
- package/dist/contracts/verification-view.d.ts +0 -102
- package/dist/contracts/youiyoux-request.d.ts +0 -248
- package/dist/control-setup.d.ts +0 -44
- package/dist/control-ui.d.ts +0 -37
- package/dist/controller-service.d.ts +0 -1
- package/dist/controller-supervisor.d.ts +0 -38
- package/dist/converse.d.ts +0 -316
- package/dist/coordinator-proposals.d.ts +0 -29
- package/dist/coordinator.d.ts +0 -186
- package/dist/credentials-ui.d.ts +0 -33
- package/dist/daemon.d.ts +0 -226
- package/dist/database-reclaim.d.ts +0 -4
- package/dist/decision.d.ts +0 -119
- package/dist/demo-chat.d.ts +0 -32
- package/dist/demo.d.ts +0 -153
- package/dist/deploy-gate.d.ts +0 -20
- package/dist/deploy-lock.d.ts +0 -8
- package/dist/deploy-phase.d.ts +0 -37
- package/dist/deploy-rescue.d.ts +0 -42
- package/dist/deprecations.d.ts +0 -20
- package/dist/design/kit.d.ts +0 -216
- package/dist/desktop-access.d.ts +0 -28
- package/dist/desktop-bundle.d.ts +0 -16
- package/dist/desktop-host.d.ts +0 -54
- package/dist/desktop-update-gate.d.ts +0 -12
- package/dist/desktop-update-recovery.d.ts +0 -14
- package/dist/desktop-update.d.ts +0 -147
- package/dist/digest-times.d.ts +0 -3
- package/dist/disclosure.d.ts +0 -6
- package/dist/discord-api.d.ts +0 -24
- package/dist/discord-chat.d.ts +0 -27
- package/dist/discord-settings.d.ts +0 -4
- package/dist/discord.d.ts +0 -10
- package/dist/discover.d.ts +0 -75
- package/dist/dispatch.d.ts +0 -123
- package/dist/dispose.d.ts +0 -194
- package/dist/doctor.d.ts +0 -67
- package/dist/easy-start-args.d.ts +0 -13
- package/dist/easy-start.d.ts +0 -77
- package/dist/egress.d.ts +0 -121
- package/dist/email-settings.d.ts +0 -34
- package/dist/envelope.d.ts +0 -47
- package/dist/eval-gate.d.ts +0 -51
- package/dist/eval-hooks.d.ts +0 -94
- package/dist/eval-oracle-main.d.ts +0 -1
- package/dist/eval-oracle.d.ts +0 -60
- package/dist/eval-world.d.ts +0 -17
- package/dist/evals.d.ts +0 -299
- package/dist/evidence-pack.d.ts +0 -186
- package/dist/evidence-pair.d.ts +0 -53
- package/dist/evidence.d.ts +0 -371
- package/dist/exec.d.ts +0 -355
- package/dist/exhaustion.d.ts +0 -58
- package/dist/export-ui.d.ts +0 -11
- package/dist/export.d.ts +0 -48
- package/dist/failing-first.d.ts +0 -31
- package/dist/fallback-schema.d.ts +0 -8
- package/dist/fallback.d.ts +0 -138
- package/dist/fast-start.d.ts +0 -213
- package/dist/fast-terms.d.ts +0 -9
- package/dist/fenced-check-coverage.d.ts +0 -62
- package/dist/findings.d.ts +0 -224
- package/dist/first-run.d.ts +0 -197
- package/dist/first-tasks-child.d.ts +0 -1
- package/dist/flaky-ci.d.ts +0 -31
- package/dist/flaky-cli.d.ts +0 -60
- package/dist/flaky.d.ts +0 -83
- package/dist/fleet-schema.d.ts +0 -17
- package/dist/flow-actions.d.ts +0 -79
- package/dist/flow-browser.d.ts +0 -103
- package/dist/flow-cadence.d.ts +0 -48
- package/dist/flow-card-task.d.ts +0 -11
- package/dist/flow-changed.d.ts +0 -14
- package/dist/flow-code.d.ts +0 -84
- package/dist/flow-draft.d.ts +0 -42
- package/dist/flow-engine.d.ts +0 -82
- package/dist/flow-gallery-ui.d.ts +0 -73
- package/dist/flow-gallery.d.ts +0 -147
- package/dist/flow-insights.d.ts +0 -104
- package/dist/flow-items.d.ts +0 -37
- package/dist/flow-live.d.ts +0 -16
- package/dist/flow-people.d.ts +0 -23
- package/dist/flow-pull-request.d.ts +0 -14
- package/dist/flow-replies.d.ts +0 -48
- package/dist/flow-result-card.d.ts +0 -22
- package/dist/flow-schedule.d.ts +0 -154
- package/dist/flow-scripts.d.ts +0 -31
- package/dist/flow-secrets.d.ts +0 -13
- package/dist/flow-send.d.ts +0 -54
- package/dist/flow-share.d.ts +0 -78
- package/dist/flow-sort.d.ts +0 -63
- package/dist/flow-starters-ui.d.ts +0 -15
- package/dist/flow-starters.d.ts +0 -63
- package/dist/flow-steps.d.ts +0 -52
- package/dist/flow-triggers.d.ts +0 -303
- package/dist/flow-unattended-words.d.ts +0 -48
- package/dist/flow-unattended.d.ts +0 -259
- package/dist/flows-cli.d.ts +0 -358
- package/dist/flows-ui.d.ts +0 -70
- package/dist/flows.d.ts +0 -136
- package/dist/folder-gate.d.ts +0 -32
- package/dist/folder-look.d.ts +0 -110
- package/dist/follow-through-brief.d.ts +0 -12
- package/dist/follow-through-cli.d.ts +0 -23
- package/dist/fonts.d.ts +0 -19
- package/dist/gaps.d.ts +0 -35
- package/dist/gate-failure.d.ts +0 -40
- package/dist/git-floor.d.ts +0 -16
- package/dist/git-incident.d.ts +0 -65
- package/dist/git-views.d.ts +0 -20
- package/dist/git.d.ts +0 -54
- package/dist/github-import.d.ts +0 -62
- package/dist/github-jobs.d.ts +0 -25
- package/dist/google-mail.d.ts +0 -59
- package/dist/grant.d.ts +0 -136
- package/dist/graph.d.ts +0 -164
- package/dist/guides.d.ts +0 -22
- package/dist/handover-note.d.ts +0 -33
- package/dist/health-cli.d.ts +0 -3
- package/dist/home-groups.d.ts +0 -39
- package/dist/html.d.ts +0 -85
- package/dist/install-method.d.ts +0 -17
- package/dist/integrations-ui.d.ts +0 -17
- package/dist/integrations.d.ts +0 -138
- package/dist/invoke.d.ts +0 -228
- package/dist/is-record.d.ts +0 -2
- package/dist/issues.d.ts +0 -41
- package/dist/jsonl-discriminants.d.ts +0 -11
- package/dist/keymap.d.ts +0 -43
- package/dist/keys.d.ts +0 -108
- package/dist/kits-ui.d.ts +0 -16
- package/dist/kits.d.ts +0 -88
- package/dist/knowledge-cli.d.ts +0 -132
- package/dist/knowledge-ui.d.ts +0 -45
- package/dist/landed-cleanup.d.ts +0 -175
- package/dist/laptop-background.d.ts +0 -187
- package/dist/laptop-service.d.ts +0 -111
- package/dist/latency-timeline.d.ts +0 -46
- package/dist/lead-about.d.ts +0 -35
- package/dist/lead-answer-eval.d.ts +0 -93
- package/dist/lead-capabilities.d.ts +0 -57
- package/dist/lead-cli-live.d.ts +0 -56
- package/dist/lead-cli.d.ts +0 -58
- package/dist/lead-commitments.d.ts +0 -84
- package/dist/lead-context.d.ts +0 -45
- package/dist/lead-contract.d.ts +0 -10
- package/dist/lead-doors.d.ts +0 -122
- package/dist/lead-follow.d.ts +0 -26
- package/dist/lead-identity.d.ts +0 -23
- package/dist/lead-latency-schema.d.ts +0 -24
- package/dist/lead-people.d.ts +0 -55
- package/dist/lead-progress.d.ts +0 -67
- package/dist/lead-queue-runtime.d.ts +0 -46
- package/dist/lead-queue.d.ts +0 -104
- package/dist/lead-route.d.ts +0 -56
- package/dist/lead-status.d.ts +0 -116
- package/dist/lead-sweep.d.ts +0 -67
- package/dist/lead-tools.d.ts +0 -167
- package/dist/lead-voice.d.ts +0 -85
- package/dist/lead.d.ts +0 -142
- package/dist/learning-child.d.ts +0 -1
- package/dist/learning-look.d.ts +0 -25
- package/dist/ledger-chain.d.ts +0 -46
- package/dist/ledger-csv.d.ts +0 -4
- package/dist/ledger-view.d.ts +0 -27
- package/dist/lesson-notes.d.ts +0 -81
- package/dist/limits-ui.d.ts +0 -34
- package/dist/link.d.ts +0 -72
- package/dist/live-backup.d.ts +0 -39
- package/dist/live-bus.d.ts +0 -141
- package/dist/live-children-read.d.ts +0 -52
- package/dist/live-children.d.ts +0 -73
- package/dist/live-detail.d.ts +0 -27
- package/dist/live-input.d.ts +0 -68
- package/dist/live-main-read.d.ts +0 -19
- package/dist/live-notes.d.ts +0 -20
- package/dist/live-open.d.ts +0 -28
- package/dist/live-records.d.ts +0 -149
- package/dist/live-reply.d.ts +0 -83
- package/dist/live-terminal.d.ts +0 -273
- package/dist/live.d.ts +0 -152
- package/dist/local-owner-acts.d.ts +0 -83
- package/dist/local-owner.d.ts +0 -135
- package/dist/log.d.ts +0 -7
- package/dist/login-secrets.d.ts +0 -60
- package/dist/machine-check.d.ts +0 -16
- package/dist/machine-identity.d.ts +0 -75
- package/dist/mailbox.d.ts +0 -57
- package/dist/maintenance.d.ts +0 -13
- package/dist/mcp-connect.d.ts +0 -181
- package/dist/mcp-core.d.ts +0 -110
- package/dist/mcp-http.d.ts +0 -32
- package/dist/mcp-oauth.d.ts +0 -92
- package/dist/mcp-person.d.ts +0 -22
- package/dist/mcp.d.ts +0 -20
- package/dist/memory-cli.d.ts +0 -768
- package/dist/memory-pass.d.ts +0 -151
- package/dist/memory-tidy.d.ts +0 -181
- package/dist/memory-use.d.ts +0 -35
- package/dist/merge-checklist.d.ts +0 -55
- package/dist/metrics.d.ts +0 -6
- package/dist/mobile-viewport.d.ts +0 -7
- package/dist/model-catalog.d.ts +0 -123
- package/dist/model-choices.d.ts +0 -235
- package/dist/model-names.d.ts +0 -6
- package/dist/models-cli.d.ts +0 -307
- package/dist/models-ui.d.ts +0 -161
- package/dist/modes.d.ts +0 -99
- package/dist/monitoring-settings.d.ts +0 -44
- package/dist/monitoring-ui.d.ts +0 -23
- package/dist/monitoring.d.ts +0 -34
- package/dist/names.d.ts +0 -67
- package/dist/needs-you.d.ts +0 -164
- package/dist/never-index.d.ts +0 -3
- package/dist/nightly-check.d.ts +0 -107
- package/dist/nightly-github.d.ts +0 -318
- package/dist/notification-delivery.d.ts +0 -19
- package/dist/notification-rows.d.ts +0 -30
- package/dist/oauth-run-token.d.ts +0 -51
- package/dist/observations.d.ts +0 -36
- package/dist/oidc.d.ts +0 -71
- package/dist/onboard.d.ts +0 -108
- package/dist/one-step-chat-schema.d.ts +0 -22
- package/dist/openrouter-models.d.ts +0 -34
- package/dist/operate-remote-arguments.d.ts +0 -36
- package/dist/operate-remote.d.ts +0 -98
- package/dist/operate.d.ts +0 -401
- package/dist/orphan-sweep.d.ts +0 -65
- package/dist/page-work-contract.d.ts +0 -21
- package/dist/password-bearer.d.ts +0 -25
- package/dist/passwordless.d.ts +0 -23
- package/dist/peek-cli.d.ts +0 -112
- package/dist/peek.d.ts +0 -110
- package/dist/people-audit-ui.d.ts +0 -16
- package/dist/person-proof.d.ts +0 -2
- package/dist/phase-routing.d.ts +0 -401
- package/dist/plain-schema.d.ts +0 -23
- package/dist/plain-words.d.ts +0 -20
- package/dist/plan-auto.d.ts +0 -25
- package/dist/plan-login.d.ts +0 -14
- package/dist/plan.d.ts +0 -188
- package/dist/plane-review.d.ts +0 -54
- package/dist/planner-source.d.ts +0 -225
- package/dist/planner.d.ts +0 -76
- package/dist/policy-ui.d.ts +0 -22
- package/dist/policy.d.ts +0 -92
- package/dist/prepared-evidence.d.ts +0 -17
- package/dist/principal.d.ts +0 -42
- package/dist/probe.d.ts +0 -46
- package/dist/process-custody.d.ts +0 -17
- package/dist/process-liveness.d.ts +0 -13
- package/dist/process-tree.d.ts +0 -39
- package/dist/project-access.d.ts +0 -17
- package/dist/project-activity.d.ts +0 -20
- package/dist/project-admission.d.ts +0 -105
- package/dist/project-cli.d.ts +0 -19
- package/dist/project-concurrency.d.ts +0 -62
- package/dist/project-delete-ui.d.ts +0 -96
- package/dist/project-delete.d.ts +0 -59
- package/dist/project-demo.d.ts +0 -12
- package/dist/project-file.d.ts +0 -3
- package/dist/project-identity.d.ts +0 -52
- package/dist/project-knowledge.d.ts +0 -124
- package/dist/project-learning.d.ts +0 -120
- package/dist/project-memory.d.ts +0 -70
- package/dist/project-outcomes.d.ts +0 -119
- package/dist/project-sandbox.d.ts +0 -59
- package/dist/project-skills.d.ts +0 -139
- package/dist/project-tools.d.ts +0 -318
- package/dist/project.d.ts +0 -65
- package/dist/prompt.d.ts +0 -33
- package/dist/proof.d.ts +0 -457
- package/dist/proposal.d.ts +0 -70
- package/dist/protected-storage-look.d.ts +0 -1
- package/dist/protected-storage.d.ts +0 -98
- package/dist/provider-auth.d.ts +0 -143
- package/dist/provider-capture.d.ts +0 -34
- package/dist/provider-connection.d.ts +0 -23
- package/dist/provider-home.d.ts +0 -22
- package/dist/provider-limits.d.ts +0 -37
- package/dist/provider.d.ts +0 -369
- package/dist/public-access.d.ts +0 -61
- package/dist/public-check.d.ts +0 -37
- package/dist/publish.d.ts +0 -146
- package/dist/pull-request-flow.d.ts +0 -189
- package/dist/pull-request-schema.d.ts +0 -5
- package/dist/pull-request-ui.d.ts +0 -25
- package/dist/pulls.d.ts +0 -121
- package/dist/push.d.ts +0 -120
- package/dist/quality.d.ts +0 -8
- package/dist/quick-start.d.ts +0 -26
- package/dist/read-executor-worker.d.ts +0 -1
- package/dist/read-executor.d.ts +0 -66
- package/dist/read-only-request.d.ts +0 -4
- package/dist/recipe-ui.d.ts +0 -21
- package/dist/recipes.d.ts +0 -56
- package/dist/release-adapters.d.ts +0 -205
- package/dist/release-approval.d.ts +0 -180
- package/dist/release-authority.d.ts +0 -173
- package/dist/release-auto.d.ts +0 -184
- package/dist/release-card.d.ts +0 -170
- package/dist/release-carry.d.ts +0 -261
- package/dist/release-ci-hold.d.ts +0 -41
- package/dist/release-cli.d.ts +0 -34
- package/dist/release-coverage.d.ts +0 -16
- package/dist/release-gate.d.ts +0 -84
- package/dist/release-git.d.ts +0 -43
- package/dist/release-links.d.ts +0 -29
- package/dist/release-net.d.ts +0 -90
- package/dist/release-next.d.ts +0 -48
- package/dist/release-recheck.d.ts +0 -146
- package/dist/release-refusal.d.ts +0 -32
- package/dist/release-view.d.ts +0 -37
- package/dist/release.d.ts +0 -806
- package/dist/releases.d.ts +0 -94
- package/dist/remote-audit.d.ts +0 -79
- package/dist/remote-command.d.ts +0 -45
- package/dist/remote-destination.d.ts +0 -36
- package/dist/remote-exec.d.ts +0 -38
- package/dist/remote-main.d.ts +0 -111
- package/dist/remote-run.d.ts +0 -20
- package/dist/remote.d.ts +0 -67
- package/dist/render.d.ts +0 -64
- package/dist/reply-shape.d.ts +0 -106
- package/dist/reply-voice.d.ts +0 -23
- package/dist/report-summary.d.ts +0 -22
- package/dist/reported-usage.d.ts +0 -69
- package/dist/repos.d.ts +0 -67
- package/dist/repository-context-ui.d.ts +0 -3
- package/dist/repository-context.d.ts +0 -66
- package/dist/request-budget-ui.d.ts +0 -14
- package/dist/request-budget.d.ts +0 -127
- package/dist/restart-certification.d.ts +0 -133
- package/dist/result-actions.d.ts +0 -36
- package/dist/result-acts.d.ts +0 -112
- package/dist/result-completion.d.ts +0 -39
- package/dist/result-evidence-readers.d.ts +0 -42
- package/dist/result-follow-ups.d.ts +0 -118
- package/dist/result-review.d.ts +0 -220
- package/dist/result-shots.d.ts +0 -59
- package/dist/retention-ui.d.ts +0 -21
- package/dist/retention.d.ts +0 -77
- package/dist/review-context.d.ts +0 -245
- package/dist/review-evidence.d.ts +0 -33
- package/dist/review-switch.d.ts +0 -36
- package/dist/reviewer.d.ts +0 -99
- package/dist/route-change-check.d.ts +0 -4
- package/dist/route-change.d.ts +0 -22
- package/dist/route-hooks.d.ts +0 -54
- package/dist/route-results.d.ts +0 -75
- package/dist/route-rules.d.ts +0 -324
- package/dist/route-savings.d.ts +0 -136
- package/dist/route-store.d.ts +0 -300
- package/dist/run-closeout.d.ts +0 -89
- package/dist/run-efficiency.d.ts +0 -74
- package/dist/run-ending.d.ts +0 -21
- package/dist/runner-process.d.ts +0 -76
- package/dist/runner.d.ts +0 -324
- package/dist/sample-project.d.ts +0 -31
- package/dist/sandbox-launch.d.ts +0 -1
- package/dist/sandbox-runtime.d.ts +0 -128
- package/dist/scan.d.ts +0 -32
- package/dist/scope.d.ts +0 -1098
- package/dist/scout-browser-lock.d.ts +0 -69
- package/dist/scout-browser.d.ts +0 -107
- package/dist/scout-net.d.ts +0 -25
- package/dist/scout-report.d.ts +0 -23
- package/dist/scout.d.ts +0 -142
- package/dist/secret-mint.d.ts +0 -1
- package/dist/serve.d.ts +0 -11
- package/dist/server/agents-computers.d.ts +0 -9
- package/dist/server/agents-live-filed.d.ts +0 -17
- package/dist/server/agents-live-lead.d.ts +0 -47
- package/dist/server/agents-live-room.d.ts +0 -23
- package/dist/server/chat.d.ts +0 -39
- package/dist/server/chrome.d.ts +0 -328
- package/dist/server/edge-refusal.d.ts +0 -7
- package/dist/server/flows.d.ts +0 -8
- package/dist/server/guards.d.ts +0 -81
- package/dist/server/handler-context.d.ts +0 -22
- package/dist/server/handler-registry.d.ts +0 -23
- package/dist/server/home-asks.d.ts +0 -45
- package/dist/server/home.d.ts +0 -65
- package/dist/server/http.d.ts +0 -337
- package/dist/server/in-place.d.ts +0 -15
- package/dist/server/kit-standalone.d.ts +0 -22
- package/dist/server/kit.d.ts +0 -452
- package/dist/server/last-checks.d.ts +0 -17
- package/dist/server/live.d.ts +0 -74
- package/dist/server/merge-ready-view.d.ts +0 -10
- package/dist/server/mutation-key.d.ts +0 -70
- package/dist/server/pages-assets.d.ts +0 -11
- package/dist/server/pages.d.ts +0 -8
- package/dist/server/people-tokens.d.ts +0 -18
- package/dist/server/remote-hooks.d.ts +0 -29
- package/dist/server/remote.d.ts +0 -60
- package/dist/server/render-chat.d.ts +0 -439
- package/dist/server/render-code-map.d.ts +0 -30
- package/dist/server/render-flaky.d.ts +0 -20
- package/dist/server/render-follow-through.d.ts +0 -11
- package/dist/server/render-history.d.ts +0 -51
- package/dist/server/render-new-task.d.ts +0 -54
- package/dist/server/render-pages.d.ts +0 -236
- package/dist/server/render-people.d.ts +0 -102
- package/dist/server/render-projects.d.ts +0 -104
- package/dist/server/render-release.d.ts +0 -19
- package/dist/server/render-results.d.ts +0 -758
- package/dist/server/render-settings.d.ts +0 -93
- package/dist/server/render-tasks.d.ts +0 -783
- package/dist/server/request-context.d.ts +0 -78
- package/dist/server/retired-routes.d.ts +0 -17
- package/dist/server/route-policy.d.ts +0 -18
- package/dist/server/route-table.d.ts +0 -114
- package/dist/server/runtime.d.ts +0 -343
- package/dist/server/session.d.ts +0 -192
- package/dist/server/settings.d.ts +0 -76
- package/dist/server/signup-gate.d.ts +0 -9
- package/dist/server/sweeps.d.ts +0 -4
- package/dist/server/task-views.d.ts +0 -98
- package/dist/server/tasks.d.ts +0 -108
- package/dist/server/terminals.d.ts +0 -31
- package/dist/server/welcome.d.ts +0 -28
- package/dist/server-telemetry.d.ts +0 -87
- package/dist/settings-groups-ui.d.ts +0 -286
- package/dist/settings-kit-script.d.ts +0 -21
- package/dist/settings-kit.d.ts +0 -173
- package/dist/settings-proofs.d.ts +0 -64
- package/dist/setup-guide.d.ts +0 -39
- package/dist/shared-deps.d.ts +0 -115
- package/dist/sign-in-guard.d.ts +0 -70
- package/dist/skills-ui.d.ts +0 -12
- package/dist/skills.d.ts +0 -99
- package/dist/slack-api.d.ts +0 -59
- package/dist/slack-chat.d.ts +0 -37
- package/dist/slack-settings.d.ts +0 -4
- package/dist/slack-socket.d.ts +0 -12
- package/dist/slack.d.ts +0 -6
- package/dist/sleep.d.ts +0 -2
- package/dist/source-key.d.ts +0 -2
- package/dist/spend-report.d.ts +0 -87
- package/dist/spend-ui.d.ts +0 -80
- package/dist/spend.d.ts +0 -142
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-telemetry.d.ts +0 -9
- package/dist/sso-settings.d.ts +0 -33
- package/dist/sso-ui.d.ts +0 -26
- package/dist/staged-runtimes.d.ts +0 -54
- package/dist/steer-capabilities.d.ts +0 -32
- package/dist/steer-controls.d.ts +0 -14
- package/dist/steer-live.d.ts +0 -19
- package/dist/steer-mailbox.d.ts +0 -46
- package/dist/steer-status.d.ts +0 -25
- package/dist/stop-proof.d.ts +0 -67
- package/dist/storage-sweep-child.d.ts +0 -1
- package/dist/storage-sweep-process.d.ts +0 -55
- package/dist/storage-sweep-schedule.d.ts +0 -30
- package/dist/storage-sweep.d.ts +0 -77
- package/dist/storage-ui.d.ts +0 -23
- package/dist/storage.d.ts +0 -68
- package/dist/store-baseline.d.ts +0 -19
- package/dist/store.d.ts +0 -8613
- package/dist/stream-scope.d.ts +0 -18
- package/dist/structured-output.d.ts +0 -57
- package/dist/style-asset.d.ts +0 -7
- package/dist/subagent-admin.d.ts +0 -53
- package/dist/subagent-desk.d.ts +0 -59
- package/dist/subagent-memory.d.ts +0 -65
- package/dist/subagent-question.d.ts +0 -59
- package/dist/subagent-tools.d.ts +0 -125
- package/dist/subagent-week.d.ts +0 -68
- package/dist/subagent-work.d.ts +0 -76
- package/dist/subagents-ui.d.ts +0 -22
- package/dist/subagents.d.ts +0 -146
- package/dist/subscription-chat.d.ts +0 -54
- package/dist/summary.d.ts +0 -33
- package/dist/surface.d.ts +0 -49
- package/dist/sweep-gate.d.ts +0 -10
- package/dist/sweep-quarantine.d.ts +0 -29
- package/dist/sync.d.ts +0 -94
- package/dist/tailnet.d.ts +0 -11
- package/dist/tamper-scan.d.ts +0 -4
- package/dist/task-activity.d.ts +0 -27
- package/dist/task-aliases.d.ts +0 -5
- package/dist/task-archive.d.ts +0 -13
- package/dist/task-base.d.ts +0 -39
- package/dist/task-composer.d.ts +0 -14
- package/dist/task-control.d.ts +0 -159
- package/dist/task-live.d.ts +0 -8
- package/dist/task-moves.d.ts +0 -90
- package/dist/task-outcome-cli.d.ts +0 -48
- package/dist/task-review-brief.d.ts +0 -69
- package/dist/task-sizing.d.ts +0 -58
- package/dist/task-source.d.ts +0 -77
- package/dist/task-status.d.ts +0 -324
- package/dist/task-text.d.ts +0 -31
- package/dist/team-chat-authorization.d.ts +0 -11
- package/dist/team-contract.d.ts +0 -103
- package/dist/team-http.d.ts +0 -25
- package/dist/team-leads.d.ts +0 -85
- package/dist/team-runtime.d.ts +0 -25
- package/dist/team-ui.d.ts +0 -4
- package/dist/team-updates.d.ts +0 -8
- package/dist/teams-api.d.ts +0 -33
- package/dist/teams-chat.d.ts +0 -36
- package/dist/teams-settings.d.ts +0 -14
- package/dist/teams.d.ts +0 -24
- package/dist/teardown-git.d.ts +0 -164
- package/dist/telegram-flow.d.ts +0 -112
- package/dist/telegram-lead.d.ts +0 -151
- package/dist/telegram-live.d.ts +0 -116
- package/dist/telegram-progress.d.ts +0 -20
- package/dist/telegram-settings.d.ts +0 -9
- package/dist/telegram-status.d.ts +0 -83
- package/dist/telegram-team.d.ts +0 -68
- package/dist/telegram.d.ts +0 -271
- package/dist/templates.d.ts +0 -69
- package/dist/terminal-catalog.d.ts +0 -11
- package/dist/terminal-text.d.ts +0 -11
- package/dist/test-infra.d.ts +0 -34
- package/dist/test-temp.d.ts +0 -40
- package/dist/text-limits.d.ts +0 -297
- package/dist/tidy.d.ts +0 -130
- package/dist/tier-report.d.ts +0 -44
- package/dist/token-notices.d.ts +0 -11
- package/dist/tokens-cli.d.ts +0 -21
- package/dist/tool-broker.d.ts +0 -52
- package/dist/tool-launcher.d.ts +0 -1
- package/dist/tool-secret-store.d.ts +0 -167
- package/dist/toolroll-update-cli.d.ts +0 -15
- package/dist/toolroll-update-ui.d.ts +0 -47
- package/dist/toolroll-update.d.ts +0 -265
- package/dist/tools-ui.d.ts +0 -51
- package/dist/transitions-recipes.d.ts +0 -1
- package/dist/tree-proof.d.ts +0 -34
- package/dist/tui-contract.d.ts +0 -202
- package/dist/tui-source.d.ts +0 -14
- package/dist/typed-start.d.ts +0 -51
- package/dist/unfenced-test-support.d.ts +0 -2
- package/dist/up-processes.d.ts +0 -162
- package/dist/up-role-child.d.ts +0 -1
- package/dist/update-notice.d.ts +0 -5
- package/dist/vanished-retry.d.ts +0 -30
- package/dist/verification-evidence.d.ts +0 -68
- package/dist/version.d.ts +0 -2
- package/dist/wake-hub.d.ts +0 -72
- package/dist/webhook-limits.d.ts +0 -23
- package/dist/webhook-readers.d.ts +0 -56
- package/dist/webhook-signing.d.ts +0 -27
- package/dist/webhooks.d.ts +0 -84
- package/dist/welcome-facts.d.ts +0 -18
- package/dist/when-html.d.ts +0 -40
- package/dist/work-index.d.ts +0 -175
- package/dist/work-summary.d.ts +0 -61
- package/dist/workspace-motion.d.ts +0 -4
- package/dist/workspace-revision.d.ts +0 -48
- package/dist/workspace-ui.d.ts +0 -385
- package/dist/worktree-notices.d.ts +0 -13
- package/dist/worktree.d.ts +0 -365
- package/dist/writes-mode.d.ts +0 -9
- package/dist/youiyoux-intake.d.ts +0 -234
package/dist/releases.js
CHANGED
|
@@ -1,31 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Knowing, calmly, when a newer Toolroll exists.
|
|
3
|
-
*
|
|
4
|
-
* At most once a day one anonymous GET asks the npm registry for the latest
|
|
5
|
-
* version, and one more reads that version's GitHub release notes (the body
|
|
6
|
-
* only). Nothing identifies this installation: no telemetry, no id, no
|
|
7
|
-
* query string. The answer is cached in a small JSON file beside the
|
|
8
|
-
* database; offline or any other failure is silent and changes nothing.
|
|
9
|
-
* TOOLROLL_NO_UPDATE_CHECK=1 or the switch on Settings → Updates turns the
|
|
10
|
-
* check off entirely.
|
|
11
|
-
*/
|
|
12
1
|
import { existsSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
13
2
|
import { join } from "node:path";
|
|
14
3
|
import { envValue } from "./names.js";
|
|
15
4
|
export const RELEASE_CACHE_FILE = "latest-release.json";
|
|
16
|
-
/** Holds "off" while a person has switched the daily check off on Settings → Updates. */
|
|
17
5
|
export const UPDATE_SWITCH_FILE = "update-check";
|
|
18
6
|
export const RUNNER_VERSIONS_FILE = "runner-versions.json";
|
|
19
7
|
export const CHECK_EVERY_MS = 24 * 60 * 60 * 1000;
|
|
20
8
|
export const CHECK_TIMEOUT_MS = 5_000;
|
|
21
|
-
/** The npm registry `toolroll update` downloads releases from. */
|
|
22
9
|
export const REGISTRY = "https://registry.npmjs.org";
|
|
23
10
|
export const REGISTRY_URL = `${REGISTRY}/toolroll/latest`;
|
|
24
11
|
export const RELEASES_PAGE = "https://github.com/ap9000/toolroll/releases/tag/";
|
|
25
12
|
const NOTES_API = "https://api.github.com/repos/ap9000/toolroll/releases/tags/";
|
|
26
13
|
const NOTES_MAX = 20_000;
|
|
27
14
|
const VERSION = /^\d{1,6}\.\d{1,6}\.\d{1,6}(?:-[0-9A-Za-z.-]{1,40})?$/;
|
|
28
|
-
/** Off by the environment (it wins) or by the Settings switch. */
|
|
29
15
|
export function updateChecksOff(env, dir) {
|
|
30
16
|
const flag = envValue(env, "NO_UPDATE_CHECK");
|
|
31
17
|
if (flag !== undefined && flag !== "" && flag !== "0")
|
|
@@ -40,15 +26,9 @@ export function updateChecksOff(env, dir) {
|
|
|
40
26
|
export function setUpdateChecks(dir, on) {
|
|
41
27
|
writeAtomic(join(dir, UPDATE_SWITCH_FILE), on ? "on\n" : "off\n");
|
|
42
28
|
}
|
|
43
|
-
/** What the last check found, whenever it ran; null when none has succeeded. Never touches the network. */
|
|
44
29
|
export function cachedRelease(dir) {
|
|
45
30
|
return readCache(dir)?.release ?? null;
|
|
46
31
|
}
|
|
47
|
-
/**
|
|
48
|
-
* The latest published release, checked at most once a day. Returns what the
|
|
49
|
-
* cache knows while it is fresh, asks again once it is a day old, and on any
|
|
50
|
-
* failure keeps what it knew before (null when it knew nothing). Never throws.
|
|
51
|
-
*/
|
|
52
32
|
export async function latestRelease(dir, io = {}) {
|
|
53
33
|
const env = io.env ?? process.env;
|
|
54
34
|
if (updateChecksOff(env, dir).off)
|
|
@@ -67,24 +47,17 @@ export async function latestRelease(dir, io = {}) {
|
|
|
67
47
|
}
|
|
68
48
|
}
|
|
69
49
|
catch {
|
|
70
|
-
// Offline, slow or refused: nothing to say.
|
|
71
50
|
}
|
|
72
|
-
// The attempt is stamped either way, so a failure does not ask again until tomorrow.
|
|
73
51
|
try {
|
|
74
52
|
writeAtomic(join(dir, RELEASE_CACHE_FILE), `${JSON.stringify({ checkedAt: now.toISOString(), release })}\n`);
|
|
75
53
|
}
|
|
76
54
|
catch {
|
|
77
|
-
// A read-only folder only means asking again next time.
|
|
78
55
|
}
|
|
79
56
|
return release;
|
|
80
57
|
}
|
|
81
|
-
/** Notes that mention "Security" mark a security release. */
|
|
82
|
-
/** A release marks itself as a security release with a line or heading that starts with "Security" (for example
|
|
83
|
-
* "## Security" or "- **Security fix.**"), not by mentioning the word ("no security changes"). */
|
|
84
58
|
export function isSecurityRelease(notes) {
|
|
85
59
|
return /^\s*(?:#{1,6}\s*|[-*]\s*(?:\*\*)?)?security\b/im.test(notes);
|
|
86
60
|
}
|
|
87
|
-
/** a > b for dotted versions; a pre-release sorts before its release. */
|
|
88
61
|
export function isNewer(a, b) {
|
|
89
62
|
const parse = (value) => {
|
|
90
63
|
const [core = "", pre] = value.replace(/^v/, "").split("-", 2);
|
|
@@ -104,20 +77,13 @@ export function isNewer(a, b) {
|
|
|
104
77
|
return false;
|
|
105
78
|
return left.pre.localeCompare(right.pre, "en", { numeric: true }) > 0;
|
|
106
79
|
}
|
|
107
|
-
/** The release worth mentioning: newer than `current`, else null. */
|
|
108
80
|
export function newerRelease(release, current) {
|
|
109
81
|
return release !== null && isNewer(release.version, current) ? release : null;
|
|
110
82
|
}
|
|
111
|
-
/** The one status line, only when a newer release exists. */
|
|
112
83
|
export function updateLine(release, current, updateCommand) {
|
|
113
84
|
const newer = newerRelease(release, current);
|
|
114
85
|
return newer === null ? null : `${newer.version} is available — ${updateCommand} · ${newer.url}`;
|
|
115
86
|
}
|
|
116
|
-
/**
|
|
117
|
-
* A security release tells each instance operator once per version, through
|
|
118
|
-
* the outbox and addressed to them (like a sign-in pause): only someone at
|
|
119
|
-
* this computer can update it. Returns how many messages were queued.
|
|
120
|
-
*/
|
|
121
87
|
export function notifySecurityRelease(store, release, current, updateCommand, now) {
|
|
122
88
|
const newer = newerRelease(release, current);
|
|
123
89
|
if (newer === null || !newer.security)
|
|
@@ -147,7 +113,6 @@ export function recordRunnerVersion(dir, runner, version, now) {
|
|
|
147
113
|
writeAtomic(join(dir, RUNNER_VERSIONS_FILE), `${JSON.stringify(known.sort((a, b) => a.runner.localeCompare(b.runner)))}\n`);
|
|
148
114
|
}
|
|
149
115
|
catch {
|
|
150
|
-
// The version is a display fact; a failed write only leaves it unknown.
|
|
151
116
|
}
|
|
152
117
|
}
|
|
153
118
|
export function runnerVersions(dir) {
|
|
@@ -162,10 +127,6 @@ export function runnerVersions(dir) {
|
|
|
162
127
|
return [];
|
|
163
128
|
}
|
|
164
129
|
}
|
|
165
|
-
/**
|
|
166
|
-
* The console's background check: at start and then hourly (the daily limit
|
|
167
|
-
* is latestRelease's own), and a security release notifies operators.
|
|
168
|
-
*/
|
|
169
130
|
export function startUpdateChecks(store, dir, current, updateCommand, io = {}) {
|
|
170
131
|
let stopped = false;
|
|
171
132
|
const pass = async () => {
|
|
@@ -175,7 +136,6 @@ export function startUpdateChecks(store, dir, current, updateCommand, io = {}) {
|
|
|
175
136
|
notifySecurityRelease(store, release, current, updateCommand, (io.now ?? (() => new Date()))());
|
|
176
137
|
}
|
|
177
138
|
catch {
|
|
178
|
-
// A closed store at shutdown: nothing to tell.
|
|
179
139
|
}
|
|
180
140
|
}
|
|
181
141
|
};
|
|
@@ -225,8 +185,6 @@ function writeAtomic(file, content) {
|
|
|
225
185
|
writeFileSync(temporary, content, { mode: 0o600 });
|
|
226
186
|
renameSync(temporary, file);
|
|
227
187
|
}
|
|
228
|
-
/** The latest version, asked of npm now: for an explicit update (the command, Check now), not the once-a-day
|
|
229
|
-
* notice, so neither its cache nor its switch applies. Throws with npm's own reason. */
|
|
230
188
|
export async function latestVersionNow(io = {}) {
|
|
231
189
|
const answer = await (io.fetch ?? fetch)(REGISTRY_URL, { signal: AbortSignal.timeout(10_000), headers: { accept: "application/json" } });
|
|
232
190
|
if (!answer.ok)
|
|
@@ -236,8 +194,6 @@ export async function latestVersionNow(io = {}) {
|
|
|
236
194
|
throw new Error("npm did not name a version");
|
|
237
195
|
return { version };
|
|
238
196
|
}
|
|
239
|
-
/** What a release says about itself in one line ("Release 0.9.9: lighter tests, cleaner status"), when its notes
|
|
240
|
-
* have such a line; null otherwise. */
|
|
241
197
|
export function releaseSummary(notes, version) {
|
|
242
198
|
const escaped = version.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
243
199
|
const line = new RegExp(`^\\s*(?:#{1,6}\\s*)?(?:Toolroll\\s+)?(?:Release\\s+)?v?${escaped}\\s*[:—–-]\\s*(.+?)\\s*$`, "im").exec(notes);
|
|
@@ -246,11 +202,6 @@ export function releaseSummary(notes, version) {
|
|
|
246
202
|
return null;
|
|
247
203
|
return summary.length <= 80 ? summary : `${summary.slice(0, 79).replace(/[\s,;:]+\S*$/, "")}…`;
|
|
248
204
|
}
|
|
249
|
-
/**
|
|
250
|
-
* A deploy says one thing in chat: "Toolroll 0.9.9 is live." (with the release's own one-line summary when its
|
|
251
|
-
* notes have one). Once per version, addressed to each instance operator, and only when a worker on this
|
|
252
|
-
* computer last ran an older version: a fresh install is not news. Call before recording this runner's version.
|
|
253
|
-
*/
|
|
254
205
|
export function notifyVersionLive(store, dir, version, now) {
|
|
255
206
|
const before = runnerVersions(dir);
|
|
256
207
|
if (!VERSION.test(version) || !before.some(one => isNewer(version, one.version)) || before.some(one => isNewer(one.version, version)))
|
package/dist/remote-audit.js
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Remote activity (phase 3, docs/plans/remote-team.md): what people did on this server with their API tokens, read
|
|
3
|
-
* from the action history runOperateAs already writes — one `requested` line when a command starts, and a final line
|
|
4
|
-
* (`done`, `refused`, `usage`, `failed`) when it ends or is refused. The history is append-only and sealed, so old
|
|
5
|
-
* words are never rewritten: this projection maps them to `ok`, `refused` and `error` as it reads, and leaves out the
|
|
6
|
-
* `requested` lines. It never shows a line's raw detail; the token's name, an MCP tool and a refusal reason are
|
|
7
|
-
* recovered from it by exact match.
|
|
8
|
-
*
|
|
9
|
-
* Who sees what is decided inside the query, before a page is cut: the machine's owner (a local run) sees everyone;
|
|
10
|
-
* an approver sees everyone within their project ceiling and all of their own lines; a viewer sees only their own.
|
|
11
|
-
* Another person the reader may not see answers exactly like a person who doesn't exist.
|
|
12
|
-
*/
|
|
13
1
|
import { IN_RANGE } from "./ledger-chain.js";
|
|
14
2
|
export const AUDIT_SOURCES = ["api", "mcp"];
|
|
15
3
|
export const AUDIT_LIMIT = { default: 20, max: 100 };
|
|
16
4
|
const SINCE_MAX_DAYS = 3650;
|
|
17
5
|
export const OWNER_READER = Object.freeze({ self: null, everyone: true, repos: null, unplaced: true });
|
|
18
|
-
/** The old final words, in the vocabulary people read. Anything unrecognized reads as an error, never as ok. */
|
|
19
6
|
export function auditOutcome(outcome) {
|
|
20
7
|
if (outcome === "requested")
|
|
21
8
|
return null;
|
|
@@ -25,7 +12,6 @@ export function auditOutcome(outcome) {
|
|
|
25
12
|
return "refused";
|
|
26
13
|
return "error";
|
|
27
14
|
}
|
|
28
|
-
/** `7d` → the instant that many days before `now`; null for anything else (no zero, sign, fraction or other unit). */
|
|
29
15
|
export function sinceOf(value, now) {
|
|
30
16
|
const match = /^([1-9][0-9]{0,3})d$/.exec(value);
|
|
31
17
|
if (match === null || Number(match[1]) > SINCE_MAX_DAYS)
|
|
@@ -36,11 +22,6 @@ export const cursorOf = (value) => /^[1-9][0-9]{0,15}$/.test(value) && Number.is
|
|
|
36
22
|
const REASON = /^[a-z][a-z0-9-]{0,40}$/;
|
|
37
23
|
const TOOL = /^[a-z][a-z0-9_]{0,40}$/;
|
|
38
24
|
const COMMAND = "remote command: ";
|
|
39
|
-
/**
|
|
40
|
-
* A line's token, tool and reason. The detail is `token <name>` then ` · `-separated parts: the token name is the
|
|
41
|
-
* longest of this person's token names (or ids, for a line written before the token was proved) that matches up to a
|
|
42
|
-
* separator, since a name may itself contain ` · `. Unmatched text is never echoed.
|
|
43
|
-
*/
|
|
44
25
|
export function readDetail(detail, tokens) {
|
|
45
26
|
const none = { token: null, tool: null, reason: null };
|
|
46
27
|
if (detail === null || !detail.startsWith("token "))
|
|
@@ -67,10 +48,6 @@ export function readDetail(detail, tokens) {
|
|
|
67
48
|
}
|
|
68
49
|
return { token, tool, reason };
|
|
69
50
|
}
|
|
70
|
-
/**
|
|
71
|
-
* One page of remote actions, newest first, keyed by entry id so new lines never shift an older page. The reader's
|
|
72
|
-
* visibility and every filter are applied before the page is cut; the token filter is an exact name match.
|
|
73
|
-
*/
|
|
74
51
|
export function remoteAudit(store, reader, filters, page = {}) {
|
|
75
52
|
const notFound = { ok: false, reason: "not-found", message: "Not found." };
|
|
76
53
|
const limit = Math.max(1, Math.min(AUDIT_LIMIT.max, Math.trunc(page.limit ?? AUDIT_LIMIT.default)));
|
|
@@ -109,7 +86,6 @@ export function remoteAudit(store, reader, filters, page = {}) {
|
|
|
109
86
|
for (const one of store.apiTokens(null))
|
|
110
87
|
tokens.set(one.account, [...(tokens.get(one.account) ?? []), one]);
|
|
111
88
|
if (filters.token !== null) {
|
|
112
|
-
// Narrow by every label a line for this name could start with; the exact owner of the line is decided below.
|
|
113
89
|
const labels = [...new Set([...tokens.values()].flat().filter(one => one.name === filters.token).flatMap(one => [one.name, one.id]))];
|
|
114
90
|
if (labels.length === 0)
|
|
115
91
|
return { ok: true, actions: [], nextCursor: null, limit };
|
|
@@ -155,7 +131,6 @@ function actionOf(row, tokens) {
|
|
|
155
131
|
outcome, reason: outcome === "ok" ? null : read.reason ?? (String(row["outcome"]) === "usage" ? "usage" : null),
|
|
156
132
|
};
|
|
157
133
|
}
|
|
158
|
-
/** A token's standing, for People. */
|
|
159
134
|
export function tokenStatus(token, now) {
|
|
160
135
|
return token.revokedAt !== null ? "revoked" : Date.parse(token.expiresAt) <= now.getTime() ? "expired" : "active";
|
|
161
136
|
}
|
package/dist/remote-command.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { COMMAND_GUIDE } from './surface.js';
|
|
2
2
|
export const STEP_UP_MESSAGE = 'approve in the console or chat';
|
|
3
|
-
/**
|
|
4
|
-
* Filesystem arguments audited against operate.ts, flows-cli.ts and cli.ts's local dispatchers.
|
|
5
|
-
* Keep this inventory command-specific: --file runs a project executable for scripts, but is a
|
|
6
|
-
* boolean for template apply; --to is a directory for link and a date for ledger export.
|
|
7
|
-
* Project selectors (--repo), scope globs (--touches/--paths) and saved IDs are not input files;
|
|
8
|
-
* their authority belongs to runOperateAs. Local installers' explicit destinations are refused.
|
|
9
|
-
* '*' is reserved for the credentials/database and cli.ts's output redirection, on every command.
|
|
10
|
-
*/
|
|
11
3
|
export const REMOTE_PATH_ARGUMENTS = [
|
|
12
4
|
...['--token', '--token-file', '--token-env', '--db', '-o', '--output'].map(flag => ({ invocation: '*', argument: { flag }, policy: 'refuse' })),
|
|
13
5
|
{ invocation: 'flows create', argument: { flag: '--steps' }, policy: 'inline', literal: 'json' },
|
|
@@ -15,7 +7,6 @@ export const REMOTE_PATH_ARGUMENTS = [
|
|
|
15
7
|
{ invocation: 'flows script save', argument: { flag: '--body' }, policy: 'inline' },
|
|
16
8
|
{ invocation: 'flows script save', argument: { flag: '--file' }, policy: 'refuse' },
|
|
17
9
|
{ invocation: 'flows export', argument: { flag: '--out' }, policy: 'refuse' },
|
|
18
|
-
// Import stats the original path before readInput. Inlining alone cannot prevent that server read.
|
|
19
10
|
{ invocation: 'flows import', argument: { position: 0, name: 'file' }, policy: 'refuse', literal: 'url' },
|
|
20
11
|
{ invocation: 'flows trigger add', argument: { position: 1, name: 'trigger' }, policy: 'inline', literal: 'json' },
|
|
21
12
|
{ invocation: 'task evidence', argument: { flag: '--out' }, policy: 'refuse' },
|
|
@@ -35,11 +26,6 @@ export const REMOTE_PATH_ARGUMENTS = [
|
|
|
35
26
|
...['repos add', 'repos remove', 'pulls', 'graph', ''].map(invocation => ({ invocation, argument: { position: 0, name: 'path', rest: true }, policy: 'refuse' })),
|
|
36
27
|
{ invocation: 'project use', argument: { position: 0, name: 'checkout path' }, policy: 'refuse' },
|
|
37
28
|
];
|
|
38
|
-
/**
|
|
39
|
-
* Parse once using declared arity, so a flag's value cannot be mistaken for another flag or a
|
|
40
|
-
* file positional. Unknown arity fails closed. File keys and argv stay exactly as typed.
|
|
41
|
-
* All failures describe the argument slot, never a supplied path, credential or other value.
|
|
42
|
-
*/
|
|
43
29
|
export function fileArguments(argv, row) {
|
|
44
30
|
const paths = [];
|
|
45
31
|
const rules = REMOTE_PATH_ARGUMENTS.filter(one => one.invocation === '*' || one.invocation === row.invocation);
|
|
@@ -57,7 +43,6 @@ export function fileArguments(argv, row) {
|
|
|
57
43
|
return { problem: `${label} cannot use a server path remotely. Use --local to run it here.`, code: 'server-path' };
|
|
58
44
|
if (value === undefined || value === '')
|
|
59
45
|
return { problem: `${label} needs a file path.`, code: 'missing-file' };
|
|
60
|
-
// '-' would otherwise read the server's stdin (or a client file literally named '-'). Never prompt.
|
|
61
46
|
if (value === '-')
|
|
62
47
|
return { problem: `${label} needs a file instead of stdin for a remote command.`, code: 'server-path' };
|
|
63
48
|
paths.push(value);
|
|
@@ -100,7 +85,6 @@ export function fileArguments(argv, row) {
|
|
|
100
85
|
}
|
|
101
86
|
return paths;
|
|
102
87
|
}
|
|
103
|
-
/** The longest declared invocation named by the leading words. Missing remote metadata means local only. */
|
|
104
88
|
export const contractRow = argv => {
|
|
105
89
|
const words = [];
|
|
106
90
|
for (const one of argv) {
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Where a read of a recorded remote really connects, worked out and pinned before git runs (docs/plans/code-map.md §1).
|
|
3
|
-
* remote-main.ts's URL rules look at a host's spelling; a name can still resolve to this machine. Here the name is
|
|
4
|
-
* resolved once, every address is checked, and git is told to use exactly the checked address. Routing is decided from
|
|
5
|
-
* the same environment git gets. Anything that can't be decided or pinned refuses with a reason: there is no fallback to
|
|
6
|
-
* an unpinned read.
|
|
7
|
-
*/
|
|
8
1
|
import { lookup as dnsLookup } from "node:dns/promises";
|
|
9
2
|
import { isIP } from "node:net";
|
|
10
3
|
export const lookupAll = async (host) => (await dnsLookup(host, { all: true, verbatim: true })).map(one => one.address);
|
|
11
4
|
const UNDECIDED = "Toolroll can't tell how this connection would be routed";
|
|
12
5
|
const NOT_ALLOWED = "its address isn't one Toolroll connects to";
|
|
13
|
-
/** The eight 16-bit groups of an IPv6 address; null when it isn't one. */
|
|
14
6
|
function hextets(address) {
|
|
15
7
|
let text = address.toLowerCase().replace(/%.*$/, "");
|
|
16
8
|
const dotted = /(\d+\.\d+\.\d+\.\d+)$/.exec(text);
|
|
@@ -36,7 +28,6 @@ const refusedV4 = (address) => {
|
|
|
36
28
|
return a === 127 || a === 0 || (a === 169 && b === 254);
|
|
37
29
|
};
|
|
38
30
|
const v4Of = (high, low) => `${high >> 8}.${high & 255}.${low >> 8}.${low & 255}`;
|
|
39
|
-
/** Whether an address is loopback, unspecified, link-local, or an IPv4-mapped or NAT64 form of these. */
|
|
40
31
|
export function addressRefused(address) {
|
|
41
32
|
const family = isIP(address);
|
|
42
33
|
if (family === 4)
|
|
@@ -48,19 +39,17 @@ export function addressRefused(address) {
|
|
|
48
39
|
return true;
|
|
49
40
|
const top = g.slice(0, 5).every(one => one === 0);
|
|
50
41
|
if (top && g[5] === 0 && g[6] === 0 && (g[7] === 0 || g[7] === 1))
|
|
51
|
-
return true;
|
|
42
|
+
return true;
|
|
52
43
|
if ((g[0] & 0xffc0) === 0xfe80)
|
|
53
|
-
return true;
|
|
44
|
+
return true;
|
|
54
45
|
if (top && g[5] === 0xffff)
|
|
55
|
-
return refusedV4(v4Of(g[6], g[7]));
|
|
46
|
+
return refusedV4(v4Of(g[6], g[7]));
|
|
56
47
|
if (top && g[5] === 0)
|
|
57
|
-
return refusedV4(v4Of(g[6], g[7]));
|
|
48
|
+
return refusedV4(v4Of(g[6], g[7]));
|
|
58
49
|
if (g[0] === 0x64 && g[1] === 0xff9b && g.slice(2, 6).every(one => one === 0))
|
|
59
|
-
return refusedV4(v4Of(g[6], g[7]));
|
|
50
|
+
return refusedV4(v4Of(g[6], g[7]));
|
|
60
51
|
return false;
|
|
61
52
|
}
|
|
62
|
-
/** The host, effective port and scheme a recorded URL connects to; null when it can't be read. The caller has already
|
|
63
|
-
* passed remoteUrlProblem. Node's URL parser normalizes every spelling of a literal host. */
|
|
64
53
|
export function destinationOf(url) {
|
|
65
54
|
const scheme = /^([A-Za-z][A-Za-z0-9+.-]*):\/\//.exec(url)?.[1]?.toLowerCase();
|
|
66
55
|
let host, port;
|
|
@@ -104,13 +93,11 @@ async function checkedAddress(host, literal, lookup) {
|
|
|
104
93
|
}
|
|
105
94
|
if (found.length === 0)
|
|
106
95
|
return { ok: false, why: "its host name couldn't be resolved" };
|
|
107
|
-
// Every address, not just the first: a name that also answers with this machine isn't connected to.
|
|
108
96
|
if (found.some(addressRefused))
|
|
109
97
|
return { ok: false, why: NOT_ALLOWED };
|
|
110
98
|
return { ok: true, address: found[0] };
|
|
111
99
|
}
|
|
112
100
|
const curlPin = (host, port, address) => ["-c", `http.curloptResolve=${host}:${port}:${isIP(address) === 6 ? `[${address}]` : address}`];
|
|
113
|
-
/** One NO_PROXY entry against a host, as curl compares them; "unknown" for anything Toolroll won't second-guess. */
|
|
114
101
|
function noProxyMatch(entry, host) {
|
|
115
102
|
const raw = entry.replace(/^\[(.*)\]$/, "$1");
|
|
116
103
|
if (raw === "*")
|
|
@@ -144,7 +131,6 @@ function noProxyMatch(entry, host) {
|
|
|
144
131
|
const wanted = host.replace(/\.+$/, "").toLowerCase();
|
|
145
132
|
return name !== "" && (wanted === name || wanted.endsWith(`.${name}`));
|
|
146
133
|
}
|
|
147
|
-
/** Whether curl would skip the proxy for this host; "unknown" when an entry can't be decided. */
|
|
148
134
|
export function noProxyApplies(noProxy, host) {
|
|
149
135
|
let unknown = false;
|
|
150
136
|
for (const entry of noProxy.split(/[,\s]+/).filter(Boolean)) {
|
|
@@ -160,8 +146,6 @@ const envOf = (env, lower, upper) => {
|
|
|
160
146
|
const low = env[lower];
|
|
161
147
|
return low !== undefined && low !== "" ? low : env[upper] ?? "";
|
|
162
148
|
};
|
|
163
|
-
/** The proxy curl would use from `https_proxy`/`HTTPS_PROXY`: http or https schemes only (a SOCKS proxy resolves names
|
|
164
|
-
* on its side, in ways this can't see). */
|
|
165
149
|
function proxyOf(value) {
|
|
166
150
|
const text = /^[A-Za-z][A-Za-z0-9+.-]*:\/\//.test(value) ? value : `http://${value}`;
|
|
167
151
|
let parsed;
|
|
@@ -180,11 +164,6 @@ function proxyOf(value) {
|
|
|
180
164
|
return null;
|
|
181
165
|
return { host, port, literal };
|
|
182
166
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Decide the route and pin it. `env` is what git will see (the names remote-main.ts's ENV_ALLOWLIST passes). ssh never
|
|
185
|
-
* uses a proxy. Through a proxy, the proxy's own address is checked and pinned; the operator's proxy then chooses the
|
|
186
|
-
* final destination, and the caller says so.
|
|
187
|
-
*/
|
|
188
167
|
export async function pinDestination(url, env, lookup = lookupAll) {
|
|
189
168
|
const target = destinationOf(url);
|
|
190
169
|
if (target === null)
|
package/dist/remote-exec.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Remote CLI, the client half (Phase 1). With an API token saved by `toolroll connect`, a command whose contract row
|
|
3
|
-
* says `remote: "yes"` is sent to the central server's `POST /api/cli` and runs there as you; its stdout, stderr and
|
|
4
|
-
* exit code come back byte for byte. `remote: "no"` runs on this computer exactly as before, and `remote: "step-up"`
|
|
5
|
-
* (approvals, people and policy) is refused here: those stay in the console or chat.
|
|
6
|
-
*
|
|
7
|
-
* Nothing here opens the local database or reads a saved owner login; it never prompts, and an uncertain answer to
|
|
8
|
-
* a mutation is never retried.
|
|
9
|
-
*/
|
|
10
1
|
import { readFileSync, statSync } from 'node:fs';
|
|
11
2
|
import { resolve } from 'node:path';
|
|
12
3
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
@@ -18,8 +9,6 @@ import { TOKEN_REPLACEMENT } from './password-bearer.js';
|
|
|
18
9
|
import { contractRow, fileArguments, STEP_UP_MESSAGE } from './remote-command.js';
|
|
19
10
|
export { contractRow, STEP_UP_MESSAGE } from './remote-command.js';
|
|
20
11
|
const EXIT = { ok: 0, failed: 1, usage: 2, refused: 3 };
|
|
21
|
-
/** Never sent remotely: `connect` saves the profile itself, the lead's commands are this computer's, and the removed
|
|
22
|
-
* central team and session verbs answer with their removal notice (removed-commands.ts). */
|
|
23
12
|
const TEAM_COMMANDS = new Set(['connect', 'lead', 'conversation', 'chat', 'brief', 'session']);
|
|
24
13
|
const RESPONSE_BYTES = 16 * 1024 * 1024;
|
|
25
14
|
const REQUEST_TIMEOUT_MS = (CLI_WAIT_SECONDS + 35) * 1_000;
|
|
@@ -46,7 +35,6 @@ async function bounded(response) {
|
|
|
46
35
|
}
|
|
47
36
|
return JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks)));
|
|
48
37
|
}
|
|
49
|
-
/** One request, never retried. */
|
|
50
38
|
export async function postCli(origin, token, request, options) {
|
|
51
39
|
try {
|
|
52
40
|
const timeout = AbortSignal.timeout(REQUEST_TIMEOUT_MS);
|
|
@@ -73,7 +61,6 @@ export async function postCli(origin, token, request, options) {
|
|
|
73
61
|
return { kind: 'unconfirmed' };
|
|
74
62
|
}
|
|
75
63
|
}
|
|
76
|
-
/** The declared file arguments' contents, keyed by the argument exactly as typed. argv is never rewritten. */
|
|
77
64
|
function inlineFiles(argv, row, cwd) {
|
|
78
65
|
const paths = fileArguments(argv, row);
|
|
79
66
|
if ('problem' in paths)
|
|
@@ -107,10 +94,6 @@ function inlineFiles(argv, row, cwd) {
|
|
|
107
94
|
}
|
|
108
95
|
return files;
|
|
109
96
|
}
|
|
110
|
-
/**
|
|
111
|
-
* null: run locally with argv unchanged. `{ local }`: run locally with this argv (`--local` removed).
|
|
112
|
-
* A number: the command ran remotely (or was refused before sending) and this is its exit code.
|
|
113
|
-
*/
|
|
114
97
|
export async function maybeRunRemoteCommand(argv, options = {}) {
|
|
115
98
|
const first = argv[0];
|
|
116
99
|
if (first === undefined || first.startsWith('-') || TEAM_COMMANDS.has(first) || first === 'help')
|
|
@@ -131,13 +114,11 @@ export async function maybeRunRemoteCommand(argv, options = {}) {
|
|
|
131
114
|
const profileAt = argv.indexOf('--profile');
|
|
132
115
|
const mode = row?.mode ?? 'no';
|
|
133
116
|
const explicit = profileAt >= 0;
|
|
134
|
-
// Local commands never read the profile, and their own flags (the scan's --local) stay exactly as typed.
|
|
135
117
|
if (mode === 'no' && !explicit)
|
|
136
118
|
return null;
|
|
137
119
|
if (argv.includes('--local')) {
|
|
138
120
|
if (explicit)
|
|
139
121
|
return refuse('usage', '--local cannot be combined with --profile.', EXIT.usage);
|
|
140
|
-
// A row declaring --local keeps its own meaning; elsewhere it only means "run here".
|
|
141
122
|
const declared = COMMAND_GUIDE.find(one => one.invocation === row?.invocation)?.flags?.some(flag => flag.name === 'local') ?? false;
|
|
142
123
|
return { local: declared ? [...argv] : argv.filter(one => one !== '--local') };
|
|
143
124
|
}
|
|
@@ -150,7 +131,6 @@ export async function maybeRunRemoteCommand(argv, options = {}) {
|
|
|
150
131
|
catch (error) {
|
|
151
132
|
return refuse('usage', error instanceof UsageError ? error.message : 'The remote profile cannot be read.', EXIT.usage);
|
|
152
133
|
}
|
|
153
|
-
// No saved token: today's local behaviour. A profile saved with a password serves chat only.
|
|
154
134
|
if (profile === null || !profile.apiToken) {
|
|
155
135
|
if (!explicit)
|
|
156
136
|
return null;
|
|
@@ -171,14 +151,13 @@ export async function maybeRunRemoteCommand(argv, options = {}) {
|
|
|
171
151
|
}
|
|
172
152
|
const deliver = (outcome) => {
|
|
173
153
|
if (outcome.kind === 'answer') {
|
|
174
|
-
// Byte for byte. --json answers are also captured so -o writes the same envelope a local run would.
|
|
175
154
|
if (json) {
|
|
176
155
|
try {
|
|
177
156
|
const parsed = JSON.parse(outcome.answer.stdout);
|
|
178
157
|
if (parsed && typeof parsed === 'object' && !Array.isArray(parsed))
|
|
179
158
|
envelopeJson(parsed);
|
|
180
159
|
}
|
|
181
|
-
catch {
|
|
160
|
+
catch { }
|
|
182
161
|
}
|
|
183
162
|
if (outcome.answer.stdout)
|
|
184
163
|
out(outcome.answer.stdout);
|
|
@@ -196,10 +175,6 @@ export async function maybeRunRemoteCommand(argv, options = {}) {
|
|
|
196
175
|
return waitRemotely(sent, files, profile, options, deliver);
|
|
197
176
|
return deliver(await postCli(profile.origin, profile.token, { argv: sent, files }, options));
|
|
198
177
|
}
|
|
199
|
-
/**
|
|
200
|
-
* `task wait` holds the server for at most CLI_WAIT_SECONDS per request; the client keeps asking within the caller's
|
|
201
|
-
* own --timeout (none: until the task settles or the wait is interrupted). The final answer is the server's own.
|
|
202
|
-
*/
|
|
203
178
|
async function waitRemotely(argv, files, profile, options, deliver) {
|
|
204
179
|
const at = argv.indexOf('--timeout');
|
|
205
180
|
const given = at < 0 ? null : Number(argv[at + 1]);
|
|
@@ -228,7 +203,6 @@ async function waitRemotely(argv, files, profile, options, deliver) {
|
|
|
228
203
|
if (!timedOut || slice <= 0 || given !== null && remaining - slice <= 0) {
|
|
229
204
|
if (json)
|
|
230
205
|
return deliver(outcome);
|
|
231
|
-
// Settled (or out of time): the server renders the final answer in the person's own format.
|
|
232
206
|
return deliver(await postCli(profile.origin, profile.token, { argv: [...base, '--timeout', '0'], files }, options));
|
|
233
207
|
}
|
|
234
208
|
if (signal.aborted)
|
package/dist/remote-main.js
CHANGED
|
@@ -1,49 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The project's main as its recorded remote has it, read by Toolroll's own process. Automatic completion of landed
|
|
3
|
-
* work (landed-cleanup.ts) trusts only this: a build shares the project's .git, so it can move the local main or
|
|
4
|
-
* repoint origin in .git/config, and neither may complete its own task.
|
|
5
|
-
*
|
|
6
|
-
* The remote URL is the one captured on first admission or explicitly supplied by the owner (project-admission.ts), never the repository's
|
|
7
|
-
* config. Each read fetches that URL's main into a fresh, private Git directory under Toolroll's evidence folder (which
|
|
8
|
-
* the agent fence denies to builds), with no system or global config, no includes or URL rewriting, no replace
|
|
9
|
-
* objects, no hooks, no ext or file transport and only an explicit credential helper. The shared repository's objects, refs,
|
|
10
|
-
* replace refs, grafts and shallow state are never read: commits enter only by fetch. A content comparison brings the
|
|
11
|
-
* result's exact recorded commit in by fetch too; git checks every object against its hash.
|
|
12
|
-
*
|
|
13
|
-
* Every doubt fails closed: no recorded remote, a URL that isn't allowed, a failed fetch or a remote without main all
|
|
14
|
-
* read as "not proven", and the task stays for a person.
|
|
15
|
-
*/
|
|
16
1
|
import { lstatSync, mkdirSync, mkdtempSync, readFileSync, rmSync, existsSync } from "node:fs";
|
|
17
2
|
import { isAbsolute, join } from "node:path";
|
|
18
3
|
import { run } from "./exec.js";
|
|
19
|
-
/** The ref a fetched remote main is kept under, inside the private directory only. */
|
|
20
4
|
const REMOTE_MAIN = "refs/toolroll/remote-main";
|
|
21
5
|
const SHA = /^[0-9a-f]{40}$/;
|
|
22
6
|
const FETCH_TIMEOUT_MS = 120_000;
|
|
23
|
-
/** What the private directory's git may see of this process's environment: nothing that names a repository, an
|
|
24
|
-
* object store or config. The fixed settings below go on top. Teardown git (teardown-git.ts) uses the same. */
|
|
25
7
|
export const ENV_ALLOWLIST = ["PATH", "HOME", "TMPDIR", "LANG", "LC_ALL", "SSH_AUTH_SOCK", "HTTPS_PROXY", "https_proxy", "NO_PROXY", "no_proxy"];
|
|
26
8
|
export const ENV = {
|
|
27
9
|
GIT_CONFIG_NOSYSTEM: "1", GIT_CONFIG_GLOBAL: "/dev/null", GIT_NO_REPLACE_OBJECTS: "1", GIT_TERMINAL_PROMPT: "0",
|
|
28
10
|
GIT_ASKPASS: "", SSH_ASKPASS: "", GIT_SSH_COMMAND: "ssh -o BatchMode=yes",
|
|
29
11
|
};
|
|
30
|
-
/** The only credential helper https may use: the system keychain on macOS; elsewhere none, so a private https remote
|
|
31
|
-
* fails closed instead of asking. */
|
|
32
12
|
export const CREDENTIAL_HELPER = process.platform === "darwin" ? "osxkeychain" : "";
|
|
33
|
-
/** Settings for every command in the private directory. The directory's own config is ours and empty. File transport
|
|
34
|
-
* is off for the recorded remote; only the result fetch from the registered project path turns it on. */
|
|
35
13
|
function hardened(helper, file = "never") {
|
|
36
14
|
return ["-c", "core.hooksPath=/dev/null", "-c", "protocol.allow=never", "-c", "protocol.https.allow=always", "-c", "protocol.ssh.allow=always",
|
|
37
15
|
"-c", `protocol.file.allow=${file}`, "-c", "protocol.ext.allow=never", "-c", "credential.helper=", ...(helper === "" ? [] : ["-c", `credential.helper=${helper}`]),
|
|
38
16
|
"-c", "gc.auto=0", "-c", "maintenance.auto=false", "-c", "fetch.recurseSubmodules=false", "-c", "core.fsmonitor=false",
|
|
39
|
-
// Never to an address the recorded URL doesn't name: a moved repository is a person's choice to record (MOVED).
|
|
40
17
|
"-c", "http.followRedirects=false"];
|
|
41
18
|
}
|
|
42
|
-
/**
|
|
43
|
-
* A URL Toolroll may fetch remote main from: https or ssh (either form). Local paths, file URLs and loopback hosts
|
|
44
|
-
* (this machine is where builds run) are always refused. Remote helpers (ext::, fd:: and the like), plain http and
|
|
45
|
-
* git:// (no authentication), relative paths, embedded passwords and anything odd are refused.
|
|
46
|
-
*/
|
|
47
19
|
export function parseRemoteUrl(url) {
|
|
48
20
|
const refused = { why: "its remote URL isn't one Toolroll fetches from" };
|
|
49
21
|
if (url === "" || url.length > 2048 || /[\x00-\x20\x7f]/.test(url) || url.startsWith("-") || url.includes("\\"))
|
|
@@ -64,15 +36,12 @@ export function parseRemoteUrl(url) {
|
|
|
64
36
|
}
|
|
65
37
|
return { kind: "network", url };
|
|
66
38
|
}
|
|
67
|
-
// scp-like ssh: [user@]host:path, with no slash before the first colon.
|
|
68
39
|
const colon = url.indexOf(":");
|
|
69
40
|
const host = /^(?:[A-Za-z0-9._-]+@)?([A-Za-z0-9.-]+)$/.exec(url.slice(0, colon))?.[1];
|
|
70
41
|
if (colon > 0 && colon < url.length - 1 && host !== undefined && !loopback(host))
|
|
71
42
|
return { kind: "network", url };
|
|
72
43
|
return refused;
|
|
73
44
|
}
|
|
74
|
-
/** localhost (and its subdomains), any IPv4 spelling of 127.0.0.0/8 or 0.0.0.0 (inet_aton accepts 127.1, 0x7f.1 and
|
|
75
|
-
* the like), and ::1, :: or an IPv4-mapped loopback. */
|
|
76
45
|
function loopback(hostname) {
|
|
77
46
|
const host = hostname.toLowerCase().replace(/^\[(.*)\]$/, "$1").replace(/\.+$/, "");
|
|
78
47
|
if (host === "localhost" || host.endsWith(".localhost"))
|
|
@@ -93,24 +62,15 @@ function loopback(hostname) {
|
|
|
93
62
|
return true;
|
|
94
63
|
}
|
|
95
64
|
}
|
|
96
|
-
/** Why a recorded URL may not be used as the trusted remote; null when it may. */
|
|
97
65
|
export function remoteUrlProblem(url) {
|
|
98
66
|
const parsed = parseRemoteUrl(url);
|
|
99
67
|
return "why" in parsed ? parsed.why : null;
|
|
100
68
|
}
|
|
101
|
-
/** What every reader of a remote main shows when its address redirects. The target is remote-supplied text: it is never
|
|
102
|
-
* shown, stored or followed, and the new remote is never adopted automatically. */
|
|
103
69
|
export const REMOTE_MOVED = "The repository moved: its address now redirects. Update the project's remote in Toolroll (Settings → Projects), then try again.";
|
|
104
|
-
/** git's words for a refused redirect (http.followRedirects=false), read for the status code alone. */
|
|
105
70
|
export function redirected(stderr) {
|
|
106
71
|
return /returned error: 30[12378]\b/.test(stderr);
|
|
107
72
|
}
|
|
108
73
|
const UNREAD = "Toolroll couldn't read the project's remote main";
|
|
109
|
-
/**
|
|
110
|
-
* One pass's reads of recorded remotes. Every `read` fetches again (the pre-teardown re-check is never older than
|
|
111
|
-
* the teardown); a project's private directory lasts until `close`, so a fetch after the first only brings what
|
|
112
|
-
* changed. Close removes every directory.
|
|
113
|
-
*/
|
|
114
74
|
export class RemoteMains {
|
|
115
75
|
store;
|
|
116
76
|
runner;
|
|
@@ -126,8 +86,6 @@ export class RemoteMains {
|
|
|
126
86
|
exec(dir, args, file = "never") {
|
|
127
87
|
return this.runner("git", ["--git-dir", dir, ...hardened(this.helper, file), ...args], { cwd: dir, envAllowlist: ENV_ALLOWLIST, env: ENV, timeoutMs: FETCH_TIMEOUT_MS, maxBuffer: 512 * 1024 * 1024 });
|
|
128
88
|
}
|
|
129
|
-
/** Nothing but fetched objects decides: a private directory that grew alternates, grafts or shallow state is
|
|
130
|
-
* not trusted. */
|
|
131
89
|
clean(dir) {
|
|
132
90
|
return !["shallow", join("info", "grafts"), join("objects", "info", "alternates"), join("objects", "info", "http-alternates")].some(name => existsSync(join(dir, name)));
|
|
133
91
|
}
|
|
@@ -171,7 +129,6 @@ export class RemoteMains {
|
|
|
171
129
|
return false;
|
|
172
130
|
if ((await git(["cat-file", "-e", `${head}^{commit}`])).code === 0)
|
|
173
131
|
return true;
|
|
174
|
-
// The one local fetch: from the project path Toolroll registered (never a URL), for this exact hash-checked commit.
|
|
175
132
|
if (!isAbsolute(from))
|
|
176
133
|
return false;
|
|
177
134
|
const got = await this.exec(dir, ["fetch", "--quiet", "--no-tags", "--no-write-fetch-head", "--", from, `+${head}:refs/toolroll/results/${head}`], "always");
|
|
@@ -184,21 +141,17 @@ export class RemoteMains {
|
|
|
184
141
|
try {
|
|
185
142
|
rmSync(dir, { recursive: true, force: true });
|
|
186
143
|
}
|
|
187
|
-
catch {
|
|
144
|
+
catch { }
|
|
188
145
|
}
|
|
189
146
|
this.dirs.clear();
|
|
190
147
|
}
|
|
191
148
|
}
|
|
192
|
-
// ---- the code map's own read: pinned, depth 1, bounded (docs/plans/code-map.md §1) ---------------------------------
|
|
193
149
|
const MAP_MAIN = "refs/toolroll/map-main";
|
|
194
|
-
/** What keeps git's own memory down. index-pack still materializes delta bases, so these reduce; they don't bound. */
|
|
195
150
|
const LOW_MEMORY = ["-c", "pack.threads=1", "-c", "core.deltaBaseCacheLimit=32m", "-c", "core.bigFileThreshold=1m"];
|
|
196
151
|
export const MAP_FETCH_LIMITS = { timeoutMs: 120_000, memoryBytes: 1024 ** 3, diskBytes: 1024 ** 3, fileBytes: 512 * 1024 ** 2, maxStderr: 64 * 1024 };
|
|
197
|
-
/** Git in a private directory under the map's rules: the same hardening as `RemoteMains`, plus the pin. */
|
|
198
152
|
export function mapGitArgs(dir, pin, args, options = {}) {
|
|
199
153
|
return ["--git-dir", dir, ...hardened(options.helper ?? CREDENTIAL_HELPER), ...pin.gitArgs, ...(options.extra ?? []), ...args];
|
|
200
154
|
}
|
|
201
|
-
/** The environment for it: exactly the allowed names, the fixed settings, and the pin's. */
|
|
202
155
|
export function mapGitEnv(pin, from = process.env) {
|
|
203
156
|
const env = {};
|
|
204
157
|
for (const name of ENV_ALLOWLIST) {
|
|
@@ -211,7 +164,6 @@ export function mapGitEnv(pin, from = process.env) {
|
|
|
211
164
|
export function initPrivateDir(dir, bounded) {
|
|
212
165
|
return bounded("git", ["init", "--quiet", "--bare", "--template=", dir], { cwd: dir, env: mapGitEnv({ gitArgs: [], env: {}, proxy: null }), timeoutMs: 30_000, maxStdout: 4096, maxStderr: 4096, label: "code-map-init" });
|
|
213
166
|
}
|
|
214
|
-
/** The commit the recorded remote's main is at, without fetching: null when the remote has no `main`. */
|
|
215
167
|
export async function peekMain(url, dir, pin, bounded, helper) {
|
|
216
168
|
const ran = await bounded("git", mapGitArgs(dir, pin, ["ls-remote", "--", url, "refs/heads/main"], helper === undefined ? {} : { helper }), { cwd: dir, env: mapGitEnv(pin), timeoutMs: 30_000, maxStdout: 64 * 1024, maxStderr: MAP_FETCH_LIMITS.maxStderr, label: "code-map-peek" });
|
|
217
169
|
if (ran.code !== 0 && redirected(ran.stderr))
|
|
@@ -224,8 +176,6 @@ export async function peekMain(url, dir, pin, bounded, helper) {
|
|
|
224
176
|
const commit = line.slice(0, line.indexOf("\t"));
|
|
225
177
|
return SHA.test(commit) ? { ok: true, commit } : { ok: false, why: UNREAD };
|
|
226
178
|
}
|
|
227
|
-
/** A depth-1 private folder is clean when it holds only what the fetch made: a `shallow` file naming exactly the fetched
|
|
228
|
-
* commit, and no grafts or alternates. */
|
|
229
179
|
export function shallowClean(dir, commit) {
|
|
230
180
|
if ([join("info", "grafts"), join("objects", "info", "alternates"), join("objects", "info", "http-alternates")].some(name => existsSync(join(dir, name))))
|
|
231
181
|
return false;
|
|
@@ -236,11 +186,9 @@ export function shallowClean(dir, commit) {
|
|
|
236
186
|
return readFileSync(join(dir, "shallow"), "utf8").trim() === commit;
|
|
237
187
|
}
|
|
238
188
|
catch (error) {
|
|
239
|
-
// A history of one commit needs no shallow boundary, and git writes none.
|
|
240
189
|
return error.code === "ENOENT";
|
|
241
190
|
}
|
|
242
191
|
}
|
|
243
|
-
/** Fetch main at depth 1 into `dir`, under the map's limits. `onStart` records the spawn for crash cleanup. */
|
|
244
192
|
export async function readShallowMain(url, dir, pin, bounded, onStart, helper) {
|
|
245
193
|
const fetched = await bounded("git", mapGitArgs(dir, pin, ["fetch", "--quiet", "--depth=1", "--no-tags", "--no-write-fetch-head", "--", url, `+refs/heads/main:${MAP_MAIN}`], { extra: LOW_MEMORY, ...(helper === undefined ? {} : { helper }) }), { cwd: dir, env: mapGitEnv(pin), timeoutMs: MAP_FETCH_LIMITS.timeoutMs, maxStdout: 4096, maxStderr: MAP_FETCH_LIMITS.maxStderr, memoryBytes: MAP_FETCH_LIMITS.memoryBytes,
|
|
246
194
|
diskBytes: MAP_FETCH_LIMITS.diskBytes, fileBytes: MAP_FETCH_LIMITS.fileBytes, folder: dir, label: "code-map-fetch", ...(onStart === undefined ? {} : { onStart }) });
|
package/dist/remote-run.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The remote run this code is inside (runOperateAs in operate.ts), if any. A leaf module so the credential
|
|
3
|
-
* checks every command reaches (scope.ts) can honour it without importing the command table.
|
|
4
|
-
*/
|
|
5
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
6
2
|
const running = new AsyncLocalStorage();
|
|
7
|
-
/** The remote run this code is inside, or null for every local command. */
|
|
8
3
|
export function activeRemote() {
|
|
9
4
|
return running.getStore() ?? null;
|
|
10
5
|
}
|