@phnx-labs/agents-cli 1.22.119 → 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 +236 -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 +20 -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
|
@@ -13,29 +13,12 @@ import { IS_WINDOWS } from '../platform/index.js';
|
|
|
13
13
|
import { getConfigSymlinkVersion } from './shims.js';
|
|
14
14
|
import { INSTALLATION_RECORD_FILE, INSTALLATION_SCHEMA } from './types.js';
|
|
15
15
|
const execFileAsync = promisify(execFile);
|
|
16
|
-
/**
|
|
17
|
-
* Persistence for {@link Installation} records.
|
|
18
|
-
*
|
|
19
|
-
* The record lives at `<versionDir>/installation.json` rather than in one
|
|
20
|
-
* central index: the version dir is what `agents trash`/`agents prune` move,
|
|
21
|
-
* copy and restore wholesale, so keeping identity inside it means identity
|
|
22
|
-
* travels with the install instead of dangling in a registry that forgets to
|
|
23
|
-
* follow. It is also why the file name is registered in versions.ts's
|
|
24
|
-
* `PRESERVED_ON_CLEAN_REINSTALL` — a repair reinstall must not mint a new id.
|
|
25
|
-
*
|
|
26
|
-
* Path/enumeration plus frozen installation records. Depends on Node builtins,
|
|
27
|
-
* installations-local modules, and base lib (`state`/`fs-atomic`/`primitives`/
|
|
28
|
-
* `agents`/`shims`/`platform`) — never `plugins/`, `rules/`, `session/`, or
|
|
29
|
-
* `devices/`, so those modules can import this file without an import cycle.
|
|
30
|
-
*/
|
|
31
|
-
/** Directory holding one installation. Same path as {@link getVersionDir}. */
|
|
32
16
|
export function installationDir(agent, label) {
|
|
33
17
|
return path.join(getVersionsDir(), agent, label);
|
|
34
18
|
}
|
|
35
19
|
export function installationRecordPath(agent, label) {
|
|
36
20
|
return path.join(installationDir(agent, label), INSTALLATION_RECORD_FILE);
|
|
37
21
|
}
|
|
38
|
-
/** Mint an opaque installation id. Random, never derived from the release. */
|
|
39
22
|
export function mintInstallationId() {
|
|
40
23
|
return `ins_${crypto.randomBytes(12).toString('hex')}`;
|
|
41
24
|
}
|
|
@@ -66,10 +49,6 @@ function assertValidRecord(value, file) {
|
|
|
66
49
|
}
|
|
67
50
|
return record;
|
|
68
51
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Read the record for one installation, or null when the version dir has none.
|
|
71
|
-
* Never mints — use {@link ensureInstallation} for the migrating read.
|
|
72
|
-
*/
|
|
73
52
|
export function readInstallation(agent, label) {
|
|
74
53
|
const file = installationRecordPath(agent, label);
|
|
75
54
|
let raw;
|
|
@@ -88,7 +67,6 @@ export function readInstallation(agent, label) {
|
|
|
88
67
|
}
|
|
89
68
|
return assertValidRecord(parsed, file);
|
|
90
69
|
}
|
|
91
|
-
/** Semantic feature checks use the release, while paths and settings keep the label. */
|
|
92
70
|
export function installedReleaseFor(agent, label) {
|
|
93
71
|
if (!Object.hasOwn(AGENTS, agent) || !VERSION_RE.test(label))
|
|
94
72
|
return label;
|
|
@@ -99,16 +77,6 @@ export function writeInstallation(installation) {
|
|
|
99
77
|
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
100
78
|
atomicWriteFileSync(file, `${JSON.stringify(installation, null, 2)}\n`);
|
|
101
79
|
}
|
|
102
|
-
/**
|
|
103
|
-
* Read the record for an existing version dir, minting and persisting one on
|
|
104
|
-
* first sight. This is the migration path for every installation created before
|
|
105
|
-
* frozen identity existed: their directory name IS their release, so the
|
|
106
|
-
* migrated record seeds `label === releaseVersion` and dates the install from
|
|
107
|
-
* the directory's own mtime rather than pretending it was created now.
|
|
108
|
-
*
|
|
109
|
-
* Throws when the version dir does not exist — an installation record must never
|
|
110
|
-
* describe an install that isn't there.
|
|
111
|
-
*/
|
|
112
80
|
export function ensureInstallation(agent, label) {
|
|
113
81
|
const existing = readInstallation(agent, label);
|
|
114
82
|
if (existing)
|
|
@@ -118,7 +86,6 @@ export function ensureInstallation(agent, label) {
|
|
|
118
86
|
const createdAt = fs.statSync(installationDir(agent, label)).mtime.toISOString();
|
|
119
87
|
return withFileLock(installationLockTarget(agent, label), () => ensureInstallationLocked(agent, label, createdAt), { ...INSTALLATION_LOCK_OPTIONS, acquireTimeoutMs: 0 });
|
|
120
88
|
}
|
|
121
|
-
/** Migration for callers already holding the canonical installation lock. */
|
|
122
89
|
export function ensureInstallationLocked(agent, label, legacyCreatedAt) {
|
|
123
90
|
const existing = readInstallation(agent, label);
|
|
124
91
|
if (existing)
|
|
@@ -147,11 +114,6 @@ export function ensureInstallationLocked(agent, label, legacyCreatedAt) {
|
|
|
147
114
|
writeInstallation(migrated);
|
|
148
115
|
return migrated;
|
|
149
116
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Create the record for a freshly-installed version dir. Idempotent: a repeat
|
|
152
|
-
* `agents add` of the same label keeps the original id (identity is frozen) and
|
|
153
|
-
* only records the release if it actually moved.
|
|
154
|
-
*/
|
|
155
117
|
export function createInstallation(agent, label, releaseVersion, initialPolicy = 'latest') {
|
|
156
118
|
if (!VERSION_RE.test(label)) {
|
|
157
119
|
throw new Error(`Invalid installation label: ${JSON.stringify(label)}`);
|
|
@@ -177,11 +139,6 @@ export function createInstallation(agent, label, releaseVersion, initialPolicy =
|
|
|
177
139
|
writeInstallation(created);
|
|
178
140
|
return created;
|
|
179
141
|
}
|
|
180
|
-
/**
|
|
181
|
-
* Move an installation's recorded release forward, preserving identity. Returns
|
|
182
|
-
* the persisted record. Call only AFTER the new release is live on disk — the
|
|
183
|
-
* record is the claim that it is.
|
|
184
|
-
*/
|
|
185
142
|
export function recordRelease(installation, releaseVersion) {
|
|
186
143
|
const at = nowIso();
|
|
187
144
|
const next = {
|
|
@@ -193,7 +150,6 @@ export function recordRelease(installation, releaseVersion) {
|
|
|
193
150
|
writeInstallation(next);
|
|
194
151
|
return next;
|
|
195
152
|
}
|
|
196
|
-
/** Version-dir basenames present for an agent, oldest-first by directory name. */
|
|
197
153
|
export function listInstallationLabels(agent) {
|
|
198
154
|
const agentDir = path.join(getVersionsDir(), agent);
|
|
199
155
|
let entries;
|
|
@@ -208,10 +164,6 @@ export function listInstallationLabels(agent) {
|
|
|
208
164
|
.map((entry) => entry.name)
|
|
209
165
|
.sort();
|
|
210
166
|
}
|
|
211
|
-
/**
|
|
212
|
-
* Every installation of an agent, migrating records as needed. A version dir
|
|
213
|
-
* that disappears mid-scan is skipped rather than failing the whole listing.
|
|
214
|
-
*/
|
|
215
167
|
export function listInstallations(agent) {
|
|
216
168
|
const out = [];
|
|
217
169
|
for (const label of listInstallationLabels(agent)) {
|
|
@@ -219,7 +171,6 @@ export function listInstallations(agent) {
|
|
|
219
171
|
out.push(ensureInstallation(agent, label));
|
|
220
172
|
}
|
|
221
173
|
catch {
|
|
222
|
-
/* dir vanished or unreadable — not an installation we can act on */
|
|
223
174
|
}
|
|
224
175
|
}
|
|
225
176
|
return out;
|
|
@@ -231,14 +182,6 @@ export function listInstallations(agent) {
|
|
|
231
182
|
* `--isolated` copy, never another managed install.
|
|
232
183
|
*/
|
|
233
184
|
export const MANAGED_INSTALLATION_LABEL = 'main';
|
|
234
|
-
/**
|
|
235
|
-
* Resolve the ONE managed installation of a harness, or null when the harness
|
|
236
|
-
* has no managed install yet. The winner is deterministic: the `main` label
|
|
237
|
-
* first, then the recorded global default (the install the user actually
|
|
238
|
-
* launches), then the first remaining non-isolated installation by label.
|
|
239
|
-
* Isolated copies (`agents add --isolated`) never count — they are expert
|
|
240
|
-
* second homes, not the managed install.
|
|
241
|
-
*/
|
|
242
185
|
export function resolveManagedInstallation(agent) {
|
|
243
186
|
const managed = listInstallations(agent).filter((i) => !isVersionIsolated(agent, i.label));
|
|
244
187
|
if (managed.length === 0)
|
|
@@ -250,25 +193,11 @@ export function resolveManagedInstallation(agent) {
|
|
|
250
193
|
const def = globalDefault ? managed.find((i) => i.label === globalDefault) : undefined;
|
|
251
194
|
return def ?? managed[0];
|
|
252
195
|
}
|
|
253
|
-
/**
|
|
254
|
-
* The taught entry point for "make this harness runnable" (PHNX-3940): return
|
|
255
|
-
* the harness's single managed installation, installing the current release
|
|
256
|
-
* into the `main` label when the harness is not installed yet. `release` pins
|
|
257
|
-
* the fresh install to a concrete release (recorded as a pinned update policy
|
|
258
|
-
* by `installVersion`); it has no effect when an installation already exists —
|
|
259
|
-
* moving an existing install is `agents update <agent> --to <release>`'s job.
|
|
260
|
-
*
|
|
261
|
-
* Throws (fail loud) when the install fails; never returns a half-installed
|
|
262
|
-
* record.
|
|
263
|
-
*/
|
|
264
196
|
export async function ensureHarnessInstallation(agent, opts = {}) {
|
|
265
197
|
const existing = resolveManagedInstallation(agent);
|
|
266
198
|
if (existing)
|
|
267
199
|
return { installation: existing, installed: false };
|
|
268
200
|
const release = opts.release ?? 'latest';
|
|
269
|
-
// installVersion lives in ./versions.js, which imports this file. A dynamic
|
|
270
|
-
// import keeps the static module graph acyclic (see the docblock at the top
|
|
271
|
-
// of this file) while the call itself runs after both modules are loaded.
|
|
272
201
|
const { installVersion } = await import('./versions.js');
|
|
273
202
|
const result = await installVersion(agent, release, opts.onProgress, { installationLabel: MANAGED_INSTALLATION_LABEL });
|
|
274
203
|
if (!result.success) {
|
|
@@ -280,38 +209,10 @@ export async function ensureHarnessInstallation(agent, opts = {}) {
|
|
|
280
209
|
}
|
|
281
210
|
return { installation: record, installed: true };
|
|
282
211
|
}
|
|
283
|
-
/**
|
|
284
|
-
* Get the directory where a specific version is installed.
|
|
285
|
-
*/
|
|
286
212
|
export function getVersionDir(agent, version) {
|
|
287
213
|
return path.join(getVersionsDir(), agent, version);
|
|
288
214
|
}
|
|
289
|
-
/**
|
|
290
|
-
* Grok binaries are never trusted below this size when picking among several
|
|
291
|
-
* `grok-*` candidates with no exact version match (see
|
|
292
|
-
* {@link resolveGrokFallbackBinary}). Grok's real native binary is ~100MB+; a
|
|
293
|
-
* stray non-binary artifact sharing the `grok-*` naming pattern (a wrapper or
|
|
294
|
-
* alias script) is at most a few hundred bytes, so 1MB comfortably separates
|
|
295
|
-
* the two without depending on file content.
|
|
296
|
-
*/
|
|
297
215
|
const MIN_GROK_BINARY_BYTES = 1_000_000;
|
|
298
|
-
/**
|
|
299
|
-
* Pick the real grok binary among `grok-*` entries in `downloadsDir` when NO
|
|
300
|
-
* filename carries the pinned version string. Grok self-updates its binary in
|
|
301
|
-
* place while running under the shim, so a version-home's downloads dir can
|
|
302
|
-
* accumulate several `grok-*` files whose names have drifted away from that
|
|
303
|
-
* version-home's pinned version (RUSH-2459: on yosemite-s0, version-home
|
|
304
|
-
* `0.2.82` held `grok-1.0.0-linux-aarch64` after grok self-updated, plus a
|
|
305
|
-
* stale, unrelated 99-byte `grok-0.2.118-linux-aarch64` wrapper script that
|
|
306
|
-
* happened to sort alphabetically first).
|
|
307
|
-
*
|
|
308
|
-
* Never blindly take whatever `fs.readdirSync` returns first — that is exactly
|
|
309
|
-
* the bug this replaces. Instead: exclude anything under
|
|
310
|
-
* {@link MIN_GROK_BINARY_BYTES} (rejects wrapper/alias artifacts on size
|
|
311
|
-
* alone, no content sniffing needed) and, among the survivors, prefer the most
|
|
312
|
-
* recently modified — the file grok's self-updater actually wrote last.
|
|
313
|
-
* Returns null (fail loud, never guess) when nothing survives the size filter.
|
|
314
|
-
*/
|
|
315
216
|
export function resolveGrokFallbackBinary(downloadsDir) {
|
|
316
217
|
let entries;
|
|
317
218
|
try {
|
|
@@ -339,14 +240,6 @@ export function resolveGrokFallbackBinary(downloadsDir) {
|
|
|
339
240
|
}
|
|
340
241
|
return best ? path.join(downloadsDir, best.name) : null;
|
|
341
242
|
}
|
|
342
|
-
/**
|
|
343
|
-
* Grok's own current-release pointer, `<grokHome>/bin/grok`, resolved to the
|
|
344
|
-
* real binary, or null when absent or not a real binary. Grok's updater keeps
|
|
345
|
-
* it current in both of its layouts (`bin/grok -> ../downloads/grok-<v>-<arch>`
|
|
346
|
-
* and the newer `bin/grok -> grok-<v>`, which never touches downloads/), so it
|
|
347
|
-
* is the only location that tracks `grok update`. Mirrors the shim's
|
|
348
|
-
* `_resolve_grok_current`.
|
|
349
|
-
*/
|
|
350
243
|
export function resolveGrokCurrentBinary(grokHome) {
|
|
351
244
|
try {
|
|
352
245
|
const target = fs.realpathSync(path.join(grokHome, 'bin', 'grok'));
|
|
@@ -360,9 +253,6 @@ export function resolveGrokCurrentBinary(grokHome) {
|
|
|
360
253
|
return null;
|
|
361
254
|
}
|
|
362
255
|
}
|
|
363
|
-
/**
|
|
364
|
-
* Get the binary path for a specific agent version.
|
|
365
|
-
*/
|
|
366
256
|
export function getBinaryPath(agent, version) {
|
|
367
257
|
const agentConfig = AGENTS[agent];
|
|
368
258
|
if (agent === 'grok') {
|
|
@@ -370,9 +260,6 @@ export function getBinaryPath(agent, version) {
|
|
|
370
260
|
if (current)
|
|
371
261
|
return current;
|
|
372
262
|
const grokDownloads = path.join(getVersionHomePath(agent, version), '.grok', 'downloads');
|
|
373
|
-
// The directory token is the stable installation/account label. A
|
|
374
|
-
// self-updating slot may carry a newer vendor release, whose binary keeps
|
|
375
|
-
// the release in its filename; resolve through the frozen install record.
|
|
376
263
|
const releaseVersion = readInstallation(agent, version)?.releaseVersion ?? version;
|
|
377
264
|
try {
|
|
378
265
|
const entries = fs.readdirSync(grokDownloads);
|
|
@@ -387,36 +274,16 @@ export function getBinaryPath(agent, version) {
|
|
|
387
274
|
return path.join(grokDownloads, `grok-${releaseVersion}`);
|
|
388
275
|
}
|
|
389
276
|
if (agent === 'droid') {
|
|
390
|
-
// Factory.ai's installer drops a standalone native binary (no npm package,
|
|
391
|
-
// nothing in node_modules/.bin). The binary is global, not per-version —
|
|
392
|
-
// config isolation rides the ~/.factory symlink switch, not a separate
|
|
393
|
-
// binary per version. Install location is platform-specific:
|
|
394
|
-
// macOS/Linux: ~/.local/bin/droid (curl app.factory.ai/cli | sh)
|
|
395
|
-
// Windows: %USERPROFILE%\bin\droid.exe (irm app.factory.ai/cli/windows | iex)
|
|
396
|
-
// Mirror the shim's `droid` branch so isVersionInstalled/`agents view`
|
|
397
|
-
// agree with what actually executes.
|
|
398
277
|
return IS_WINDOWS
|
|
399
278
|
? path.join(getHomeDir(), 'bin', 'droid.exe')
|
|
400
279
|
: path.join(getHomeDir(), '.local', 'bin', 'droid');
|
|
401
280
|
}
|
|
402
281
|
if (agent === 'muse') {
|
|
403
|
-
// Muse Code install script drops a self-updating launcher at
|
|
404
|
-
// ~/.local/bin/muse (curl -fsSL https://dev.meta.ai/install.sh | sh).
|
|
405
|
-
// Same global-binary shape as droid: one binary for every version dir,
|
|
406
|
-
// config isolation via version-home HOME rewrite. Mirror the shim's
|
|
407
|
-
// `muse` branch so isVersionInstalled / agents view / agents import
|
|
408
|
-
// agree with what executes.
|
|
409
282
|
return IS_WINDOWS
|
|
410
283
|
? path.join(getHomeDir(), 'bin', 'muse.exe')
|
|
411
284
|
: path.join(getHomeDir(), '.local', 'bin', 'muse');
|
|
412
285
|
}
|
|
413
286
|
if (agent === 'warp') {
|
|
414
|
-
// Warp Agent CLI installs a single global, self-updating `warp` binary at
|
|
415
|
-
// ~/.local/bin/warp via the curl installer (Windows: the agent-cli.ps1) —
|
|
416
|
-
// like droid/muse. Resolve the real binary on PATH (findInPath skips our own
|
|
417
|
-
// shims dir) so isVersionInstalled / agents view agree with what executes.
|
|
418
|
-
// When warp is not installed, fall back to its default install path so
|
|
419
|
-
// isVersionInstalled reports uninstalled honestly.
|
|
420
287
|
const onPath = findInPath('warp');
|
|
421
288
|
if (onPath)
|
|
422
289
|
return onPath;
|
|
@@ -427,45 +294,18 @@ export function getBinaryPath(agent, version) {
|
|
|
427
294
|
const versionDir = getVersionDir(agent, version);
|
|
428
295
|
return path.join(versionDir, 'node_modules', '.bin', agentConfig.cliCommand);
|
|
429
296
|
}
|
|
430
|
-
/**
|
|
431
|
-
* Does this agent resolve to ONE global binary that is the same file regardless
|
|
432
|
-
* of the `version` argument? (droid → always `~/.local/bin/droid`.) Computed
|
|
433
|
-
* generically by probing `getBinaryPath` with two distinct versions rather than
|
|
434
|
-
* hardcoding an agent id, so it stays correct if another global-binary agent is
|
|
435
|
-
* added.
|
|
436
|
-
*
|
|
437
|
-
* This is the narrower cousin of `isSelfUpdatingAgent`: every global-binary
|
|
438
|
-
* agent is self-updating, but grok is self-updating WITHOUT a global binary — it
|
|
439
|
-
* stores a real per-version binary copy under each version-home
|
|
440
|
-
* (`versions/grok/<v>/home/.grok/downloads/grok-<v>`), so its version-homes are
|
|
441
|
-
* genuinely distinct and must NOT be collapsed. Gate the single-binary
|
|
442
|
-
* collapse/live-version logic on THIS predicate; gate pin-refusal / "switch
|
|
443
|
-
* profile" copy on `isSelfUpdatingAgent`.
|
|
444
|
-
*/
|
|
445
297
|
export function isGlobalBinaryAgent(agent) {
|
|
298
|
+
// Only identical paths across two labels prove a global binary; per-home binaries stay isolated.
|
|
446
299
|
return getBinaryPath(agent, '0.0.0-probe-a') === getBinaryPath(agent, '0.0.0-probe-b');
|
|
447
300
|
}
|
|
448
|
-
// Live-version cache for self-updating global binaries. `<cli> --version` is a
|
|
449
|
-
// ~real shell-out, so hold the result briefly: the same `agents view` render
|
|
450
|
-
// asks for it from both listInstalledVersions (sync) and the label path (async).
|
|
451
301
|
const LIVE_VERSION_TTL_MS = 5000;
|
|
452
302
|
const liveVersionCache = new Map();
|
|
453
|
-
/** Drop the live-version cache (call after an install/remove that changes the
|
|
454
|
-
* running binary, e.g. `agents add droid@latest`). */
|
|
455
303
|
export function invalidateLiveVersionCache(agent) {
|
|
456
304
|
if (agent)
|
|
457
305
|
liveVersionCache.delete(agent);
|
|
458
306
|
else
|
|
459
307
|
liveVersionCache.clear();
|
|
460
308
|
}
|
|
461
|
-
/**
|
|
462
|
-
* Resolve the version the ONE globally-installed binary actually reports via
|
|
463
|
-
* `<cli> --version`, cached for {@link LIVE_VERSION_TTL_MS}. For a self-updating
|
|
464
|
-
* global-binary agent (droid) this is the single source of truth for "which
|
|
465
|
-
* version is installed" — the on-disk version-dir NAMES are just stale labels
|
|
466
|
-
* left behind by successive `agents add`/self-update cycles. Returns null when
|
|
467
|
-
* the binary isn't on PATH or the probe fails.
|
|
468
|
-
*/
|
|
469
309
|
export async function getCliVersionFromPath(agent) {
|
|
470
310
|
const agentConfig = AGENTS[agent];
|
|
471
311
|
try {
|
|
@@ -485,44 +325,15 @@ export async function getLiveVersion(agent) {
|
|
|
485
325
|
liveVersionCache.set(agent, { at: Date.now(), version });
|
|
486
326
|
return version;
|
|
487
327
|
}
|
|
488
|
-
/**
|
|
489
|
-
* Synchronous, non-blocking read of the live-version cache — returns the value
|
|
490
|
-
* only if a recent {@link getLiveVersion} call already warmed it, else null.
|
|
491
|
-
* `listInstalledVersions` is sync and must not shell out, so it prefers this
|
|
492
|
-
* warm value (accurate) and otherwise falls back to the newest on-disk dir.
|
|
493
|
-
*/
|
|
494
328
|
export function getCachedLiveVersion(agent) {
|
|
495
329
|
const cached = liveVersionCache.get(agent);
|
|
496
330
|
if (cached && Date.now() - cached.at < LIVE_VERSION_TTL_MS)
|
|
497
331
|
return cached.version;
|
|
498
332
|
return null;
|
|
499
333
|
}
|
|
500
|
-
/**
|
|
501
|
-
* Get the isolated HOME directory for a specific agent version.
|
|
502
|
-
* Each version has its own config isolation (like jobs sandbox).
|
|
503
|
-
*/
|
|
504
334
|
export function getVersionHomePath(agent, version) {
|
|
505
335
|
return path.join(getVersionDir(agent, version), 'home');
|
|
506
336
|
}
|
|
507
|
-
/**
|
|
508
|
-
* Resolve the REAL launch binary for an npm-package agent version: the file the
|
|
509
|
-
* installed package's `bin` entry points to — e.g.
|
|
510
|
-
* node_modules/@anthropic-ai/claude-code/bin/claude.exe on Windows. This is the
|
|
511
|
-
* executable that the node_modules/.bin/<cli>.cmd wrapper ultimately execs (and
|
|
512
|
-
* what `agents run` spawns), NOT the wrapper itself.
|
|
513
|
-
*
|
|
514
|
-
* The distinction is load-bearing: npm leaves the tiny node_modules/.bin/<cli>
|
|
515
|
-
* and <cli>.cmd wrappers in place even after a vendor auto-updater destroys the
|
|
516
|
-
* multi-hundred-MB real binary the wrapper points at. Keying "installed" on the
|
|
517
|
-
* wrapper (getBinaryPath) — or on the version dir — therefore reports a gutted
|
|
518
|
-
* install as healthy, and `agents run` then dies at spawn with
|
|
519
|
-
* "'...claude.exe' is not recognized".
|
|
520
|
-
*
|
|
521
|
-
* Returns null for agents without an npm package (grok/droid/installScript,
|
|
522
|
-
* whose getBinaryPath already resolves the real per-host binary) or when the
|
|
523
|
-
* installed package.json can't be read/parsed — callers fall back to the
|
|
524
|
-
* generic getBinaryPath check in those cases.
|
|
525
|
-
*/
|
|
526
337
|
function getPackageBinaryPath(agent, version) {
|
|
527
338
|
const agentConfig = AGENTS[agent];
|
|
528
339
|
if (!agentConfig.npmPackage)
|
|
@@ -542,49 +353,25 @@ function getPackageBinaryPath(agent, version) {
|
|
|
542
353
|
}
|
|
543
354
|
else if (bin && typeof bin === 'object') {
|
|
544
355
|
const map = bin;
|
|
545
|
-
// Prefer the entry named after our launch command; else the first bin.
|
|
546
356
|
rel = map[agentConfig.cliCommand] ?? Object.values(map)[0];
|
|
547
357
|
}
|
|
548
358
|
if (!rel || typeof rel !== 'string')
|
|
549
359
|
return null;
|
|
550
360
|
return path.join(pkgRoot, rel);
|
|
551
361
|
}
|
|
552
|
-
/**
|
|
553
|
-
* Check if a specific version is installed.
|
|
554
|
-
*
|
|
555
|
-
* Probes the actual launch binary (the same executable the shims run), not just
|
|
556
|
-
* the version dir or the node_modules/.bin/<cli> wrapper. For npm agents that
|
|
557
|
-
* means statting the package's real `bin` target (getPackageBinaryPath), so a
|
|
558
|
-
* present-but-gutted install (vendor auto-updater destroyed the binary) reports
|
|
559
|
-
* as NOT installed and `agents add` re-runs its install step to repair it.
|
|
560
|
-
*/
|
|
561
362
|
export function isVersionInstalled(agent, version) {
|
|
562
363
|
const packageBinary = getPackageBinaryPath(agent, version);
|
|
563
364
|
if (packageBinary !== null)
|
|
564
365
|
return fs.existsSync(packageBinary);
|
|
565
366
|
return fs.existsSync(getBinaryPath(agent, version));
|
|
566
367
|
}
|
|
567
|
-
// Per-process cache for listInstalledVersions. The agent's versions dir mtime
|
|
568
|
-
// changes whenever a version dir is added or removed (install/remove), so a
|
|
569
|
-
// stamp match means the installed set is unchanged and we skip the readdir +
|
|
570
|
-
// N binary stats. Mirrors the readMeta() cache in state.ts. Hot path:
|
|
571
|
-
// resolveAgentTargets and every enumerate-style consumer hit this.
|
|
572
368
|
const installedVersionsCache = new Map();
|
|
573
|
-
/** Drop the installed-versions cache (call after install/remove mutations). */
|
|
574
369
|
export function invalidateInstalledVersionsCache(agent) {
|
|
575
370
|
if (agent)
|
|
576
371
|
installedVersionsCache.delete(agent);
|
|
577
372
|
else
|
|
578
373
|
installedVersionsCache.clear();
|
|
579
374
|
}
|
|
580
|
-
/**
|
|
581
|
-
* Choose the single canonical version-dir to represent a self-updating
|
|
582
|
-
* global-binary agent (droid). All its version dirs map to ONE binary, so
|
|
583
|
-
* exactly one is real; the rest are stale labels. Prefer, in order: the dir the
|
|
584
|
-
* live config symlink points at (what actually runs), the recorded global
|
|
585
|
-
* default, the live `--version` (when the cache is warm), else the newest dir.
|
|
586
|
-
* `versions` MUST be sorted ascending. Callers guarantee it is non-empty.
|
|
587
|
-
*/
|
|
588
375
|
export function pickCanonicalGlobalBinaryVersion(agent, versions) {
|
|
589
376
|
const symlinkVersion = getConfigSymlinkVersion(agent);
|
|
590
377
|
if (symlinkVersion && versions.includes(symlinkVersion))
|
|
@@ -597,31 +384,11 @@ export function pickCanonicalGlobalBinaryVersion(agent, versions) {
|
|
|
597
384
|
return live;
|
|
598
385
|
return versions[versions.length - 1];
|
|
599
386
|
}
|
|
600
|
-
/**
|
|
601
|
-
* Collapse a global-binary agent's phantom version dirs to the single canonical
|
|
602
|
-
* one (see {@link pickCanonicalGlobalBinaryVersion}). No-op for npm-packaged and
|
|
603
|
-
* per-version agents (claude/codex/grok/…), whose version dirs are genuinely
|
|
604
|
-
* distinct installs.
|
|
605
|
-
*/
|
|
606
387
|
function collapseGlobalBinaryVersions(agent, versions) {
|
|
607
388
|
if (!isGlobalBinaryAgent(agent) || versions.length === 0)
|
|
608
389
|
return versions;
|
|
609
390
|
return [pickCanonicalGlobalBinaryVersion(agent, versions)];
|
|
610
391
|
}
|
|
611
|
-
/**
|
|
612
|
-
* List all installed versions for an agent (cached by versions-dir mtime).
|
|
613
|
-
*
|
|
614
|
-
* For a self-updating global-binary agent (droid) every version dir resolves to
|
|
615
|
-
* the SAME binary, so this collapses them to a single canonical entry — one
|
|
616
|
-
* install, one row in `agents view`, never the phantom set of semver dir names.
|
|
617
|
-
*
|
|
618
|
-
* A directory is an installation only when it has a working launch binary.
|
|
619
|
-
* Account credential slots (PHNX-3940, `~/.agents/.history/accounts/**`) are
|
|
620
|
-
* HOME-shaped dirs with no binary and no `installation.json`, so they can
|
|
621
|
-
* never appear here. Record-less pre-frozen installs are reported as-is; their
|
|
622
|
-
* migration belongs to the record-based paths (`listInstallations`), never to
|
|
623
|
-
* this read surface.
|
|
624
|
-
*/
|
|
625
392
|
export function listInstalledVersions(agent) {
|
|
626
393
|
const agentVersionsDir = path.join(getVersionsDir(), agent);
|
|
627
394
|
let stamp;
|
|
@@ -634,8 +401,6 @@ export function listInstalledVersions(agent) {
|
|
|
634
401
|
}
|
|
635
402
|
const cached = installedVersionsCache.get(agent);
|
|
636
403
|
if (cached && cached.stamp === stamp) {
|
|
637
|
-
// Collapse is applied per-call (not cached): it depends on the live-version
|
|
638
|
-
// cache + config symlink, which can change without the versions-dir mtime.
|
|
639
404
|
return collapseGlobalBinaryVersions(agent, cached.versions);
|
|
640
405
|
}
|
|
641
406
|
const entries = fs.readdirSync(agentVersionsDir, { withFileTypes: true });
|
|
@@ -643,14 +408,6 @@ export function listInstalledVersions(agent) {
|
|
|
643
408
|
for (const entry of entries) {
|
|
644
409
|
if (!entry.isDirectory())
|
|
645
410
|
continue;
|
|
646
|
-
// Probe the real launch binary (isVersionInstalled), not just the
|
|
647
|
-
// node_modules/.bin wrapper — a gutted install must not count as healthy
|
|
648
|
-
// in the balanced account/version picker. A dir with no working binary
|
|
649
|
-
// (a slot, a partial download) is not an installation at all. Read-only:
|
|
650
|
-
// `agents view` enumerates through here and must leave every version home
|
|
651
|
-
// byte-identical (issue #2058), so a record-less pre-frozen install is
|
|
652
|
-
// reported as-is — its migration belongs to the record-based paths
|
|
653
|
-
// (listInstallations), never to a read surface.
|
|
654
411
|
if (isVersionInstalled(agent, entry.name)) {
|
|
655
412
|
versions.push(entry.name);
|
|
656
413
|
}
|
|
@@ -659,55 +416,23 @@ export function listInstalledVersions(agent) {
|
|
|
659
416
|
installedVersionsCache.set(agent, { stamp, versions });
|
|
660
417
|
return collapseGlobalBinaryVersions(agent, versions);
|
|
661
418
|
}
|
|
662
|
-
/**
|
|
663
|
-
* Get the global default version for an agent.
|
|
664
|
-
*/
|
|
665
419
|
export function getGlobalDefault(agent) {
|
|
666
420
|
const meta = readMeta();
|
|
667
421
|
return meta.agents?.[agent] || null;
|
|
668
422
|
}
|
|
669
|
-
/**
|
|
670
|
-
* Get the preferred ISOLATED version for an agent — the copy a bare
|
|
671
|
-
* `agents run <agent>` falls back to when there is no global default.
|
|
672
|
-
*/
|
|
673
423
|
export function getIsolatedDefault(agent) {
|
|
674
424
|
const meta = readMeta();
|
|
675
425
|
return meta.isolatedAgents?.[agent] || null;
|
|
676
426
|
}
|
|
677
|
-
/**
|
|
678
|
-
* Path to the sentinel file that marks a version as an isolated install.
|
|
679
|
-
*
|
|
680
|
-
* It lives at the version-dir root (a sibling of `home/`), so it is carried
|
|
681
|
-
* along when `softDeleteVersionDir` moves the whole directory to trash and is
|
|
682
|
-
* restored intact by `agents restore`. Its mere presence is the marker;
|
|
683
|
-
* the contents are an informational timestamp only.
|
|
684
|
-
*/
|
|
685
427
|
function getIsolatedMarkerPath(agent, version) {
|
|
686
428
|
return path.join(getVersionDir(agent, version), '.isolated');
|
|
687
429
|
}
|
|
688
|
-
/**
|
|
689
|
-
* Mark an installed version as an isolated install (`agents add --isolated`).
|
|
690
|
-
*
|
|
691
|
-
* Isolated versions are fully self-contained: they never become the global
|
|
692
|
-
* default and never own the user's real `~/.<agent>` config directory. This
|
|
693
|
-
* flag is what keeps every "adopting" code path away from them.
|
|
694
|
-
*/
|
|
695
430
|
export function markVersionIsolated(agent, version) {
|
|
696
431
|
fs.writeFileSync(getIsolatedMarkerPath(agent, version), `${new Date().toISOString()}\n`, { mode: 0o600 });
|
|
697
432
|
}
|
|
698
|
-
/**
|
|
699
|
-
* Whether a version was installed as an isolated install (`agents add --isolated`).
|
|
700
|
-
*
|
|
701
|
-
* Used to exclude such versions from global-default promotion and from any
|
|
702
|
-
* flow that would touch the user's real `~/.<agent>` directory, and to gate the
|
|
703
|
-
* `--isolated` safety check on `agents remove`.
|
|
704
|
-
*/
|
|
705
433
|
export function isVersionIsolated(agent, version) {
|
|
706
434
|
return fs.existsSync(getIsolatedMarkerPath(agent, version));
|
|
707
435
|
}
|
|
708
|
-
/**
|
|
709
|
-
* Get version specified in a project-root agents.yaml (not the user ~/.agents/.system/agents.yaml).
|
|
710
|
-
*/
|
|
711
436
|
export function getProjectVersion(agent, startPath) {
|
|
712
437
|
const userAgentsYaml = path.join(getUserAgentsDir(), 'agents.yaml');
|
|
713
438
|
let dir = path.resolve(startPath);
|
|
@@ -730,49 +455,28 @@ export function getProjectVersion(agent, startPath) {
|
|
|
730
455
|
if (err instanceof Error && err.message.startsWith('Invalid version in agents.yaml')) {
|
|
731
456
|
throw err;
|
|
732
457
|
}
|
|
733
|
-
// Ignore parsing errors
|
|
734
458
|
}
|
|
735
459
|
}
|
|
736
460
|
dir = path.dirname(dir);
|
|
737
461
|
}
|
|
738
462
|
return null;
|
|
739
463
|
}
|
|
740
|
-
/**
|
|
741
|
-
* Get the resolved version for an agent in the current context.
|
|
742
|
-
* Checks project manifest first, then global default.
|
|
743
|
-
*/
|
|
744
464
|
export function resolveVersion(agent, projectPath) {
|
|
745
|
-
// Check project manifest
|
|
746
465
|
if (projectPath) {
|
|
747
466
|
const version = getProjectVersion(agent, projectPath);
|
|
748
467
|
if (version) {
|
|
749
468
|
return version;
|
|
750
469
|
}
|
|
751
470
|
}
|
|
752
|
-
// Fall back to global default
|
|
753
471
|
const globalDefault = getGlobalDefault(agent);
|
|
754
472
|
if (globalDefault)
|
|
755
473
|
return globalDefault;
|
|
756
|
-
// Last resort: the preferred isolated copy. Strictly a fallback — a global
|
|
757
|
-
// default always wins, so nothing changes for anyone who has one. Without this,
|
|
758
|
-
// an isolated-only user cannot reach their installs by bare name at all: the
|
|
759
|
-
// resolution chain ended here, so `agents run codex` fell through to whatever
|
|
760
|
-
// `codex` meant on PATH, and only `agents run codex@<version>` worked.
|
|
761
|
-
//
|
|
762
|
-
// The pointer is verified on read. It survives in agents.yaml across a trash +
|
|
763
|
-
// restore cycle, but a version removed for good would otherwise leave a dangling
|
|
764
|
-
// pin that resolves to a directory that is not there.
|
|
765
474
|
const isolated = getIsolatedDefault(agent);
|
|
766
475
|
if (isolated && isVersionInstalled(agent, isolated) && isVersionIsolated(agent, isolated)) {
|
|
767
476
|
return isolated;
|
|
768
477
|
}
|
|
769
478
|
return null;
|
|
770
479
|
}
|
|
771
|
-
/**
|
|
772
|
-
* Get the effective HOME directory for an agent.
|
|
773
|
-
* If version-managed with a resolved version, returns the version's home directory.
|
|
774
|
-
* Otherwise returns the real HOME.
|
|
775
|
-
*/
|
|
776
480
|
export function getEffectiveHome(agentId) {
|
|
777
481
|
const resolved = resolveVersion(agentId, process.cwd());
|
|
778
482
|
if (resolved && isVersionInstalled(agentId, resolved)) {
|
|
@@ -3,71 +3,27 @@ import type { Installation, UpdateStrategyId } from './types.js';
|
|
|
3
3
|
export interface UpdateContext {
|
|
4
4
|
agent: AgentId;
|
|
5
5
|
installation: Installation;
|
|
6
|
-
/** What the user asked for: `latest`, `oldest`, or a concrete release. */
|
|
7
6
|
requested: string;
|
|
8
7
|
onProgress?: (message: string) => void;
|
|
9
8
|
}
|
|
10
|
-
/** A release fetched but not yet live. */
|
|
11
9
|
export interface StagedRelease {
|
|
12
10
|
release: string;
|
|
13
|
-
/** Extensionless launch target to probe. Windows appends `.cmd` (see verifyBinaryLaunches). */
|
|
14
11
|
binary: string;
|
|
15
|
-
/** HOME the probe runs under — always the installation's own home. */
|
|
16
12
|
home: string;
|
|
17
|
-
/** Scratch dir to delete once the run finishes, or null when nothing was staged. */
|
|
18
13
|
stagingDir: string | null;
|
|
19
14
|
}
|
|
20
|
-
/** Undo/finish handles returned by a commit, so update.ts owns the transaction. */
|
|
21
15
|
export interface CommitHandles {
|
|
22
|
-
/** Put the previous release back. Must be safe to call once, immediately after commit. */
|
|
23
16
|
undo: () => void;
|
|
24
|
-
/** Discard the undo material. Called only once the update is durable. */
|
|
25
17
|
finalize: () => void;
|
|
26
18
|
}
|
|
27
|
-
/**
|
|
28
|
-
* How one class of harness replaces the release inside a frozen installation.
|
|
29
|
-
*
|
|
30
|
-
* Chosen from the registry's declared capabilities — never from an agent id — so
|
|
31
|
-
* a harness added to `AGENTS` is covered the day it lands. See
|
|
32
|
-
* {@link selectUpdateStrategy}.
|
|
33
|
-
*/
|
|
34
19
|
export interface UpdateStrategy {
|
|
35
20
|
readonly id: UpdateStrategyId;
|
|
36
|
-
/**
|
|
37
|
-
* True only when `undo` can restore the PREVIOUS RELEASE in full — i.e. the
|
|
38
|
-
* vendor artifact lives inside this installation's own directory and was
|
|
39
|
-
* fetched without mutating anything global.
|
|
40
|
-
*
|
|
41
|
-
* It is not a switch for whether the orchestrator rolls back: `undo` always
|
|
42
|
-
* runs on a post-commit failure, because every strategy that displaces
|
|
43
|
-
* something must put it back. What this flag changes is what the user is
|
|
44
|
-
* told, since for an installer-driven harness the global binary the vendor
|
|
45
|
-
* replaced is not ours to restore.
|
|
46
|
-
*/
|
|
47
21
|
readonly transactional: boolean;
|
|
48
|
-
/** True when several installations of this agent share one binary on disk. */
|
|
49
22
|
readonly sharedBinary: boolean;
|
|
50
|
-
/** Turn `requested` into the concrete release this run will install. */
|
|
51
23
|
resolveTarget(ctx: UpdateContext): Promise<string>;
|
|
52
|
-
/** Fetch the target release into a place that is not yet live. */
|
|
53
24
|
stage(ctx: UpdateContext, target: string): Promise<StagedRelease>;
|
|
54
|
-
/** Make the staged release the live one. */
|
|
55
25
|
commit(ctx: UpdateContext, staged: StagedRelease): Promise<CommitHandles>;
|
|
56
26
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Pick the update strategy for an agent from the registry's declared shape.
|
|
59
|
-
*
|
|
60
|
-
* The ordering mirrors `installVersion`: an npm package wins whenever one is
|
|
61
|
-
* declared (kimi declares both a package and a script, and its package is what
|
|
62
|
-
* `agents add` installs), then a single shared global binary, then a per-install
|
|
63
|
-
* script. Anything else is an integration boundary we do not handle — it throws
|
|
64
|
-
* rather than silently no-opping and reporting success.
|
|
65
|
-
*/
|
|
66
27
|
export declare function selectUpdateStrategy(agent: AgentId): UpdateStrategy;
|
|
67
|
-
/**
|
|
68
|
-
* Whether a concrete release can be requested for this agent at all. False for
|
|
69
|
-
* every self-updating harness — their installers carry no version token.
|
|
70
|
-
*/
|
|
71
28
|
export declare function supportsPinnedUpdate(agent: AgentId): boolean;
|
|
72
|
-
/** Guard a user-supplied release token before it reaches a path or a package spec. */
|
|
73
29
|
export declare function assertValidRelease(requested: string): void;
|