@phnx-labs/agents-cli 1.22.120 → 1.22.121
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 +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,60 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents run --lease` orchestrator.
|
|
3
|
-
*
|
|
4
|
-
* Acquire a box → provision the picked runtime(s) + their credentials → run the
|
|
5
|
-
* agent on the box (via `crabbox run`, which owns the SSH) → tear the box down.
|
|
6
|
-
* Acquisition is reuse-first against the shared warm pool (a ready box carrying
|
|
7
|
-
* the lease profile + netMode labels is reused and kept; `--fresh` opts out and
|
|
8
|
-
* always leases a new, torn-down box). Concurrent callers run from separate
|
|
9
|
-
* `~/workspaces/<repo>-<run>` directories on that box. The whole box-side
|
|
10
|
-
* sequence rides a single `--script-stdin` body so token contents never touch argv.
|
|
11
|
-
*
|
|
12
|
-
* ── Command-layer contract (RUSH-1920/1921/1924) ─────────────────────────────
|
|
13
|
-
* Exports the commands layer (exec.ts / lease.ts / ssh.ts) consumes:
|
|
14
|
-
* • `buildBootstrapScript(opts)` — `opts.copySetup` (default TRUE; clear for
|
|
15
|
-
* --bare) gates the `copy-setup` progress sentinel; `opts.netMode`
|
|
16
|
-
* ('public' | 'tailscale', default 'public') adds the `joined-tailnet` step.
|
|
17
|
-
* • `LeaseRunOptions.copySetup` / `LeaseRunOptions.netMode` — forwarded by
|
|
18
|
-
* `leaseAndRun` (netMode → `crabboxWarmup`). `LeaseRunOptions.fresh`
|
|
19
|
-
* (`--fresh`) skips the warm profile-pool reuse check and always leases a
|
|
20
|
-
* new box, torn down after the run.
|
|
21
|
-
* • `crabboxWarmup(opts.netMode)` — 'tailscale' leases onto the tailnet
|
|
22
|
-
* (`--network tailscale -tailscale-tags tag:crabbox`); auth key rides the
|
|
23
|
-
* child env as `CRABBOX_TAILSCALE_AUTH_KEY` (crabboxEnv, cli.ts).
|
|
24
|
-
* • `CrabboxBox.tailscaleIPv4` / `CrabboxBox.tailscaleFQDN` — populated from
|
|
25
|
-
* the box labels by `normalizeBox` (cli.ts).
|
|
26
|
-
* • Step stream (progress.ts): `type LeaseStep`, the `onStep` router option,
|
|
27
|
-
* and the self-contained `renderStepLine(step)` helper (the lib never prints).
|
|
28
|
-
* • Setup-copy (setup-copy.ts): `copySetupToBox({ host, user?, port?,
|
|
29
|
-
* secretsBundle?, userAgentsDir?, onData? }): Promise<CopySetupResult>` — the
|
|
30
|
-
* push-from-local the command layer runs before the box run.
|
|
31
|
-
*/
|
|
32
1
|
import { crabboxFind, crabboxList, crabboxStatusReady, crabboxWarmup, crabboxWaitReady, crabboxRunScript, crabboxStop, poolReusableBoxes } from './cli.js';
|
|
33
2
|
import * as yaml from 'yaml';
|
|
34
3
|
import { assertNoNativeOAuthTransfer, buildCredentialScript, buildHomeFileWriteScript, CLAUDE_TOKEN_REMOTE } from './runtimes.js';
|
|
35
4
|
import { LEASE_AGENT_MARKER, leasePhaseSentinel } from './progress.js';
|
|
36
5
|
import { copySetupToBox } from './setup-copy.js';
|
|
37
6
|
import { DEFAULT_CRABBOX_PROFILE } from './config.js';
|
|
38
|
-
/**
|
|
39
|
-
* Exit code the box-side bootstrap raises when `agents setup` did not leave a
|
|
40
|
-
* usable install (`~/.agents/.system` is still not a git repo). The run-side gate
|
|
41
|
-
* (`ensureInitialized`, commands/setup.ts) refuses `agents run` with "agents-cli
|
|
42
|
-
* is not set up" in exactly that state, so the bootstrap aborts with this code
|
|
43
|
-
* instead of running the agent into that refusal. `leaseAndRun` reads it to stop
|
|
44
|
-
* a box THIS run provisioned — a newly created box that can't run is pure cost.
|
|
45
|
-
*/
|
|
46
7
|
export const LEASE_BOOTSTRAP_FAILED_CODE = 97;
|
|
47
|
-
/** POSIX single-quote for safe embedding in the generated bootstrap script. */
|
|
48
8
|
function q(s) {
|
|
49
9
|
return "'" + s.replace(/'/g, "'\\''") + "'";
|
|
50
10
|
}
|
|
51
|
-
/** Build a shell-safe, collision-resistant workspace id for one lease run. */
|
|
52
11
|
export function leaseWorkspaceId(repoRoot, startedAtMs = Date.now(), pid = process.pid) {
|
|
53
12
|
const repo = repoRoot.split(/[\\/]/).filter(Boolean).pop() ?? 'repo';
|
|
54
13
|
const safeRepo = repo.toLowerCase().replace(/[^a-z0-9._-]+/g, '-').replace(/^-+|-+$/g, '') || 'repo';
|
|
55
14
|
return `${safeRepo}-${startedAtMs.toString(36)}-${pid.toString(36)}`;
|
|
56
15
|
}
|
|
57
|
-
/** Isolated box-home path for one run, relative to the shared box user's home. */
|
|
58
16
|
function leaseHomeDir(workspaceId) {
|
|
59
17
|
return `lease-homes/${workspaceId}`;
|
|
60
18
|
}
|
|
@@ -82,16 +40,6 @@ function runtimeInstallSpec(id, dispatchProfile) {
|
|
|
82
40
|
}
|
|
83
41
|
return id;
|
|
84
42
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Bash snippet that guarantees `agents` is runnable AND set up on the box. Fresh
|
|
87
|
-
* crabbox images ship without node, and the box user may not own the global npm
|
|
88
|
-
* prefix, so everything installs user-level under ~/.local (node from the official
|
|
89
|
-
* latest-v22.x tarball to satisfy engines.node >=22.5.0). Exits 96 with a
|
|
90
|
-
* diagnostic when the CLI still isn't runnable, and {@link LEASE_BOOTSTRAP_FAILED_CODE}
|
|
91
|
-
* when `agents setup` did not leave a git-repo `~/.agents/.system` — both used to
|
|
92
|
-
* surface only as a downstream failure (`agents: command not found`, or the run-side
|
|
93
|
-
* "agents-cli is not set up" gate) after a swallowed `|| true`.
|
|
94
|
-
*/
|
|
95
43
|
const ENSURE_AGENTS_CLI = [
|
|
96
44
|
'export PATH="$HOME/.local/bin:$PATH"',
|
|
97
45
|
'if ! command -v node >/dev/null 2>&1; then',
|
|
@@ -108,14 +56,6 @@ const ENSURE_AGENTS_CLI = [
|
|
|
108
56
|
' echo "lease bootstrap: agents-cli install failed (node: $(command -v node || echo missing))" >&2',
|
|
109
57
|
' exit 96',
|
|
110
58
|
'fi',
|
|
111
|
-
// The run-side gate (`ensureInitialized`, commands/setup.ts) refuses `agents run`
|
|
112
|
-
// with "agents-cli is not set up" until `~/.agents/.system` is a GIT REPO. Gate
|
|
113
|
-
// setup on that same postcondition — not a swallowed exit: capture setup's output,
|
|
114
|
-
// and if the repo still isn't there afterward, print the real cause and abort so
|
|
115
|
-
// the box is never run into that refusal (a swallowed `|| true` here is what left
|
|
116
|
-
// a provisioned box dying at "agents-cli is not set up"). `-e` (not `-d`) matches
|
|
117
|
-
// the gate's `isGitRepo` (git.ts), which is `existsSync('.git')` — true for a
|
|
118
|
-
// gitfile/gitlink too, so a linked-worktree `.system` never false-aborts here.
|
|
119
59
|
'if [ ! -e "$HOME/.agents/.system/.git" ]; then',
|
|
120
60
|
' setup_out=$(agents setup 2>&1)',
|
|
121
61
|
' if [ ! -e "$HOME/.agents/.system/.git" ]; then',
|
|
@@ -125,11 +65,6 @@ const ENSURE_AGENTS_CLI = [
|
|
|
125
65
|
' fi',
|
|
126
66
|
'fi',
|
|
127
67
|
].join('\n');
|
|
128
|
-
/**
|
|
129
|
-
* Build the single bootstrap script run on the box: ensure agents-cli, install
|
|
130
|
-
* the picked runtime CLIs, write their credentials, run the agent, then shred
|
|
131
|
-
* the credential files. Best-effort install steps never abort the run.
|
|
132
|
-
*/
|
|
133
68
|
export function buildBootstrapScript(opts) {
|
|
134
69
|
const credentialRuntimes = opts.credentialRuntimes ?? opts.runtimes;
|
|
135
70
|
const credScript = buildCredentialScript(credentialRuntimes, opts.detected, {
|
|
@@ -141,9 +76,6 @@ export function buildBootstrapScript(opts) {
|
|
|
141
76
|
runParts.push('--mode', q(opts.mode));
|
|
142
77
|
if (opts.model)
|
|
143
78
|
runParts.push('--model', q(opts.model));
|
|
144
|
-
// Credential files to shred after the run (home-level paths written above).
|
|
145
|
-
// Runs regardless of --keep-box (it's in the box body, not teardown), so a kept
|
|
146
|
-
// box still loses the token after the run — minimizing the credential window.
|
|
147
79
|
const shredPaths = credentialRuntimes.flatMap((id) => {
|
|
148
80
|
const paths = { claude: ['.claude.json', CLAUDE_TOKEN_REMOTE], codex: ['.codex/auth.json'], grok: ['.grok/auth.json'] }[id];
|
|
149
81
|
return paths ?? [];
|
|
@@ -154,11 +86,8 @@ export function buildBootstrapScript(opts) {
|
|
|
154
86
|
const installRuntimes = opts.runtimes
|
|
155
87
|
.map((id) => `agents add ${q(runtimeInstallSpec(id, opts.dispatchProfile))} >/dev/null 2>&1 || true`)
|
|
156
88
|
.join('\n');
|
|
157
|
-
// `echo`-ed phase sentinels (progress.ts) let the command layer drive a
|
|
158
|
-
// step-by-step UI. `createLeaseOutputRouter` swallows these lines and surfaces
|
|
159
|
-
// them as a structured step stream — they never appear as setup noise.
|
|
160
89
|
const step = (name) => `echo ${q(leasePhaseSentinel(name))}`;
|
|
161
|
-
const copySetup = opts.copySetup !== false;
|
|
90
|
+
const copySetup = opts.copySetup !== false;
|
|
162
91
|
const workspace = opts.workspaceId
|
|
163
92
|
? [
|
|
164
93
|
'BOX_HOME="$HOME"',
|
|
@@ -179,11 +108,8 @@ export function buildBootstrapScript(opts) {
|
|
|
179
108
|
: '';
|
|
180
109
|
return [
|
|
181
110
|
'set -uo pipefail',
|
|
182
|
-
// crabbox has finished its workspace resync by the time this script runs;
|
|
183
|
-
// the sync sentinel marks the transition out of that (crabbox-driven) phase.
|
|
184
111
|
step('sync'),
|
|
185
112
|
workspace,
|
|
186
|
-
// Only meaningful on a tailnet lease — the box already joined during warmup.
|
|
187
113
|
opts.netMode === 'tailscale' ? step('joined-tailnet') : '',
|
|
188
114
|
step('install'),
|
|
189
115
|
ENSURE_AGENTS_CLI,
|
|
@@ -193,13 +119,7 @@ export function buildBootstrapScript(opts) {
|
|
|
193
119
|
step('creds'),
|
|
194
120
|
credScript,
|
|
195
121
|
profileScript,
|
|
196
|
-
// copy-setup: the host already rsync'd the git-tracked ~/.agents onto the box
|
|
197
|
-
// (leaseAndRun, before this script). Here — after ENSURE_AGENTS_CLI installed
|
|
198
|
-
// the CLI — we materialize that config into the runtime home. Gated by
|
|
199
|
-
// copySetup (cleared for --bare). Best-effort; a refresh failure never aborts.
|
|
200
122
|
copySetup ? [step('copy-setup'), 'agents sync --local -y >/dev/null 2>&1 || true'].join('\n') : '',
|
|
201
|
-
// Marker on its own line: the command layer shows everything before this as
|
|
202
|
-
// setup progress and everything after (the agent's output) verbatim.
|
|
203
123
|
`echo ${q(LEASE_AGENT_MARKER)}`,
|
|
204
124
|
`${runParts.join(' ')}`,
|
|
205
125
|
'rc=$?',
|
|
@@ -209,15 +129,6 @@ export function buildBootstrapScript(opts) {
|
|
|
209
129
|
.filter((l) => l.length > 0)
|
|
210
130
|
.join('\n');
|
|
211
131
|
}
|
|
212
|
-
/**
|
|
213
|
-
* The first warm box in this run's profile pool that is actually SSH-ready, or
|
|
214
|
-
* null. Mirrors scripts/sandbox.sh's `pick_ready_box`: list the running boxes
|
|
215
|
-
* for the run's profile + netMode, then gate each on `crabbox status`
|
|
216
|
-
* ready=true — a box whose bootstrap failed still lists as `running` and would
|
|
217
|
-
* burn the whole SSH wait before hard-failing. A skipped box is left alone
|
|
218
|
-
* (never stopped): a concurrent run may be mid-boot on it, and crabbox's idle
|
|
219
|
-
* timeout reaps genuine duds.
|
|
220
|
-
*/
|
|
221
132
|
function pickReadyPoolBox(opts) {
|
|
222
133
|
const candidates = poolReusableBoxes(crabboxList({ secretsBundle: opts.secretsBundle }), {
|
|
223
134
|
profile: opts.profile,
|
|
@@ -229,18 +140,7 @@ function pickReadyPoolBox(opts) {
|
|
|
229
140
|
}
|
|
230
141
|
return null;
|
|
231
142
|
}
|
|
232
|
-
/** Untouched-for-this-long ⇒ no active run holds the box, so an expired one is a stray. */
|
|
233
143
|
export const STRAY_GRACE_SECS = 600;
|
|
234
|
-
/**
|
|
235
|
-
* Whether `box` is an EXPIRED, idle stray in this run's pool — the boxes that
|
|
236
|
-
* accumulate cost. An expired box can never be reused (`poolReusableBoxes` gates
|
|
237
|
-
* on an unexpired lease), yet `keep:true` leaves it running, so without a sweep a
|
|
238
|
-
* fresh provision leaves the old one billing until `gc`'s 1h-idle window. Only a
|
|
239
|
-
* box that is running, in the SAME profile+netMode pool, has an EXPIRED lease, and
|
|
240
|
-
* has been untouched for the grace window is a stray — a mid-boot or in-use box
|
|
241
|
-
* (recent `lastTouchedAt`, or an unexpired lease) is never one. Pure — testable
|
|
242
|
-
* without a shell.
|
|
243
|
-
*/
|
|
244
144
|
export function isExpiredPoolStray(box, opts) {
|
|
245
145
|
const profile = opts.profile ?? DEFAULT_CRABBOX_PROFILE;
|
|
246
146
|
const netMode = opts.netMode ?? 'public';
|
|
@@ -256,18 +156,13 @@ export function isExpiredPoolStray(box, opts) {
|
|
|
256
156
|
if (boxNet !== netMode)
|
|
257
157
|
return false;
|
|
258
158
|
if (box.expiresAt === null || box.expiresAt > nowSecs)
|
|
259
|
-
return false;
|
|
159
|
+
return false;
|
|
260
160
|
if (box.lastTouchedAt === null)
|
|
261
|
-
return false;
|
|
161
|
+
return false;
|
|
262
162
|
if (nowSecs - box.lastTouchedAt < graceSecs)
|
|
263
|
-
return false;
|
|
163
|
+
return false;
|
|
264
164
|
return true;
|
|
265
165
|
}
|
|
266
|
-
/**
|
|
267
|
-
* Opportunistically stop expired, idle strays in this run's pool — rides the
|
|
268
|
-
* lease (no scheduler), best-effort (never throws, never blocks the run). Returns
|
|
269
|
-
* how many were stopped.
|
|
270
|
-
*/
|
|
271
166
|
function reapExpiredPoolStrays(opts, keepSlug) {
|
|
272
167
|
let boxes;
|
|
273
168
|
try {
|
|
@@ -286,18 +181,11 @@ function reapExpiredPoolStrays(opts, keepSlug) {
|
|
|
286
181
|
return reaped;
|
|
287
182
|
}
|
|
288
183
|
export async function leaseAndRun(opts) {
|
|
289
|
-
// SING-1b, FAIL FAST: `buildBootstrapScript` below refuses to copy a native OAuth
|
|
290
|
-
// login (via `buildCredentialScript`), but that runs only AFTER a box has been
|
|
291
|
-
// leased — and a `--fresh` box would leak because the throw escapes the teardown
|
|
292
|
-
// `finally`. Refuse HERE, before any box is provisioned or paid for, mirroring how
|
|
293
|
-
// `--copy-creds` refuses before it opens an SSH connection.
|
|
294
184
|
assertNoNativeOAuthTransfer(opts.credentialRuntimes ?? opts.runtimes, opts.detected, {
|
|
295
185
|
claudeCredentialsJson: opts.claudeCredentialsJson,
|
|
296
186
|
});
|
|
297
187
|
const startedAt = Date.now();
|
|
298
188
|
let box;
|
|
299
|
-
// A box this run did NOT provision — either the caller named it (`--box`) or
|
|
300
|
-
// it came out of the warm profile pool. Reused boxes are never torn down.
|
|
301
189
|
let reused = false;
|
|
302
190
|
if (opts.reuseBox) {
|
|
303
191
|
opts.onPhase?.({ kind: 'reuse', slug: opts.reuseBox });
|
|
@@ -310,9 +198,6 @@ export async function leaseAndRun(opts) {
|
|
|
310
198
|
reused = true;
|
|
311
199
|
}
|
|
312
200
|
else {
|
|
313
|
-
// Reuse-first: before paying for a fresh lease, look for a warm box in this
|
|
314
|
-
// run's profile pool (same profile label the warmup would use, same netMode).
|
|
315
|
-
// `--fresh` opts out and always provisions.
|
|
316
201
|
const pooled = opts.fresh ? null : pickReadyPoolBox(opts);
|
|
317
202
|
if (pooled) {
|
|
318
203
|
opts.onPhase?.({ kind: 'reuse', slug: pooled.slug });
|
|
@@ -332,19 +217,9 @@ export async function leaseAndRun(opts) {
|
|
|
332
217
|
}
|
|
333
218
|
}
|
|
334
219
|
opts.onPhase?.({ kind: 'ready', box, elapsedMs: Date.now() - startedAt });
|
|
335
|
-
// Reap expired, idle strays in this pool now that we hold our box. An expired
|
|
336
|
-
// box can never be reused, so these are pure cost the 1h-idle `gc` window
|
|
337
|
-
// leaves running. Skip when the caller named an explicit `--box` (they're
|
|
338
|
-
// driving box lifecycle by hand). Best-effort — never blocks or aborts the run.
|
|
339
220
|
if (!opts.reuseBox) {
|
|
340
221
|
reapExpiredPoolStrays(opts, box.slug);
|
|
341
222
|
}
|
|
342
|
-
// Setup-copy (F1, RUSH-1920): push the git-tracked ~/.agents config onto the
|
|
343
|
-
// box from the host, over crabbox's own per-lease ssh (a raw ssh fails
|
|
344
|
-
// publickey). rsync only here — the box has no agents-cli yet, so the matching
|
|
345
|
-
// `agents sync --local` runs inside the bootstrap script, after the install
|
|
346
|
-
// step. Best-effort: a copy failure never aborts the run (the agent just runs
|
|
347
|
-
// without the config).
|
|
348
223
|
if (opts.copySetup !== false) {
|
|
349
224
|
try {
|
|
350
225
|
await copySetupToBox({
|
|
@@ -356,21 +231,12 @@ export async function leaseAndRun(opts) {
|
|
|
356
231
|
});
|
|
357
232
|
}
|
|
358
233
|
catch (err) {
|
|
359
|
-
// Best-effort — a config-copy failure never blocks the run (the agent runs
|
|
360
|
-
// without the pushed ~/.agents config), but surface it instead of swallowing
|
|
361
|
-
// it silently so a broken sync is visible rather than a mystery.
|
|
362
234
|
opts.onData?.(`lease: setup copy failed — running without pushed ~/.agents config (${err.message})\n`);
|
|
363
235
|
}
|
|
364
236
|
}
|
|
365
237
|
const script = buildBootstrapScript(opts);
|
|
366
238
|
let exitCode = null;
|
|
367
239
|
let toreDown = false;
|
|
368
|
-
// Track whether the box-side script reached the agent — the bootstrap echoes
|
|
369
|
-
// LEASE_AGENT_MARKER on its own line immediately before `agents run`, and aborts
|
|
370
|
-
// (LEASE_BOOTSTRAP_FAILED_CODE) strictly BEFORE that. So "marker never seen" is
|
|
371
|
-
// how we tell a pre-agent bootstrap abort from an agent that merely happened to
|
|
372
|
-
// exit with the same numeric code — only the former is an unusable box. A short
|
|
373
|
-
// rolling tail keeps the check robust if the marker straddles two output chunks.
|
|
374
240
|
let sawAgentMarker = false;
|
|
375
241
|
let markerTail = '';
|
|
376
242
|
const trackedOnData = (chunk) => {
|
|
@@ -378,7 +244,6 @@ export async function leaseAndRun(opts) {
|
|
|
378
244
|
const combined = markerTail + chunk;
|
|
379
245
|
if (combined.includes(LEASE_AGENT_MARKER))
|
|
380
246
|
sawAgentMarker = true;
|
|
381
|
-
// Keep only enough tail to catch a marker straddling the NEXT chunk boundary.
|
|
382
247
|
else
|
|
383
248
|
markerTail = combined.slice(-(LEASE_AGENT_MARKER.length + 8));
|
|
384
249
|
}
|
|
@@ -395,16 +260,7 @@ export async function leaseAndRun(opts) {
|
|
|
395
260
|
});
|
|
396
261
|
}
|
|
397
262
|
finally {
|
|
398
|
-
// A box this run PROVISIONED (never a reused one) whose BOOTSTRAP failed is
|
|
399
|
-
// unusable capacity — keep it and it bills until the idle GC window. Stop it
|
|
400
|
-
// regardless of --keep-box: the user asked to keep a working box, not a broken
|
|
401
|
-
// one. A reused box is left alone (a concurrent run may share it). The
|
|
402
|
-
// failed-code check is gated on the agent never having started (marker unseen),
|
|
403
|
-
// so an agent that legitimately exits with the same code keeps its --keep-box box.
|
|
404
263
|
const bootstrapFailed = exitCode === LEASE_BOOTSTRAP_FAILED_CODE && !sawAgentMarker;
|
|
405
|
-
// Normal --lease establishes or reuses the warm pool, so a healthy box outlives
|
|
406
|
-
// this run; credentials are still shredded inside the script above. Only --fresh
|
|
407
|
-
// requests the old one-shot lifecycle and tears its new box down.
|
|
408
264
|
const teardownHealthy = !opts.keep && opts.fresh && !reused;
|
|
409
265
|
const teardownBroken = bootstrapFailed && !reused;
|
|
410
266
|
if (teardownHealthy || teardownBroken) {
|
|
@@ -1,58 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress routing for `agents run --lease`.
|
|
3
|
-
*
|
|
4
|
-
* The box-side bootstrap emits `LEASE_AGENT_MARKER` on its own line right before
|
|
5
|
-
* `agents run`. Everything the crabbox run streams BEFORE that marker is setup
|
|
6
|
-
* noise (sync bytes, node/agents install, `agents setup`) — shown as spinner
|
|
7
|
-
* text and captured for a failure dump. Everything AFTER is the agent's own
|
|
8
|
-
* output — printed through verbatim. The marker line itself is swallowed.
|
|
9
|
-
*/
|
|
10
|
-
/** Sentinel echoed on the box right before `agents run`. Distinctive + collision-proof. */
|
|
11
1
|
export declare const LEASE_AGENT_MARKER = "___AGENTS_LEASE_AGENT_OUTPUT_b1f4c2___";
|
|
12
|
-
/**
|
|
13
|
-
* A structured setup step, parsed from a `___PHASE_<name>___` sentinel line the
|
|
14
|
-
* bootstrap script echoes before each block (sync/install/runtime/creds/…). The
|
|
15
|
-
* command layer renders these to drive a step-by-step progress UI; the lib never
|
|
16
|
-
* prints (see `renderStepLine`).
|
|
17
|
-
*/
|
|
18
2
|
export type LeaseStep = {
|
|
19
3
|
name: string;
|
|
20
4
|
detail?: string;
|
|
21
5
|
elapsedMs?: number;
|
|
22
6
|
};
|
|
23
|
-
/**
|
|
24
|
-
* The sentinel line the bootstrap script echoes to announce phase `name`.
|
|
25
|
-
* Kept distinct from `LEASE_AGENT_MARKER` (which does NOT start with `___PHASE_`).
|
|
26
|
-
*/
|
|
27
7
|
export declare function leasePhaseSentinel(name: string): string;
|
|
28
|
-
/**
|
|
29
|
-
* Render one lease step as a single human line the command layer can print
|
|
30
|
-
* (e.g. behind a spinner). Self-contained: the lib never writes to a stream.
|
|
31
|
-
*/
|
|
32
8
|
export declare function renderStepLine(step: LeaseStep): string;
|
|
33
9
|
export interface Spinner {
|
|
34
|
-
/** Begin animating a phase (renders `frame text` on one line, TTY only). */
|
|
35
10
|
start(text: string): void;
|
|
36
|
-
/** Change the text shown; rendered on the next throttled tick (no write itself). */
|
|
37
11
|
update(text: string): void;
|
|
38
|
-
/** Finalize the current line with a symbol (e.g. ✔) and a newline. */
|
|
39
12
|
stopAndPersist(symbol: string, text: string): void;
|
|
40
|
-
/** Clear the current animated line without persisting anything. */
|
|
41
13
|
stop(): void;
|
|
42
|
-
/** True while a phase is active. */
|
|
43
14
|
readonly active: boolean;
|
|
44
15
|
}
|
|
45
|
-
/**
|
|
46
|
-
* A deliberately minimal, self-throttled spinner. Unlike `ora`, it does NOT hook
|
|
47
|
-
* the stream's `write` to re-render on external output — it writes exactly one
|
|
48
|
-
* short line per fixed tick and nowhere else, so it is structurally incapable of
|
|
49
|
-
* a re-render feedback loop (the failure mode that made `ora` blow up when a
|
|
50
|
-
* lease streamed output past a live spinner). On a non-TTY it prints each phase
|
|
51
|
-
* label once and stays silent on `update`, so piped/CI output never floods.
|
|
52
|
-
*
|
|
53
|
-
* Only ever run ONE phase at a time, and never stream other output to the same
|
|
54
|
-
* stream while a phase is active — stop it first.
|
|
55
|
-
*/
|
|
56
16
|
export declare function createSpinner(opts?: {
|
|
57
17
|
stream?: {
|
|
58
18
|
write(s: string): unknown;
|
|
@@ -62,28 +22,12 @@ export declare function createSpinner(opts?: {
|
|
|
62
22
|
intervalMs?: number;
|
|
63
23
|
}): Spinner;
|
|
64
24
|
interface LeaseOutputRouter {
|
|
65
|
-
/** Feed a raw chunk of the crabbox run's combined stdout/stderr. */
|
|
66
25
|
push(chunk: string): void;
|
|
67
|
-
/** Flush any buffered partial line (call once the stream closes). */
|
|
68
26
|
end(): void;
|
|
69
|
-
/** True once the agent-output marker has been seen. */
|
|
70
27
|
sawAgent(): boolean;
|
|
71
|
-
/** The setup lines seen so far (for a failure dump). */
|
|
72
28
|
setupLines(): string[];
|
|
73
|
-
/** The structured steps parsed from phase sentinels so far. */
|
|
74
29
|
steps(): LeaseStep[];
|
|
75
30
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Split the crabbox run stream at `LEASE_AGENT_MARKER`. `onSetupLine` fires for
|
|
78
|
-
* each complete non-empty line before the marker; `onAgentChunk` fires with raw
|
|
79
|
-
* text after it (streamed promptly, not line-buffered, so agent output is live).
|
|
80
|
-
*
|
|
81
|
-
* Setup lines matching a `___PHASE_<name>___` sentinel are swallowed (never shown
|
|
82
|
-
* as setup noise) and surfaced through `onStep` instead — a structured step
|
|
83
|
-
* stream the command layer can render via `renderStepLine`. When `now` is
|
|
84
|
-
* provided, each step carries `elapsedMs` since the previous step (or router
|
|
85
|
-
* start for the first); omit `now` for deterministic, timing-free output.
|
|
86
|
-
*/
|
|
87
31
|
export declare function createLeaseOutputRouter(cb: {
|
|
88
32
|
onSetupLine: (line: string) => void;
|
|
89
33
|
onAgentChunk: (chunk: string) => void;
|
|
@@ -1,35 +1,17 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress routing for `agents run --lease`.
|
|
3
|
-
*
|
|
4
|
-
* The box-side bootstrap emits `LEASE_AGENT_MARKER` on its own line right before
|
|
5
|
-
* `agents run`. Everything the crabbox run streams BEFORE that marker is setup
|
|
6
|
-
* noise (sync bytes, node/agents install, `agents setup`) — shown as spinner
|
|
7
|
-
* text and captured for a failure dump. Everything AFTER is the agent's own
|
|
8
|
-
* output — printed through verbatim. The marker line itself is swallowed.
|
|
9
|
-
*/
|
|
10
|
-
/** Sentinel echoed on the box right before `agents run`. Distinctive + collision-proof. */
|
|
11
1
|
export const LEASE_AGENT_MARKER = '___AGENTS_LEASE_AGENT_OUTPUT_b1f4c2___';
|
|
12
2
|
const PHASE_PREFIX = '___PHASE_';
|
|
13
3
|
const PHASE_SUFFIX = '___';
|
|
14
|
-
/**
|
|
15
|
-
* The sentinel line the bootstrap script echoes to announce phase `name`.
|
|
16
|
-
* Kept distinct from `LEASE_AGENT_MARKER` (which does NOT start with `___PHASE_`).
|
|
17
|
-
*/
|
|
18
4
|
export function leasePhaseSentinel(name) {
|
|
19
5
|
return `${PHASE_PREFIX}${name}${PHASE_SUFFIX}`;
|
|
20
6
|
}
|
|
21
|
-
/** Parse a phase name out of a sentinel line, or null when the line is not one. */
|
|
22
7
|
function parsePhaseSentinel(line) {
|
|
23
8
|
const t = line.trim();
|
|
24
9
|
if (!t.startsWith(PHASE_PREFIX) || !t.endsWith(PHASE_SUFFIX) || t.length <= PHASE_PREFIX.length + PHASE_SUFFIX.length) {
|
|
25
10
|
return null;
|
|
26
11
|
}
|
|
27
12
|
const name = t.slice(PHASE_PREFIX.length, t.length - PHASE_SUFFIX.length);
|
|
28
|
-
// Phase names are lowercase kebab tokens; this also rejects the agent marker's
|
|
29
|
-
// underscore-laden tail if it ever changed to share the ___PHASE_ prefix.
|
|
30
13
|
return /^[a-z0-9-]+$/.test(name) ? name : null;
|
|
31
14
|
}
|
|
32
|
-
/** Human labels for the known bootstrap phases. Falls back to the raw name. */
|
|
33
15
|
const STEP_LABELS = {
|
|
34
16
|
sync: 'Syncing workspace',
|
|
35
17
|
install: 'Installing agents-cli',
|
|
@@ -38,7 +20,6 @@ const STEP_LABELS = {
|
|
|
38
20
|
'copy-setup': 'Copying your setup',
|
|
39
21
|
'joined-tailnet': 'Joined tailnet',
|
|
40
22
|
};
|
|
41
|
-
/** Human-readable elapsed: "0.8s", "3.4s", "1m 5s". */
|
|
42
23
|
function formatElapsed(ms) {
|
|
43
24
|
if (ms < 10_000)
|
|
44
25
|
return `${(ms / 1000).toFixed(1)}s`;
|
|
@@ -47,10 +28,6 @@ function formatElapsed(ms) {
|
|
|
47
28
|
return `${secs}s`;
|
|
48
29
|
return `${Math.floor(secs / 60)}m ${secs % 60}s`;
|
|
49
30
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Render one lease step as a single human line the command layer can print
|
|
52
|
-
* (e.g. behind a spinner). Self-contained: the lib never writes to a stream.
|
|
53
|
-
*/
|
|
54
31
|
export function renderStepLine(step) {
|
|
55
32
|
const label = STEP_LABELS[step.name] ?? step.name;
|
|
56
33
|
const detail = step.detail ? ` — ${step.detail}` : '';
|
|
@@ -58,17 +35,6 @@ export function renderStepLine(step) {
|
|
|
58
35
|
return `${label}${detail}${elapsed}`;
|
|
59
36
|
}
|
|
60
37
|
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
61
|
-
/**
|
|
62
|
-
* A deliberately minimal, self-throttled spinner. Unlike `ora`, it does NOT hook
|
|
63
|
-
* the stream's `write` to re-render on external output — it writes exactly one
|
|
64
|
-
* short line per fixed tick and nowhere else, so it is structurally incapable of
|
|
65
|
-
* a re-render feedback loop (the failure mode that made `ora` blow up when a
|
|
66
|
-
* lease streamed output past a live spinner). On a non-TTY it prints each phase
|
|
67
|
-
* label once and stays silent on `update`, so piped/CI output never floods.
|
|
68
|
-
*
|
|
69
|
-
* Only ever run ONE phase at a time, and never stream other output to the same
|
|
70
|
-
* stream while a phase is active — stop it first.
|
|
71
|
-
*/
|
|
72
38
|
export function createSpinner(opts = {}) {
|
|
73
39
|
const stream = opts.stream ?? process.stderr;
|
|
74
40
|
const enabled = opts.enabled ?? !!stream.isTTY;
|
|
@@ -97,7 +63,7 @@ export function createSpinner(opts = {}) {
|
|
|
97
63
|
}, intervalMs);
|
|
98
64
|
},
|
|
99
65
|
update(t) {
|
|
100
|
-
text = t;
|
|
66
|
+
text = t;
|
|
101
67
|
},
|
|
102
68
|
stopAndPersist(symbol, t) {
|
|
103
69
|
if (timer) {
|
|
@@ -121,17 +87,6 @@ export function createSpinner(opts = {}) {
|
|
|
121
87
|
},
|
|
122
88
|
};
|
|
123
89
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Split the crabbox run stream at `LEASE_AGENT_MARKER`. `onSetupLine` fires for
|
|
126
|
-
* each complete non-empty line before the marker; `onAgentChunk` fires with raw
|
|
127
|
-
* text after it (streamed promptly, not line-buffered, so agent output is live).
|
|
128
|
-
*
|
|
129
|
-
* Setup lines matching a `___PHASE_<name>___` sentinel are swallowed (never shown
|
|
130
|
-
* as setup noise) and surfaced through `onStep` instead — a structured step
|
|
131
|
-
* stream the command layer can render via `renderStepLine`. When `now` is
|
|
132
|
-
* provided, each step carries `elapsedMs` since the previous step (or router
|
|
133
|
-
* start for the first); omit `now` for deterministic, timing-free output.
|
|
134
|
-
*/
|
|
135
90
|
export function createLeaseOutputRouter(cb) {
|
|
136
91
|
const marker = cb.marker ?? LEASE_AGENT_MARKER;
|
|
137
92
|
const now = cb.now;
|
|
@@ -171,7 +126,6 @@ export function createLeaseOutputRouter(cb) {
|
|
|
171
126
|
buf = buf.slice(idx + 1);
|
|
172
127
|
if (line.includes(marker)) {
|
|
173
128
|
seen = true;
|
|
174
|
-
// Anything already buffered past the marker is agent output.
|
|
175
129
|
if (buf) {
|
|
176
130
|
cb.onAgentChunk(buf);
|
|
177
131
|
buf = '';
|
|
@@ -180,12 +134,11 @@ export function createLeaseOutputRouter(cb) {
|
|
|
180
134
|
}
|
|
181
135
|
const phase = parsePhaseSentinel(line);
|
|
182
136
|
if (phase !== null) {
|
|
183
|
-
emitStep(phase);
|
|
137
|
+
emitStep(phase);
|
|
184
138
|
continue;
|
|
185
139
|
}
|
|
186
140
|
emitLine(line);
|
|
187
141
|
}
|
|
188
|
-
// A trailing partial line stays in `buf` — it may be the marker forming.
|
|
189
142
|
},
|
|
190
143
|
end() {
|
|
191
144
|
if (!seen && buf)
|
|
@@ -1,24 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime detection + picker + credential-script builder for `agents run --lease`.
|
|
3
|
-
*
|
|
4
|
-
* The picker asks which coding-agent runtime(s) to provision on a leased box.
|
|
5
|
-
* The default selection is whatever the user is currently signed into locally
|
|
6
|
-
* (via `getAccountInfo`, the same source `agents view` uses). The chosen runtimes
|
|
7
|
-
* drive both what gets installed on the box and which auth token file is copied
|
|
8
|
-
* over — the token contents ride the uploaded `--script-stdin` body, never argv.
|
|
9
|
-
*
|
|
10
|
-
* SECURITY: copying a runtime's auth token to an ephemeral cloud box is a
|
|
11
|
-
* credential transfer. It is strictly opt-in (a confirm prompt in the command
|
|
12
|
-
* layer), the token never appears in argv/`ps`, and `--lease` one-shot runs tear
|
|
13
|
-
* the box down afterward so the credential's lifetime is bounded by the run.
|
|
14
|
-
*/
|
|
15
1
|
import type { AgentId } from '../types.js';
|
|
16
|
-
/**
|
|
17
|
-
* Credential file locations per runtime. `localCandidates` are read in order
|
|
18
|
-
* (first existing wins); `remote` is where the box's CLI reads it by default
|
|
19
|
-
* (home-level — no per-version shim). Source of truth for these paths is
|
|
20
|
-
* `getAccountInfo` in src/lib/agents.ts; keep them in sync.
|
|
21
|
-
*/
|
|
22
2
|
interface RuntimeCred {
|
|
23
3
|
id: AgentId;
|
|
24
4
|
label: string;
|
|
@@ -26,75 +6,26 @@ interface RuntimeCred {
|
|
|
26
6
|
remote: string;
|
|
27
7
|
}
|
|
28
8
|
export declare const LEASE_RUNTIMES: RuntimeCred[];
|
|
29
|
-
/** True when `id` is a native OAuth / session login that MUST NOT be copied between devices (SING-1b). */
|
|
30
9
|
export declare function isNativeOAuthRuntime(id: AgentId): boolean;
|
|
31
|
-
/** The fail-loud message naming the forbidden runtimes and the portable path to use instead. */
|
|
32
10
|
export declare function nativeOAuthTransferRefusal(nativeRuntimes: AgentId[]): string;
|
|
33
11
|
export interface DetectedRuntime {
|
|
34
12
|
id: AgentId;
|
|
35
13
|
label: string;
|
|
36
14
|
email: string | null;
|
|
37
15
|
signedIn: boolean;
|
|
38
|
-
/** Absolute local path of the credential file, if found. */
|
|
39
16
|
credPath: string | null;
|
|
40
17
|
}
|
|
41
|
-
/** Which lease-capable runtimes the user is signed into on this machine. */
|
|
42
18
|
export declare function detectSignedInRuntimes(): Promise<DetectedRuntime[]>;
|
|
43
|
-
/**
|
|
44
|
-
* Interactive checkbox: which runtimes to provision on the box. Defaults to the
|
|
45
|
-
* signed-in ones. Runtimes with no local credential are shown disabled.
|
|
46
|
-
* `prompt` is injected so tests don't require a TTY.
|
|
47
|
-
*/
|
|
48
19
|
export declare function pickRuntimes(detected: DetectedRuntime[], prompt?: (choices: {
|
|
49
20
|
name: string;
|
|
50
21
|
value: AgentId;
|
|
51
22
|
checked: boolean;
|
|
52
23
|
disabled: boolean | string;
|
|
53
24
|
}[]) => Promise<AgentId[]>): Promise<AgentId[]>;
|
|
54
|
-
/**
|
|
55
|
-
* The lease runtime to provision for a headless run of `agentName`.
|
|
56
|
-
*
|
|
57
|
-
* When the agent is itself a lease-capable runtime (claude/codex/gemini/grok)
|
|
58
|
-
* that IS the runtime to install. Otherwise fall back to the single signed-in
|
|
59
|
-
* lease runtime (preferring claude), or null when none is signed in. This is the
|
|
60
|
-
* non-interactive replacement for the runtime checkbox picker: `--lease` requires
|
|
61
|
-
* a prompt, so it is headless by contract and must never block on a TTY.
|
|
62
|
-
*
|
|
63
|
-
* Profile-dispatch agents (kimi/deepseek) and custom workflow agents that run
|
|
64
|
-
* under a non-obvious runtime are resolved separately — see RUSH-1725.
|
|
65
|
-
*/
|
|
66
25
|
export declare function inferLeaseRuntime(agentName: string, detected: DetectedRuntime[]): AgentId | null;
|
|
67
|
-
/** True when a profile already carries auth for its host runtime via env. */
|
|
68
26
|
export declare function profileNeedsBaseRuntimeCredentials(agent: AgentId, env: Record<string, string>, authEnvVar?: string): boolean;
|
|
69
|
-
/** Build a quoted heredoc write to a path under the remote user's home. */
|
|
70
27
|
export declare function buildHomeFileWriteScript(remote: string, contents: string): string;
|
|
71
|
-
/**
|
|
72
|
-
* Where Claude Code reads its OAuth token on the box. `.claude.json` (the file
|
|
73
|
-
* LEASE_RUNTIMES copies) is config/account-metadata ONLY — the actual token
|
|
74
|
-
* lives here, so without it the box boots "Not logged in".
|
|
75
|
-
*/
|
|
76
28
|
export declare const CLAUDE_TOKEN_REMOTE = ".claude/.credentials.json";
|
|
77
|
-
/**
|
|
78
|
-
* The RAW wrapped Claude credential payload (`{"claudeAiOauth":{…}}`) to write to
|
|
79
|
-
* the box's `~/.claude/.credentials.json`, or null if no signed-in token is found.
|
|
80
|
-
*
|
|
81
|
-
* On macOS the token is in the login Keychain, read SILENTLY via the standalone
|
|
82
|
-
* `secrets` client's `getKeychainTokenSync` (the `/usr/bin/security … -w` path —
|
|
83
|
-
* Claude's item trusts it, no Touch ID). A default native install uses the bare `Claude Code-credentials`
|
|
84
|
-
* service; an agents-cli managed install (where `~/.claude` symlinks into a
|
|
85
|
-
* versioned home) uses a hash-suffixed service, so we try the bare service first,
|
|
86
|
-
* then enumerate installed version homes (preferring the account whose email
|
|
87
|
-
* matches `preferEmail`, so the token matches the `.claude.json` config we copy).
|
|
88
|
-
* Off macOS the local Claude CLI stores the wrapped rotating blob in
|
|
89
|
-
* `.credentials.json` already. Read that file here with a shape check
|
|
90
|
-
* (`claudeAiOauth.accessToken`). Do not reintroduce a shared helper that
|
|
91
|
-
* also serves Rush Cloud dispatch — dispatch is email-only (SING-1b) and
|
|
92
|
-
* the old `readClaudeCredentialsBlob` path was the #1767 TTY-banner leak
|
|
93
|
-
* (RUSH-2359).
|
|
94
|
-
*
|
|
95
|
-
* The reader/service/version helpers are injected so unit tests never touch the
|
|
96
|
-
* real Keychain.
|
|
97
|
-
*/
|
|
98
29
|
export declare function resolveClaudeCredentialsBlob(opts?: {
|
|
99
30
|
preferEmail?: string | null;
|
|
100
31
|
readItem?: (service: string) => string;
|
|
@@ -103,34 +34,9 @@ export declare function resolveClaudeCredentialsBlob(opts?: {
|
|
|
103
34
|
versionHome?: (version: string) => string;
|
|
104
35
|
accountEmail?: (home: string) => Promise<string | null>;
|
|
105
36
|
}): Promise<string | null>;
|
|
106
|
-
/**
|
|
107
|
-
* The credential-provisioning snippet for a `--lease` box.
|
|
108
|
-
*
|
|
109
|
-
* Every runtime this could serialize is a native OAuth / session login
|
|
110
|
-
* (`LEASE_RUNTIMES`), and SING-1b forbids copying one to another device —
|
|
111
|
-
* including an ephemeral leased box, whose refresh of a shared rotating token
|
|
112
|
-
* invalidates every other holder. So this no longer writes a login: it REFUSES
|
|
113
|
-
* (throws, steering to the portable `agents accounts` path) whenever a picked
|
|
114
|
-
* runtime actually has a native credential to copy — signed in locally
|
|
115
|
-
* (`credPath`), or a Claude OAuth blob supplied. A picked runtime with nothing to
|
|
116
|
-
* copy is simply skipped, so `buildCredentialScript` returns `''` (a no-op box
|
|
117
|
-
* bootstrap) rather than throwing on a not-signed-in runtime.
|
|
118
|
-
*/
|
|
119
|
-
/**
|
|
120
|
-
* The native OAuth runtimes among `picked` that actually have a credential to copy
|
|
121
|
-
* — signed in locally (`credPath`) or a Claude OAuth blob supplied — i.e. the ones
|
|
122
|
-
* a transfer would leak. A picked runtime with nothing to copy is not refused.
|
|
123
|
-
*/
|
|
124
37
|
export declare function refusedNativeOAuthRuntimes(picked: AgentId[], detected: DetectedRuntime[], extras?: {
|
|
125
38
|
claudeCredentialsJson?: string | null;
|
|
126
39
|
}): AgentId[];
|
|
127
|
-
/**
|
|
128
|
-
* Throw the SING-1b refusal if any picked runtime would transfer a native OAuth
|
|
129
|
-
* login. Callers should invoke this at a FAIL-FAST point — before any expensive or
|
|
130
|
-
* costly side effect (e.g. before `crabboxWarmup` leases a paid box) — so a refused
|
|
131
|
-
* `--lease` never leaks infra, mirroring how `--copy-creds` refuses before it opens
|
|
132
|
-
* an SSH connection.
|
|
133
|
-
*/
|
|
134
40
|
export declare function assertNoNativeOAuthTransfer(picked: AgentId[], detected: DetectedRuntime[], extras?: {
|
|
135
41
|
claudeCredentialsJson?: string | null;
|
|
136
42
|
}): void;
|