@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
package/dist/bootstrap.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Full CLI bootstrap — loaded only after index.ts's argv fast paths miss.
|
|
3
|
-
*
|
|
4
|
-
* RUSH-2335: `src/index.ts` is a slim shell so `__shim` / `__daemon-run` and
|
|
5
|
-
* the other hidden fast paths can exit without evaluating the commander +
|
|
6
|
-
* self-update + command-registry graph. Everything below that shell lands
|
|
7
|
-
* here via `await import('./bootstrap.js')`. The `__secrets-*` / synchronous
|
|
8
|
-
* broker fast paths that used to justify this shell's one static import moved
|
|
9
|
-
* with the standalone `secrets` engine (PHNX-3989) — `index.ts` now has no
|
|
10
|
-
* static imports at all above this line.
|
|
11
|
-
*
|
|
12
|
-
* This module is the previous body of `index.ts` (command registration, update
|
|
13
|
-
* checks, first-run setup, migrations, parse). Side-effecting top-level code
|
|
14
|
-
* runs on import — that is intentional.
|
|
15
|
-
*/
|
|
16
1
|
import { Command } from 'commander';
|
|
17
2
|
import chalk from 'chalk';
|
|
18
3
|
import * as fs from 'fs';
|
|
@@ -21,28 +6,12 @@ import { fileURLToPath } from 'url';
|
|
|
21
6
|
import { detectDevBuild } from './lib/startup/dev-build.js';
|
|
22
7
|
import { configureRootCommand, normalizeResumeDeviceArgs } from './lib/startup/root-command.js';
|
|
23
8
|
import { bootMark } from './lib/boot-profile.js';
|
|
24
|
-
// `ora`, `@inquirer/prompts`, `./commands/utils.js`, and the agents/versions/shims
|
|
25
|
-
// modules are imported dynamically at their use sites: they are needed only on
|
|
26
|
-
// interactive / update / shim-repair paths, never for fast commands like
|
|
27
|
-
// `--version`, `--help`, or `view`. Keeping them off the module-eval path is
|
|
28
|
-
// what gets cold starts under the target.
|
|
29
|
-
// Get version from package.json
|
|
30
9
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
31
10
|
const packageJsonPath = path.join(__dirname, '..', 'package.json');
|
|
32
11
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
33
12
|
const VERSION = packageJson.version;
|
|
34
13
|
import { NPM_PACKAGE_NAME, deriveGlobalPrefix, detectPackageManager, ensureGlobalBinLinks, installPackageIntoPrefix, installPackageWithBun, verifyInstalledVersion, refreshAliasShims, downloadVerifiedTarball, sweepStaleInstallStaging, } from './lib/self-update.js';
|
|
35
14
|
import { registerUpgradeCommand } from './commands/upgrade.js';
|
|
36
|
-
// Detect dev/working-tree builds and default the noisy startup steps off.
|
|
37
|
-
// Three cases trip this:
|
|
38
|
-
// 1. Dev install (scripts/install.sh) — package.json version stamped 0.0.0-dev.<sha>
|
|
39
|
-
// 2. Running `node dist/index.js` from a working tree — repo root has .git/
|
|
40
|
-
// 3. Running tsx/ts-node from src/ — also has .git/ at the repo root
|
|
41
|
-
// For all three: skip auto-pull (no network noise + no surprise FF on the
|
|
42
|
-
// system repo while iterating), skip migration (a buggy in-progress migration
|
|
43
|
-
// must not scribble on the user's real ~/.agents/), and skip the update prompt
|
|
44
|
-
// (the "0.0.0-dev -> 1.x.y" message is misleading). Each individual env var
|
|
45
|
-
// can still be set explicitly to override (set to '0' to re-enable).
|
|
46
15
|
const IS_DEV_BUILD = detectDevBuild(process.argv[1] || '', VERSION);
|
|
47
16
|
if (IS_DEV_BUILD) {
|
|
48
17
|
if (process.env.AGENTS_NO_AUTOPULL === undefined)
|
|
@@ -52,15 +21,6 @@ if (IS_DEV_BUILD) {
|
|
|
52
21
|
if (process.env.AGENTS_CLI_DISABLE_AUTO_UPDATE === undefined)
|
|
53
22
|
process.env.AGENTS_CLI_DISABLE_AUTO_UPDATE = '1';
|
|
54
23
|
}
|
|
55
|
-
// Command registration is lazy: instead of statically importing every command
|
|
56
|
-
// module on each invocation (which loaded the whole ~50-module tree before the
|
|
57
|
-
// first byte of output), the registry maps a command name to a thunk that
|
|
58
|
-
// imports only what that command needs. See src/cli/command-registry.ts.
|
|
59
|
-
// Individual load* registrars are not imported here — registerEagerForRequest
|
|
60
|
-
// and the lazy path pull them via COMMAND_LOADERS. The full-tree
|
|
61
|
-
// registerAllEagerCommands path was removed (RUSH-2329): unknown/typo commands
|
|
62
|
-
// spellcheck against KNOWN_TOP_LEVEL_COMMANDS and register only the corrected
|
|
63
|
-
// name.
|
|
64
24
|
import { COMMAND_LOADERS, LAZY_COMMAND_NAMES, KNOWN_TOP_LEVEL_COMMANDS, RETIRED_TOP_LEVEL_COMMANDS, registerAllCommands, } from './cli/command-registry.js';
|
|
65
25
|
import { closestTopLevelCommand } from './lib/startup/spellcheck.js';
|
|
66
26
|
import { applyGlobalHelpConventions, FRONT_DOOR_COMMAND_GROUPS, registerCommandGroups, setCompactRootHelp, } from './lib/help.js';
|
|
@@ -69,23 +29,11 @@ import { getCliLaunch } from './lib/cli-entry.js';
|
|
|
69
29
|
import { emit, emitFriction, redactArgs } from './lib/feed/events.js';
|
|
70
30
|
import { stampProvenance } from './lib/event-provenance.js';
|
|
71
31
|
import { die } from './lib/format.js';
|
|
72
|
-
// Leaf (zero imports). Gates the dynamic passthrough import so the ~187ms
|
|
73
|
-
// hosts graph is never loaded when no routing flag is present (RUSH-2374).
|
|
74
32
|
import { hasHostRoutingFlag } from './lib/hosts/routing-flag.js';
|
|
75
|
-
// White-label: the shim for a brand (e.g. `jack`) exports AGENTS_BRAND, so the
|
|
76
|
-
// CLI presents its own name/help/errors as the brand. Unbranded (AGENTS_BRAND
|
|
77
|
-
// unset) resolves to 'agents' and everything below is byte-identical to before.
|
|
78
33
|
const BRAND = resolveBrandName();
|
|
79
34
|
const program = configureRootCommand(new Command(), BRAND, VERSION);
|
|
80
35
|
registerCommandGroups(program, FRONT_DOOR_COMMAND_GROUPS);
|
|
81
36
|
program.option('--help-all', 'Show help for all commands');
|
|
82
|
-
// ─── Audit backbone ────────────────────────────────────────────────────────────
|
|
83
|
-
// One choke point logs every `agents <module> <cmd>` invocation to the structured
|
|
84
|
-
// event log — so team create/disband, agent run, secrets access, and everything
|
|
85
|
-
// else is captured generically (with SSH/remote-user attribution added in emit()),
|
|
86
|
-
// no per-command wiring. `agents events` reads it back. Attached to the root
|
|
87
|
-
// program, so it's inherited by every subcommand regardless of lazy registration.
|
|
88
|
-
/** Command path from the acting command up to (but excluding) the `agents` root. */
|
|
89
37
|
function auditCommandPath(cmd) {
|
|
90
38
|
const parts = [];
|
|
91
39
|
let c = cmd;
|
|
@@ -96,14 +44,6 @@ function auditCommandPath(cmd) {
|
|
|
96
44
|
return parts;
|
|
97
45
|
}
|
|
98
46
|
const auditStarts = new WeakMap();
|
|
99
|
-
/**
|
|
100
|
-
* Commands that WRITE the event stream, so recording their own invocation would
|
|
101
|
-
* add records to the log they are writing into. `events emit` is batched — one
|
|
102
|
-
* flush every few seconds per open editor window — so auditing it would bury the
|
|
103
|
-
* real events under two `command.*` records per flush. `_internal friction`
|
|
104
|
-
* exists for the same reason (shell guards fire before any `agents` process
|
|
105
|
-
* exists, so they cannot emit in-process) and had the same self-logging bug.
|
|
106
|
-
*/
|
|
107
47
|
const AUDIT_EXEMPT_COMMANDS = new Set([
|
|
108
48
|
'events emit',
|
|
109
49
|
'_internal friction',
|
|
@@ -121,15 +61,11 @@ program.hook('preAction', (_thisCommand, actionCommand) => {
|
|
|
121
61
|
emit('command.start', {
|
|
122
62
|
module: parts[0],
|
|
123
63
|
command: parts.join(' '),
|
|
124
|
-
// Commander exposes positional operands in actionCommand.args but omits
|
|
125
|
-
// parsed option values. Audit the real argv so sensitive flags are seen
|
|
126
|
-
// and redacted instead of silently bypassing the policy.
|
|
127
64
|
args: redactArgs(process.argv.slice(2, 22)),
|
|
128
65
|
cwd: process.cwd(),
|
|
129
66
|
});
|
|
130
67
|
}
|
|
131
68
|
catch {
|
|
132
|
-
// Audit logging must never break command dispatch.
|
|
133
69
|
}
|
|
134
70
|
});
|
|
135
71
|
program.hook('postAction', (_thisCommand, actionCommand) => {
|
|
@@ -161,14 +97,7 @@ program.hook('postAction', (_thisCommand, actionCommand) => {
|
|
|
161
97
|
});
|
|
162
98
|
}).catch(() => { });
|
|
163
99
|
}
|
|
164
|
-
// Disposable perf warehouse — fail-soft spool append (no SQLite on this path).
|
|
165
|
-
// Skip the perf reader itself (now `agents insights perf`, PHNX-3391) so it
|
|
166
|
-
// never records its own latency into the board it prints.
|
|
167
100
|
if (durationMs !== undefined && !(parts[0] === 'insights' && parts[1] === 'perf')) {
|
|
168
|
-
// sessionId/agent are resolvable here the same way emit() resolves them
|
|
169
|
-
// for command.start/command.end above (the shared provenance floor,
|
|
170
|
-
// event-provenance.ts) — without this, every command.end perf sample
|
|
171
|
-
// was anonymous, unlike the audit log record right next to it.
|
|
172
101
|
const { sessionId, agent } = stampProvenance();
|
|
173
102
|
void import('./lib/perf/spool.js').then(({ recordSample }) => {
|
|
174
103
|
recordSample({
|
|
@@ -183,10 +112,8 @@ program.hook('postAction', (_thisCommand, actionCommand) => {
|
|
|
183
112
|
}
|
|
184
113
|
}
|
|
185
114
|
catch {
|
|
186
|
-
// Best-effort completion record; the start line is the durable audit fact.
|
|
187
115
|
}
|
|
188
116
|
});
|
|
189
|
-
/** Compare two semver version strings. Returns 1 if a > b, -1 if a < b, 0 if equal. */
|
|
190
117
|
function compareVersions(a, b) {
|
|
191
118
|
const partsA = a.split('.').map(Number);
|
|
192
119
|
const partsB = b.split('.').map(Number);
|
|
@@ -198,7 +125,6 @@ function compareVersions(a, b) {
|
|
|
198
125
|
}
|
|
199
126
|
return 0;
|
|
200
127
|
}
|
|
201
|
-
/** Fetch and display changelog entries between two versions from unpkg. */
|
|
202
128
|
async function showWhatsNew(fromVersion, toVersion) {
|
|
203
129
|
try {
|
|
204
130
|
const response = await fetch(`https://unpkg.com/@phnx-labs/agents-cli@${toVersion}/CHANGELOG.md`);
|
|
@@ -215,26 +141,14 @@ async function showWhatsNew(fromVersion, toVersion) {
|
|
|
215
141
|
}
|
|
216
142
|
}
|
|
217
143
|
catch {
|
|
218
|
-
// Silently ignore changelog fetch errors
|
|
219
144
|
}
|
|
220
145
|
}
|
|
221
|
-
const UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
|
|
146
|
+
const UPDATE_CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000;
|
|
222
147
|
import { getUpdateCheckPath, getMigratedSentinelPath, getUserAgentsDir, getRuntimeStateDir } from './lib/state.js';
|
|
223
148
|
import { resolveBrandName, disabledCommandsForActiveBrand } from './lib/brand.js';
|
|
224
149
|
import { readUpdateCache, saveUpdateCheck, dismissUpdateVersion, shouldPromptUpgrade, resolveMultiInstallInventory, remediateStaleAgentsCliInstalls, resolveRunningPackageRoot, manualUninstallCommand, } from './lib/self-update.js';
|
|
225
150
|
const UPDATE_CHECK_FILE = getUpdateCheckPath();
|
|
226
|
-
// Beside the existing update-check cache (RUSH-2324): short-TTL memo of the
|
|
227
|
-
// multi-install PATH scan so every ordinary CLI invocation does not re-walk
|
|
228
|
-
// PATH + known install roots (~1ms warm).
|
|
229
151
|
const MULTI_INSTALL_SCAN_FILE = path.join(path.dirname(UPDATE_CHECK_FILE), '.multi-install-scan');
|
|
230
|
-
/**
|
|
231
|
-
* Warn once when this machine contains a different agents-cli install than the
|
|
232
|
-
* copy that is currently running (or several). Divergent installs
|
|
233
|
-
* are how self-updates "succeed" without changing the command the user types.
|
|
234
|
-
* The warning re-fires only when the set of install roots or their helper-copy
|
|
235
|
-
* safety changes. Dev builds are included because old dev copies can still
|
|
236
|
-
* overwrite the shared macOS helper bundle non-atomically.
|
|
237
|
-
*/
|
|
238
152
|
function maybeWarnMultiInstall() {
|
|
239
153
|
const sentinel = path.join(getRuntimeStateDir(), 'multi-install-warned');
|
|
240
154
|
let runningRoot;
|
|
@@ -242,19 +156,14 @@ function maybeWarnMultiInstall() {
|
|
|
242
156
|
runningRoot = resolveRunningPackageRoot(__dirname);
|
|
243
157
|
}
|
|
244
158
|
catch {
|
|
245
|
-
// Without a real root for the running copy there is nothing to compare
|
|
246
|
-
// against, and a guess here is exactly what produced the phantom
|
|
247
|
-
// "/$bunfs" install. This warning is advisory — stay silent instead.
|
|
248
159
|
return;
|
|
249
160
|
}
|
|
250
|
-
// RUSH-2324: resolve via the short-TTL scan cache beside `.update-check`.
|
|
251
|
-
// Fresh cache → skip findAgentsCliInstalls (~1ms PATH walk).
|
|
252
161
|
const inventory = resolveMultiInstallInventory(runningRoot, VERSION, process.env.PATH || '', MULTI_INSTALL_SCAN_FILE);
|
|
253
162
|
if (inventory.length < 2) {
|
|
254
163
|
try {
|
|
255
164
|
fs.unlinkSync(sentinel);
|
|
256
165
|
}
|
|
257
|
-
catch {
|
|
166
|
+
catch { }
|
|
258
167
|
return;
|
|
259
168
|
}
|
|
260
169
|
const key = inventory
|
|
@@ -265,16 +174,11 @@ function maybeWarnMultiInstall() {
|
|
|
265
174
|
if (fs.readFileSync(sentinel, 'utf-8') === key)
|
|
266
175
|
return;
|
|
267
176
|
}
|
|
268
|
-
catch {
|
|
177
|
+
catch { }
|
|
269
178
|
console.error(chalk.yellow('Multiple agents-cli installs detected:'));
|
|
270
179
|
for (const info of inventory) {
|
|
271
180
|
console.error(chalk.gray(` ${info.packageRoot} ${info.version} (${info.note})`));
|
|
272
181
|
}
|
|
273
|
-
// RUSH-2705/2713: only advertise the `agents sync --prune-clis` purge for copies it
|
|
274
|
-
// will really delete. A duplicate sync won't auto-purge (a healthy >=1.22.30
|
|
275
|
-
// peer, OR a pre-1.22.30 copy left alone only because no fixed peer exists — the
|
|
276
|
-
// latter is genuinely vulnerable, not healthy) makes it a remedy that no-ops
|
|
277
|
-
// forever — name the manual removal command instead.
|
|
278
182
|
const peers = inventory.filter((info) => !info.running);
|
|
279
183
|
console.error(chalk.gray('Upgrades apply to the running copy.'));
|
|
280
184
|
if (peers.some((info) => info.autoPurgeable)) {
|
|
@@ -287,15 +191,13 @@ function maybeWarnMultiInstall() {
|
|
|
287
191
|
fs.mkdirSync(path.dirname(sentinel), { recursive: true });
|
|
288
192
|
fs.writeFileSync(sentinel, key);
|
|
289
193
|
}
|
|
290
|
-
catch {
|
|
194
|
+
catch { }
|
|
291
195
|
}
|
|
292
|
-
/** Determine whether enough time has elapsed since the last registry fetch. */
|
|
293
196
|
function shouldFetchLatest(cache) {
|
|
294
197
|
if (!cache)
|
|
295
198
|
return true;
|
|
296
199
|
return Date.now() - cache.lastCheck > UPDATE_CHECK_INTERVAL_MS;
|
|
297
200
|
}
|
|
298
|
-
/** Fetch the exact latest npm version plus its registry integrity hash. */
|
|
299
201
|
async function fetchNpmPackageMetadata(versionOrTag = 'latest', timeoutMs = 5000) {
|
|
300
202
|
const response = await fetch(`https://registry.npmjs.org/${NPM_PACKAGE_NAME}/${versionOrTag}`, {
|
|
301
203
|
signal: AbortSignal.timeout(timeoutMs),
|
|
@@ -320,24 +222,9 @@ function printResolvedPackage(metadata) {
|
|
|
320
222
|
}
|
|
321
223
|
async function installResolvedPackage(metadata) {
|
|
322
224
|
const packageRoot = resolveRunningPackageRoot(__dirname);
|
|
323
|
-
// Download the published tarball and prove its bytes match the registry
|
|
324
|
-
// integrity BEFORE installing anything. A `name@version` spec would let the
|
|
325
|
-
// package manager fetch and install whatever the registry serves with no
|
|
326
|
-
// hash check on our side; instead we verify here and install the LOCAL, now
|
|
327
|
-
// trusted .tgz. A mismatch throws and nothing below runs — fail closed.
|
|
328
225
|
const tarball = await downloadVerifiedTarball(metadata.tarball, metadata.integrity);
|
|
329
226
|
try {
|
|
330
|
-
// Clear any orphaned npm reify staging dir from a prior crashed upgrade
|
|
331
|
-
// BEFORE the package manager stages the new one (PHNX-3393) — otherwise
|
|
332
|
-
// npm's rename onto that exact, deterministic path fails ENOTEMPTY and
|
|
333
|
-
// every subsequent upgrade dead-ends there forever. bun does not use
|
|
334
|
-
// npm's retire-path staging scheme, so this only needs to run once, ahead
|
|
335
|
-
// of both package-manager branches below.
|
|
336
227
|
await sweepStaleInstallStaging(packageRoot);
|
|
337
|
-
// Upgrade with the package manager that owns this install. A bun global
|
|
338
|
-
// install lives at <bunGlobalDir>/node_modules/... (no `lib` segment), so an
|
|
339
|
-
// `npm install --prefix` would write to <bunGlobalDir>/lib/node_modules and
|
|
340
|
-
// never touch the running copy — npm exits 0, the verify below fails.
|
|
341
228
|
if (detectPackageManager(packageRoot) === 'bun') {
|
|
342
229
|
await installPackageWithBun(tarball);
|
|
343
230
|
}
|
|
@@ -346,24 +233,14 @@ async function installResolvedPackage(metadata) {
|
|
|
346
233
|
}
|
|
347
234
|
}
|
|
348
235
|
finally {
|
|
349
|
-
// Best-effort cleanup of the verified tarball and its temp dir.
|
|
350
236
|
try {
|
|
351
237
|
fs.rmSync(path.dirname(tarball), { recursive: true, force: true });
|
|
352
238
|
}
|
|
353
239
|
catch {
|
|
354
|
-
/* leave it for the OS temp sweep */
|
|
355
240
|
}
|
|
356
241
|
}
|
|
357
242
|
await verifyInstalledVersion(packageRoot, metadata.version);
|
|
358
243
|
await refreshAliasShims(packageRoot);
|
|
359
|
-
// PHNX-2768: the npm install above can leave the package at the new version
|
|
360
|
-
// but the global bin links GONE — the state that stranded zion (package at
|
|
361
|
-
// 1.22.40, `/opt/homebrew/bin/{agents,ag,browser,computer}` missing, every
|
|
362
|
-
// `agents` invocation "command not found"). The upgrade OWNS those links, so
|
|
363
|
-
// it restores any that npm dropped and fails LOUD when one cannot be made to
|
|
364
|
-
// resolve — never returning a box the package upgraded but cannot run. Only
|
|
365
|
-
// the npm-prefix POSIX layout has these symlinks; bun and Windows use their
|
|
366
|
-
// own bin shims and are out of scope.
|
|
367
244
|
if (detectPackageManager(packageRoot) !== 'bun' && process.platform !== 'win32') {
|
|
368
245
|
const prefix = deriveGlobalPrefix(packageRoot);
|
|
369
246
|
const repairs = await ensureGlobalBinLinks(packageRoot, prefix);
|
|
@@ -382,26 +259,15 @@ async function installResolvedPackage(metadata) {
|
|
|
382
259
|
`The box has the new package but no working \`agents\` — relink manually: ${relink}`);
|
|
383
260
|
}
|
|
384
261
|
}
|
|
385
|
-
// The macOS Keychain helper this used to force-refresh on upgrade moved with
|
|
386
|
-
// the standalone `secrets` engine (PHNX-3989) — it downloads and verifies its
|
|
387
|
-
// own helper release now, off this CLI's upgrade path entirely.
|
|
388
|
-
//
|
|
389
|
-
// The menu-bar helper still rides this path: an installed release build moves
|
|
390
|
-
// to the newest published one (verified download, atomic swap at the same
|
|
391
|
-
// path and identity so the Accessibility grant survives, restart). The new
|
|
392
|
-
// package is on disk, so the import resolves the fresh module. Best-effort;
|
|
393
|
-
// the daemon's self-heal tick repeats it every six hours.
|
|
394
262
|
if (process.platform === 'darwin') {
|
|
395
263
|
try {
|
|
396
264
|
const { updateMenubarHelperIfNewer } = await import('./lib/menubar/install-menubar.js');
|
|
397
265
|
await updateMenubarHelperIfNewer({ force: true });
|
|
398
266
|
}
|
|
399
267
|
catch {
|
|
400
|
-
// Non-fatal.
|
|
401
268
|
}
|
|
402
269
|
}
|
|
403
270
|
}
|
|
404
|
-
/** Present an interactive upgrade prompt (TTY) or a one-line hint (non-TTY). */
|
|
405
271
|
async function promptUpgrade(latestVersion) {
|
|
406
272
|
const { default: ora } = await import('ora');
|
|
407
273
|
const { confirm, select } = await import('@inquirer/prompts');
|
|
@@ -427,9 +293,6 @@ async function promptUpgrade(latestVersion) {
|
|
|
427
293
|
let spinner = ora('Resolving package metadata...').start();
|
|
428
294
|
try {
|
|
429
295
|
const metadata = await fetchNpmPackageMetadata();
|
|
430
|
-
// The prompt showed the cached latest, which can lag the registry (the
|
|
431
|
-
// 24h window) — sync the cache to what was actually resolved so later
|
|
432
|
-
// prompts and the install agree on the same version.
|
|
433
296
|
saveUpdateCheck(UPDATE_CHECK_FILE, metadata.version);
|
|
434
297
|
spinner.succeed(`Resolved ${NPM_PACKAGE_NAME}@${metadata.version}`);
|
|
435
298
|
printResolvedPackage(metadata);
|
|
@@ -446,11 +309,6 @@ async function promptUpgrade(latestVersion) {
|
|
|
446
309
|
spinner.succeed(`Upgraded to ${metadata.version}`);
|
|
447
310
|
await showWhatsNew(VERSION, metadata.version);
|
|
448
311
|
console.log();
|
|
449
|
-
// Re-exec the verified install's entrypoint and exit. PATH lookup of
|
|
450
|
-
// `agents` could resolve a different copy (dev build, another prefix)
|
|
451
|
-
// than the one that was just upgraded. getCliLaunch resolves the JS-vs-
|
|
452
|
-
// standalone shape — never hand-roll `[process.execPath, entrypoint]`,
|
|
453
|
-
// which hands the bun virtual entry to a compiled binary as a bogus arg.
|
|
454
312
|
const { command, args } = getCliLaunch(process.argv.slice(2));
|
|
455
313
|
const result = spawnSync(command, args, {
|
|
456
314
|
stdio: 'inherit',
|
|
@@ -467,13 +325,6 @@ async function promptUpgrade(latestVersion) {
|
|
|
467
325
|
console.log();
|
|
468
326
|
}
|
|
469
327
|
}
|
|
470
|
-
/**
|
|
471
|
-
* Background update check — fires once per 24h cache window.
|
|
472
|
-
* Network: GET registry.npmjs.org/@phnx-labs/agents-cli/latest.
|
|
473
|
-
* Disable: set AGENTS_CLI_DISABLE_AUTO_UPDATE=1 in shell rc.
|
|
474
|
-
*
|
|
475
|
-
* Fire-and-forget; never blocks the CLI's foreground operation.
|
|
476
|
-
*/
|
|
477
328
|
function refreshUpdateCacheInBackground() {
|
|
478
329
|
fetch('https://registry.npmjs.org/@phnx-labs/agents-cli/latest', {
|
|
479
330
|
signal: AbortSignal.timeout(2000),
|
|
@@ -485,22 +336,16 @@ function refreshUpdateCacheInBackground() {
|
|
|
485
336
|
}
|
|
486
337
|
})
|
|
487
338
|
.catch(() => {
|
|
488
|
-
/* network error, try again next invocation */
|
|
489
339
|
});
|
|
490
340
|
}
|
|
491
|
-
/** Check for available updates using the local cache. Triggers a background refresh if stale. */
|
|
492
341
|
async function checkForUpdates() {
|
|
493
342
|
if (process.env.AGENTS_CLI_DISABLE_AUTO_UPDATE)
|
|
494
343
|
return;
|
|
495
344
|
maybeWarnMultiInstall();
|
|
496
345
|
const cache = readUpdateCache(UPDATE_CHECK_FILE);
|
|
497
|
-
// Kick off network refresh in background if stale. Does not block.
|
|
498
346
|
if (shouldFetchLatest(cache)) {
|
|
499
347
|
refreshUpdateCacheInBackground();
|
|
500
348
|
}
|
|
501
|
-
// Prompt based on current cache (may be from a previous run's background refresh).
|
|
502
|
-
// Skip if the user dismissed this exact version — they'll be prompted again when
|
|
503
|
-
// a newer version appears.
|
|
504
349
|
if (shouldPromptUpgrade(cache, VERSION)) {
|
|
505
350
|
try {
|
|
506
351
|
await promptUpgrade(cache.latestVersion);
|
|
@@ -509,7 +354,6 @@ async function checkForUpdates() {
|
|
|
509
354
|
const { isPromptCancelled } = await import('./commands/utils.js');
|
|
510
355
|
if (isPromptCancelled(err))
|
|
511
356
|
return;
|
|
512
|
-
/* prompt error, ignore */
|
|
513
357
|
}
|
|
514
358
|
}
|
|
515
359
|
}
|
|
@@ -517,25 +361,12 @@ async function maybeBootstrapShimIntegration(requestedCommand, isDocumentationRe
|
|
|
517
361
|
if (!verboseStartup && (!process.stdin.isTTY || !process.stdout.isTTY)) {
|
|
518
362
|
return;
|
|
519
363
|
}
|
|
520
|
-
// Pure documentation paths must never trigger interactive repair — mirrors
|
|
521
|
-
// the isDocumentationRequest gate around ensureInitialized below. Covers
|
|
522
|
-
// both bare `agents --version` (requestedCommand === undefined) and
|
|
523
|
-
// `agents <subcommand> --help` (requestedCommand === subcommand name).
|
|
524
364
|
if (isDocumentationRequest) {
|
|
525
365
|
return;
|
|
526
366
|
}
|
|
527
367
|
if (requestedCommand === 'sync' || requestedCommand === 'refresh-rules') {
|
|
528
368
|
return;
|
|
529
369
|
}
|
|
530
|
-
// Past the documentation/non-TTY guards: heal the shim/shadow/PATH conditions
|
|
531
|
-
// through the unified self-heal registry — the SAME checks the daemon runs, but
|
|
532
|
-
// driven silently on this interactive invocation so a user who never starts the
|
|
533
|
-
// daemon still gets healed. Regenerating stale shims, adopting symlink launchers,
|
|
534
|
-
// and adding the shims dir to PATH now happen without any output. The only thing
|
|
535
|
-
// that ever prints is a ONE-TIME notice for what a machine can't silently fix
|
|
536
|
-
// (a real native binary shadowing the shim) or is worth saying once (a PATH entry
|
|
537
|
-
// just added). Suppression is persistent and keyed to the condition — a new
|
|
538
|
-
// terminal no longer re-nags (the old per-PPID sentinel did, every shell).
|
|
539
370
|
const { runInteractiveShimHeal } = await import('./lib/shim-heal.js');
|
|
540
371
|
const { summarizeSelfHeal } = await import('./lib/self-heal/registry.js');
|
|
541
372
|
const { noticeLines, report } = await runInteractiveShimHeal();
|
|
@@ -547,27 +378,17 @@ async function maybeBootstrapShimIntegration(requestedCommand, isDocumentationRe
|
|
|
547
378
|
console.log(chalk.gray(line));
|
|
548
379
|
}
|
|
549
380
|
}
|
|
550
|
-
// --- Inline command registrars ----------------------------------------------
|
|
551
|
-
// These commands are defined here rather than in a command module because they
|
|
552
|
-
// close over entry-point-local state (program re-parsing, VERSION, the npm
|
|
553
|
-
// upgrade helpers). The lazy registrar and the all-commands fallback below both
|
|
554
|
-
// call them, so the behavior is identical to the old eager registration.
|
|
555
|
-
// memory is a first-class resource command (see commands/memory.ts via
|
|
556
|
-
// COMMAND_LOADERS). The old memory→rules tombstone was removed in RUSH-1330.
|
|
557
|
-
/** Deprecated `perms` alias — re-parses as `permissions`. */
|
|
558
381
|
function registerPermsAliasCommand(p) {
|
|
559
382
|
p.command('perms', { hidden: true })
|
|
560
383
|
.allowUnknownOption()
|
|
561
384
|
.allowExcessArguments()
|
|
562
385
|
.action(async () => {
|
|
563
386
|
console.log(chalk.yellow('Deprecated: Use "agents permissions" instead of "agents perms"\n'));
|
|
564
|
-
// Re-parse with 'permissions' command
|
|
565
387
|
const args = process.argv.slice(2);
|
|
566
388
|
args[0] = 'permissions';
|
|
567
389
|
await program.parseAsync(['node', 'agents', ...args]);
|
|
568
390
|
});
|
|
569
391
|
}
|
|
570
|
-
/** Deprecated `exec` alias — re-parses as `run`. */
|
|
571
392
|
function registerExecAliasCommand(p) {
|
|
572
393
|
p.command('exec', { hidden: true })
|
|
573
394
|
.allowUnknownOption()
|
|
@@ -579,7 +400,6 @@ function registerExecAliasCommand(p) {
|
|
|
579
400
|
await program.parseAsync(['node', 'agents', ...args]);
|
|
580
401
|
});
|
|
581
402
|
}
|
|
582
|
-
/** Deprecated `jobs` / `cron` aliases — re-parse as `routines`. */
|
|
583
403
|
function registerJobsCronAliasCommand(p, alias) {
|
|
584
404
|
p.command(alias, { hidden: true })
|
|
585
405
|
.allowUnknownOption()
|
|
@@ -591,12 +411,6 @@ function registerJobsCronAliasCommand(p, alias) {
|
|
|
591
411
|
await program.parseAsync(['node', 'agents', ...args]);
|
|
592
412
|
});
|
|
593
413
|
}
|
|
594
|
-
/**
|
|
595
|
-
* Removed `check` command (RUSH-1234) — re-parses as `doctor --check`, forwarding
|
|
596
|
-
* any remaining flags so `check --quiet` / `check --json` / `check --devices` keep
|
|
597
|
-
* working and the drift-gate exit code survives the rename. The notice goes to
|
|
598
|
-
* stderr so `--json` stdout stays clean for CI parsers.
|
|
599
|
-
*/
|
|
600
414
|
function registerCheckTombstoneCommand(p) {
|
|
601
415
|
p.command('check', { hidden: true })
|
|
602
416
|
.allowUnknownOption()
|
|
@@ -609,11 +423,6 @@ function registerCheckTombstoneCommand(p) {
|
|
|
609
423
|
await program.parseAsync(['node', 'agents', ...args]);
|
|
610
424
|
});
|
|
611
425
|
}
|
|
612
|
-
/**
|
|
613
|
-
* Removed `resources` command (RUSH-1234) — re-parses as `view --merged` (the
|
|
614
|
-
* cross-layer, first-wins resource table now lives there; `agents inspect <target>`
|
|
615
|
-
* covers per-agent / per-repo detail). Forwards remaining flags like `--json`.
|
|
616
|
-
*/
|
|
617
426
|
function registerResourcesTombstoneCommand(p) {
|
|
618
427
|
p.command('resources', { hidden: true })
|
|
619
428
|
.allowUnknownOption()
|
|
@@ -626,13 +435,6 @@ function registerResourcesTombstoneCommand(p) {
|
|
|
626
435
|
await program.parseAsync(['node', 'agents', ...args]);
|
|
627
436
|
});
|
|
628
437
|
}
|
|
629
|
-
/**
|
|
630
|
-
* Removed `hq` command — the JSON bridge for the interactive Agents HQ floor
|
|
631
|
-
* (`agents hq floor --json`). No UI ever consumed it (apps/ext has zero
|
|
632
|
-
* references) and it had no external users, so it is gone with no replacement.
|
|
633
|
-
* Kept as a hidden tombstone so a stale invocation gets a clear message and a
|
|
634
|
-
* non-zero exit instead of commander's raw "unknown command".
|
|
635
|
-
*/
|
|
636
438
|
function registerHqTombstoneCommand(p) {
|
|
637
439
|
p.command('hq', { hidden: true })
|
|
638
440
|
.allowUnknownOption()
|
|
@@ -641,16 +443,6 @@ function registerHqTombstoneCommand(p) {
|
|
|
641
443
|
die('"agents hq" was removed (internal Agents HQ floor bridge, no longer used).');
|
|
642
444
|
});
|
|
643
445
|
}
|
|
644
|
-
/**
|
|
645
|
-
* Hidden `agents _internal <sub>` namespace for machine-to-machine calls that
|
|
646
|
-
* are not user-facing. Subcommands:
|
|
647
|
-
* - `friction` — shell guard hooks (git-guard, rm-guard, …) self-report a
|
|
648
|
-
* block into the event log before they exit 2; they run before any
|
|
649
|
-
* `agents` process exists, so they cannot emit in-process.
|
|
650
|
-
* - `mergeable-prs` — the `pr-merge-on-green` built-in poll. Prints
|
|
651
|
-
* `owner/repo#n` for this user's CI-green, non-author-approved open PRs
|
|
652
|
-
* (cwd-independent `--repo`). Empty stdout is a silent observation.
|
|
653
|
-
*/
|
|
654
446
|
function registerInternalCommand(p) {
|
|
655
447
|
const internal = p.command('_internal', { hidden: true });
|
|
656
448
|
internal
|
|
@@ -661,7 +453,7 @@ function registerInternalCommand(p) {
|
|
|
661
453
|
.option('--command <command>', 'The command that was blocked')
|
|
662
454
|
.action((opts) => {
|
|
663
455
|
if (!opts.surface || !opts.id) {
|
|
664
|
-
process.exit(0);
|
|
456
|
+
process.exit(0);
|
|
665
457
|
}
|
|
666
458
|
emitFriction(opts.surface, opts.id, {
|
|
667
459
|
...(opts.error ? { error: opts.error } : {}),
|
|
@@ -680,12 +472,9 @@ function registerInternalCommand(p) {
|
|
|
680
472
|
process.stdout.write(`${refs}\n`);
|
|
681
473
|
}
|
|
682
474
|
catch {
|
|
683
|
-
// Empty observation — never write stderr (command.ts would treat it
|
|
684
|
-
// as the poll result and fire `mode: every` on the error text).
|
|
685
475
|
}
|
|
686
476
|
});
|
|
687
477
|
}
|
|
688
|
-
/** Runtime action for the shared `agents upgrade [version]` command definition. */
|
|
689
478
|
async function runUpgrade(version, options) {
|
|
690
479
|
const { default: ora } = await import('ora');
|
|
691
480
|
const { confirm } = await import('@inquirer/prompts');
|
|
@@ -699,8 +488,6 @@ async function runUpgrade(version, options) {
|
|
|
699
488
|
spinner.succeed(`Already on ${VERSION}`);
|
|
700
489
|
return;
|
|
701
490
|
}
|
|
702
|
-
// For `latest` (no explicit version) skip when already ahead. When a
|
|
703
|
-
// version is named explicitly, honor it even if it's a downgrade.
|
|
704
491
|
if (!version && compareVersions(resolvedVersion, VERSION) <= 0) {
|
|
705
492
|
spinner.succeed(`Already ahead of latest (${VERSION} >= ${resolvedVersion})`);
|
|
706
493
|
return;
|
|
@@ -721,8 +508,6 @@ async function runUpgrade(version, options) {
|
|
|
721
508
|
spinner = ora(`${direction === 'Downgrade' ? 'Downgrading' : 'Upgrading'} ${VERSION} -> ${resolvedVersion}...`).start();
|
|
722
509
|
await installResolvedPackage(metadata);
|
|
723
510
|
spinner.succeed(`${direction}d to ${resolvedVersion}`);
|
|
724
|
-
// After a successful upgrade, drop latent pre-fix / npx-cache /
|
|
725
|
-
// unsafe-legacy copies so the new binary is not shadowed (RUSH-2415).
|
|
726
511
|
try {
|
|
727
512
|
const runningRoot = resolveRunningPackageRoot(__dirname);
|
|
728
513
|
const purge = remediateStaleAgentsCliInstalls({
|
|
@@ -735,18 +520,12 @@ async function runUpgrade(version, options) {
|
|
|
735
520
|
if (purge.failed.length > 0) {
|
|
736
521
|
console.log(chalk.yellow(`Could not purge ${purge.failed.length} stale install${purge.failed.length === 1 ? '' : 's'}; re-run agents sync --prune-clis.`));
|
|
737
522
|
}
|
|
738
|
-
// RUSH-2705/2713: duplicates --fix won't auto-purge (a healthy
|
|
739
|
-
// >=1.22.30 peer, or a pre-1.22.30 copy with no fixed peer to fall back
|
|
740
|
-
// to — not healthy) — name the command that removes them instead of
|
|
741
|
-
// leaving a silent nag behind.
|
|
742
523
|
for (const u of purge.unresolved) {
|
|
743
524
|
console.log(chalk.gray(`Duplicate ${u.version} at ${u.packageRoot} left in place; remove it with: ${u.manualRemoveCommand}`));
|
|
744
525
|
}
|
|
745
526
|
}
|
|
746
527
|
catch {
|
|
747
|
-
/* best-effort; upgrade already succeeded */
|
|
748
528
|
}
|
|
749
|
-
// Only show the changelog for a genuine upgrade range.
|
|
750
529
|
if (compareVersions(resolvedVersion, VERSION) > 0) {
|
|
751
530
|
await showWhatsNew(VERSION, resolvedVersion);
|
|
752
531
|
}
|
|
@@ -756,33 +535,18 @@ async function runUpgrade(version, options) {
|
|
|
756
535
|
return;
|
|
757
536
|
spinner.fail(`Upgrade failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
758
537
|
console.log(chalk.gray(`Run manually: agents upgrade ${version ? version + ' ' : ''}--yes`));
|
|
759
|
-
// A failed upgrade MUST exit non-zero (PHNX-2768). The fleet rollout
|
|
760
|
-
// keys a box `ok` on `agents upgrade` exiting 0 alone; exiting 0 on
|
|
761
|
-
// failure is what let a stranded box (package upgraded, bin links gone)
|
|
762
|
-
// be reported merely `unverified` instead of `failed`.
|
|
763
538
|
process.exitCode = 1;
|
|
764
539
|
}
|
|
765
540
|
}
|
|
766
541
|
function registerUpgradeRuntimeCommand(p) {
|
|
767
542
|
registerUpgradeCommand(p, runUpgrade);
|
|
768
543
|
}
|
|
769
|
-
// --- Lazy registration orchestration -----------------------------------------
|
|
770
|
-
/** Import a command module via its loader and register it on the program. */
|
|
771
544
|
async function reg(loader) {
|
|
772
545
|
(await loader())(program);
|
|
773
546
|
}
|
|
774
|
-
/**
|
|
775
|
-
* Register exactly the command(s) the requested top-level name needs.
|
|
776
|
-
* Returns false when the name maps to no known command (typo / unknown).
|
|
777
|
-
*
|
|
778
|
-
* Lazy commands (sessions/teams/cloud) are intentionally NOT handled here — they
|
|
779
|
-
* must register after applyGlobalHelpConventions to match main's ordering.
|
|
780
|
-
* Inline aliases/tombstones load their target module via COMMAND_LOADERS.
|
|
781
|
-
*/
|
|
782
547
|
async function registerEagerForRequest(name) {
|
|
783
548
|
switch (name) {
|
|
784
549
|
case 'perms':
|
|
785
|
-
// The action re-parses as `permissions`, so that target must exist too.
|
|
786
550
|
registerPermsAliasCommand(program);
|
|
787
551
|
for (const loader of COMMAND_LOADERS['permissions'] ?? [])
|
|
788
552
|
await reg(loader);
|
|
@@ -799,13 +563,11 @@ async function registerEagerForRequest(name) {
|
|
|
799
563
|
await reg(loader);
|
|
800
564
|
return true;
|
|
801
565
|
case 'check':
|
|
802
|
-
// The action re-parses as `doctor --check`, so doctor must exist too.
|
|
803
566
|
registerCheckTombstoneCommand(program);
|
|
804
567
|
for (const loader of COMMAND_LOADERS['doctor'] ?? [])
|
|
805
568
|
await reg(loader);
|
|
806
569
|
return true;
|
|
807
570
|
case 'resources':
|
|
808
|
-
// The action re-parses as `view --merged`, so view must exist too.
|
|
809
571
|
registerResourcesTombstoneCommand(program);
|
|
810
572
|
for (const loader of COMMAND_LOADERS['view'] ?? [])
|
|
811
573
|
await reg(loader);
|
|
@@ -827,28 +589,13 @@ async function registerEagerForRequest(name) {
|
|
|
827
589
|
await reg(loader);
|
|
828
590
|
return true;
|
|
829
591
|
}
|
|
830
|
-
// Safety-net for unknown commands that still reach commander (should be rare
|
|
831
|
-
// after the pre-parse spellcheck below). Candidates come from the plain-string
|
|
832
|
-
// KNOWN_TOP_LEVEL_COMMANDS set so this path never depends on every module
|
|
833
|
-
// having been registered (RUSH-2329).
|
|
834
592
|
program.on('command:*', (operands) => {
|
|
835
593
|
const unknown = operands[0];
|
|
836
594
|
const { closest, minDist } = closestTopLevelCommand(unknown, KNOWN_TOP_LEVEL_COMMANDS);
|
|
837
595
|
if (minDist === 1 && closest && !RETIRED_TOP_LEVEL_COMMANDS.has(unknown)) {
|
|
838
596
|
const args = process.argv.slice(2);
|
|
839
597
|
args[0] = closest;
|
|
840
|
-
// The typo'd name was unknown, so the top-level --device router (which ran
|
|
841
|
-
// before commander parsing, against the ORIGINAL name) could not have
|
|
842
|
-
// routed it - it correctly fell through to reach this handler at all
|
|
843
|
-
// (that fallthrough is this ticket's own fix). But falling through to a
|
|
844
|
-
// plain local re-parse means a routing flag on a corrected REAL
|
|
845
|
-
// host-routable command (e.g. `docto --device box`, corrected to `doctor`)
|
|
846
|
-
// silently ran LOCALLY instead of remotely, with no error - worse than
|
|
847
|
-
// the loud "does not support --device" this ticket replaced. Re-run the
|
|
848
|
-
// router with the CORRECTED name before falling through to local parse;
|
|
849
|
-
// it already no-ops when no routing flag is present. RUSH-2022 review r2.
|
|
850
598
|
void (async () => {
|
|
851
|
-
// Register only the corrected command — never the full tree (RUSH-2329).
|
|
852
599
|
if (LAZY_COMMAND_NAMES.has(closest)) {
|
|
853
600
|
for (const loader of COMMAND_LOADERS[closest] ?? [])
|
|
854
601
|
await reg(loader);
|
|
@@ -856,8 +603,6 @@ program.on('command:*', (operands) => {
|
|
|
856
603
|
else {
|
|
857
604
|
await registerEagerForRequest(closest);
|
|
858
605
|
}
|
|
859
|
-
// Same RUSH-2374 gate as the main router: typo corrections with no routing
|
|
860
|
-
// flag must not load the hosts graph just to no-op.
|
|
861
606
|
if (hasHostRoutingFlag(args)) {
|
|
862
607
|
const { maybeRunOnHost } = await import('./lib/hosts/passthrough.js');
|
|
863
608
|
if (await maybeRunOnHost(closest, args)) {
|
|
@@ -874,15 +619,8 @@ program.on('command:*', (operands) => {
|
|
|
874
619
|
}
|
|
875
620
|
process.exit(1);
|
|
876
621
|
});
|
|
877
|
-
// Parse the invocation shape up front: the first non-flag token is the command,
|
|
878
|
-
// and the doc flags (--version/--help/-h) drive both the registration strategy
|
|
879
|
-
// and whether the update check + background sync run at all.
|
|
880
622
|
const passedArgs = normalizeResumeDeviceArgs(process.argv.slice(2));
|
|
881
623
|
process.argv.splice(2, process.argv.length - 2, ...passedArgs);
|
|
882
|
-
// Commander owns `--version` on the root command and otherwise intercepts it
|
|
883
|
-
// even after `sessions`, before the subcommand can parse its version filter.
|
|
884
|
-
// Rewrite only that value-taking nested form; bare `agents --version` and every
|
|
885
|
-
// other command retain the root documentation flag unchanged.
|
|
886
624
|
if (passedArgs[0] === 'sessions') {
|
|
887
625
|
const nestedVersionIndex = passedArgs.indexOf('--version', 1);
|
|
888
626
|
if (nestedVersionIndex >= 0) {
|
|
@@ -898,28 +636,10 @@ if (passedArgs[0] === 'sessions') {
|
|
|
898
636
|
const requestedCommand = passedArgs.find((arg) => !arg.startsWith('-'));
|
|
899
637
|
const verboseStartup = passedArgs.includes('--verbose');
|
|
900
638
|
const helpAllRequested = passedArgs.includes('--help-all');
|
|
901
|
-
// Help and version output are pure documentation — they must never gate on
|
|
902
|
-
// setup, otherwise `agents <cmd> --help` becomes useless on a fresh box.
|
|
903
639
|
const helpOrVersionRequested = passedArgs.some((arg) => arg === '--help' || arg === '-h' || arg === '--version' || arg === '-V');
|
|
904
640
|
const isDocumentationRequest = helpOrVersionRequested || helpAllRequested;
|
|
905
|
-
// White-label: a brand can hide built-in top-level commands. A hidden command
|
|
906
|
-
// must behave as if it doesn't exist under this brand (unknown-command +
|
|
907
|
-
// spellcheck), while `agents` itself is unaffected. `brandDisabled` is empty for
|
|
908
|
-
// the unbranded CLI, so all of this is a no-op there.
|
|
909
641
|
const brandDisabled = disabledCommandsForActiveBrand();
|
|
910
642
|
const requestedIsDisabled = requestedCommand !== undefined && brandDisabled.has(requestedCommand);
|
|
911
|
-
// `--device` passthrough: run this invocation on a remote machine over SSH instead
|
|
912
|
-
// of locally. Handled before any local command registration / update check /
|
|
913
|
-
// background sync — a remote run needs none of that. Only the allowlisted
|
|
914
|
-
// read-only + config + teams commands route here; `run`/`sessions` are absent
|
|
915
|
-
// from the table and fall through to their own richer `--device` handling below.
|
|
916
|
-
// `--help`/`--version` stay local (docs must work without a reachable host).
|
|
917
|
-
//
|
|
918
|
-
// RUSH-2374: gate the dynamic import on a routing flag actually being present.
|
|
919
|
-
// Without this, every named invocation paid ~187ms to load passthrough.js only
|
|
920
|
-
// for maybeRunOnHost to return false after four flagValue scans. The presence
|
|
921
|
-
// scan itself is the same work those four scans do, at ~0.001ms on an 11-token
|
|
922
|
-
// argv — free next to the module graph it avoids on the majority path.
|
|
923
643
|
if (requestedCommand !== undefined &&
|
|
924
644
|
!isDocumentationRequest &&
|
|
925
645
|
!requestedIsDisabled &&
|
|
@@ -929,20 +649,11 @@ if (requestedCommand !== undefined &&
|
|
|
929
649
|
process.exit(process.exitCode ?? 0);
|
|
930
650
|
}
|
|
931
651
|
}
|
|
932
|
-
// Register only the command(s) this invocation actually uses. Lazy commands
|
|
933
|
-
// (sessions/teams/cloud) are handled after applyGlobalHelpConventions below.
|
|
934
652
|
const isLazyRequest = requestedCommand !== undefined && LAZY_COMMAND_NAMES.has(requestedCommand);
|
|
935
|
-
// Root help (--help, --help-all, or bare invocation) needs the full command tree
|
|
936
|
-
// so the formatter can render real descriptions and the compact front-door
|
|
937
|
-
// pointer can point at the real remaining surface.
|
|
938
653
|
const rootHelpRequested = requestedCommand === undefined &&
|
|
939
654
|
(helpAllRequested || passedArgs.includes('--help') || passedArgs.includes('-h') || passedArgs.length === 0);
|
|
940
|
-
// Set when the requested name maps to no command. Spellcheck uses the plain
|
|
941
|
-
// KNOWN_TOP_LEVEL_COMMANDS string set — never registerAllEagerCommands just to
|
|
942
|
-
// build the candidate list (RUSH-2329; was 250-330ms of module evaluation).
|
|
943
655
|
let requestedIsUnknown = false;
|
|
944
656
|
if (requestedIsDisabled) {
|
|
945
|
-
// Brand hid this command: resolve as unknown without loading the full tree.
|
|
946
657
|
requestedIsUnknown = true;
|
|
947
658
|
}
|
|
948
659
|
else if (rootHelpRequested) {
|
|
@@ -954,38 +665,22 @@ else if (requestedCommand !== undefined && !isLazyRequest) {
|
|
|
954
665
|
requestedIsUnknown = true;
|
|
955
666
|
}
|
|
956
667
|
}
|
|
957
|
-
// Mirror main: help conventions are applied after the eager command tree and
|
|
958
|
-
// before the lazy commands, so the latter inherit the root's custom help
|
|
959
|
-
// formatter instead of getting the per-command recursive pass.
|
|
960
668
|
applyGlobalHelpConventions(program);
|
|
961
|
-
// Compact root help shows only the measured front-door groups plus a pointer to
|
|
962
|
-
// the full surface. --help-all disables compact mode so every command is listed.
|
|
963
669
|
if (!helpAllRequested) {
|
|
964
670
|
setCompactRootHelp(program);
|
|
965
671
|
}
|
|
966
|
-
// Lazy commands pull in the SQLite-backed session/cloud stack; register them
|
|
967
|
-
// only when explicitly requested, keeping lightweight commands off that path.
|
|
968
672
|
if (isLazyRequest && !requestedIsDisabled) {
|
|
969
673
|
for (const loader of COMMAND_LOADERS[requestedCommand])
|
|
970
674
|
await reg(loader);
|
|
971
675
|
}
|
|
972
676
|
else if (requestedIsUnknown && requestedCommand) {
|
|
973
|
-
// Spellcheck from the plain-string name set. KNOWN_TOP_LEVEL_COMMANDS already
|
|
974
|
-
// includes lazy names (sessions/teams/cloud/…) and inline aliases/tombstones,
|
|
975
|
-
// so `agents session` still suggests `sessions` without loading either module.
|
|
976
|
-
// Insertion order matches COMMAND_LOADERS key order + INLINE_COMMAND_NAMES,
|
|
977
|
-
// preserving the historical first-seen tie-break of registerAllEagerCommands.
|
|
978
677
|
const candidates = [...KNOWN_TOP_LEVEL_COMMANDS].filter((name) => !brandDisabled.has(name));
|
|
979
678
|
const { closest, minDist } = closestTopLevelCommand(requestedCommand, candidates);
|
|
980
679
|
if (minDist === 1 &&
|
|
981
680
|
closest &&
|
|
982
681
|
!requestedIsDisabled &&
|
|
983
682
|
!RETIRED_TOP_LEVEL_COMMANDS.has(requestedCommand)) {
|
|
984
|
-
// Auto-correct: register ONLY the corrected command, then re-route --device
|
|
985
|
-
// and reparse under the real name (RUSH-2329 + RUSH-2022 review r2).
|
|
986
683
|
passedArgs[0] = closest;
|
|
987
|
-
// Keep process.argv in sync for the command:* safety-net and any code that
|
|
988
|
-
// re-reads argv after this point.
|
|
989
684
|
const argvCmdIndex = process.argv.findIndex((a, i) => i >= 2 && !a.startsWith('-'));
|
|
990
685
|
if (argvCmdIndex >= 0)
|
|
991
686
|
process.argv[argvCmdIndex] = closest;
|
|
@@ -1004,7 +699,6 @@ else if (requestedIsUnknown && requestedCommand) {
|
|
|
1004
699
|
}
|
|
1005
700
|
}
|
|
1006
701
|
else {
|
|
1007
|
-
// No auto-correct: print the suggestion and exit without loading modules.
|
|
1008
702
|
console.error(`error: unknown command '${requestedCommand}'`);
|
|
1009
703
|
if (closest && minDist <= 3) {
|
|
1010
704
|
console.error(`(Did you mean ${closest}?)`);
|
|
@@ -1012,55 +706,27 @@ else if (requestedIsUnknown && requestedCommand) {
|
|
|
1012
706
|
process.exit(1);
|
|
1013
707
|
}
|
|
1014
708
|
}
|
|
1015
|
-
// White-label: remove any commands this brand disabled so they resolve as
|
|
1016
|
-
// unknown. Unbranded or nothing-disabled → no-op. After auto-correct we may
|
|
1017
|
-
// have registered a non-disabled command; strip only if it is still listed.
|
|
1018
709
|
if (brandDisabled.size > 0) {
|
|
1019
710
|
const kept = program.commands.filter((c) => !brandDisabled.has(c.name()));
|
|
1020
711
|
if (kept.length !== program.commands.length) {
|
|
1021
712
|
program.commands = kept;
|
|
1022
713
|
}
|
|
1023
714
|
}
|
|
1024
|
-
// --help-all is a custom root option: render the full (non-compact) tree and
|
|
1025
|
-
// exit before migrations/update checks. It is not the built-in --help, so
|
|
1026
|
-
// commander would otherwise treat a bare program-with-subcommands as missing a
|
|
1027
|
-
// command and exit with an error after displaying help.
|
|
1028
715
|
if (helpAllRequested) {
|
|
1029
716
|
program.outputHelp();
|
|
1030
717
|
process.exit(0);
|
|
1031
718
|
}
|
|
1032
|
-
// `agents update --check` (with or without a <target>) is a pure read-only
|
|
1033
|
-
// preview of the automatic-update plan — it reports what `--auto` WOULD do and
|
|
1034
|
-
// changes nothing (`planAutoUpdates` reads installation SNAPSHOTS, never
|
|
1035
|
-
// mutating disk). So it MUST NOT fire the mutating startup steps every other
|
|
1036
|
-
// real command runs: the CLI self-update check + multi-install sentinel, the
|
|
1037
|
-
// detached background repo sync, the legacy-fold and migration passes, the
|
|
1038
|
-
// macOS menu-bar install, and the interactive shim self-heal — each writes to
|
|
1039
|
-
// ~/.agents or a helper dir the user did not ask to touch (PHNX-3940). It is
|
|
1040
|
-
// NOT a documentation request: it still parses, resolves installations, and
|
|
1041
|
-
// routes over `--device`, so it is gated separately from isDocumentationRequest
|
|
1042
|
-
// rather than folded into it (which would also skip the passthrough router).
|
|
1043
|
-
// Re-read the command after spell correction, allowing leading root flags.
|
|
1044
719
|
const isReadOnlyUpdatePreview = !isDocumentationRequest &&
|
|
1045
720
|
passedArgs.find((arg) => !arg.startsWith('-')) === 'update' &&
|
|
1046
721
|
passedArgs.includes('--check');
|
|
1047
|
-
// Pure documentation paths (--version / --help / -h / --help-all) return
|
|
1048
|
-
// immediately: skip the update check (PATH scan + cache read) and the detached
|
|
1049
|
-
// background sync (spawns a child process) that every other invocation runs.
|
|
1050
722
|
if (!isDocumentationRequest) {
|
|
1051
723
|
bootMark('bootstrap:evaluated');
|
|
1052
724
|
if (!isReadOnlyUpdatePreview) {
|
|
1053
|
-
// Run update check before parsing so the upgrade notice/prompt precedes output.
|
|
1054
725
|
await checkForUpdates();
|
|
1055
|
-
// Fire-and-forget the background sync. System repo gets a real fast-forward
|
|
1056
|
-
// pull (read-only locally, safe). User repo and extras get fetch-only + a
|
|
1057
|
-
// status marker that `agents doctor` surfaces as a repo-behind warning.
|
|
1058
726
|
const { spawnDetachedSync } = await import('./lib/auto-pull.js');
|
|
1059
727
|
spawnDetachedSync();
|
|
1060
728
|
}
|
|
1061
729
|
}
|
|
1062
|
-
// First-run experience: no args + no config yet + TTY -> launch interactive setup.
|
|
1063
|
-
// Skipped when stdin/stdout isn't a terminal (CI, pipes) or when user passes any args.
|
|
1064
730
|
const metaFilePath = path.join(getUserAgentsDir(), 'agents.yaml');
|
|
1065
731
|
const firstRun = passedArgs.length === 0 &&
|
|
1066
732
|
!fs.existsSync(metaFilePath) &&
|
|
@@ -1078,28 +744,13 @@ if (firstRun) {
|
|
|
1078
744
|
}
|
|
1079
745
|
process.exit(0);
|
|
1080
746
|
}
|
|
1081
|
-
// Every command requires the system repo to be cloned first. `setup` is the
|
|
1082
|
-
// command that does the cloning; `uninstall` is its reverse and must run even
|
|
1083
|
-
// from a broken/half-setup state (that is exactly when you want to tear down).
|
|
1084
747
|
const SETUP_EXEMPT_COMMANDS = new Set(['setup', 'help', 'uninstall']);
|
|
1085
|
-
// Fold legacy ~/.agents-system/ into ~/.agents/.system/ BEFORE ensureInitialized
|
|
1086
|
-
// runs. ensureInitialized checks for .git inside the new path; if the user is
|
|
1087
|
-
// upgrading from a layout where .git lives under the legacy path, the check
|
|
1088
|
-
// would fail and exit before the migrator ever runs. Also runs outside the
|
|
1089
|
-
// sentinel guard below because the sentinel was set by pre-fold releases and
|
|
1090
|
-
// would otherwise skip this step on every existing install. Idempotent —
|
|
1091
|
-
// no-ops when legacy is missing or already a symlink.
|
|
1092
|
-
//
|
|
1093
|
-
// Skipped for --help/--version/--help-all (RUSH-2454): pure documentation paths
|
|
1094
|
-
// must not load any migration graph. Loaded from migrate-fold.js (leaf: fs +
|
|
1095
|
-
// createLink), not migrate.js, so a real command pays only the fold hop unless
|
|
1096
|
-
// the v20 sentinel is missing and runMigration() is required below.
|
|
1097
748
|
if (process.env.AGENTS_SKIP_MIGRATION !== '1' && !isDocumentationRequest && !isReadOnlyUpdatePreview) {
|
|
1098
749
|
try {
|
|
1099
750
|
const { foldLegacySystemRepo } = await import('./lib/migrate-fold.js');
|
|
1100
751
|
foldLegacySystemRepo();
|
|
1101
752
|
}
|
|
1102
|
-
catch {
|
|
753
|
+
catch { }
|
|
1103
754
|
}
|
|
1104
755
|
if (!firstRun &&
|
|
1105
756
|
requestedCommand &&
|
|
@@ -1109,26 +760,9 @@ if (!firstRun &&
|
|
|
1109
760
|
const { ensureInitialized } = await import('./commands/setup.js');
|
|
1110
761
|
await ensureInitialized(program);
|
|
1111
762
|
}
|
|
1112
|
-
// One-shot idempotent migrations (split-layout, legacy file moves).
|
|
1113
|
-
// Each step is internally guarded by existence checks so it's safe to run
|
|
1114
|
-
// every invocation. A sentinel file in the system dir short-circuits the
|
|
1115
|
-
// scan once a migration version has run, so the hot path stays cheap.
|
|
1116
|
-
// AGENTS_SKIP_MIGRATION=1 disables the bootstrap-time run for tests and
|
|
1117
|
-
// scripted invocations that prepare their own legacy fixtures.
|
|
1118
|
-
//
|
|
1119
|
-
// Skipped for --help/--version/--help-all (RUSH-2454): same pure-docs gate as
|
|
1120
|
-
// fold, the update check, background sync, ensureInitialized, and the menu-bar
|
|
1121
|
-
// self-heal. The sentinel check itself is pure fs and does not load migrate.js
|
|
1122
|
-
// — only a missing/stale sentinel pays for
|
|
1123
|
-
// `await import('./lib/installations/migrate.js')` (which pulls the
|
|
1124
|
-
// hosts/routine/teams/daemon/menubar graph).
|
|
1125
763
|
if (process.env.AGENTS_SKIP_MIGRATION !== '1' && !isDocumentationRequest && !isReadOnlyUpdatePreview) {
|
|
1126
764
|
try {
|
|
1127
765
|
const sentinel = getMigratedSentinelPath();
|
|
1128
|
-
// Sentinel is keyed to the migration SCHEMA version, not the binary version.
|
|
1129
|
-
// Bumping the suffix re-runs migrations for every user; binary releases that
|
|
1130
|
-
// don't change the schema must NOT re-run (they would destroy user content
|
|
1131
|
-
// when migration steps overlap with user-authored paths). See issue #20.
|
|
1132
766
|
const sentinelValue = 'v21';
|
|
1133
767
|
let needRun = true;
|
|
1134
768
|
try {
|
|
@@ -1136,7 +770,7 @@ if (process.env.AGENTS_SKIP_MIGRATION !== '1' && !isDocumentationRequest && !isR
|
|
|
1136
770
|
needRun = false;
|
|
1137
771
|
}
|
|
1138
772
|
}
|
|
1139
|
-
catch {
|
|
773
|
+
catch { }
|
|
1140
774
|
if (needRun) {
|
|
1141
775
|
const { runMigration } = await import('./lib/installations/migrate.js');
|
|
1142
776
|
await runMigration();
|
|
@@ -1144,22 +778,11 @@ if (process.env.AGENTS_SKIP_MIGRATION !== '1' && !isDocumentationRequest && !isR
|
|
|
1144
778
|
fs.mkdirSync(path.dirname(sentinel), { recursive: true });
|
|
1145
779
|
fs.writeFileSync(sentinel, sentinelValue);
|
|
1146
780
|
}
|
|
1147
|
-
catch {
|
|
781
|
+
catch { }
|
|
1148
782
|
}
|
|
1149
783
|
}
|
|
1150
|
-
catch {
|
|
784
|
+
catch { }
|
|
1151
785
|
}
|
|
1152
|
-
// Auto-enable the macOS menu-bar helper once, for every user. Best-effort and
|
|
1153
|
-
// idempotent: installMenubarLaunchAgentOnUpgrade() no-ops when not on darwin,
|
|
1154
|
-
// when the user ran `agents menubar disable` (sticky opt-out), when the service
|
|
1155
|
-
// is already installed, or when no helper bundle ships with this build. This is
|
|
1156
|
-
// a lightweight startup self-heal (two existsSync checks then return) rather
|
|
1157
|
-
// than a migration-sentinel bump, so it covers fresh installs AND upgrades
|
|
1158
|
-
// without re-running the full migration for the whole user base (issue #20).
|
|
1159
|
-
// Skipped for --help/--version/--help-all: those are pure documentation paths,
|
|
1160
|
-
// so they pay neither the dynamic import (child_process, the version/layout
|
|
1161
|
-
// resolver, the bundle installer) nor the self-heal's filesystem checks — same
|
|
1162
|
-
// gate the update check, background sync, and ensureInitialized above already use.
|
|
1163
786
|
if (process.platform === 'darwin' &&
|
|
1164
787
|
process.env.AGENTS_SKIP_MIGRATION !== '1' &&
|
|
1165
788
|
!isDocumentationRequest &&
|
|
@@ -1168,21 +791,13 @@ if (process.platform === 'darwin' &&
|
|
|
1168
791
|
const { installMenubarLaunchAgentOnUpgrade } = await import('./lib/menubar/install-menubar.js');
|
|
1169
792
|
installMenubarLaunchAgentOnUpgrade();
|
|
1170
793
|
}
|
|
1171
|
-
catch {
|
|
794
|
+
catch { }
|
|
1172
795
|
}
|
|
1173
|
-
// Bare invocation prints the root help. Commander only auto-displays help on
|
|
1174
|
-
// an empty parse when subcommands are registered, and the lazy-startup path
|
|
1175
|
-
// registers none for a bare call — without this branch, `agents` exits
|
|
1176
|
-
// silently. Runs after first-run setup and migrations so those still fire;
|
|
1177
|
-
// exits 0 to match `agents --help` (and the pre-fix exit code).
|
|
1178
796
|
if (passedArgs.length === 0) {
|
|
1179
797
|
program.outputHelp();
|
|
1180
798
|
process.exit(0);
|
|
1181
799
|
}
|
|
1182
800
|
try {
|
|
1183
|
-
// The shim self-heal regenerates shims / adopts launchers / edits PATH — all
|
|
1184
|
-
// writes, so a read-only `agents update --check` skips it too (same gate as
|
|
1185
|
-
// the migration/menu-bar steps above) while still parsing normally.
|
|
1186
801
|
if (!isReadOnlyUpdatePreview) {
|
|
1187
802
|
await maybeBootstrapShimIntegration(requestedCommand, isDocumentationRequest, verboseStartup);
|
|
1188
803
|
}
|
|
@@ -1194,24 +809,10 @@ catch (err) {
|
|
|
1194
809
|
process.exit(130);
|
|
1195
810
|
}
|
|
1196
811
|
if (err instanceof Error) {
|
|
1197
|
-
// (The browser-service-not-running / CDP-unreachable / IPC-down typed errors
|
|
1198
|
-
// were thrown by the in-repo browser engine, deleted with PHNX-4101; the
|
|
1199
|
-
// standalone `browser` CLI now prints its own user-actionable errors and
|
|
1200
|
-
// agents-cli forwards its exit code, so there is nothing to special-case here.)
|
|
1201
|
-
// A --device targeting a password-auth device throws this from resolveHost.
|
|
1202
|
-
// It carries an actionable message (switch to key auth / enroll as a host);
|
|
1203
|
-
// handling it here covers every resolveHost caller (run, hosts check/rm,
|
|
1204
|
-
// secrets --device) at the source instead of a catch at each call site.
|
|
1205
812
|
if (err.name === 'DeviceOffloadUnsupportedError') {
|
|
1206
813
|
console.error(err.message);
|
|
1207
814
|
process.exit(1);
|
|
1208
815
|
}
|
|
1209
|
-
// The standalone `secrets` CLI is a required external dependency (DIST-1);
|
|
1210
|
-
// when it is missing or a request to it fails, the sync/async client throws
|
|
1211
|
-
// a typed SecretsClientError whose message is user-actionable install
|
|
1212
|
-
// guidance (e.g. SECRETS_BIN_MISSING). Handling it at this choke point means
|
|
1213
|
-
// every call site (doctor, browser, share, …) prints one clear line and
|
|
1214
|
-
// exits 1 instead of dumping a Node stacktrace, without a per-call try/catch.
|
|
1215
816
|
if (err.name === 'SecretsClientError') {
|
|
1216
817
|
console.error(err.message);
|
|
1217
818
|
process.exit(1);
|