@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,25 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure argv helpers for `--device` passthrough — build the remote `agents …`
|
|
3
|
-
* invocation and strip the local-only routing flags before forwarding.
|
|
4
|
-
*
|
|
5
|
-
* Kept free of any SSH/process side effects so the two-layer quoting and the
|
|
6
|
-
* flag-stripping edge cases (glued short forms, `=value`, variadic) are unit
|
|
7
|
-
* testable without a live host. The transport itself lives in `ssh-exec.ts`
|
|
8
|
-
* (`sshExec`/`sshStream`); orchestration lives in `passthrough.ts`.
|
|
9
|
-
*/
|
|
10
1
|
import { shellQuote } from '../ssh-exec.js';
|
|
11
2
|
import { pwshLiteral, pwshNativeExecStatements } from '../pwsh.js';
|
|
12
3
|
import { quoteWin32ExecArg } from '../platform/exec.js';
|
|
13
4
|
import { homeRemainder } from '../project-root.js';
|
|
14
5
|
import * as zlib from 'node:zlib';
|
|
15
|
-
/**
|
|
16
|
-
* Remove routing flags (and their values) from a command's args, leaving the
|
|
17
|
-
* rest untouched and in order so they forward verbatim to the remote binary.
|
|
18
|
-
* Handles every form commander accepts: `--host h`, `--host=h`, `-H h`, `-H=h`,
|
|
19
|
-
* and the glued short form `-Hh`.
|
|
20
|
-
*
|
|
21
|
-
* @param args the command's args (already past the command name).
|
|
22
|
-
*/
|
|
23
6
|
export function stripRoutingFlags(args, specs) {
|
|
24
7
|
const out = [];
|
|
25
8
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -35,45 +18,25 @@ export function stripRoutingFlags(args, specs) {
|
|
|
35
18
|
out.push(a);
|
|
36
19
|
continue;
|
|
37
20
|
}
|
|
38
|
-
// Consume a separate value token only for the exact-match (space-separated) forms.
|
|
39
21
|
const isExact = a === `--${spec.long}` || (spec.short && a === `-${spec.short}`);
|
|
40
22
|
if (spec.takesValue && isExact && i + 1 < args.length)
|
|
41
23
|
i++;
|
|
42
24
|
}
|
|
43
25
|
return out;
|
|
44
26
|
}
|
|
45
|
-
/**
|
|
46
|
-
* The routing flags every `--device`-capable command shares. Stripped before
|
|
47
|
-
* forwarding so the flag never leaks to the remote binary (which would
|
|
48
|
-
* re-trigger routing). `--host`/`-H` are kept for backward-compat strip only
|
|
49
|
-
* (they are no longer user-facing routing flags).
|
|
50
|
-
*/
|
|
51
27
|
export const HOST_ROUTING_SPECS = [
|
|
52
28
|
{ long: 'device', short: 'D', takesValue: true },
|
|
53
29
|
{ long: 'host', short: 'H', takesValue: true },
|
|
54
30
|
{ long: 'remote-cwd', takesValue: true },
|
|
55
31
|
];
|
|
56
|
-
/**
|
|
57
|
-
* The forwarding contract for `agents run … --device`: every option of the `run`
|
|
58
|
-
* command is classified here, keyed by its commander attribute name. A
|
|
59
|
-
* commander-introspection test (run-forwarding.test.ts) fails when a run
|
|
60
|
-
* option is missing from this table, so a new option can never silently drop
|
|
61
|
-
* at the SSH boundary again — the exact bug this table exists to prevent
|
|
62
|
-
* (--secrets/--effort/--env/--timeout historically vanished on --host runs
|
|
63
|
-
* with no error).
|
|
64
|
-
*
|
|
65
|
-
* Rejections are value-aware at the call site (exec.ts): `--secrets` only
|
|
66
|
-
* rejects when a bundle was actually passed, `--resume` only when bare.
|
|
67
|
-
*/
|
|
68
32
|
export const RUN_OPTION_FORWARDING = {
|
|
69
|
-
// forwarded — the remote run behaves exactly like a local one
|
|
70
33
|
mode: 'forward',
|
|
71
34
|
effort: 'forward',
|
|
72
35
|
model: 'forward',
|
|
73
36
|
env: 'forward',
|
|
74
37
|
addDir: 'forward',
|
|
75
38
|
name: 'forward',
|
|
76
|
-
resume: 'forward',
|
|
39
|
+
resume: 'forward',
|
|
77
40
|
sessionId: 'forward',
|
|
78
41
|
timeout: 'forward',
|
|
79
42
|
fallback: 'forward',
|
|
@@ -85,31 +48,29 @@ export const RUN_OPTION_FORWARDING = {
|
|
|
85
48
|
budget: 'forward',
|
|
86
49
|
until: 'forward',
|
|
87
50
|
interval: 'forward',
|
|
88
|
-
json: 'forward',
|
|
51
|
+
json: 'forward',
|
|
89
52
|
verbose: 'forward',
|
|
90
|
-
yes: 'forward',
|
|
91
|
-
acp: 'forward',
|
|
92
|
-
autoSecrets: 'forward',
|
|
93
|
-
emitSessionId: 'forward',
|
|
94
|
-
|
|
95
|
-
terminal: 'reject', // opens a tab on THIS machine's desktop; a remote tab is a different request
|
|
53
|
+
yes: 'forward',
|
|
54
|
+
acp: 'forward',
|
|
55
|
+
autoSecrets: 'forward',
|
|
56
|
+
emitSessionId: 'forward',
|
|
57
|
+
terminal: 'reject',
|
|
96
58
|
secrets: 'reject',
|
|
97
59
|
secretsKeys: 'reject',
|
|
98
60
|
allowExpired: 'reject',
|
|
99
61
|
resumeCheckpoint: 'reject',
|
|
100
|
-
|
|
101
|
-
quiet: 'local-only', // the remote argv always carries --quiet
|
|
62
|
+
quiet: 'local-only',
|
|
102
63
|
headless: 'local-only',
|
|
103
|
-
interactive: 'local-only',
|
|
104
|
-
cwd: 'local-only',
|
|
64
|
+
interactive: 'local-only',
|
|
65
|
+
cwd: 'local-only',
|
|
105
66
|
project: 'local-only',
|
|
106
67
|
remoteCwd: 'local-only',
|
|
107
|
-
raw: 'local-only',
|
|
68
|
+
raw: 'local-only',
|
|
108
69
|
tmux: 'local-only',
|
|
109
70
|
disableTmux: 'local-only',
|
|
110
71
|
device: 'local-only',
|
|
111
|
-
where: 'local-only',
|
|
112
|
-
local: 'local-only',
|
|
72
|
+
where: 'local-only',
|
|
73
|
+
local: 'local-only',
|
|
113
74
|
on: 'local-only',
|
|
114
75
|
computer: 'local-only',
|
|
115
76
|
any: 'local-only',
|
|
@@ -117,40 +78,25 @@ export const RUN_OPTION_FORWARDING = {
|
|
|
117
78
|
lease: 'local-only',
|
|
118
79
|
box: 'local-only',
|
|
119
80
|
keepBox: 'local-only',
|
|
120
|
-
fresh: 'local-only',
|
|
121
|
-
reuse: 'local-only',
|
|
122
|
-
bare: 'local-only',
|
|
123
|
-
tailscale: 'local-only',
|
|
124
|
-
copyCreds: 'local-only',
|
|
125
|
-
// Cloud placement: chosen and dispatched from THIS machine via the provider
|
|
126
|
-
// registry; mutually exclusive with --device (placement conflict dies before
|
|
127
|
-
// dispatch), so these never have a remote argv to ride.
|
|
81
|
+
fresh: 'local-only',
|
|
82
|
+
reuse: 'local-only',
|
|
83
|
+
bare: 'local-only',
|
|
84
|
+
tailscale: 'local-only',
|
|
85
|
+
copyCreds: 'local-only',
|
|
128
86
|
cloud: 'local-only',
|
|
129
87
|
provider: 'local-only',
|
|
130
88
|
repo: 'local-only',
|
|
131
89
|
branch: 'local-only',
|
|
132
90
|
cloudEnv: 'local-only',
|
|
133
|
-
authCheck: 'local-only',
|
|
134
|
-
// The notification must land on the box the PERSON is at — the one that
|
|
135
|
-
// dispatched — not on a headless worker with no desktop to post to. The local
|
|
136
|
-
// process follows the remote run to completion, so its exit handler fires at
|
|
137
|
-
// the right moment anyway.
|
|
91
|
+
authCheck: 'local-only',
|
|
138
92
|
notify: 'local-only',
|
|
139
|
-
// --no-trace-sync (traceSync=false) gates the LOCAL run-exit trace auto-sync,
|
|
140
|
-
// which only arms for local runs anyway (exec.ts skips it for --device/--lease).
|
|
141
|
-
// On a --device dispatch the remote box runs its own run-exit sync, so this
|
|
142
|
-
// flag is never forwarded — it is a local-exit-behavior toggle, not remote.
|
|
143
93
|
traceSync: 'local-only',
|
|
144
|
-
// Broadcast mode (agents run --broadcast) is its own fan-out dispatch — mutually
|
|
145
|
-
// exclusive with --host. All broadcast options are local-only; exec.ts handles them
|
|
146
|
-
// before any SSH dispatch path is reached.
|
|
147
94
|
broadcast: 'local-only',
|
|
148
95
|
task: 'local-only',
|
|
149
96
|
listTasks: 'local-only',
|
|
150
97
|
results: 'local-only',
|
|
151
98
|
concurrency: 'local-only',
|
|
152
99
|
};
|
|
153
|
-
/** Actionable messages for value-aware rejections, keyed by attribute name. */
|
|
154
100
|
export const RUN_OPTION_REJECT_MESSAGES = {
|
|
155
101
|
terminal: '--terminal opens a tab on THIS machine; it cannot be combined with --device. ' +
|
|
156
102
|
'Drop --terminal to dispatch to the device, or drop --device to open the tab here. ' +
|
|
@@ -163,49 +109,19 @@ export const RUN_OPTION_REJECT_MESSAGES = {
|
|
|
163
109
|
resumeCheckpoint: '--resume-checkpoint reads a local checkpoint.json — it cannot resume a run on another machine. Run it locally, or start a fresh --loop run on the host.',
|
|
164
110
|
resumeBare: '--resume with no id opens the interactive picker, which cannot run across a detached host dispatch. Pass a concrete session id: agents run <agent> --resume <id> --device <name>.',
|
|
165
111
|
};
|
|
166
|
-
/**
|
|
167
|
-
* Build the single command string for `ssh <target> <cmd>`. The forwarded args
|
|
168
|
-
* are quoted for the inner login shell, then the whole `agents …` invocation is
|
|
169
|
-
* quoted again so it survives `bash -lc <...>` — `bash -lc` so the remote login
|
|
170
|
-
* PATH resolves `agents`. An optional `cd` runs first for `--remote-cwd`.
|
|
171
|
-
*
|
|
172
|
-
* `os` selects the remote shell dialect: a Windows target gets a PowerShell
|
|
173
|
-
* invocation instead (ssh lands in cmd.exe/PowerShell there, where `bash -lc`
|
|
174
|
-
* does not exist). Anything else — including an unknown/absent OS — keeps the
|
|
175
|
-
* POSIX form, so linux/macos are byte-for-byte unchanged.
|
|
176
|
-
*/
|
|
177
112
|
export function buildRemoteAgentsInvocation(forwardedArgs, remoteCwd, os, env) {
|
|
178
113
|
if (remoteShellFor(os) === 'powershell') {
|
|
179
114
|
return buildWindowsAgentsCommand({ args: forwardedArgs, cwd: remoteCwd, env });
|
|
180
115
|
}
|
|
181
116
|
const inner = ['agents', ...forwardedArgs].map(shellQuote).join(' ');
|
|
182
117
|
const withCwd = remoteCwd ? `cd ${shellQuote(remoteCwd)} && ${inner}` : inner;
|
|
183
|
-
// Prepend env exports so the remote command sees the shims dir even when the
|
|
184
|
-
// login shell hasn't sourced the interactive rc files that usually add it.
|
|
185
118
|
const exports = posixEnvExports(env);
|
|
186
119
|
if (!exports) {
|
|
187
120
|
return `bash -lc ${shellQuote(withCwd)}`;
|
|
188
121
|
}
|
|
189
122
|
return `bash -lc ${shellQuote(`${exports}; ${withCwd}`)}`;
|
|
190
123
|
}
|
|
191
|
-
/**
|
|
192
|
-
* Keys whose values are trusted-static and legitimately need remote shell
|
|
193
|
-
* expansion — `PATH` references the remote `$HOME`/`$PATH`. Every other key is
|
|
194
|
-
* rendered as a shell literal, so an attacker-influenceable value (notably actor
|
|
195
|
-
* provenance, whose name/email can come from a tailnet peer's whois or an
|
|
196
|
-
* unvalidated `AGENTS_ACTOR_*` env var) can never inject shell into a dispatch.
|
|
197
|
-
*/
|
|
198
124
|
const EXPAND_KEYS = new Set(['PATH']);
|
|
199
|
-
/**
|
|
200
|
-
* Build a POSIX `export K=V; …` prefix from an env map — empty string when the
|
|
201
|
-
* map is missing or empty. Values are rendered as shell LITERALS by default
|
|
202
|
-
* (single-quoted via {@link shellQuote}), so a `$(...)` or backtick in a value
|
|
203
|
-
* can never execute on the SSH target. Only {@link EXPAND_KEYS} (`PATH`) keep the
|
|
204
|
-
* expanding double-quote form (`\` and `"` escaped) so the remote `$HOME`/`$PATH`
|
|
205
|
-
* still resolve. Shared by {@link buildRemoteAgentsInvocation} and the
|
|
206
|
-
* detached/interactive dispatch builders (dispatch.ts) so every remote path
|
|
207
|
-
* exports env identically.
|
|
208
|
-
*/
|
|
209
125
|
export function posixEnvExports(env) {
|
|
210
126
|
if (!env || Object.keys(env).length === 0)
|
|
211
127
|
return '';
|
|
@@ -215,184 +131,61 @@ export function posixEnvExports(env) {
|
|
|
215
131
|
: `export ${shellQuote(k)}=${shellQuote(v)}`)
|
|
216
132
|
.join('; ');
|
|
217
133
|
}
|
|
218
|
-
/**
|
|
219
|
-
* Pick the remote shell dialect from a recorded OS/platform string. A Windows
|
|
220
|
-
* host (device-registry `platform: 'windows'`, or an enrolled `HostEntry.os`
|
|
221
|
-
* that reads `windows`/`Windows`/`win32`/…) speaks PowerShell; everything else,
|
|
222
|
-
* including `undefined`/unknown, defaults to POSIX so linux/macos never regress.
|
|
223
|
-
*/
|
|
224
134
|
export function remoteShellFor(os) {
|
|
225
135
|
return /^win/i.test((os ?? '').trim()) ? 'powershell' : 'posix';
|
|
226
136
|
}
|
|
227
|
-
/**
|
|
228
|
-
* PowerShell single-quoted literal: wrap in `'…'` and double any embedded `'`.
|
|
229
|
-
* Single-quoted PS strings are fully literal (no `$var`, no backtick escapes),
|
|
230
|
-
* so this neutralises every metacharacter the same way POSIX `shellQuote` does.
|
|
231
|
-
*/
|
|
232
137
|
export function powershellQuote(s) {
|
|
233
138
|
return "'" + s.replace(/'/g, "''") + "'";
|
|
234
139
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Encode a PowerShell script for `powershell -EncodedCommand`: base64 of its
|
|
237
|
-
* UTF-16LE bytes. The payload is a bare base64 word (no spaces or shell
|
|
238
|
-
* metacharacters), so it survives being handed to ssh as a single argument and
|
|
239
|
-
* re-parsed by the remote's cmd.exe/PowerShell with zero quoting hazards —
|
|
240
|
-
* the robust way to ship a complex command to a Windows box over SSH.
|
|
241
|
-
*/
|
|
242
140
|
export function encodePowershell(script) {
|
|
243
141
|
return Buffer.from(script, 'utf16le').toString('base64');
|
|
244
142
|
}
|
|
245
|
-
/** Inverse of {@link encodePowershell} — decode an `-EncodedCommand` payload
|
|
246
|
-
* back to its script. Used by tests to assert on the built command. */
|
|
247
143
|
export function decodePowershell(encoded) {
|
|
248
144
|
return Buffer.from(encoded, 'base64').toString('utf16le');
|
|
249
145
|
}
|
|
250
|
-
/**
|
|
251
|
-
* The PowerShell script (pre-encoding) that {@link buildWindowsAgentsCommand}
|
|
252
|
-
* runs. Exposed so tests can decode the `-EncodedCommand` payload and compare
|
|
253
|
-
* against the exact script, without needing PowerShell on the test host.
|
|
254
|
-
*
|
|
255
|
-
* `& agents …` invokes the CLI from the machine PATH (Windows has no login
|
|
256
|
-
* shell, so there is no `bash -lc` equivalent — the shim is simply on PATH).
|
|
257
|
-
*/
|
|
258
|
-
/**
|
|
259
|
-
* PowerShell prelude that silences the progress stream. PowerShell 5.1 serializes
|
|
260
|
-
* progress records ("Preparing modules for first use.") to CLIXML when stderr is a
|
|
261
|
-
* redirected pipe (an ssh capture, not a console), so a remote `agents …` result
|
|
262
|
-
* otherwise comes back wrapped in a raw `#< CLIXML <Objs …>` blob — unreadable to
|
|
263
|
-
* humans and to the JSON parsers that consume doctor / fleet-status output. Prepend
|
|
264
|
-
* this to EVERY Windows script that invokes `agents` (there is more than one builder
|
|
265
|
-
* in this file). Verified against a live win-mini (PowerShell 5.1): this clears it.
|
|
266
|
-
* (`-OutputFormat Text` does NOT — it governs success-stream object serialization,
|
|
267
|
-
* not the progress stream.)
|
|
268
|
-
*/
|
|
269
146
|
export const POWERSHELL_PROGRESS_SILENCE = "$ProgressPreference = 'SilentlyContinue'";
|
|
270
|
-
/**
|
|
271
|
-
* Strip a PowerShell CLIXML wrapper from stdout relayed off a Windows host.
|
|
272
|
-
*
|
|
273
|
-
* PowerShell 5.1 serializes progress / error / verbose records to CLIXML when a
|
|
274
|
-
* stream is a redirected pipe (an ssh capture, not a console): a `#< CLIXML`
|
|
275
|
-
* banner followed by one or more `<Objs …>…</Objs>` elements. {@link
|
|
276
|
-
* POWERSHELL_PROGRESS_SILENCE} suppresses the common "Preparing modules for
|
|
277
|
-
* first use." progress record at the source, but a Windows peer reached WITHOUT
|
|
278
|
-
* that prelude — a raw `agents ssh <win> 'agents … --json'`, an older peer, or a
|
|
279
|
-
* record on a stream we did not silence — can still emit the banner ahead of the
|
|
280
|
-
* real payload, which breaks a naive `JSON.parse` of the relayed `--json`
|
|
281
|
-
* (RUSH-2286). Remove the banner and every self-contained `<Objs …>…</Objs>`
|
|
282
|
-
* block, leaving the genuine payload untouched. A no-op (returns the input
|
|
283
|
-
* unchanged) when no `#< CLIXML` marker is present, so it is safe to apply on
|
|
284
|
-
* every remote-JSON boundary regardless of the peer's OS.
|
|
285
|
-
*/
|
|
286
147
|
export function stripClixml(stdout) {
|
|
287
148
|
if (!stdout.includes('#< CLIXML'))
|
|
288
149
|
return stdout;
|
|
289
|
-
// A CLIXML flush is the `#< CLIXML` banner immediately followed by one or more
|
|
290
|
-
// <Objs …>…</Objs> elements, as one contiguous block. Remove that whole unit,
|
|
291
|
-
// ANCHORED to the banner: the <Objs> removal is scoped to blocks that follow a
|
|
292
|
-
// banner, so a stray `<Objs>` appearing inside a legitimate JSON string value
|
|
293
|
-
// (a session title/prompt that quotes CLIXML text) is never touched — stripping
|
|
294
|
-
// <Objs> globally would silently delete JSON between two such substrings.
|
|
295
150
|
return stdout
|
|
296
151
|
.replace(/#< CLIXML[^\n]*\r?\n?(?:\s*<Objs\b[\s\S]*?<\/Objs>)*/g, '')
|
|
297
152
|
.trim();
|
|
298
153
|
}
|
|
299
|
-
/**
|
|
300
|
-
* Statements that run the Agents CLI on a Windows peer with EXACT argv, leaving the
|
|
301
|
-
* child's exit code in `$zq`.
|
|
302
|
-
*
|
|
303
|
-
* `& agents …` cannot be used, and the reason is not our quoting. On Windows
|
|
304
|
-
* `agents` is an npm-generated `agents.ps1`, whose body ends in
|
|
305
|
-
*
|
|
306
|
-
* & "node$exe" --no-warnings=… "$basedir/node_modules/@phnx-labs/agents-cli/dist/index.js" $args
|
|
307
|
-
*
|
|
308
|
-
* — `$args` splatted into a NATIVE program, which is the PowerShell 5.1 lossy
|
|
309
|
-
* serializer. So the loss happens INSIDE the user's shim, after our tokens were
|
|
310
|
-
* already correct: measured on a real peer, `no-such-"menu"-proof` reached the
|
|
311
|
-
* Agents parser as `no-such-menu-proof`. Quoting harder upstream cannot fix that,
|
|
312
|
-
* and rewriting a user's npm shim is not ours to do.
|
|
313
|
-
*
|
|
314
|
-
* Instead the shim is bypassed the same way `getCliLaunch` (`lib/cli-entry.ts`)
|
|
315
|
-
* resolves a launch locally: a node-script entry becomes `<node> <entry> …args`.
|
|
316
|
-
* The entry and runtime are resolved ON THE PEER from the launcher's own location —
|
|
317
|
-
* the identical two-step the shim itself performs — and executed through .NET with
|
|
318
|
-
* a `CommandLineToArgvW`-escaped argument string.
|
|
319
|
-
*
|
|
320
|
-
* A peer whose `agents` is already a native executable is used directly. A peer
|
|
321
|
-
* where neither resolves FAILS LOUD: falling back to `& agents` would silently
|
|
322
|
-
* restore the argument loss, which is worse than an error naming what is missing.
|
|
323
|
-
*
|
|
324
|
-
* The entry comes from the package's DECLARED `bin` rather than a literal
|
|
325
|
-
* `dist/index.js`, so it follows the package instead of needing to be kept in sync
|
|
326
|
-
* with it.
|
|
327
|
-
*/
|
|
328
154
|
export function windowsAgentsInvocation(args, binName = 'agents') {
|
|
329
155
|
const escaped = pwshLiteral(args.map(quoteWin32ExecArg).join(' '));
|
|
330
156
|
return [
|
|
331
|
-
// Set before any resolution: a non-terminating failure below would otherwise
|
|
332
|
-
// leave the exit code null, and `exit $null` reports 0.
|
|
333
157
|
`$ErrorActionPreference = 'Stop'`,
|
|
334
158
|
`$zc = Get-Command ${powershellQuote(binName)} -ErrorAction Stop`,
|
|
335
159
|
`$ze = $zc.Source`,
|
|
336
160
|
`$zr = ''`,
|
|
337
|
-
// A real native executable needs no interpreter prefix. `CommandType` alone is
|
|
338
|
-
// NOT that test: `Get-Command` reports `Application` for `agents.cmd` too, and
|
|
339
|
-
// a .cmd launcher re-parses through cmd.exe with the same argument loss as the
|
|
340
|
-
// .ps1 one — so a cmd-only install must not bypass this either.
|
|
341
161
|
`if ($zc.CommandType -ne 'Application' -or $ze -match '\\.(cmd|bat)$') {`,
|
|
342
162
|
` $zb = Split-Path $ze`,
|
|
343
163
|
` $zk = Join-Path $zb 'node_modules\\@phnx-labs\\agents-cli'`,
|
|
344
|
-
// The package's DECLARED bin, so the entry follows the package rather than a
|
|
345
|
-
// hand-synced `dist/index.js` literal that would rot on upgrade. One check
|
|
346
|
-
// covers a missing bin AND the single-string `bin` form (which yields $null).
|
|
347
164
|
` $zl = (Get-Content -Raw (Join-Path $zk 'package.json') | ConvertFrom-Json).bin.${binName}`,
|
|
348
165
|
` if (-not $zl) { throw "agents package at $zk declares no bin.${binName}" }`,
|
|
349
166
|
` $zt = Join-Path $zk $zl`,
|
|
350
167
|
` if (-not [IO.File]::Exists($zt)) { throw "agents CLI entry not found at $zt" }`,
|
|
351
|
-
// The npm shim prefers a node.exe beside itself before PATH; match that.
|
|
352
168
|
` $zd = Join-Path $zb 'node.exe'`,
|
|
353
169
|
` $ze = if ([IO.File]::Exists($zd)) { $zd } else { 'node' }`,
|
|
354
|
-
// A Windows path cannot contain `"`, so wrapping is sufficient escaping here.
|
|
355
170
|
` $zr = '--no-warnings=ExperimentalWarning "' + $zt + '" '`,
|
|
356
171
|
`}`,
|
|
357
172
|
...pwshNativeExecStatements('$ze', `$zr + ${escaped}`),
|
|
358
|
-
// Reported through a plain variable rather than by assigning the automatic
|
|
359
|
-
// $LASTEXITCODE, which nothing set here since no PowerShell command ran.
|
|
360
173
|
`$zq = $zp.ExitCode`,
|
|
361
|
-
// Never let an unknown outcome read as success.
|
|
362
174
|
`if ($null -eq $zq) { $zq = 1 }`,
|
|
363
|
-
// NEWLINE-joined, and that is required rather than stylistic: the caller joins
|
|
364
|
-
// its parts with `'; '`, which between a closing `}` and `else`/an indented block
|
|
365
|
-
// would produce invalid PowerShell.
|
|
366
175
|
].join('\n');
|
|
367
176
|
}
|
|
368
|
-
/**
|
|
369
|
-
* PowerShell expression for a remote path. A home-anchored path (`~/x`,
|
|
370
|
-
* `$HOME/x`) re-roots onto the peer's `$HOME` through `Join-Path` — the Windows
|
|
371
|
-
* counterpart of `remoteCdPrefix`'s `"$HOME"/x` — so a directory mirrored from
|
|
372
|
-
* another box resolves on the peer. Any other path is quoted verbatim.
|
|
373
|
-
*/
|
|
374
177
|
export function windowsRemotePath(p) {
|
|
375
178
|
const rest = homeRemainder(p);
|
|
376
179
|
if (rest === null)
|
|
377
180
|
return powershellQuote(p);
|
|
378
181
|
return rest === '' ? '$HOME' : `(Join-Path $HOME ${powershellQuote(rest)})`;
|
|
379
182
|
}
|
|
380
|
-
/**
|
|
381
|
-
* The `Set-Location` step of a Windows remote command. `-ErrorAction Stop` is
|
|
382
|
-
* spelled out because a missing directory is a NON-terminating error for
|
|
383
|
-
* `Set-Location`, which a `try`/`catch` would otherwise sail past: the mirrored
|
|
384
|
-
* form must genuinely land in `$HOME` when the peer lacks the checkout, and the
|
|
385
|
-
* explicit form must abort rather than run the command in the wrong directory.
|
|
386
|
-
*/
|
|
387
183
|
export function windowsSetLocation(cwd, mirror = false) {
|
|
388
184
|
const enter = `Set-Location -LiteralPath ${windowsRemotePath(cwd)} -ErrorAction Stop`;
|
|
389
185
|
return mirror ? `try { ${enter} } catch { Set-Location -LiteralPath $HOME }` : enter;
|
|
390
186
|
}
|
|
391
187
|
export function windowsAgentsScript(cmd) {
|
|
392
188
|
const { args, env, cwd, mirrorCwd = false, propagateExit = true, remapExit255 = false } = cmd;
|
|
393
|
-
// `Stop` FIRST, before the env assignments and the Set-Location: a failing
|
|
394
|
-
// `Set-Location` (a cwd that does not exist on the peer) must abort rather than
|
|
395
|
-
// continue into the launcher and run the command in the wrong directory.
|
|
396
189
|
const parts = [POWERSHELL_PROGRESS_SILENCE, `$ErrorActionPreference = 'Stop'`];
|
|
397
190
|
if (env)
|
|
398
191
|
for (const [k, v] of Object.entries(env))
|
|
@@ -408,80 +201,18 @@ export function windowsAgentsScript(cmd) {
|
|
|
408
201
|
}
|
|
409
202
|
return parts.join('; ');
|
|
410
203
|
}
|
|
411
|
-
/**
|
|
412
|
-
* Build the `ssh <target> <cmd>` string for one `agents …` invocation on a
|
|
413
|
-
* Windows remote: a rendered `powershell -NoProfile` call. The
|
|
414
|
-
* Windows counterpart of `bash -lc '<...>'`, shared by every `--device` site.
|
|
415
|
-
*/
|
|
416
|
-
/**
|
|
417
|
-
* Render a PowerShell script as the single command string ssh sends to a Windows
|
|
418
|
-
* peer, compressing it when that is genuinely shorter.
|
|
419
|
-
*
|
|
420
|
-
* The plain route is `-EncodedCommand <base64 of UTF-16LE>`, which inflates the
|
|
421
|
-
* script by ~2.67x. That matters because OpenSSH-for-Windows caps the whole remote
|
|
422
|
-
* command far below cmd.exe's 8191 — bisected against a live peer, 2934 characters
|
|
423
|
-
* succeed and 3102 fail — so a longer script eats the headroom a caller's
|
|
424
|
-
* arguments, `--remote-cwd` and forwarded env need.
|
|
425
|
-
*
|
|
426
|
-
* The alternative is to deflate the UTF-8 script and emit a small fixed bootstrap
|
|
427
|
-
* that inflates it back. That trades ~2.67x for ~1.33x on the compressible part,
|
|
428
|
-
* which on scripts of this shape is a large net win. The variable-free bootstrap
|
|
429
|
-
* uses `-Command` with a base64 payload and leaves stdin available to the child.
|
|
430
|
-
*
|
|
431
|
-
* Applied ONLY when the result is actually shorter: for a small script the fixed
|
|
432
|
-
* bootstrap costs more than it saves, so picking the shorter of the two keeps the
|
|
433
|
-
* plain form in play for every small caller and is obviously correct either way.
|
|
434
|
-
*/
|
|
435
204
|
export function renderPowershellCommand(script) {
|
|
436
205
|
const plain = `powershell -NoProfile -EncodedCommand ${encodePowershell(script)}`;
|
|
437
|
-
// Raw DEFLATE (RFC 1951) — what .NET's `DeflateStream` reads. `deflateSync`
|
|
438
|
-
// would prepend a zlib header that `DeflateStream` rejects.
|
|
439
206
|
const packed = zlib.deflateRawSync(Buffer.from(script, 'utf-8'), { level: 9 }).toString('base64');
|
|
440
|
-
// The blob is embedded DIRECTLY in a `-Command` string rather than wrapped in a
|
|
441
|
-
// second `-EncodedCommand`: routing an already-base64 payload through the encoded
|
|
442
|
-
// form would inflate it by another 2.67x and cancel most of the compression.
|
|
443
|
-
//
|
|
444
|
-
// The bootstrap is deliberately VARIABLE-FREE — one nested expression, no `$`
|
|
445
|
-
// anywhere. A `$b = …` form is unsafe here: OpenSSH-for-Windows may have
|
|
446
|
-
// PowerShell as its `DefaultShell`, in which case the outer double-quoted string
|
|
447
|
-
// is parsed by PowerShell first and `$b` would be expanded before our script ever
|
|
448
|
-
// runs. With no `$`, no `%`, no backtick and no cmd metacharacter — base64's
|
|
449
|
-
// alphabet is `A-Za-z0-9+/=` and the rest is ASCII punctuation neither shell
|
|
450
|
-
// touches inside quotes — the same text survives either default shell. stdin is
|
|
451
|
-
// untouched by both routes.
|
|
452
207
|
const bootstrap = 'iex ([IO.StreamReader]::new([IO.Compression.DeflateStream]::new('
|
|
453
208
|
+ `[IO.MemoryStream]::new([Convert]::FromBase64String('${packed}')),`
|
|
454
209
|
+ '[IO.Compression.CompressionMode]::Decompress),[Text.Encoding]::UTF8).ReadToEnd())';
|
|
455
210
|
const compressed = `powershell -NoProfile -Command "${bootstrap}"`;
|
|
456
|
-
// Only when genuinely shorter: for a small script the fixed bootstrap costs more
|
|
457
|
-
// than it saves, so this keeps the plain form in play for every small caller.
|
|
458
211
|
return compressed.length < plain.length ? compressed : plain;
|
|
459
212
|
}
|
|
460
213
|
export function buildWindowsAgentsCommand(cmd) {
|
|
461
214
|
return renderPowershellCommand(windowsAgentsScript(cmd));
|
|
462
215
|
}
|
|
463
|
-
/**
|
|
464
|
-
* Build the `ssh <target> <cmd>` string for `agents secrets import` on a Windows
|
|
465
|
-
* remote where the `.env` is piped over ssh stdin.
|
|
466
|
-
*
|
|
467
|
-
* We can't just run `agents secrets import <bundle> --from -`: the npm
|
|
468
|
-
* `agents.ps1` shim does NOT forward the ssh-piped stdin down to the underlying
|
|
469
|
-
* node process, so a raw fd-0 read (`--from -`) hangs forever (observed: the
|
|
470
|
-
* push to a Windows host times out). PowerShell ITSELF can read the pipe, so we
|
|
471
|
-
* read stdin into a temp file in PowerShell, import `--from <file>` (a plain
|
|
472
|
-
* file read, which the shim handles fine), and delete the temp file afterwards
|
|
473
|
-
* — success or failure. Backend defaults to the platform native store
|
|
474
|
-
* (Credential Manager, or the headless file store when there's no logon
|
|
475
|
-
* session), matching a local `agents secrets import`.
|
|
476
|
-
*/
|
|
477
|
-
/**
|
|
478
|
-
* Run `agents <args> --from <tmp>` on a Windows peer, feeding the ssh-piped stdin
|
|
479
|
-
* through a temp file — the `agents.ps1` shim does not forward piped stdin to the
|
|
480
|
-
* node process, so a verb that reads stdin must be handed a file instead. The
|
|
481
|
-
* generic sibling of {@link buildWindowsStdinImportCommand}; the receiving verb
|
|
482
|
-
* MUST accept `--from <path>` (see `usage-ingest.ts`). The temp file is removed in
|
|
483
|
-
* a `finally` so a throw mid-run never leaves the payload behind.
|
|
484
|
-
*/
|
|
485
216
|
export function buildWindowsStdinAgentsCommand(args) {
|
|
486
217
|
const forwarded = args.map(powershellQuote).join(' ');
|
|
487
218
|
const script = [
|
|
@@ -499,13 +230,7 @@ export function buildWindowsStdinAgentsCommand(args) {
|
|
|
499
230
|
export function buildWindowsStdinImportCommand(bundle, opts = {}) {
|
|
500
231
|
const force = opts.force ? ' --force' : '';
|
|
501
232
|
const policy = opts.policyNever ? ' --policy never --i-understand' : '';
|
|
502
|
-
// Create AND write the temp file INSIDE the try so its finally always cleans
|
|
503
|
-
// up: if GetTempFileName succeeds but WriteAllText (or the import) then throws,
|
|
504
|
-
// the secret-bearing temp file would otherwise be left behind (RUSH-1764). $tmp
|
|
505
|
-
// starts null so a GetTempFileName that itself throws leaves nothing to remove.
|
|
506
233
|
const script = [
|
|
507
|
-
// Same CLIXML guard as windowsAgentsScript — this builder also runs `& agents …`
|
|
508
|
-
// and its raw stderr is printed to the user on failure (secrets export --device <win>).
|
|
509
234
|
POWERSHELL_PROGRESS_SILENCE,
|
|
510
235
|
'$in = [Console]::In.ReadToEnd()',
|
|
511
236
|
'$tmp = $null',
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test-only decoder for a rendered remote PowerShell command.
|
|
3
|
-
*
|
|
4
|
-
* `renderPowershellCommand` emits whichever of two representations is shorter: the
|
|
5
|
-
* plain `-EncodedCommand <base64 UTF-16LE>`, or a `-Command` bootstrap carrying a
|
|
6
|
-
* deflated UTF-8 payload. Tests assert on the SCRIPT, not the representation, so
|
|
7
|
-
* every suite needs both — and four copies of that parsing is exactly how one of
|
|
8
|
-
* them silently stops decoding the form it was meant to check.
|
|
9
|
-
*
|
|
10
|
-
* Named `*.test-fixture.ts` after the existing `daemon.test-fixture.ts`.
|
|
11
|
-
*/
|
|
12
1
|
import * as zlib from 'node:zlib';
|
|
13
|
-
/** The script behind either render route. Throws if the command is neither. */
|
|
14
2
|
export function decodeRenderedPowershell(command) {
|
|
15
3
|
const encoded = /-EncodedCommand (\S+)\s*$/.exec(command);
|
|
16
4
|
if (encoded)
|
|
@@ -1,20 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve a remote host's OS family so the SSH command layer can pick the right
|
|
3
|
-
* shell dialect (POSIX `bash -lc` vs Windows PowerShell). See `remoteShellFor`
|
|
4
|
-
* in `remote-cmd.ts` for how the string is consumed.
|
|
5
|
-
*
|
|
6
|
-
* Three sources, in priority order:
|
|
7
|
-
* 1. The config `platform` key (the per-device doc's config.platform,
|
|
8
|
-
* over the `fleet.defaults.config` fleet default) — the operator's
|
|
9
|
-
* explicit override, set with `agents devices config <name> platform <os>`.
|
|
10
|
-
* 2. The device registry `platform` (`windows`/`linux`/`macos`), which is
|
|
11
|
-
* populated fleet-wide by Tailscale sync — the reliable answer for a box
|
|
12
|
-
* like `win-mini` that was discovered, not hand-enrolled.
|
|
13
|
-
* 3. The enrolled `HostEntry.os` overlay in agents.yaml (the `uname` captured
|
|
14
|
-
* when the overlay entry was written), for hosts that live only in that overlay.
|
|
15
|
-
*
|
|
16
|
-
* Missing/unknown from all three → `undefined`, which `remoteShellFor` maps to
|
|
17
|
-
* POSIX. Kept synchronous so the sync `agents sessions --device` fan-out can use it.
|
|
18
|
-
*/
|
|
19
|
-
/** Resolve the OS/platform string for a host name, or undefined if unknown. */
|
|
20
1
|
export declare function resolveRemoteOsSync(name: string): string | undefined;
|
|
@@ -1,26 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve a remote host's OS family so the SSH command layer can pick the right
|
|
3
|
-
* shell dialect (POSIX `bash -lc` vs Windows PowerShell). See `remoteShellFor`
|
|
4
|
-
* in `remote-cmd.ts` for how the string is consumed.
|
|
5
|
-
*
|
|
6
|
-
* Three sources, in priority order:
|
|
7
|
-
* 1. The config `platform` key (the per-device doc's config.platform,
|
|
8
|
-
* over the `fleet.defaults.config` fleet default) — the operator's
|
|
9
|
-
* explicit override, set with `agents devices config <name> platform <os>`.
|
|
10
|
-
* 2. The device registry `platform` (`windows`/`linux`/`macos`), which is
|
|
11
|
-
* populated fleet-wide by Tailscale sync — the reliable answer for a box
|
|
12
|
-
* like `win-mini` that was discovered, not hand-enrolled.
|
|
13
|
-
* 3. The enrolled `HostEntry.os` overlay in agents.yaml (the `uname` captured
|
|
14
|
-
* when the overlay entry was written), for hosts that live only in that overlay.
|
|
15
|
-
*
|
|
16
|
-
* Missing/unknown from all three → `undefined`, which `remoteShellFor` maps to
|
|
17
|
-
* POSIX. Kept synchronous so the sync `agents sessions --device` fan-out can use it.
|
|
18
|
-
*/
|
|
19
1
|
import { loadDevicesSync } from '../devices/registry.js';
|
|
20
2
|
import { readDeviceConfigValues } from '../device-config.js';
|
|
21
3
|
import { readMeta } from '../state.js';
|
|
22
4
|
import { unionDeviceHosts } from '../devices/device-docs.js';
|
|
23
|
-
/** Resolve the OS/platform string for a host name, or undefined if unknown. */
|
|
24
5
|
export function resolveRemoteOsSync(name) {
|
|
25
6
|
try {
|
|
26
7
|
const configured = readDeviceConfigValues(name).platform;
|
|
@@ -31,9 +12,6 @@ export function resolveRemoteOsSync(name) {
|
|
|
31
12
|
return platform;
|
|
32
13
|
}
|
|
33
14
|
catch {
|
|
34
|
-
// A corrupt/unreadable device registry must never break command building —
|
|
35
|
-
// fall through to the host overlay and ultimately the POSIX default.
|
|
36
15
|
}
|
|
37
|
-
// Cross-box union of the device-scoped host overlays, central legacy as base.
|
|
38
16
|
return ({ ...readMeta().hosts, ...unionDeviceHosts() }[name])?.os;
|
|
39
17
|
}
|
|
@@ -1,23 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve a remote-created session id back to an interactive `--device` launcher.
|
|
3
|
-
*
|
|
4
|
-
* A headless `--device` run captures the remote-coined id from the followed log
|
|
5
|
-
* (the `--emit-session-id` marker — see session-marker.ts). An INTERACTIVE run
|
|
6
|
-
* has no followed log: the local TTY is wired straight through `sshStream`
|
|
7
|
-
* (stdio:'inherit'), so nothing can tap the stream for a marker without breaking
|
|
8
|
-
* the agent's raw-mode TUI. Instead we correlate by AGENT_LAUNCH_ID.
|
|
9
|
-
*
|
|
10
|
-
* The launcher forwards a launch id it controls (`--env AGENT_LAUNCH_ID=<id>`);
|
|
11
|
-
* the remote `agents run` adopts it (exec.ts `resolveLaunchId`), so the remote
|
|
12
|
-
* SessionStart hook records the agent's REAL session id. After the stream
|
|
13
|
-
* returns we ask the owning CLI to join that hook with the durable launch
|
|
14
|
-
* registry, using the same index as local focus/session projection. This also
|
|
15
|
-
* supports the deployed legacy hook containing only session_id and pid.
|
|
16
|
-
*
|
|
17
|
-
* This gives the interactive path a real per-agent id to register in the local
|
|
18
|
-
* session index and to reconnect against, for Codex/Kimi/Grok/Gemini — closing
|
|
19
|
-
* the gap RUSH-2033 left for every non-Claude agent (Claude still forces its own
|
|
20
|
-
* id up front and never reaches here).
|
|
21
|
-
*/
|
|
22
|
-
/** Resolve on the execution owner through the canonical read-only CLI projection. */
|
|
23
1
|
export declare function resolveRemoteSessionId(target: string, launchId: string, timeoutMs?: number): string | undefined;
|
|
@@ -1,31 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve a remote-created session id back to an interactive `--device` launcher.
|
|
3
|
-
*
|
|
4
|
-
* A headless `--device` run captures the remote-coined id from the followed log
|
|
5
|
-
* (the `--emit-session-id` marker — see session-marker.ts). An INTERACTIVE run
|
|
6
|
-
* has no followed log: the local TTY is wired straight through `sshStream`
|
|
7
|
-
* (stdio:'inherit'), so nothing can tap the stream for a marker without breaking
|
|
8
|
-
* the agent's raw-mode TUI. Instead we correlate by AGENT_LAUNCH_ID.
|
|
9
|
-
*
|
|
10
|
-
* The launcher forwards a launch id it controls (`--env AGENT_LAUNCH_ID=<id>`);
|
|
11
|
-
* the remote `agents run` adopts it (exec.ts `resolveLaunchId`), so the remote
|
|
12
|
-
* SessionStart hook records the agent's REAL session id. After the stream
|
|
13
|
-
* returns we ask the owning CLI to join that hook with the durable launch
|
|
14
|
-
* registry, using the same index as local focus/session projection. This also
|
|
15
|
-
* supports the deployed legacy hook containing only session_id and pid.
|
|
16
|
-
*
|
|
17
|
-
* This gives the interactive path a real per-agent id to register in the local
|
|
18
|
-
* session index and to reconnect against, for Codex/Kimi/Grok/Gemini — closing
|
|
19
|
-
* the gap RUSH-2033 left for every non-Claude agent (Claude still forces its own
|
|
20
|
-
* id up front and never reaches here).
|
|
21
|
-
*/
|
|
22
1
|
import { sshExec, shellQuote } from '../ssh-exec.js';
|
|
23
|
-
/** Resolve on the execution owner through the canonical read-only CLI projection. */
|
|
24
2
|
export function resolveRemoteSessionId(target, launchId, timeoutMs = 6000) {
|
|
25
3
|
if (!launchId)
|
|
26
4
|
return undefined;
|
|
27
|
-
// Let the owning CLI join its deployed hook and launch registry. A remote
|
|
28
|
-
// caller must not carry a second implementation of session identity rules.
|
|
29
5
|
const cmd = `agents sessions --resolve-launch-id ${shellQuote(launchId)} --json --local`;
|
|
30
6
|
const res = sshExec(target, cmd, { timeoutMs, multiplex: true });
|
|
31
7
|
if (res.code !== 0)
|
|
@@ -1,23 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Leaf argv helpers for host/device routing flags.
|
|
3
|
-
*
|
|
4
|
-
* Zero imports on purpose. `bootstrap.ts` gates the dynamic
|
|
5
|
-
* `import('./lib/hosts/passthrough.js')` on {@link hasHostRoutingFlag} so the
|
|
6
|
-
* ~187 ms passthrough module graph is never loaded when no routing flag is
|
|
7
|
-
* present (the majority of CLI invocations). That gate must not itself drag
|
|
8
|
-
* in passthrough, remote-cmd, ssh-exec, or the device registry (RUSH-2374).
|
|
9
|
-
*
|
|
10
|
-
* `flagValue` lives here (not in passthrough.ts) for the same reason: the gate
|
|
11
|
-
* and the function body that later reads flag values share one implementation.
|
|
12
|
-
*/
|
|
13
|
-
/** Pull the value of `--device`/`-D`/`--remote-cwd` (any form) out of an argv. */
|
|
14
1
|
export declare function flagValue(args: string[], long: string, short?: string): string | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* True when argv carries any device routing flag that {@link maybeRunOnHost}
|
|
17
|
-
* inspects: `--device`/`-D`, `--hosts`, `--devices` (space, `=`, or
|
|
18
|
-
* glued short form).
|
|
19
|
-
*
|
|
20
|
-
* Presence-only — does not validate values. Used by bootstrap before loading
|
|
21
|
-
* passthrough, and by `maybeRunStandaloneOnHost` before strip/route work.
|
|
22
|
-
*/
|
|
23
2
|
export declare function hasHostRoutingFlag(args: string[]): boolean;
|