@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/lib/self-update.js
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Self-update install plumbing.
|
|
3
|
-
*
|
|
4
|
-
* The hard requirement: an upgrade must replace the copy that is currently
|
|
5
|
-
* running. A bare `npm install -g` writes into the global prefix of whatever
|
|
6
|
-
* `npm` PATH happens to resolve — on machines with more than one node
|
|
7
|
-
* installation (nvm + Homebrew + vendored runtimes) that prefix can belong to
|
|
8
|
-
* a different node than the one this copy lives under. The install then
|
|
9
|
-
* "succeeds" while the running copy stays stale and re-prompts forever.
|
|
10
|
-
*
|
|
11
|
-
* So every step here is anchored to the running package root on disk, never
|
|
12
|
-
* to PATH resolution.
|
|
13
|
-
*/
|
|
14
1
|
import * as fs from 'fs';
|
|
15
2
|
import * as fsp from 'fs/promises';
|
|
16
3
|
import * as os from 'os';
|
|
@@ -19,48 +6,17 @@ import { createHash, timingSafeEqual } from 'crypto';
|
|
|
19
6
|
import { execFile } from 'child_process';
|
|
20
7
|
import { promisify } from 'util';
|
|
21
8
|
const execFileAsync = promisify(execFile);
|
|
22
|
-
// Leaf comparator only — do not pull the full versions.ts graph into every
|
|
23
|
-
// bootstrap that imports self-update (RUSH-2331).
|
|
24
9
|
import { compareVersions } from './agent-spec/primitives.js';
|
|
25
10
|
import { needsWindowsShell } from './platform/index.js';
|
|
26
11
|
export const NPM_PACKAGE_NAME = '@phnx-labs/agents-cli';
|
|
27
|
-
/**
|
|
28
|
-
* First published release that stopped the usage/auth-health probe from reading
|
|
29
|
-
* Claude Code's interactive login (commit 3f3554c51). Pre-this versions on a
|
|
30
|
-
* macOS box re-introduce the Touch ID storm + fleet-wide revocation class
|
|
31
|
-
* (RUSH-2415 / RUSH-1822). Anything older is a latent regression while a fixed
|
|
32
|
-
* copy sits next to it.
|
|
33
|
-
*/
|
|
34
12
|
export const TOUCH_ID_STORM_FIXED_SINCE = '1.22.30';
|
|
35
|
-
/**
|
|
36
|
-
* The directory bun installs global packages into:
|
|
37
|
-
* <BUN_INSTALL>/install/global (BUN_INSTALL defaults to ~/.bun)
|
|
38
|
-
*
|
|
39
|
-
* A globally-installed scoped package then lives at
|
|
40
|
-
* `<bunGlobalDir>/node_modules/@phnx-labs/agents-cli` — note there is NO `lib`
|
|
41
|
-
* segment, unlike npm's POSIX layout. That single difference is why an
|
|
42
|
-
* npm-based upgrade silently misses a bun install (see deriveGlobalPrefix).
|
|
43
|
-
*/
|
|
44
13
|
export function bunGlobalDir() {
|
|
45
14
|
const bunInstall = process.env.BUN_INSTALL || path.join(os.homedir(), '.bun');
|
|
46
15
|
return path.join(bunInstall, 'install', 'global');
|
|
47
16
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Identify which package manager owns the install at `packageRoot`, so the
|
|
50
|
-
* upgrade can shell out to the one that actually replaces this copy.
|
|
51
|
-
*
|
|
52
|
-
* bun lays a global package out as `<bunGlobalDir>/node_modules/<scoped pkg>`,
|
|
53
|
-
* so the prefix (the parent of `node_modules`) is the bun global dir itself.
|
|
54
|
-
* Everything else — npm's `<prefix>/lib/node_modules` and the Windows
|
|
55
|
-
* `<prefix>/node_modules` — is treated as npm.
|
|
56
|
-
*
|
|
57
|
-
* Detection is path-based (no subprocess): it matches the resolved bun global
|
|
58
|
-
* dir from BUN_INSTALL/$HOME, and falls back to the structural `.bun/install/
|
|
59
|
-
* global` tail for a relocated BUN_INSTALL not exported into this process.
|
|
60
|
-
*/
|
|
61
17
|
export function detectPackageManager(packageRoot) {
|
|
62
18
|
const resolved = path.resolve(packageRoot);
|
|
63
|
-
const prefix = path.dirname(path.dirname(path.dirname(resolved)));
|
|
19
|
+
const prefix = path.dirname(path.dirname(path.dirname(resolved)));
|
|
64
20
|
if (prefix === path.resolve(bunGlobalDir()))
|
|
65
21
|
return 'bun';
|
|
66
22
|
const parts = prefix.split(path.sep);
|
|
@@ -70,28 +26,19 @@ export function detectPackageManager(packageRoot) {
|
|
|
70
26
|
}
|
|
71
27
|
return 'npm';
|
|
72
28
|
}
|
|
73
|
-
/** The shell command a user can run by hand to reproduce the upgrade for `manager`. */
|
|
74
29
|
function manualInstallHint(manager, packageRoot, spec) {
|
|
75
30
|
if (manager === 'bun')
|
|
76
31
|
return `bun add -g ${spec}`;
|
|
77
32
|
return `npm install -g --prefix ${deriveGlobalPrefix(packageRoot)} ${spec}`;
|
|
78
33
|
}
|
|
79
|
-
/** Read the cached update-check state from disk. Returns null if the file is missing or corrupt. */
|
|
80
34
|
export function readUpdateCache(file) {
|
|
81
35
|
try {
|
|
82
36
|
return JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
83
37
|
}
|
|
84
38
|
catch {
|
|
85
|
-
/* cache file missing or corrupt */
|
|
86
39
|
return null;
|
|
87
40
|
}
|
|
88
41
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Persist the latest known version and current timestamp. Preserves an
|
|
91
|
-
* existing `dismissed` marker — the background refresh must not erase a
|
|
92
|
-
* user's "Skip this version" choice, or they get re-prompted for the exact
|
|
93
|
-
* version they dismissed.
|
|
94
|
-
*/
|
|
95
42
|
export function saveUpdateCheck(file, latestVersion) {
|
|
96
43
|
try {
|
|
97
44
|
const dir = path.dirname(file);
|
|
@@ -101,10 +48,8 @@ export function saveUpdateCheck(file, latestVersion) {
|
|
|
101
48
|
fs.writeFileSync(file, JSON.stringify({ lastCheck: Date.now(), latestVersion, ...(dismissed ? { dismissed } : {}) }));
|
|
102
49
|
}
|
|
103
50
|
catch {
|
|
104
|
-
/* best-effort cache update */
|
|
105
51
|
}
|
|
106
52
|
}
|
|
107
|
-
/** Record that the user chose to skip `version`; suppresses prompts until a newer version appears. */
|
|
108
53
|
export function dismissUpdateVersion(file, version) {
|
|
109
54
|
try {
|
|
110
55
|
const dir = path.dirname(file);
|
|
@@ -118,10 +63,8 @@ export function dismissUpdateVersion(file, version) {
|
|
|
118
63
|
}));
|
|
119
64
|
}
|
|
120
65
|
catch {
|
|
121
|
-
/* best-effort */
|
|
122
66
|
}
|
|
123
67
|
}
|
|
124
|
-
/** Whether the cached state warrants an upgrade prompt for a copy running `currentVersion`. */
|
|
125
68
|
export function shouldPromptUpgrade(cache, currentVersion) {
|
|
126
69
|
if (!cache?.latestVersion)
|
|
127
70
|
return false;
|
|
@@ -129,15 +72,7 @@ export function shouldPromptUpgrade(cache, currentVersion) {
|
|
|
129
72
|
compareVersions(cache.latestVersion, currentVersion) > 0 &&
|
|
130
73
|
cache.latestVersion !== cache.dismissed);
|
|
131
74
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Short TTL for the multi-install PATH scan cache (RUSH-2324). The full
|
|
134
|
-
* `findAgentsCliInstalls` walk over PATH + known roots costs ~1ms on a warm
|
|
135
|
-
* box and runs on every ordinary CLI invocation via `maybeWarnMultiInstall`.
|
|
136
|
-
* Same 5-minute window as the detached-sync spawn gate so both bootstrap
|
|
137
|
-
* savings share one recency policy.
|
|
138
|
-
*/
|
|
139
75
|
export const MULTI_INSTALL_SCAN_TTL_MS = 5 * 60 * 1000;
|
|
140
|
-
/** Read a multi-install scan cache. Returns null if missing or corrupt. */
|
|
141
76
|
export function readMultiInstallScanCache(file) {
|
|
142
77
|
try {
|
|
143
78
|
const raw = JSON.parse(fs.readFileSync(file, 'utf-8'));
|
|
@@ -148,9 +83,6 @@ export function readMultiInstallScanCache(file) {
|
|
|
148
83
|
!Array.isArray(raw.inventory)) {
|
|
149
84
|
return null;
|
|
150
85
|
}
|
|
151
|
-
// A cache written before the entries carried running/autoPurgeable
|
|
152
|
-
// (RUSH-2705) cannot drive the banner's remedy choice — treat it as
|
|
153
|
-
// corrupt so the caller re-scans rather than mis-advertising --fix.
|
|
154
86
|
const entries = raw.inventory;
|
|
155
87
|
if (entries.some((entry) => typeof entry?.running !== 'boolean' || typeof entry?.autoPurgeable !== 'boolean')) {
|
|
156
88
|
return null;
|
|
@@ -161,7 +93,6 @@ export function readMultiInstallScanCache(file) {
|
|
|
161
93
|
return null;
|
|
162
94
|
}
|
|
163
95
|
}
|
|
164
|
-
/** Persist a multi-install scan result. Best-effort. */
|
|
165
96
|
export function writeMultiInstallScanCache(file, cache) {
|
|
166
97
|
try {
|
|
167
98
|
const dir = path.dirname(file);
|
|
@@ -170,15 +101,8 @@ export function writeMultiInstallScanCache(file, cache) {
|
|
|
170
101
|
fs.writeFileSync(file, JSON.stringify(cache));
|
|
171
102
|
}
|
|
172
103
|
catch {
|
|
173
|
-
/* best-effort */
|
|
174
104
|
}
|
|
175
105
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Whether a multi-install scan cache is still usable for this invocation.
|
|
178
|
-
* Invalid when missing, past TTL, PATH changed, or the running copy identity
|
|
179
|
-
* (root / version) changed — those are exactly the cases where a re-scan can
|
|
180
|
-
* surface a different inventory and re-fire the warning.
|
|
181
|
-
*/
|
|
182
106
|
export function isMultiInstallScanFresh(cache, pathEnv, runningRoot, runningVersion, now = Date.now(), ttlMs = MULTI_INSTALL_SCAN_TTL_MS) {
|
|
183
107
|
if (!cache)
|
|
184
108
|
return false;
|
|
@@ -192,11 +116,6 @@ export function isMultiInstallScanFresh(cache, pathEnv, runningRoot, runningVers
|
|
|
192
116
|
return false;
|
|
193
117
|
return true;
|
|
194
118
|
}
|
|
195
|
-
/**
|
|
196
|
-
* Resolve the multi-install inventory, hitting the on-disk scan cache when
|
|
197
|
-
* fresh. Callers that only need the inventory (the bootstrap multi-install
|
|
198
|
-
* warning) avoid the ~1ms PATH walk on the warm path (RUSH-2324).
|
|
199
|
-
*/
|
|
200
119
|
export function resolveMultiInstallInventory(runningRoot, runningVersion, pathEnv, cacheFile, opts = {}) {
|
|
201
120
|
const now = opts.now ?? Date.now();
|
|
202
121
|
const ttlMs = opts.ttlMs ?? MULTI_INSTALL_SCAN_TTL_MS;
|
|
@@ -214,20 +133,9 @@ export function resolveMultiInstallInventory(runningRoot, runningVersion, pathEn
|
|
|
214
133
|
});
|
|
215
134
|
return inventory;
|
|
216
135
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Whether `p` is Bun's embedded virtual filesystem — where a standalone
|
|
219
|
-
* executable exposes its bundled sources. Nothing there exists on disk: it
|
|
220
|
-
* cannot be stat'd, installed into, or compared against a real install path.
|
|
221
|
-
*
|
|
222
|
-
* Matches the root itself (`/$bunfs`) as well as paths under it, because
|
|
223
|
-
* `<__dirname>/..` from the embedded entry produces exactly that bare root.
|
|
224
|
-
* daemon.ts carries a narrower under-the-root-only guard for deciding what may
|
|
225
|
-
* be supervised; the two are deliberately not shared.
|
|
226
|
-
*/
|
|
227
136
|
function isBunVirtualPath(p) {
|
|
228
137
|
return /(^|[/\\])\$bunfs([/\\]|$)/.test(p);
|
|
229
138
|
}
|
|
230
|
-
/** Whether `dir` is the root of an installed copy of this package. */
|
|
231
139
|
function isPackageRoot(dir) {
|
|
232
140
|
try {
|
|
233
141
|
const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf-8'));
|
|
@@ -237,36 +145,9 @@ function isPackageRoot(dir) {
|
|
|
237
145
|
return false;
|
|
238
146
|
}
|
|
239
147
|
}
|
|
240
|
-
|
|
241
|
-
* The on-disk package root of the copy that is currently running.
|
|
242
|
-
*
|
|
243
|
-
* For a plain JS install, walk up from the CALLING module's directory to the
|
|
244
|
-
* directory whose package.json names this package. Never assume a fixed depth:
|
|
245
|
-
* `<__dirname>/..` is the root only for a module directly under `dist/`, and
|
|
246
|
-
* from `dist/lib/daemon/self-update-service.js` it answered `dist/lib`, which
|
|
247
|
-
* deriveGlobalPrefix rejected as "not an npm-managed install" on every daemon
|
|
248
|
-
* self-update tick (2026-09-07 fleet incident).
|
|
249
|
-
*
|
|
250
|
-
* Under the compiled standalone binary (shipped since 1.20.53) `__dirname` is
|
|
251
|
-
* Bun's embedded virtual FS, so walking up from it yields `/$bunfs` — a path
|
|
252
|
-
* that exists nowhere. That phantom value was reported as a second install by
|
|
253
|
-
* the multi-install check and rejected by deriveGlobalPrefix, so every
|
|
254
|
-
* self-upgrade from a compiled copy failed. The physical executable is
|
|
255
|
-
* `process.execPath`, which ships inside the package
|
|
256
|
-
* (`<packageRoot>/dist/bin/agents`); walk up from it instead. Either way a
|
|
257
|
-
* change to the dist layout surfaces as a clear throw here rather than a wrong
|
|
258
|
-
* prefix that npm would happily install into.
|
|
259
|
-
*/
|
|
148
|
+
// Anchor to the physical running package; compiled Bun must use process.execPath rather than PATH or npm guesses.
|
|
260
149
|
export function resolveRunningPackageRoot(dirname, execPath = process.execPath) {
|
|
261
150
|
if (!isBunVirtualPath(dirname)) {
|
|
262
|
-
// Walk up from the CALLING module's directory to the package.json that
|
|
263
|
-
// names this package. The previous `path.resolve(dirname, '..')` was only
|
|
264
|
-
// right for a module one level below the root (dist/bootstrap.js); from
|
|
265
|
-
// dist/lib/daemon/self-update-service.js it answered `dist/lib`, so
|
|
266
|
-
// `deriveGlobalPrefix` threw "not an npm-managed install" on every daemon
|
|
267
|
-
// self-update tick, fleet-wide, and no daemon ever relaunched onto a
|
|
268
|
-
// release (2026-09-07: eight workers still running 1.22.79 code four
|
|
269
|
-
// releases later).
|
|
270
151
|
const found = findPackageRootAbove(dirname);
|
|
271
152
|
if (found)
|
|
272
153
|
return found;
|
|
@@ -284,7 +165,6 @@ export function resolveRunningPackageRoot(dirname, execPath = process.execPath)
|
|
|
284
165
|
throw new Error(`Cannot locate the running agents-cli install: no ${NPM_PACKAGE_NAME} package.json above ` +
|
|
285
166
|
`${execPath}. Reinstall with: npm install -g ${NPM_PACKAGE_NAME}`);
|
|
286
167
|
}
|
|
287
|
-
/** Nearest ancestor of `start` (inclusive) whose package.json names this package, or null. */
|
|
288
168
|
function findPackageRootAbove(start) {
|
|
289
169
|
let dir = path.resolve(start);
|
|
290
170
|
for (;;) {
|
|
@@ -296,20 +176,8 @@ function findPackageRootAbove(start) {
|
|
|
296
176
|
dir = parent;
|
|
297
177
|
}
|
|
298
178
|
}
|
|
299
|
-
/**
|
|
300
|
-
* Derive the npm global prefix that owns the install at `packageRoot`.
|
|
301
|
-
*
|
|
302
|
-
* npm's global layout for a scoped package:
|
|
303
|
-
* POSIX: <prefix>/lib/node_modules/@phnx-labs/agents-cli
|
|
304
|
-
* Windows: <prefix>/node_modules/@phnx-labs/agents-cli
|
|
305
|
-
*
|
|
306
|
-
* Throws when `packageRoot` is not inside a node_modules tree (e.g. running
|
|
307
|
-
* from a source checkout) — there is no prefix to install into, and guessing
|
|
308
|
-
* one is exactly the bug this module exists to prevent.
|
|
309
|
-
*/
|
|
310
179
|
export function deriveGlobalPrefix(packageRoot) {
|
|
311
180
|
const resolved = path.resolve(packageRoot);
|
|
312
|
-
// Two levels up from the package root: the scope dir, then node_modules.
|
|
313
181
|
const nodeModulesDir = path.dirname(path.dirname(resolved));
|
|
314
182
|
if (path.basename(nodeModulesDir) !== 'node_modules') {
|
|
315
183
|
throw new Error(`${resolved} is not an npm-managed install; reinstall with: npm install -g ${NPM_PACKAGE_NAME}`);
|
|
@@ -317,28 +185,7 @@ export function deriveGlobalPrefix(packageRoot) {
|
|
|
317
185
|
const parent = path.dirname(nodeModulesDir);
|
|
318
186
|
return path.basename(parent) === 'lib' ? path.dirname(parent) : parent;
|
|
319
187
|
}
|
|
320
|
-
|
|
321
|
-
* Sweep npm arborist's "retired" staging dir for `packageRoot` before a
|
|
322
|
-
* reify (PHNX-3393).
|
|
323
|
-
*
|
|
324
|
-
* npm (@npmcli/arborist) reifies an install by first renaming the tree it is
|
|
325
|
-
* about to replace out of the way into a sibling directory —
|
|
326
|
-
* `retirePath(from)` in arborist's own source names it
|
|
327
|
-
* `.<basename>-<8-char sha1 hash of the full path>`, sibling to `from` — then
|
|
328
|
-
* stages the new tree and renames it into place. Because the hash is a pure
|
|
329
|
-
* function of `packageRoot`'s path, that staging path is IDENTICAL on every
|
|
330
|
-
* reify of this install. A crash between the retire-rename and the final
|
|
331
|
-
* rename (SIGKILL, a killed terminal, a box that lost power mid-upgrade)
|
|
332
|
-
* leaves that exact directory behind, non-empty. `rename(2)` cannot replace a
|
|
333
|
-
* non-empty directory, so every subsequent upgrade's reify fails ENOTEMPTY at
|
|
334
|
-
* the same path forever — nothing about a plain retry ever clears it.
|
|
335
|
-
*
|
|
336
|
-
* Removing any stale `.<basename>-*` sibling before install self-heals this:
|
|
337
|
-
* npm re-stages cleanly once the collision is gone. Matches only the
|
|
338
|
-
* retire-path shape (a dot-prefixed sibling starting with the package's own
|
|
339
|
-
* basename), so an unrelated dotfile in the same directory is left alone.
|
|
340
|
-
* Best-effort per entry: one unremovable sibling must not block the rest.
|
|
341
|
-
*/
|
|
188
|
+
// Sweep only npm's exact retired-sibling shape, never arbitrary neighboring directories.
|
|
342
189
|
export async function sweepStaleInstallStaging(packageRoot) {
|
|
343
190
|
const resolved = path.resolve(packageRoot);
|
|
344
191
|
const dir = path.dirname(resolved);
|
|
@@ -362,65 +209,22 @@ export async function sweepStaleInstallStaging(packageRoot) {
|
|
|
362
209
|
swept.push(full);
|
|
363
210
|
}
|
|
364
211
|
catch {
|
|
365
|
-
/* best-effort — one unremovable stager must not block the rest */
|
|
366
212
|
}
|
|
367
213
|
}
|
|
368
214
|
return swept;
|
|
369
215
|
}
|
|
370
|
-
|
|
371
|
-
* Install `spec` into an explicit global prefix. `--prefix` pins the
|
|
372
|
-
* destination no matter which npm binary PATH resolves. `--ignore-scripts`
|
|
373
|
-
* skips lifecycle scripts; the caller refreshes alias shims afterwards via
|
|
374
|
-
* refreshAliasShims().
|
|
375
|
-
*
|
|
376
|
-
* `signal`, when passed, is wired into `execFile`'s own `signal` option —
|
|
377
|
-
* Node kills the child process on abort and the returned promise rejects,
|
|
378
|
-
* rather than the caller merely giving up on awaiting an orphaned process
|
|
379
|
-
* (self-update-service.ts's daemon tick needs a real kill here: on a
|
|
380
|
-
* deadline abort an un-killed `npm install -g` keeps writing into the same
|
|
381
|
-
* global prefix a subsequent retry then installs into concurrently).
|
|
382
|
-
*/
|
|
216
|
+
// Package-manager installs never run lifecycle scripts; callers verify sha512, exact version, bins, and shims themselves.
|
|
383
217
|
export async function installPackageIntoPrefix(spec, prefix, signal) {
|
|
384
218
|
const { execFile } = await import('child_process');
|
|
385
219
|
const { promisify } = await import('util');
|
|
386
220
|
const execFileAsync = promisify(execFile);
|
|
387
|
-
// On Windows `npm` is `npm.cmd`; execFile cannot run it without a shell (ENOENT).
|
|
388
221
|
await execFileAsync('npm', ['install', '-g', '--prefix', prefix, spec, '--ignore-scripts'], {
|
|
389
222
|
shell: needsWindowsShell('npm'),
|
|
390
223
|
signal,
|
|
391
224
|
});
|
|
392
225
|
}
|
|
393
|
-
/**
|
|
394
|
-
* Install `spec` into bun's global store with `bun add -g`. bun writes to
|
|
395
|
-
* `<bunGlobalDir>/node_modules/<pkg>`, which is exactly the running package
|
|
396
|
-
* root for a bun install — so verifyInstalledVersion() sees the new version
|
|
397
|
-
* in place. bun skips untrusted lifecycle scripts, so the caller refreshes
|
|
398
|
-
* alias shims afterwards via refreshAliasShims() rather than relying on the
|
|
399
|
-
* package's postinstall hook.
|
|
400
|
-
*
|
|
401
|
-
* Unlike npm's arborist (see {@link sweepStaleInstallStaging}: retire-rename,
|
|
402
|
-
* then one final rename), bun's write into the package directory is NOT known
|
|
403
|
-
* to be atomic — files may land incrementally. Anything that trusts a version
|
|
404
|
-
* bump on disk written by ANOTHER process (the daemon's stale-install relaunch
|
|
405
|
-
* in `daemon/self-update-service.ts`) must therefore gate on
|
|
406
|
-
* {@link installLooksSettled} rather than on the version alone.
|
|
407
|
-
*
|
|
408
|
-
* `signal` behaves exactly as documented on {@link installPackageIntoPrefix}.
|
|
409
|
-
*/
|
|
410
|
-
/** How long an install's package.json must have been at rest before a foreign version bump is trusted. */
|
|
411
226
|
export const INSTALL_SETTLE_MS = 60_000;
|
|
412
|
-
|
|
413
|
-
* True when the install at `packageRoot` looks complete: its package.json has
|
|
414
|
-
* not been modified for at least `settleMs`, and every `bin` entry it declares
|
|
415
|
-
* exists on disk. This is the guard for trusting a version bump that a
|
|
416
|
-
* DIFFERENT process wrote (an operator's `agents` auto-update, `agents
|
|
417
|
-
* upgrade`, the installer) without re-running that process's own verification:
|
|
418
|
-
* npm's reify is an atomic rename, but bun's is not (see
|
|
419
|
-
* {@link installPackageWithBun}), so a reader can catch bun mid-extraction —
|
|
420
|
-
* package.json present, `dist/` still landing. An install finishes in seconds;
|
|
421
|
-
* a minute of quiet plus the bin entry present rules that window out. Any
|
|
422
|
-
* read error means "not settled".
|
|
423
|
-
*/
|
|
227
|
+
// Foreign Bun version bumps require a quiet package.json and complete declared bins before relaunch.
|
|
424
228
|
export function installLooksSettled(packageRoot, settleMs = INSTALL_SETTLE_MS, now = Date.now()) {
|
|
425
229
|
try {
|
|
426
230
|
const pkgJsonPath = path.join(packageRoot, 'package.json');
|
|
@@ -439,22 +243,9 @@ export async function installPackageWithBun(spec, signal) {
|
|
|
439
243
|
const { execFile } = await import('child_process');
|
|
440
244
|
const { promisify } = await import('util');
|
|
441
245
|
const execFileAsync = promisify(execFile);
|
|
442
|
-
// On Windows `bun` resolves to `bun.exe`/`bun.cmd`; force shell for the .cmd case.
|
|
443
|
-
// --ignore-scripts: the tarball has already been integrity-verified, but its
|
|
444
|
-
// lifecycle scripts must not run at install time (the caller refreshes shims
|
|
445
|
-
// explicitly via refreshAliasShims()) — same fail-closed posture as the npm path.
|
|
446
246
|
await execFileAsync('bun', ['add', '-g', spec, '--ignore-scripts'], { shell: needsWindowsShell('bun'), signal });
|
|
447
247
|
}
|
|
448
|
-
|
|
449
|
-
* Verify a downloaded tarball's bytes against a Subresource Integrity (SRI)
|
|
450
|
-
* string of the form `sha512-<base64>` — npm's `dist.integrity`. Recomputes the
|
|
451
|
-
* digest over the actual bytes with the named algorithm and compares it, in
|
|
452
|
-
* constant time, to the decoded expected digest.
|
|
453
|
-
*
|
|
454
|
-
* Fails closed: a malformed SRI, an algorithm weaker than sha512, or any digest
|
|
455
|
-
* mismatch throws. This is the gate that makes self-update refuse a tampered or
|
|
456
|
-
* corrupted tarball *before* it is ever handed to a package manager to install.
|
|
457
|
-
*/
|
|
248
|
+
// Fail closed on anything except the registry's sha512 bytes before handing a tarball to a package manager.
|
|
458
249
|
export function verifyTarballIntegrity(tarball, integrity) {
|
|
459
250
|
const dash = integrity.indexOf('-');
|
|
460
251
|
if (dash <= 0) {
|
|
@@ -462,8 +253,6 @@ export function verifyTarballIntegrity(tarball, integrity) {
|
|
|
462
253
|
}
|
|
463
254
|
const algorithm = integrity.slice(0, dash);
|
|
464
255
|
const expectedBase64 = integrity.slice(dash + 1);
|
|
465
|
-
// npm publishes sha512 SRI; refuse to verify against anything weaker rather
|
|
466
|
-
// than silently accepting a downgraded (e.g. sha1) attestation.
|
|
467
256
|
if (algorithm !== 'sha512') {
|
|
468
257
|
throw new Error(`unsupported integrity algorithm '${algorithm}' (expected sha512)`);
|
|
469
258
|
}
|
|
@@ -474,18 +263,6 @@ export function verifyTarballIntegrity(tarball, integrity) {
|
|
|
474
263
|
`does not match expected ${integrity}`);
|
|
475
264
|
}
|
|
476
265
|
}
|
|
477
|
-
/**
|
|
478
|
-
* Download the published tarball at `tarballUrl` and prove its bytes match
|
|
479
|
-
* `integrity` before returning a path to it on disk. The returned .tgz is safe
|
|
480
|
-
* to hand to `npm install`/`bun add` — it has been verified byte-for-byte
|
|
481
|
-
* against the registry attestation. Fails closed: a non-200, a download error,
|
|
482
|
-
* or a hash mismatch throws and no file path is returned, so the caller never
|
|
483
|
-
* installs an unverified artifact.
|
|
484
|
-
*
|
|
485
|
-
* `signal`, when passed, aborts the fetch alongside the own `timeoutMs` timer
|
|
486
|
-
* (whichever fires first) — a real cancellation of the in-flight request, not
|
|
487
|
-
* just an abandoned await.
|
|
488
|
-
*/
|
|
489
266
|
export async function downloadVerifiedTarball(tarballUrl, integrity, timeoutMs = 60_000, signal) {
|
|
490
267
|
const timeoutSignal = AbortSignal.timeout(timeoutMs);
|
|
491
268
|
const response = await fetch(tarballUrl, { signal: signal ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal });
|
|
@@ -499,14 +276,9 @@ export async function downloadVerifiedTarball(tarballUrl, integrity, timeoutMs =
|
|
|
499
276
|
fs.writeFileSync(file, tarball);
|
|
500
277
|
return file;
|
|
501
278
|
}
|
|
502
|
-
/** Read the version field of the package.json at `packageRoot`, fresh from disk. */
|
|
503
279
|
export async function readInstalledVersion(packageRoot) {
|
|
504
280
|
return JSON.parse(await fsp.readFile(path.join(packageRoot, 'package.json'), 'utf-8')).version;
|
|
505
281
|
}
|
|
506
|
-
/**
|
|
507
|
-
* Assert that the install at `packageRoot` now carries `expectedVersion`.
|
|
508
|
-
* npm exiting 0 only proves it wrote *somewhere*; this proves it wrote *here*.
|
|
509
|
-
*/
|
|
510
282
|
export async function verifyInstalledVersion(packageRoot, expectedVersion) {
|
|
511
283
|
const actual = await readInstalledVersion(packageRoot);
|
|
512
284
|
if (actual !== expectedVersion) {
|
|
@@ -516,13 +288,6 @@ export async function verifyInstalledVersion(packageRoot, expectedVersion) {
|
|
|
516
288
|
`Run manually: ${hint}`);
|
|
517
289
|
}
|
|
518
290
|
}
|
|
519
|
-
/**
|
|
520
|
-
* Re-run the freshly installed copy's postinstall in shims-only mode so the
|
|
521
|
-
* bare-command aliases (secrets, sessions, ...) pick up the new entrypoint
|
|
522
|
-
* and any aliases added in the new version. Best-effort: a failure here
|
|
523
|
-
* leaves the previous shims in place, which still point at the (now
|
|
524
|
-
* upgraded) package root.
|
|
525
|
-
*/
|
|
526
291
|
export async function refreshAliasShims(packageRoot, signal) {
|
|
527
292
|
try {
|
|
528
293
|
await execFileAsync(process.execPath, [path.join(packageRoot, 'scripts', 'postinstall.js')], {
|
|
@@ -531,10 +296,8 @@ export async function refreshAliasShims(packageRoot, signal) {
|
|
|
531
296
|
});
|
|
532
297
|
}
|
|
533
298
|
catch {
|
|
534
|
-
/* best-effort — a failure here leaves the previous shims in place, same as the prior spawnSync (which ignored its exit code/stdio too) */
|
|
535
299
|
}
|
|
536
300
|
}
|
|
537
|
-
/** Resolve `p` through symlinks, or null when it does not resolve (missing/dangling). */
|
|
538
301
|
async function realpathOrNull(p) {
|
|
539
302
|
try {
|
|
540
303
|
return await fsp.realpath(p);
|
|
@@ -543,15 +306,6 @@ async function realpathOrNull(p) {
|
|
|
543
306
|
return null;
|
|
544
307
|
}
|
|
545
308
|
}
|
|
546
|
-
/**
|
|
547
|
-
* Reconcile one `<binDir>/<name>` link to `target`. A link that already resolves
|
|
548
|
-
* to `target` is left untouched (`ok`); anything else — absent, dangling, or
|
|
549
|
-
* pointing at a stale/foreign path — is replaced with a fresh **relative**
|
|
550
|
-
* symlink (`../lib/node_modules/@phnx-labs/agents-cli/dist/index.js`), the exact
|
|
551
|
-
* shape npm and the by-hand zion repair both produced, then re-verified. A
|
|
552
|
-
* repair that still does not resolve (target missing, unwritable bin dir) is
|
|
553
|
-
* reported `failed` with the reason rather than silently swallowed.
|
|
554
|
-
*/
|
|
555
309
|
async function reconcileBinLink(name, linkPath, target) {
|
|
556
310
|
const wanted = await realpathOrNull(target);
|
|
557
311
|
if (wanted !== null && (await realpathOrNull(linkPath)) === wanted) {
|
|
@@ -559,7 +313,6 @@ async function reconcileBinLink(name, linkPath, target) {
|
|
|
559
313
|
}
|
|
560
314
|
try {
|
|
561
315
|
await fsp.mkdir(path.dirname(linkPath), { recursive: true });
|
|
562
|
-
// Replace whatever is there (a dangling link, a stale link, or nothing).
|
|
563
316
|
await fsp.rm(linkPath, { force: true });
|
|
564
317
|
await fsp.symlink(path.relative(path.dirname(linkPath), target), linkPath);
|
|
565
318
|
const resolved = await realpathOrNull(linkPath);
|
|
@@ -580,30 +333,6 @@ async function reconcileBinLink(name, linkPath, target) {
|
|
|
580
333
|
return { name, linkPath, target, action: 'failed', error: err instanceof Error ? err.message : String(err) };
|
|
581
334
|
}
|
|
582
335
|
}
|
|
583
|
-
/**
|
|
584
|
-
* The global bin links the upgrade OWNS: `<prefix>/bin/<name>` for every
|
|
585
|
-
* `package.json#bin` entry (`agents`, `ag`, `browser`, `computer`).
|
|
586
|
-
*
|
|
587
|
-
* npm creates these on a normal `install -g`, but a box with several installs
|
|
588
|
-
* (or a reify interrupted after the old links were retired) can end an upgrade
|
|
589
|
-
* with the package at the new version and these links **missing** — the state
|
|
590
|
-
* that stranded zion (PHNX-2768): `/opt/homebrew/lib/node_modules/...` at
|
|
591
|
-
* 1.22.40 but `/opt/homebrew/bin/{agents,ag,browser,computer}` gone, so every
|
|
592
|
-
* `agents` invocation was "command not found" until the links were relinked by
|
|
593
|
-
* hand. The rollout probe reported it `unverified`; the box was left broken.
|
|
594
|
-
*
|
|
595
|
-
* So the upgrade verifies these links right after installing and **restores any
|
|
596
|
-
* that are wrong** — covering the sibling entrypoints, not just `agents`, since
|
|
597
|
-
* `ag`/`browser`/`computer` share the same failure. Each link is reconciled
|
|
598
|
-
* independently; a link that cannot be made to resolve is reported `failed` so
|
|
599
|
-
* the caller can fail loud (the rollout then marks the box failed, not merely
|
|
600
|
-
* unverified) instead of returning a box the package upgraded but cannot run.
|
|
601
|
-
*
|
|
602
|
-
* POSIX only — Windows npm bins are `.cmd`/`.ps1` shims, not symlinks, so this
|
|
603
|
-
* relink shape does not apply and the caller skips it there. `prefix` is the
|
|
604
|
-
* npm global prefix from {@link deriveGlobalPrefix}; the bun path uses its own
|
|
605
|
-
* bin layout and is out of scope.
|
|
606
|
-
*/
|
|
607
336
|
export async function ensureGlobalBinLinks(packageRoot, prefix) {
|
|
608
337
|
let bin;
|
|
609
338
|
try {
|
|
@@ -622,12 +351,6 @@ export async function ensureGlobalBinLinks(packageRoot, prefix) {
|
|
|
622
351
|
}
|
|
623
352
|
return repairs;
|
|
624
353
|
}
|
|
625
|
-
/**
|
|
626
|
-
* The package root a resolved `agents` entrypoint belongs to, or null when the
|
|
627
|
-
* path is not an agents-cli entry at all. Two shipped shapes:
|
|
628
|
-
* <packageRoot>/dist/index.js — the JS entry npm links as `agents`
|
|
629
|
-
* <packageRoot>/dist/bin/agents — the compiled standalone executable
|
|
630
|
-
*/
|
|
631
354
|
function packageRootForEntry(real) {
|
|
632
355
|
const distDir = path.dirname(real);
|
|
633
356
|
if (path.basename(real) === 'index.js' && path.basename(distDir) === 'dist') {
|
|
@@ -640,7 +363,6 @@ function packageRootForEntry(real) {
|
|
|
640
363
|
}
|
|
641
364
|
return null;
|
|
642
365
|
}
|
|
643
|
-
/** Best-effort canonical path; keeps the input when realpath fails. */
|
|
644
366
|
function canonicalPath(p) {
|
|
645
367
|
try {
|
|
646
368
|
return fs.realpathSync(p);
|
|
@@ -649,11 +371,6 @@ function canonicalPath(p) {
|
|
|
649
371
|
return p;
|
|
650
372
|
}
|
|
651
373
|
}
|
|
652
|
-
/**
|
|
653
|
-
* Ensure the running copy participates in classification (the "has a fixed
|
|
654
|
-
* peer" check) even when the PATH scan missed it — a source tree or unusual
|
|
655
|
-
* layout. The running root is never deleted regardless.
|
|
656
|
-
*/
|
|
657
374
|
function withRunningInstall(installs, runningRoot, runningVersion) {
|
|
658
375
|
const runningCanonical = canonicalPath(runningRoot);
|
|
659
376
|
const already = installs.some((install) => canonicalPath(install.packageRoot) === runningCanonical);
|
|
@@ -662,17 +379,9 @@ function withRunningInstall(installs, runningRoot, runningVersion) {
|
|
|
662
379
|
return [...installs, {
|
|
663
380
|
packageRoot: runningRoot,
|
|
664
381
|
version: runningVersion,
|
|
665
|
-
// Unknown for a synthetic entry — classify only uses version for the
|
|
666
|
-
// fixed-peer check; the running root is never deleted regardless.
|
|
667
382
|
atomicHelperInstall: true,
|
|
668
383
|
}];
|
|
669
384
|
}
|
|
670
|
-
/**
|
|
671
|
-
* The exact shell command that removes the install at `packageRoot` by hand —
|
|
672
|
-
* the remedy for duplicates `agents sync` deliberately will not purge
|
|
673
|
-
* (RUSH-2705). `--prefix` pins the target tree no matter which npm binary
|
|
674
|
-
* PATH resolves, mirroring installPackageIntoPrefix.
|
|
675
|
-
*/
|
|
676
385
|
export function manualUninstallCommand(packageRoot) {
|
|
677
386
|
const resolved = path.resolve(packageRoot);
|
|
678
387
|
if (detectPackageManager(resolved) === 'bun') {
|
|
@@ -682,8 +391,6 @@ export function manualUninstallCommand(packageRoot) {
|
|
|
682
391
|
return `npm uninstall -g --prefix '${deriveGlobalPrefix(resolved)}' ${NPM_PACKAGE_NAME}`;
|
|
683
392
|
}
|
|
684
393
|
catch {
|
|
685
|
-
// Not inside a node_modules tree — no npm prefix owns it; deleting the
|
|
686
|
-
// directory is the only removal there is.
|
|
687
394
|
return `rm -rf '${resolved}'`;
|
|
688
395
|
}
|
|
689
396
|
}
|
|
@@ -717,42 +424,18 @@ export function buildMultiInstallInventory(runningRoot, runningVersion, installs
|
|
|
717
424
|
}
|
|
718
425
|
return [...byRoot.values()];
|
|
719
426
|
}
|
|
720
|
-
/** True when the package root lives under npm's `_npx` cache (ephemeral runs). */
|
|
721
427
|
export function isNpxCacheInstall(packageRoot) {
|
|
722
|
-
// Split on either separator so a POSIX-shaped path is still recognized when
|
|
723
|
-
// this runs on Windows (agents sync / tests pass forward literal `_npx`
|
|
724
|
-
// paths from other boxes). `path.sep` alone missed `/home/…/_npx/…` on win32.
|
|
725
428
|
const parts = packageRoot.split(/[\\/]/);
|
|
726
429
|
return parts.includes('_npx');
|
|
727
430
|
}
|
|
728
|
-
/**
|
|
729
|
-
* A release string that is at least TOUCH_ID_STORM_FIXED_SINCE, or a side-by-side
|
|
730
|
-
* dev build (`0.0.0-dev.*`) which tracks main and therefore carries the fix.
|
|
731
|
-
* Non-semver junk never qualifies as "fixed" — better to leave a weird copy
|
|
732
|
-
* alone than delete the only working install.
|
|
733
|
-
*/
|
|
734
431
|
export function isTouchIdStormFixedVersion(version) {
|
|
735
432
|
if (version.startsWith('0.0.0-dev.') || version === '0.0.0-dev')
|
|
736
433
|
return true;
|
|
737
|
-
// compareVersions is numeric-segment only; refuse anything that does not
|
|
738
|
-
// look like a release before treating it as "older than fixed".
|
|
739
434
|
if (!/^\d+(\.\d+)*/.test(version))
|
|
740
435
|
return false;
|
|
741
436
|
return compareVersions(version, TOUCH_ID_STORM_FIXED_SINCE) >= 0;
|
|
742
437
|
}
|
|
743
|
-
|
|
744
|
-
* Classify discovered installs that agents sync / upgrade may delete.
|
|
745
|
-
*
|
|
746
|
-
* Never marks the running package root. Auto-purge is limited to copies that
|
|
747
|
-
* cannot be the intended primary install:
|
|
748
|
-
* - npx-cache trees (ephemeral)
|
|
749
|
-
* - pre-atomic-helper-installer trees ("unsafe legacy helper installer")
|
|
750
|
-
* - pre-TOUCH_ID_STORM_FIXED_SINCE trees, but only when at least one fixed
|
|
751
|
-
* copy already exists on the box (so we never strand the machine)
|
|
752
|
-
*
|
|
753
|
-
* A pre-fixed copy that is also the only install stays — the user must upgrade
|
|
754
|
-
* it in place rather than delete it.
|
|
755
|
-
*/
|
|
438
|
+
// Never select the running root; a pre-fix install is removable only when a fixed peer prevents stranding the box.
|
|
756
439
|
export function classifyRemovableAgentsCliInstalls(runningRoot, installs, opts = {}) {
|
|
757
440
|
const fixedSince = opts.fixedSince ?? TOUCH_ID_STORM_FIXED_SINCE;
|
|
758
441
|
let runningCanonical = runningRoot;
|
|
@@ -760,11 +443,7 @@ export function classifyRemovableAgentsCliInstalls(runningRoot, installs, opts =
|
|
|
760
443
|
runningCanonical = fs.realpathSync(runningRoot);
|
|
761
444
|
}
|
|
762
445
|
catch {
|
|
763
|
-
/* keep as given */
|
|
764
446
|
}
|
|
765
|
-
// A fixed peer is any install (including the running copy) that carries the
|
|
766
|
-
// Touch-ID-storm fix. Pre-fixed trees are only deleted when such a peer
|
|
767
|
-
// exists, so a lone stale install is never purged out from under the user.
|
|
768
447
|
const hasFixedPeer = installs.some((install) => isTouchIdStormFixedVersion(install.version));
|
|
769
448
|
const out = [];
|
|
770
449
|
for (const install of installs) {
|
|
@@ -773,7 +452,6 @@ export function classifyRemovableAgentsCliInstalls(runningRoot, installs, opts =
|
|
|
773
452
|
root = fs.realpathSync(install.packageRoot);
|
|
774
453
|
}
|
|
775
454
|
catch {
|
|
776
|
-
/* keep */
|
|
777
455
|
}
|
|
778
456
|
if (root === runningCanonical)
|
|
779
457
|
continue;
|
|
@@ -795,11 +473,6 @@ export function classifyRemovableAgentsCliInstalls(runningRoot, installs, opts =
|
|
|
795
473
|
}
|
|
796
474
|
return out;
|
|
797
475
|
}
|
|
798
|
-
/**
|
|
799
|
-
* Delete classified removable package roots from disk. Re-reads package.json
|
|
800
|
-
* immediately before the unlink so a path that is no longer @phnx-labs/agents-cli
|
|
801
|
-
* is never removed. Best-effort: one failure does not stop the rest.
|
|
802
|
-
*/
|
|
803
476
|
export function purgeRemovableAgentsCliInstalls(candidates, opts = {}) {
|
|
804
477
|
const result = {
|
|
805
478
|
removed: [],
|
|
@@ -821,13 +494,12 @@ export function purgeRemovableAgentsCliInstalls(candidates, opts = {}) {
|
|
|
821
494
|
root = fs.realpathSync(candidate.packageRoot);
|
|
822
495
|
}
|
|
823
496
|
catch {
|
|
824
|
-
/* keep */
|
|
825
497
|
}
|
|
826
498
|
if (runningCanonical && root === runningCanonical) {
|
|
827
499
|
result.skippedRunning += 1;
|
|
828
500
|
continue;
|
|
829
501
|
}
|
|
830
|
-
//
|
|
502
|
+
// Re-read package identity immediately before unlink so a raced or foreign tree cannot be deleted.
|
|
831
503
|
try {
|
|
832
504
|
const pkg = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf-8'));
|
|
833
505
|
if (pkg.name !== NPM_PACKAGE_NAME) {
|
|
@@ -865,15 +537,9 @@ export function purgeRemovableAgentsCliInstalls(candidates, opts = {}) {
|
|
|
865
537
|
}
|
|
866
538
|
return result;
|
|
867
539
|
}
|
|
868
|
-
/**
|
|
869
|
-
* Scan + classify + purge in one call. Used by `agents sync` and
|
|
870
|
-
* `agents upgrade` so both paths remediate the same set of latent copies.
|
|
871
|
-
*/
|
|
872
540
|
export function remediateStaleAgentsCliInstalls(opts) {
|
|
873
541
|
const pathEnv = opts.pathEnv ?? (process.env.PATH || '');
|
|
874
542
|
let installs = findAgentsCliInstalls(pathEnv, opts.findOpts);
|
|
875
|
-
// Ensure the running root participates in "has a fixed peer" even when the
|
|
876
|
-
// PATH scan missed it (source tree, unusual layout).
|
|
877
543
|
if (opts.runningVersion) {
|
|
878
544
|
installs = withRunningInstall(installs, opts.runningRoot, opts.runningVersion);
|
|
879
545
|
}
|
|
@@ -952,23 +618,6 @@ function readAgentsCliInstall(packageRoot, binPath) {
|
|
|
952
618
|
atomicHelperInstall: fs.existsSync(path.join(canonicalRoot, 'dist', 'lib', 'app-bundle-install.js')),
|
|
953
619
|
};
|
|
954
620
|
}
|
|
955
|
-
/**
|
|
956
|
-
* Resolve every `agents` entrypoint on PATH, then inspect the bounded global
|
|
957
|
-
* install layouts used by NVM, fnm, Volta, Bun, npm, and npx. More than one
|
|
958
|
-
* distinct package root means upgrades,
|
|
959
|
-
* shims, and the command the user types can act on different copies — the
|
|
960
|
-
* divergence behind silently-failing self-updates.
|
|
961
|
-
*
|
|
962
|
-
* npm bin entries are symlinks that resolve to `<packageRoot>/dist/index.js`
|
|
963
|
-
* (the dev install's `~/.local/bin/agents` chains through the dev prefix to
|
|
964
|
-
* the same shape). A shim pointed at the compiled standalone binary resolves
|
|
965
|
-
* to `<packageRoot>/dist/bin/agents` instead; that shape counts too, otherwise
|
|
966
|
-
* the copy that actually runs — the compiled one is typically first on PATH —
|
|
967
|
-
* is invisible to this scan and its root looks like a separate install.
|
|
968
|
-
* Anything that resolves to neither shape inside a package named
|
|
969
|
-
* @phnx-labs/agents-cli is some other tool and is skipped.
|
|
970
|
-
* POSIX-only: Windows npm bins are .cmd wrappers, not symlinks.
|
|
971
|
-
*/
|
|
972
621
|
export function findAgentsCliInstalls(pathEnv, opts = {}) {
|
|
973
622
|
if (process.platform === 'win32')
|
|
974
623
|
return [];
|
|
@@ -987,7 +636,7 @@ export function findAgentsCliInstalls(pathEnv, opts = {}) {
|
|
|
987
636
|
real = fs.realpathSync(candidate);
|
|
988
637
|
}
|
|
989
638
|
catch {
|
|
990
|
-
continue;
|
|
639
|
+
continue;
|
|
991
640
|
}
|
|
992
641
|
const packageRoot = packageRootForEntry(real);
|
|
993
642
|
if (!packageRoot)
|