@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** A single install method. Exactly one of the keys (npm/brew/script/binary) is set. */
|
|
2
1
|
export type InstallMethod = {
|
|
3
2
|
npm: string;
|
|
4
3
|
} | {
|
|
@@ -8,21 +7,12 @@ export type InstallMethod = {
|
|
|
8
7
|
} | {
|
|
9
8
|
binary: BinarySpec;
|
|
10
9
|
};
|
|
11
|
-
/** Per-platform binary download spec. Keys are `<os>-<arch>` (e.g. darwin-arm64). */
|
|
12
10
|
export interface BinarySpec {
|
|
13
11
|
[platform: string]: {
|
|
14
12
|
url: string;
|
|
15
|
-
/** Path inside the archive (relative). Required when url is a .tar.gz/.zip. */
|
|
16
13
|
extract?: string;
|
|
17
14
|
};
|
|
18
15
|
}
|
|
19
|
-
/**
|
|
20
|
-
* How to verify a CLI is installed. Structured so we can dispatch to spawnSync
|
|
21
|
-
* with an argv array — never through a shell.
|
|
22
|
-
*
|
|
23
|
-
* `which` — just check PATH for `cmd`.
|
|
24
|
-
* `version` — spawn `cmd` with `args` and require exit 0.
|
|
25
|
-
*/
|
|
26
16
|
export type CheckSpec = {
|
|
27
17
|
kind: 'which';
|
|
28
18
|
cmd: string;
|
|
@@ -31,135 +21,87 @@ export type CheckSpec = {
|
|
|
31
21
|
cmd: string;
|
|
32
22
|
args: string[];
|
|
33
23
|
};
|
|
34
|
-
/** Parsed CLI manifest. */
|
|
35
24
|
export interface CliManifest {
|
|
36
|
-
/** Name as it appears on the command line (e.g. "higgsfield"). */
|
|
37
25
|
name: string;
|
|
38
|
-
/** One-line summary shown in `agents cli list`. */
|
|
39
26
|
description?: string;
|
|
40
|
-
/** Project homepage; used in detail view + post-install messaging. */
|
|
41
27
|
homepage?: string;
|
|
42
|
-
/** Structured check spec; never a raw shell command. */
|
|
43
28
|
check: CheckSpec;
|
|
44
|
-
/** Install methods tried in order; first one whose tool is available is used. */
|
|
45
29
|
install: InstallMethod[];
|
|
46
|
-
/** Message printed after successful install — typically auth instructions. */
|
|
47
30
|
postInstall?: string;
|
|
48
|
-
/** Origin layer this manifest was resolved from. */
|
|
49
31
|
source: string;
|
|
50
|
-
/** Absolute path to the yaml file. */
|
|
51
32
|
path: string;
|
|
52
33
|
}
|
|
53
|
-
/** A validation problem in a CLI manifest. */
|
|
54
34
|
interface CliManifestError {
|
|
55
|
-
/** Filename that failed to parse. */
|
|
56
35
|
file: string;
|
|
57
|
-
/** Human-readable reason. */
|
|
58
36
|
reason: string;
|
|
59
37
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Parse a single CLI manifest from its YAML contents.
|
|
62
|
-
* Returns a manifest on success; throws on schema violations so callers can
|
|
63
|
-
* decide whether to surface or swallow the error per file.
|
|
64
|
-
*/
|
|
65
38
|
export declare function parseCliManifest(contents: string, opts: {
|
|
66
39
|
name: string;
|
|
67
40
|
source: string;
|
|
68
41
|
path: string;
|
|
69
42
|
}): CliManifest;
|
|
70
|
-
/**
|
|
71
|
-
* Discover all CLI manifests resolvable from the current cwd. Returns valid
|
|
72
|
-
* manifests and any parse errors separately so the CLI can show both.
|
|
73
|
-
*/
|
|
74
43
|
export declare function listCliManifests(cwd?: string): {
|
|
75
44
|
manifests: CliManifest[];
|
|
76
45
|
errors: CliManifestError[];
|
|
77
46
|
};
|
|
78
|
-
/** Resolve a single CLI manifest by name. Returns null when not declared. */
|
|
79
47
|
export declare function resolveCliManifest(name: string, cwd?: string): CliManifest | null;
|
|
80
48
|
export declare function hasCommand(cmd: string): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Run the manifest's check. Dispatches on CheckSpec.kind — never invokes a
|
|
83
|
-
* shell, never interpolates strings into a command line.
|
|
84
|
-
*/
|
|
85
49
|
export declare function isCliInstalled(manifest: CliManifest): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Async, non-blocking sibling of {@link isCliInstalled}. Same dispatch and
|
|
88
|
-
* Windows-shim retry, but over `execFile` so many manifests can be checked
|
|
89
|
-
* concurrently — the fix for RUSH-2136, where `agents doctor --json` ran a dozen+
|
|
90
|
-
* blocking 10s-timeout `spawnSync` checks SERIALLY (measured ~136s on an idle
|
|
91
|
-
* box). `execFile`'s `timeout` still SIGKILLs a wedged check, so a single
|
|
92
|
-
* hanging probe can't stall the whole set past 10s.
|
|
93
|
-
*/
|
|
94
50
|
export declare function isCliInstalledAsync(manifest: CliManifest): Promise<boolean>;
|
|
95
|
-
/**
|
|
96
|
-
* Pick the first install method whose required host tool is available.
|
|
97
|
-
* Returns null when none of the declared methods can run on this host.
|
|
98
|
-
*/
|
|
99
51
|
export declare function selectInstallMethod(manifest: CliManifest): InstallMethod | null;
|
|
100
|
-
/** Render a CheckSpec back to a human-readable command string (display only). */
|
|
101
52
|
export declare function describeCheck(check: CheckSpec): string;
|
|
102
|
-
/** Short description of a method for display. */
|
|
103
53
|
export declare function describeMethod(method: InstallMethod): string;
|
|
104
54
|
export interface InstallResult {
|
|
105
55
|
manifest: CliManifest;
|
|
106
|
-
/** Method that was attempted (null if no compatible method existed). */
|
|
107
56
|
method: InstallMethod | null;
|
|
108
|
-
/** True when the post-install `check` passed. */
|
|
109
57
|
installed: boolean;
|
|
110
|
-
/** stdout/stderr captured from the install command, for surfacing on failure. */
|
|
111
58
|
output?: string;
|
|
112
|
-
/** Set when the install runner threw or exited non-zero. */
|
|
113
59
|
error?: string;
|
|
114
60
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Resolve the directory a `binary` install method downloads/extracts into.
|
|
117
|
-
*
|
|
118
|
-
* `/usr/local/bin` used to be hardcoded here, which fails on Apple Silicon
|
|
119
|
-
* Macs where that directory is root-owned and not user-writable (Homebrew
|
|
120
|
-
* moved on to /opt/homebrew but left /usr/local/bin behind). Resolution
|
|
121
|
-
* order:
|
|
122
|
-
* 1. `AGENTS_CLI_BIN_DIR` — explicit override, used as-is when set.
|
|
123
|
-
* 2. `~/.local/bin` — the XDG user-bin dir already used for shims (see
|
|
124
|
-
* posixpath.ts / shims.ts); created with mkdir -p if missing.
|
|
125
|
-
* 3. `/usr/local/bin` — last resort, for hosts where it's still writable.
|
|
126
|
-
* When it isn't either, throw an actionable error naming the env var and
|
|
127
|
-
* ~/.local/bin instead of letting curl/tar fail with a bare EACCES.
|
|
128
|
-
*
|
|
129
|
-
* Called once per install/dry-run so the same directory is used everywhere
|
|
130
|
-
* that method is described or executed.
|
|
131
|
-
*/
|
|
132
61
|
export declare function resolveBinDir(): string;
|
|
133
|
-
/**
|
|
134
|
-
* Display-only rendering of how a method would be run, for `--dry-run` and
|
|
135
|
-
* status output. Not used by installCli — execution goes through runInstallMethod
|
|
136
|
-
* which dispatches to spawnSync with argv arrays.
|
|
137
|
-
*/
|
|
138
62
|
export declare function buildInstallCommand(method: InstallMethod): string;
|
|
139
|
-
/**
|
|
140
|
-
* Install a single CLI by running its first compatible method. Streams the
|
|
141
|
-
* underlying command's output to the parent terminal so users see brew/npm
|
|
142
|
-
* progress live. Verifies success by re-running `check`.
|
|
143
|
-
*/
|
|
144
63
|
export declare function installCli(manifest: CliManifest, opts?: {
|
|
145
64
|
dryRun?: boolean;
|
|
65
|
+
logToStderr?: boolean;
|
|
146
66
|
}): InstallResult;
|
|
67
|
+
export declare function npmPin(manifest: CliManifest): {
|
|
68
|
+
pkg: string;
|
|
69
|
+
version: string;
|
|
70
|
+
} | null;
|
|
71
|
+
export declare function installedCliVersion(manifest: CliManifest): Promise<string | null>;
|
|
72
|
+
export declare function owningNpmPrefix(cmd: string, pkg: string): string | null;
|
|
73
|
+
export type CliUpgradeResult = {
|
|
74
|
+
name: string;
|
|
75
|
+
status: 'current';
|
|
76
|
+
version: string;
|
|
77
|
+
} | {
|
|
78
|
+
name: string;
|
|
79
|
+
status: 'upgraded';
|
|
80
|
+
from: string;
|
|
81
|
+
to: string;
|
|
82
|
+
} | {
|
|
83
|
+
name: string;
|
|
84
|
+
status: 'skipped' | 'failed';
|
|
85
|
+
reason: string;
|
|
86
|
+
};
|
|
87
|
+
export declare const UPGRADE_TIMEOUT_MS: number;
|
|
88
|
+
export declare function upgradeCliToPin(manifest: CliManifest, opts?: {
|
|
89
|
+
signal?: AbortSignal;
|
|
90
|
+
deadlineAt?: number;
|
|
91
|
+
}): Promise<CliUpgradeResult>;
|
|
92
|
+
export declare function upgradeOutdatedClis(opts?: {
|
|
93
|
+
signal?: AbortSignal;
|
|
94
|
+
deadlineAt?: number;
|
|
95
|
+
cwd?: string;
|
|
96
|
+
}): Promise<CliUpgradeResult[]>;
|
|
147
97
|
interface CliStatus {
|
|
148
98
|
manifest: CliManifest;
|
|
149
99
|
installed: boolean;
|
|
150
100
|
}
|
|
151
|
-
/** Convenience: list all manifests + their installed-on-host status. */
|
|
152
101
|
export declare function listCliStatus(cwd?: string): {
|
|
153
102
|
statuses: CliStatus[];
|
|
154
103
|
errors: CliManifestError[];
|
|
155
104
|
};
|
|
156
|
-
/**
|
|
157
|
-
* Async sibling of {@link listCliStatus} that probes every manifest CONCURRENTLY
|
|
158
|
-
* (RUSH-2136). The sync version runs each blocking `spawnSync` check one after
|
|
159
|
-
* another, so a dozen host CLIs whose checks are slow serialize into a
|
|
160
|
-
* multi-minute stall on `agents doctor --json`. This awaits them in parallel, so
|
|
161
|
-
* total wall time is the slowest single check (bounded at 10s), not their sum.
|
|
162
|
-
*/
|
|
163
105
|
export declare function listCliStatusAsync(cwd?: string): Promise<{
|
|
164
106
|
statuses: CliStatus[];
|
|
165
107
|
errors: CliManifestError[];
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI tool resources — declarative manifests for command-line binaries the user
|
|
3
|
-
* wants installed on the host (e.g. higgsfield, gh, glab).
|
|
4
|
-
*
|
|
5
|
-
* A CLI resource is a YAML file under <repo>/cli/<name>.yaml. Resolution follows
|
|
6
|
-
* the same project > user > system > extra-repo precedence as other resources,
|
|
7
|
-
* but unlike skills/commands/hooks, CLI resources are NOT copied into per-agent
|
|
8
|
-
* version homes — they install binaries onto the host PATH. The relationship is
|
|
9
|
-
* "Brewfile-style": declare once in ~/.agents/cli/, install on any new machine.
|
|
10
|
-
*
|
|
11
|
-
* Security: every field that becomes a child-process argument is validated
|
|
12
|
-
* against a strict allowlist and dispatched via spawnSync with an argv array.
|
|
13
|
-
* Nothing here ever runs through a shell — manifests can come from project repos
|
|
14
|
-
* or pulled extras, so anything that would let a manifest author smuggle in
|
|
15
|
-
* `;`, `$(...)`, backticks, redirects, or pipe operators is a remote-code-
|
|
16
|
-
* execution sink.
|
|
17
|
-
*/
|
|
18
1
|
import * as fs from 'fs';
|
|
19
2
|
import * as os from 'os';
|
|
20
3
|
import * as path from 'path';
|
|
@@ -25,14 +8,10 @@ import { probeCapture } from './probe.js';
|
|
|
25
8
|
import { composeWin32CommandLine } from './platform/index.js';
|
|
26
9
|
import { execFileShellSpec } from './platform/exec.js';
|
|
27
10
|
import { localBinDir } from './platform/posixpath.js';
|
|
28
|
-
|
|
29
|
-
/** Token allowed inside `check:` strings — letters, digits, underscore, dot, slash, dash. */
|
|
11
|
+
import { compareVersions } from './agent-spec/primitives.js';
|
|
30
12
|
const SAFE_CHECK_TOKEN = /^[a-zA-Z0-9_./-]+$/;
|
|
31
|
-
/** npm package name with optional scope and optional version/tag. */
|
|
32
13
|
const NPM_PACKAGE = /^(@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*(@[a-zA-Z0-9._-]+)?$/;
|
|
33
|
-
/** Homebrew formula name (and optional tap prefix). */
|
|
34
14
|
const BREW_FORMULA = /^([a-z0-9][a-z0-9_.-]*\/[a-z0-9][a-z0-9_.-]*\/)?[a-z0-9][a-z0-9_.+-]*$/;
|
|
35
|
-
/** Path segment inside a tarball — no leading slash, no `..`, no shell metas. */
|
|
36
15
|
const SAFE_PATH_SEGMENT = /^[a-zA-Z0-9_./-]+$/;
|
|
37
16
|
function assertSafeCheckToken(tok) {
|
|
38
17
|
if (!SAFE_CHECK_TOKEN.test(tok)) {
|
|
@@ -66,13 +45,6 @@ function assertSafePathSegment(seg) {
|
|
|
66
45
|
throw new Error(`extract path is not allowlisted: ${JSON.stringify(seg)}`);
|
|
67
46
|
}
|
|
68
47
|
}
|
|
69
|
-
// ─── Parsing ─────────────────────────────────────────────────────────────────
|
|
70
|
-
/**
|
|
71
|
-
* Parse a `check:` field into a CheckSpec. Accepts either a structured object
|
|
72
|
-
* (`{ kind: 'which'|'version', cmd, args? }`) or a legacy whitespace-separated
|
|
73
|
-
* string. String form is split on whitespace and each token is validated against
|
|
74
|
-
* SAFE_CHECK_TOKEN — manifests cannot smuggle in shell metacharacters.
|
|
75
|
-
*/
|
|
76
48
|
function parseCheckSpec(raw, defaultName) {
|
|
77
49
|
if (raw == null) {
|
|
78
50
|
assertSafeCheckToken(defaultName);
|
|
@@ -114,21 +86,7 @@ function parseCheckSpec(raw, defaultName) {
|
|
|
114
86
|
}
|
|
115
87
|
throw new Error('check must be a string or an object with { kind, cmd, args? }');
|
|
116
88
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Parse a single CLI manifest from its YAML contents.
|
|
119
|
-
* Returns a manifest on success; throws on schema violations so callers can
|
|
120
|
-
* decide whether to surface or swallow the error per file.
|
|
121
|
-
*/
|
|
122
89
|
export function parseCliManifest(contents, opts) {
|
|
123
|
-
// Tolerant parse. A manifest may legitimately carry OS-specific strings — a
|
|
124
|
-
// Windows path like `C:\Users\...` embedded in a double-quoted YAML scalar
|
|
125
|
-
// trips YAML's escape rules (`\U` is an invalid escape) and makes the strict
|
|
126
|
-
// `yaml.parse` throw a parser error. That throw must NOT pre-empt the
|
|
127
|
-
// security validation below: the per-field allowlist checks (unsafe tokens,
|
|
128
|
-
// non-https URLs, path traversal) are the authoritative gate on a hostile
|
|
129
|
-
// manifest. parseDocument collects those escape errors instead of throwing
|
|
130
|
-
// and still recovers the scalar values, so the dangerous content reaches
|
|
131
|
-
// assertSafeCheckToken / assertNpmPackage and is rejected on its merits.
|
|
132
90
|
const raw = yaml.parseDocument(contents, { strict: false }).toJS();
|
|
133
91
|
if (!raw || typeof raw !== 'object') {
|
|
134
92
|
throw new Error('manifest must be a YAML object');
|
|
@@ -214,10 +172,6 @@ export function parseCliManifest(contents, opts) {
|
|
|
214
172
|
path: opts.path,
|
|
215
173
|
};
|
|
216
174
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Discover all CLI manifests resolvable from the current cwd. Returns valid
|
|
219
|
-
* manifests and any parse errors separately so the CLI can show both.
|
|
220
|
-
*/
|
|
221
175
|
export function listCliManifests(cwd) {
|
|
222
176
|
const resolved = listResources('clis', cwd);
|
|
223
177
|
const manifests = [];
|
|
@@ -240,7 +194,6 @@ export function listCliManifests(cwd) {
|
|
|
240
194
|
}
|
|
241
195
|
return { manifests, errors };
|
|
242
196
|
}
|
|
243
|
-
/** Resolve a single CLI manifest by name. Returns null when not declared. */
|
|
244
197
|
export function resolveCliManifest(name, cwd) {
|
|
245
198
|
const resolved = resolveResource('clis', name, cwd);
|
|
246
199
|
if (!resolved)
|
|
@@ -254,26 +207,15 @@ export function resolveCliManifest(name, cwd) {
|
|
|
254
207
|
path: resolved.path,
|
|
255
208
|
});
|
|
256
209
|
}
|
|
257
|
-
// ─── Host detection ──────────────────────────────────────────────────────────
|
|
258
|
-
/**
|
|
259
|
-
* Return true if a command resolves on the current PATH. Uses POSIX `command -v`
|
|
260
|
-
* (or `where` on Windows) via spawn argv (no shell); results are cached for the
|
|
261
|
-
* lifetime of the process.
|
|
262
|
-
*/
|
|
263
210
|
const cmdExistsCache = new Map();
|
|
264
211
|
export function hasCommand(cmd) {
|
|
265
212
|
if (cmdExistsCache.has(cmd))
|
|
266
213
|
return cmdExistsCache.get(cmd);
|
|
267
214
|
let ok;
|
|
268
215
|
if (process.platform === 'win32') {
|
|
269
|
-
// `sh` only exists when Git Bash is installed; `where` is the native PATH
|
|
270
|
-
// probe (resolves .exe/.cmd/.bat via PATHEXT). Argv keeps `cmd` uninterpolated.
|
|
271
216
|
ok = spawnSync('where', [cmd], { stdio: 'ignore' }).status === 0;
|
|
272
217
|
}
|
|
273
218
|
else {
|
|
274
|
-
// `command` is a shell builtin on most POSIX shells; invoking `sh -c 'command -v X'`
|
|
275
|
-
// with X as an *argument* (not interpolated) is the safe path. `cmd` may be passed
|
|
276
|
-
// by callers that haven't validated it, so we route via argv to neutralize metas.
|
|
277
219
|
ok = spawnSync('sh', ['-c', 'command -v "$1" >/dev/null 2>&1', '_', cmd], {
|
|
278
220
|
stdio: 'ignore',
|
|
279
221
|
}).status === 0;
|
|
@@ -281,10 +223,6 @@ export function hasCommand(cmd) {
|
|
|
281
223
|
cmdExistsCache.set(cmd, ok);
|
|
282
224
|
return ok;
|
|
283
225
|
}
|
|
284
|
-
/**
|
|
285
|
-
* Run the manifest's check. Dispatches on CheckSpec.kind — never invokes a
|
|
286
|
-
* shell, never interpolates strings into a command line.
|
|
287
|
-
*/
|
|
288
226
|
export function isCliInstalled(manifest) {
|
|
289
227
|
const c = manifest.check;
|
|
290
228
|
if (c.kind === 'which') {
|
|
@@ -294,11 +232,6 @@ export function isCliInstalled(manifest) {
|
|
|
294
232
|
const result = spawnSync(c.cmd, c.args, { stdio: 'ignore', timeout: 10_000 });
|
|
295
233
|
if (result.status === 0)
|
|
296
234
|
return true;
|
|
297
|
-
// On Windows the PATH entry point is often a `.cmd`/`.bat` shim (npm installs,
|
|
298
|
-
// script installers), which Node refuses to spawn without a shell (ENOENT /
|
|
299
|
-
// EINVAL). A failed *spawn* — not a failed run — gets one retry through the
|
|
300
|
-
// shell, as a single pre-composed line (DEP0190-safe). Check tokens are
|
|
301
|
-
// SAFE_CHECK_TOKEN-validated at parse time, so the line cannot inject.
|
|
302
235
|
if (process.platform === 'win32' && result.error) {
|
|
303
236
|
const line = composeWin32CommandLine(c.cmd, c.args);
|
|
304
237
|
const retry = spawnSync(line, { stdio: 'ignore', timeout: 10_000, shell: true });
|
|
@@ -306,29 +239,13 @@ export function isCliInstalled(manifest) {
|
|
|
306
239
|
}
|
|
307
240
|
return false;
|
|
308
241
|
}
|
|
309
|
-
/**
|
|
310
|
-
* Async, non-blocking sibling of {@link isCliInstalled}. Same dispatch and
|
|
311
|
-
* Windows-shim retry, but over `execFile` so many manifests can be checked
|
|
312
|
-
* concurrently — the fix for RUSH-2136, where `agents doctor --json` ran a dozen+
|
|
313
|
-
* blocking 10s-timeout `spawnSync` checks SERIALLY (measured ~136s on an idle
|
|
314
|
-
* box). `execFile`'s `timeout` still SIGKILLs a wedged check, so a single
|
|
315
|
-
* hanging probe can't stall the whole set past 10s.
|
|
316
|
-
*/
|
|
317
242
|
export function isCliInstalledAsync(manifest) {
|
|
318
243
|
const c = manifest.check;
|
|
319
244
|
if (c.kind === 'which') {
|
|
320
245
|
cmdExistsCache.delete(c.cmd);
|
|
321
246
|
return Promise.resolve(hasCommand(c.cmd));
|
|
322
247
|
}
|
|
323
|
-
// probeCapture, not bare execFile: a checked CLI can fork children of its
|
|
324
|
-
// own (copilot's platform-binary downloader), and settling without reaping
|
|
325
|
-
// the probe's process group would orphan them mid-write (RUSH-3028).
|
|
326
248
|
return probeCapture(c.cmd, c.args, 10_000).then(() => true, (err) => {
|
|
327
|
-
// A spawn failure (as opposed to a non-zero exit) surfaces as a string
|
|
328
|
-
// errno code (ENOENT/EINVAL) on the rejection; a non-zero exit or
|
|
329
|
-
// timeout carries no errno. On Windows a `.cmd`/`.bat` shim spawn-fails
|
|
330
|
-
// without a shell — retry once through the shell, exactly as the sync
|
|
331
|
-
// path does.
|
|
332
249
|
const spawnFailed = typeof err.code === 'string';
|
|
333
250
|
if (process.platform === 'win32' && spawnFailed) {
|
|
334
251
|
const line = composeWin32CommandLine(c.cmd, c.args);
|
|
@@ -339,11 +256,6 @@ export function isCliInstalledAsync(manifest) {
|
|
|
339
256
|
return false;
|
|
340
257
|
});
|
|
341
258
|
}
|
|
342
|
-
// ─── Method selection ────────────────────────────────────────────────────────
|
|
343
|
-
/**
|
|
344
|
-
* Pick the first install method whose required host tool is available.
|
|
345
|
-
* Returns null when none of the declared methods can run on this host.
|
|
346
|
-
*/
|
|
347
259
|
export function selectInstallMethod(manifest) {
|
|
348
260
|
for (const method of manifest.install) {
|
|
349
261
|
if ('npm' in method && hasCommand('npm'))
|
|
@@ -360,11 +272,9 @@ export function selectInstallMethod(manifest) {
|
|
|
360
272
|
}
|
|
361
273
|
return null;
|
|
362
274
|
}
|
|
363
|
-
/** Render a CheckSpec back to a human-readable command string (display only). */
|
|
364
275
|
export function describeCheck(check) {
|
|
365
276
|
return check.kind === 'which' ? check.cmd : `${check.cmd} ${check.args.join(' ')}`.trim();
|
|
366
277
|
}
|
|
367
|
-
/** Short description of a method for display. */
|
|
368
278
|
export function describeMethod(method) {
|
|
369
279
|
if ('npm' in method)
|
|
370
280
|
return `npm install -g ${method.npm}`;
|
|
@@ -376,9 +286,7 @@ export function describeMethod(method) {
|
|
|
376
286
|
const spec = method.binary[key];
|
|
377
287
|
return spec ? `download ${spec.url}` : 'binary download';
|
|
378
288
|
}
|
|
379
|
-
/** Env var that overrides where `binary` installs write their downloaded file(s). */
|
|
380
289
|
const BIN_DIR_ENV = 'AGENTS_CLI_BIN_DIR';
|
|
381
|
-
/** Historical default install dir — kept only as a last-resort fallback. */
|
|
382
290
|
const LEGACY_BIN_DIR = '/usr/local/bin';
|
|
383
291
|
function isWritableDir(dir, opts) {
|
|
384
292
|
try {
|
|
@@ -391,23 +299,6 @@ function isWritableDir(dir, opts) {
|
|
|
391
299
|
return false;
|
|
392
300
|
}
|
|
393
301
|
}
|
|
394
|
-
/**
|
|
395
|
-
* Resolve the directory a `binary` install method downloads/extracts into.
|
|
396
|
-
*
|
|
397
|
-
* `/usr/local/bin` used to be hardcoded here, which fails on Apple Silicon
|
|
398
|
-
* Macs where that directory is root-owned and not user-writable (Homebrew
|
|
399
|
-
* moved on to /opt/homebrew but left /usr/local/bin behind). Resolution
|
|
400
|
-
* order:
|
|
401
|
-
* 1. `AGENTS_CLI_BIN_DIR` — explicit override, used as-is when set.
|
|
402
|
-
* 2. `~/.local/bin` — the XDG user-bin dir already used for shims (see
|
|
403
|
-
* posixpath.ts / shims.ts); created with mkdir -p if missing.
|
|
404
|
-
* 3. `/usr/local/bin` — last resort, for hosts where it's still writable.
|
|
405
|
-
* When it isn't either, throw an actionable error naming the env var and
|
|
406
|
-
* ~/.local/bin instead of letting curl/tar fail with a bare EACCES.
|
|
407
|
-
*
|
|
408
|
-
* Called once per install/dry-run so the same directory is used everywhere
|
|
409
|
-
* that method is described or executed.
|
|
410
|
-
*/
|
|
411
302
|
export function resolveBinDir() {
|
|
412
303
|
const override = process.env[BIN_DIR_ENV];
|
|
413
304
|
if (override && override.trim())
|
|
@@ -422,11 +313,6 @@ export function resolveBinDir() {
|
|
|
422
313
|
` export ${BIN_DIR_ENV}="$HOME/.local/bin"\n` +
|
|
423
314
|
`then re-run the install.`);
|
|
424
315
|
}
|
|
425
|
-
/**
|
|
426
|
-
* Display-only rendering of how a method would be run, for `--dry-run` and
|
|
427
|
-
* status output. Not used by installCli — execution goes through runInstallMethod
|
|
428
|
-
* which dispatches to spawnSync with argv arrays.
|
|
429
|
-
*/
|
|
430
316
|
export function buildInstallCommand(method) {
|
|
431
317
|
if ('npm' in method)
|
|
432
318
|
return `npm install -g ${method.npm}`;
|
|
@@ -446,20 +332,11 @@ export function buildInstallCommand(method) {
|
|
|
446
332
|
? `curl -fsSL ${spec.url} -o /tmp/agents-cli-bin.tgz && tar -xzf /tmp/agents-cli-bin.tgz -C ${binDir} ${spec.extract}`
|
|
447
333
|
: `curl -fsSL ${spec.url} -o ${path.join(binDir, 'agents-cli-downloaded')}`;
|
|
448
334
|
}
|
|
449
|
-
|
|
450
|
-
* Execute an install method via spawnSync with argv arrays. Each branch
|
|
451
|
-
* re-validates the relevant field — defense in depth, since callers may
|
|
452
|
-
* construct InstallMethod values without going through parseCliManifest
|
|
453
|
-
* (tests, future programmatic use).
|
|
454
|
-
*
|
|
455
|
-
* For `script`, the download is staged to a temp file and then exec'd as
|
|
456
|
-
* `sh <file>` so we never need a shell pipe (`curl | sh`).
|
|
457
|
-
*/
|
|
458
|
-
function runInstallMethod(method) {
|
|
335
|
+
function runInstallMethod(method, stdio) {
|
|
459
336
|
if ('npm' in method) {
|
|
460
337
|
assertNpmPackage(method.npm);
|
|
461
338
|
const invocation = execFileShellSpec('npm', ['install', '-g', method.npm]);
|
|
462
|
-
const r = spawnSync(invocation.command, invocation.args, { stdio
|
|
339
|
+
const r = spawnSync(invocation.command, invocation.args, { stdio, shell: invocation.shell });
|
|
463
340
|
if (r.status !== 0) {
|
|
464
341
|
throw new Error(`npm install -g ${method.npm} exited with status ${r.status ?? 'unknown'}`);
|
|
465
342
|
}
|
|
@@ -467,7 +344,7 @@ function runInstallMethod(method) {
|
|
|
467
344
|
}
|
|
468
345
|
if ('brew' in method) {
|
|
469
346
|
assertBrewFormula(method.brew);
|
|
470
|
-
const r = spawnSync('brew', ['install', method.brew], { stdio
|
|
347
|
+
const r = spawnSync('brew', ['install', method.brew], { stdio });
|
|
471
348
|
if (r.status !== 0) {
|
|
472
349
|
throw new Error(`brew install ${method.brew} exited with status ${r.status ?? 'unknown'}`);
|
|
473
350
|
}
|
|
@@ -479,10 +356,10 @@ function runInstallMethod(method) {
|
|
|
479
356
|
try {
|
|
480
357
|
let dl;
|
|
481
358
|
if (hasCommand('curl')) {
|
|
482
|
-
dl = spawnSync('curl', ['-fsSL', method.script, '-o', tmp], { stdio
|
|
359
|
+
dl = spawnSync('curl', ['-fsSL', method.script, '-o', tmp], { stdio });
|
|
483
360
|
}
|
|
484
361
|
else if (hasCommand('wget')) {
|
|
485
|
-
dl = spawnSync('wget', ['-q', '-O', tmp, method.script], { stdio
|
|
362
|
+
dl = spawnSync('wget', ['-q', '-O', tmp, method.script], { stdio });
|
|
486
363
|
}
|
|
487
364
|
else {
|
|
488
365
|
throw new Error('neither curl nor wget is available on PATH');
|
|
@@ -490,7 +367,7 @@ function runInstallMethod(method) {
|
|
|
490
367
|
if (dl.status !== 0) {
|
|
491
368
|
throw new Error(`download of install script failed (status ${dl.status ?? 'unknown'})`);
|
|
492
369
|
}
|
|
493
|
-
const r = spawnSync('sh', [tmp], { stdio
|
|
370
|
+
const r = spawnSync('sh', [tmp], { stdio });
|
|
494
371
|
if (r.status !== 0) {
|
|
495
372
|
throw new Error(`install script exited with status ${r.status ?? 'unknown'}`);
|
|
496
373
|
}
|
|
@@ -499,7 +376,7 @@ function runInstallMethod(method) {
|
|
|
499
376
|
try {
|
|
500
377
|
fs.unlinkSync(tmp);
|
|
501
378
|
}
|
|
502
|
-
catch {
|
|
379
|
+
catch { }
|
|
503
380
|
}
|
|
504
381
|
return;
|
|
505
382
|
}
|
|
@@ -514,12 +391,12 @@ function runInstallMethod(method) {
|
|
|
514
391
|
assertSafePathSegment(spec.extract);
|
|
515
392
|
const tmp = path.join(os.tmpdir(), `agents-cli-bin-${process.pid}-${Date.now()}.tgz`);
|
|
516
393
|
try {
|
|
517
|
-
const dl = spawnSync('curl', ['-fsSL', spec.url, '-o', tmp], { stdio
|
|
394
|
+
const dl = spawnSync('curl', ['-fsSL', spec.url, '-o', tmp], { stdio });
|
|
518
395
|
if (dl.status !== 0) {
|
|
519
396
|
throw new Error(`binary download failed (status ${dl.status ?? 'unknown'})`);
|
|
520
397
|
}
|
|
521
398
|
const x = spawnSync('tar', ['-xzf', tmp, '-C', binDir, spec.extract], {
|
|
522
|
-
stdio
|
|
399
|
+
stdio,
|
|
523
400
|
});
|
|
524
401
|
if (x.status !== 0) {
|
|
525
402
|
throw new Error(`tar extract failed (status ${x.status ?? 'unknown'})`);
|
|
@@ -529,11 +406,11 @@ function runInstallMethod(method) {
|
|
|
529
406
|
try {
|
|
530
407
|
fs.unlinkSync(tmp);
|
|
531
408
|
}
|
|
532
|
-
catch {
|
|
409
|
+
catch { }
|
|
533
410
|
}
|
|
534
411
|
}
|
|
535
412
|
else {
|
|
536
|
-
const r = spawnSync('curl', ['-fsSL', spec.url, '-o', path.join(binDir, 'agents-cli-downloaded')], { stdio
|
|
413
|
+
const r = spawnSync('curl', ['-fsSL', spec.url, '-o', path.join(binDir, 'agents-cli-downloaded')], { stdio });
|
|
537
414
|
if (r.status !== 0) {
|
|
538
415
|
throw new Error(`binary download failed (status ${r.status ?? 'unknown'})`);
|
|
539
416
|
}
|
|
@@ -541,11 +418,6 @@ function runInstallMethod(method) {
|
|
|
541
418
|
return;
|
|
542
419
|
}
|
|
543
420
|
}
|
|
544
|
-
/**
|
|
545
|
-
* Install a single CLI by running its first compatible method. Streams the
|
|
546
|
-
* underlying command's output to the parent terminal so users see brew/npm
|
|
547
|
-
* progress live. Verifies success by re-running `check`.
|
|
548
|
-
*/
|
|
549
421
|
export function installCli(manifest, opts = {}) {
|
|
550
422
|
const method = selectInstallMethod(manifest);
|
|
551
423
|
if (!method) {
|
|
@@ -560,7 +432,7 @@ export function installCli(manifest, opts = {}) {
|
|
|
560
432
|
return { manifest, method, installed: false, output: `[dry-run] would run: ${describeMethod(method)}` };
|
|
561
433
|
}
|
|
562
434
|
try {
|
|
563
|
-
runInstallMethod(method);
|
|
435
|
+
runInstallMethod(method, opts.logToStderr ? ['inherit', 2, 'inherit'] : 'inherit');
|
|
564
436
|
}
|
|
565
437
|
catch (err) {
|
|
566
438
|
return {
|
|
@@ -570,14 +442,113 @@ export function installCli(manifest, opts = {}) {
|
|
|
570
442
|
error: `install command failed: ${err.message}`,
|
|
571
443
|
};
|
|
572
444
|
}
|
|
573
|
-
// Re-check; many installers exit 0 but leave the binary off PATH for the
|
|
574
|
-
// current shell (e.g. brew on a fresh install). Trust `check`, not the
|
|
575
|
-
// installer's exit code.
|
|
576
445
|
cmdExistsCache.delete(manifest.name);
|
|
577
446
|
const installed = isCliInstalled(manifest);
|
|
578
447
|
return { manifest, method, installed };
|
|
579
448
|
}
|
|
580
|
-
|
|
449
|
+
const EXACT_SEMVER = /^\d+\.\d+\.\d+$/;
|
|
450
|
+
const FIRST_SEMVER = /\d+\.\d+\.\d+/;
|
|
451
|
+
export function npmPin(manifest) {
|
|
452
|
+
const method = manifest.install.find((m) => 'npm' in m);
|
|
453
|
+
if (!method)
|
|
454
|
+
return null;
|
|
455
|
+
const at = method.npm.lastIndexOf('@');
|
|
456
|
+
if (at <= 0)
|
|
457
|
+
return null;
|
|
458
|
+
const version = method.npm.slice(at + 1);
|
|
459
|
+
return EXACT_SEMVER.test(version) ? { pkg: method.npm.slice(0, at), version } : null;
|
|
460
|
+
}
|
|
461
|
+
export async function installedCliVersion(manifest) {
|
|
462
|
+
const c = manifest.check;
|
|
463
|
+
if (c.kind !== 'version')
|
|
464
|
+
return null;
|
|
465
|
+
try {
|
|
466
|
+
const { stdout } = await probeCapture(c.cmd, c.args, 10_000);
|
|
467
|
+
return FIRST_SEMVER.exec(stdout)?.[0] ?? null;
|
|
468
|
+
}
|
|
469
|
+
catch {
|
|
470
|
+
return null;
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
function resolveOnPath(cmd) {
|
|
474
|
+
for (const dir of (process.env.PATH ?? '').split(path.delimiter)) {
|
|
475
|
+
if (!dir)
|
|
476
|
+
continue;
|
|
477
|
+
const candidate = path.join(dir, cmd);
|
|
478
|
+
try {
|
|
479
|
+
fs.accessSync(candidate, fs.constants.X_OK);
|
|
480
|
+
return fs.realpathSync(candidate);
|
|
481
|
+
}
|
|
482
|
+
catch {
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
return null;
|
|
486
|
+
}
|
|
487
|
+
export function owningNpmPrefix(cmd, pkg) {
|
|
488
|
+
const real = resolveOnPath(cmd);
|
|
489
|
+
if (!real)
|
|
490
|
+
return null;
|
|
491
|
+
const marker = `${path.sep}lib${path.sep}node_modules${path.sep}${pkg.split('/').join(path.sep)}${path.sep}`;
|
|
492
|
+
const idx = real.indexOf(marker);
|
|
493
|
+
return idx > 0 ? real.slice(0, idx) : null;
|
|
494
|
+
}
|
|
495
|
+
export const UPGRADE_TIMEOUT_MS = 5 * 60_000;
|
|
496
|
+
function runNpmInstall(prefix, spec, signal) {
|
|
497
|
+
return new Promise((resolve, reject) => {
|
|
498
|
+
execFile('npm', ['install', '-g', '--prefix', prefix, spec], { timeout: UPGRADE_TIMEOUT_MS, signal, maxBuffer: 16 * 1024 * 1024 }, (err, _stdout, stderr) => {
|
|
499
|
+
if (err)
|
|
500
|
+
reject(new Error(`npm install -g --prefix ${prefix} ${spec} failed: ${String(stderr).trim().split('\n').pop() ?? err.message}`));
|
|
501
|
+
else
|
|
502
|
+
resolve();
|
|
503
|
+
});
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
export async function upgradeCliToPin(manifest, opts = {}) {
|
|
507
|
+
const { signal, deadlineAt } = opts;
|
|
508
|
+
const name = manifest.name;
|
|
509
|
+
const pin = npmPin(manifest);
|
|
510
|
+
if (!pin)
|
|
511
|
+
return { name, status: 'skipped', reason: 'no exact npm pin' };
|
|
512
|
+
if (manifest.check.kind !== 'version')
|
|
513
|
+
return { name, status: 'skipped', reason: 'check reports no version' };
|
|
514
|
+
const from = await installedCliVersion(manifest);
|
|
515
|
+
if (!from)
|
|
516
|
+
return { name, status: 'skipped', reason: 'not installed or reports no version' };
|
|
517
|
+
if (compareVersions(from, pin.version) >= 0)
|
|
518
|
+
return { name, status: 'current', version: from };
|
|
519
|
+
if (process.platform === 'win32')
|
|
520
|
+
return { name, status: 'skipped', reason: `outdated (${from} < ${pin.version}); unattended upgrade is POSIX-only` };
|
|
521
|
+
const prefix = owningNpmPrefix(manifest.check.cmd, pin.pkg);
|
|
522
|
+
if (!prefix) {
|
|
523
|
+
return { name, status: 'skipped', reason: `outdated (${from} < ${pin.version}) but ${manifest.check.cmd} on PATH is not an npm install of ${pin.pkg}` };
|
|
524
|
+
}
|
|
525
|
+
if (deadlineAt !== undefined && Date.now() + UPGRADE_TIMEOUT_MS > deadlineAt) {
|
|
526
|
+
return { name, status: 'skipped', reason: `outdated (${from} < ${pin.version}); deferred, not enough time left in this tick` };
|
|
527
|
+
}
|
|
528
|
+
try {
|
|
529
|
+
await runNpmInstall(prefix, `${pin.pkg}@${pin.version}`, signal);
|
|
530
|
+
}
|
|
531
|
+
catch (err) {
|
|
532
|
+
return { name, status: 'failed', reason: err.message };
|
|
533
|
+
}
|
|
534
|
+
const to = await installedCliVersion(manifest);
|
|
535
|
+
if (to !== pin.version) {
|
|
536
|
+
return { name, status: 'failed', reason: `installed ${pin.pkg}@${pin.version} into ${prefix} but ${manifest.check.cmd} still reports ${to ?? 'no version'}` };
|
|
537
|
+
}
|
|
538
|
+
return { name, status: 'upgraded', from, to };
|
|
539
|
+
}
|
|
540
|
+
export async function upgradeOutdatedClis(opts = {}) {
|
|
541
|
+
const { manifests } = listCliManifests(opts.cwd);
|
|
542
|
+
const results = [];
|
|
543
|
+
for (const manifest of manifests) {
|
|
544
|
+
if (opts.signal?.aborted)
|
|
545
|
+
break;
|
|
546
|
+
if (manifest.source === 'project')
|
|
547
|
+
continue;
|
|
548
|
+
results.push(await upgradeCliToPin(manifest, opts));
|
|
549
|
+
}
|
|
550
|
+
return results;
|
|
551
|
+
}
|
|
581
552
|
export function listCliStatus(cwd) {
|
|
582
553
|
const { manifests, errors } = listCliManifests(cwd);
|
|
583
554
|
const statuses = manifests.map((manifest) => ({
|
|
@@ -586,13 +557,6 @@ export function listCliStatus(cwd) {
|
|
|
586
557
|
}));
|
|
587
558
|
return { statuses, errors };
|
|
588
559
|
}
|
|
589
|
-
/**
|
|
590
|
-
* Async sibling of {@link listCliStatus} that probes every manifest CONCURRENTLY
|
|
591
|
-
* (RUSH-2136). The sync version runs each blocking `spawnSync` check one after
|
|
592
|
-
* another, so a dozen host CLIs whose checks are slow serialize into a
|
|
593
|
-
* multi-minute stall on `agents doctor --json`. This awaits them in parallel, so
|
|
594
|
-
* total wall time is the slowest single check (bounded at 10s), not their sum.
|
|
595
|
-
*/
|
|
596
560
|
export async function listCliStatusAsync(cwd) {
|
|
597
561
|
const { manifests, errors } = listCliManifests(cwd);
|
|
598
562
|
const statuses = await Promise.all(manifests.map(async (manifest) => ({
|