@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -36,7 +36,6 @@ import { buildRecord, makeHeader, mergeRecords, serializeBundle, writeBundleFile
|
|
|
36
36
|
import { knownSecretValuesFromEnv } from '../lib/redact.js';
|
|
37
37
|
import { pullBundlesFromHosts } from '../lib/session/remote-bundle.js';
|
|
38
38
|
import { setHelpSections } from '../lib/help.js';
|
|
39
|
-
/** Default cap when exporting a scope (not explicit ids) and the user gave no -n. */
|
|
40
39
|
const DEFAULT_LIMIT = 500;
|
|
41
40
|
export function registerSessionsExportCommand(sessionsCmd) {
|
|
42
41
|
const cmd = sessionsCmd
|
|
@@ -80,11 +79,6 @@ nor the storage provider can decrypt it. Restore with 'agents sessions import --
|
|
|
80
79
|
}
|
|
81
80
|
async function runExport(selectors, command) {
|
|
82
81
|
const g = command.optsWithGlobals();
|
|
83
|
-
// --to-r2 preflight. MANAGED-FIRST: a signed-in user backs up to the managed
|
|
84
|
-
// Phoenix store with no bucket to set up; --byo (or an unauthenticated user
|
|
85
|
-
// with an r2.backups bundle) uses their own bucket. isSyncConfigured() is
|
|
86
|
-
// consulted ONLY on the BYO path (it reads the keychain); the managed path
|
|
87
|
-
// authenticates with the Phoenix session and skips it entirely.
|
|
88
82
|
let sessionsClient;
|
|
89
83
|
let managedClient;
|
|
90
84
|
let managedBackupUserId;
|
|
@@ -105,9 +99,6 @@ async function runExport(selectors, command) {
|
|
|
105
99
|
managedBackupUserId = backend.userId;
|
|
106
100
|
}
|
|
107
101
|
else {
|
|
108
|
-
// Preserve the explicit BYO gate used by the on-demand backup path and
|
|
109
|
-
// daemon sync cycle. resolveSessionsBackend already loaded the bundle,
|
|
110
|
-
// so this is a cached, non-prompting verification.
|
|
111
102
|
const gateErr = r2ExportGateError(g, isSyncConfigured());
|
|
112
103
|
if (gateErr)
|
|
113
104
|
throw new Error(gateErr);
|
|
@@ -119,8 +110,6 @@ async function runExport(selectors, command) {
|
|
|
119
110
|
process.exit(1);
|
|
120
111
|
}
|
|
121
112
|
}
|
|
122
|
-
// --host: export sessions that live on remote peer(s) — run export there and
|
|
123
|
-
// stream the bundle back over the existing SSH transport (RUSH-1712).
|
|
124
113
|
if (g.host && g.host.length > 0) {
|
|
125
114
|
await runRemoteExport(g, selectors, command);
|
|
126
115
|
return;
|
|
@@ -131,14 +120,12 @@ async function runExport(selectors, command) {
|
|
|
131
120
|
const explicitLimit = command.parent?.getOptionValueSource?.('limit') === 'cli';
|
|
132
121
|
const limit = explicitLimit ? Math.max(1, parseInt(String(g.limit), 10) || DEFAULT_LIMIT) : DEFAULT_LIMIT;
|
|
133
122
|
const agentFilter = parseAgentFilter(resolveAgentShorthand(g));
|
|
134
|
-
// 1. Discover candidate sessions in scope.
|
|
135
123
|
const metas = await discoverSessions({
|
|
136
124
|
all: g.all !== false,
|
|
137
125
|
agent: agentFilter.agent ?? undefined,
|
|
138
126
|
since: g.since,
|
|
139
127
|
limit,
|
|
140
128
|
});
|
|
141
|
-
// 2. Narrow to the selection (ids > query > everything-in-scope).
|
|
142
129
|
const selected = selectSessions(metas, selectors);
|
|
143
130
|
if (selected.length === 0) {
|
|
144
131
|
process.stderr.write(chalk.yellow('No sessions matched the selection.\n'));
|
|
@@ -147,7 +134,6 @@ async function runExport(selectors, command) {
|
|
|
147
134
|
if (!selectors.length && selected.length >= limit) {
|
|
148
135
|
process.stderr.write(chalk.yellow(`Note: capped at ${limit} sessions. Raise -n to bundle more.\n`));
|
|
149
136
|
}
|
|
150
|
-
// 3. Resolve each selected session to its on-disk file(s).
|
|
151
137
|
const index = buildLocalIndex();
|
|
152
138
|
const self = machineId();
|
|
153
139
|
const files = [];
|
|
@@ -166,8 +152,6 @@ async function runExport(selectors, command) {
|
|
|
166
152
|
}
|
|
167
153
|
}
|
|
168
154
|
else if (meta.filePath && fs.existsSync(meta.filePath)) {
|
|
169
|
-
// Not in the live-home index (e.g. a mirror of another machine): fall back
|
|
170
|
-
// to the single discovered file, deriving its subdir-relative key.
|
|
171
155
|
const relKey = relKeyFromPath(meta.filePath, meta.agent, machine, spec.subdir);
|
|
172
156
|
files.push({ agent: meta.agent, machine, sessionId: meta.id, relKey, absPath: meta.filePath, label: meta.label });
|
|
173
157
|
}
|
|
@@ -179,11 +163,7 @@ async function runExport(selectors, command) {
|
|
|
179
163
|
process.stderr.write(chalk.red('Selected sessions have no exportable transcript files.\n'));
|
|
180
164
|
process.exit(1);
|
|
181
165
|
}
|
|
182
|
-
//
|
|
183
|
-
// A BYO R2 backup uses the fleet-shared R2_SYNC_ENC_KEY (an ephemeral key would
|
|
184
|
-
// be unrecoverable on a fresh box). A MANAGED backup resolves a per-account DEK
|
|
185
|
-
// that is MANDATORY and never null — the managed path never uploads plaintext —
|
|
186
|
-
// minting + escrowing one on first use so a fresh box recovers it with zero setup.
|
|
166
|
+
// Managed off-box backup requires client-side AES-GCM; BYO storage without a key warns explicitly.
|
|
187
167
|
let encryptKey;
|
|
188
168
|
if (g.toR2 && managedBackupUserId) {
|
|
189
169
|
encryptKey = await resolveManagedBackupKey(managedClient, managedBackupUserId);
|
|
@@ -198,11 +178,7 @@ async function runExport(selectors, command) {
|
|
|
198
178
|
encryptKey = null;
|
|
199
179
|
}
|
|
200
180
|
const redact = g.redact !== false;
|
|
201
|
-
// Value-aware redaction: mask live credential values already in the
|
|
202
|
-
// environment (e.g. an injected secrets bundle) verbatim, whatever their
|
|
203
|
-
// format. Only meaningful when redacting.
|
|
204
181
|
const knownSecrets = redact ? knownSecretValuesFromEnv() : undefined;
|
|
205
|
-
// 5. Build records + header.
|
|
206
182
|
const records = [];
|
|
207
183
|
for (const f of files) {
|
|
208
184
|
try {
|
|
@@ -229,21 +205,6 @@ async function runExport(selectors, command) {
|
|
|
229
205
|
}
|
|
230
206
|
emitBundle(header, records, g);
|
|
231
207
|
}
|
|
232
|
-
/**
|
|
233
|
-
* Upload each record to R2 as its own self-describing one-record bundle, keyed by
|
|
234
|
-
* the surviving object layout (`sessions/<machine>/<agent>/<sessionId>.jsonl`, or
|
|
235
|
-
* `.../<sessionId>/<relKey>` for dir-shaped agents). Each object is independently
|
|
236
|
-
* a valid bundle, so `import --from-r2` restores it through the same parse/place
|
|
237
|
-
* path as a local bundle. Fails loud on the first upload error (no silent
|
|
238
|
-
* partial-success).
|
|
239
|
-
*/
|
|
240
|
-
/**
|
|
241
|
-
* `--to-r2` preflight as a pure, unit-testable function: the impossible-combo +
|
|
242
|
-
* not-configured gate. Returns the message to fail loud with, or null when the
|
|
243
|
-
* export may proceed. Only meaningful when `g.toR2` is set (the caller gates on
|
|
244
|
-
* that). Kept pure — no process.exit, no keychain read — so both the command and
|
|
245
|
-
* its test drive the exact same decision.
|
|
246
|
-
*/
|
|
247
208
|
export function r2ExportGateError(g, isConfigured) {
|
|
248
209
|
if (!g.toR2)
|
|
249
210
|
return null;
|
|
@@ -258,9 +219,6 @@ export function r2ExportGateError(g, isConfigured) {
|
|
|
258
219
|
return null;
|
|
259
220
|
}
|
|
260
221
|
export async function uploadToR2(header, records, resolvedClient) {
|
|
261
|
-
// The resolved client (managed HTTP or BYO R2) is passed in by the command.
|
|
262
|
-
// The no-client overload preserves the original BYO-only signature for the
|
|
263
|
-
// direct unit test (loadR2Config() from the r2.backups bundle).
|
|
264
222
|
let client;
|
|
265
223
|
if (resolvedClient) {
|
|
266
224
|
client = resolvedClient;
|
|
@@ -304,7 +262,6 @@ export async function uploadToR2(header, records, resolvedClient) {
|
|
|
304
262
|
`(${uploaded} object${uploaded === 1 ? '' : 's'}${header.encrypted ? ', encrypted' : ', UNENCRYPTED'}) → ` +
|
|
305
263
|
`${client.kind === 'managed' ? 'managed Phoenix store' : 'R2'}.\n`));
|
|
306
264
|
}
|
|
307
|
-
/** Fail-closed guard at the managed transport boundary, not only at record construction. */
|
|
308
265
|
export function managedUploadEncryptionError(header, records) {
|
|
309
266
|
if (!header.encrypted ||
|
|
310
267
|
records.some(record => !record.encrypted || !isTranscriptEnvelope(record.body))) {
|
|
@@ -312,19 +269,11 @@ export function managedUploadEncryptionError(header, records) {
|
|
|
312
269
|
}
|
|
313
270
|
return null;
|
|
314
271
|
}
|
|
315
|
-
/** R2 object key for one record — dir-shaped agents key by relKey, file-shaped by session. */
|
|
316
272
|
export function r2KeyForRecord(rec) {
|
|
317
273
|
const spec = specForAgent(rec.agent);
|
|
318
274
|
const relKey = spec?.dirShaped ? rec.relKey : undefined;
|
|
319
275
|
return objectKey(rec.machine, rec.agent, rec.sessionId, relKey);
|
|
320
276
|
}
|
|
321
|
-
/**
|
|
322
|
-
* Resolve the AES key for an R2 backup: the fleet-shared R2_SYNC_ENC_KEY from the
|
|
323
|
-
* r2.backups bundle so any box on the bundle can restore. Unlike a local bundle,
|
|
324
|
-
* an ephemeral key is useless here (it is never stored, so a fresh box could not
|
|
325
|
-
* decrypt), so a missing key means the objects go up unencrypted (R2 server-side
|
|
326
|
-
* encryption only) with a loud warning — never a silent weaker default.
|
|
327
|
-
*/
|
|
328
277
|
export function resolveR2BackupKey() {
|
|
329
278
|
const key = resolveSyncEncKey(loadR2Config());
|
|
330
279
|
if (key)
|
|
@@ -334,12 +283,7 @@ export function resolveR2BackupKey() {
|
|
|
334
283
|
' agents secrets add r2.backups R2_SYNC_ENC_KEY # value: openssl rand -base64 32\n'));
|
|
335
284
|
return null;
|
|
336
285
|
}
|
|
337
|
-
|
|
338
|
-
* --host path: run `agents sessions export …` on each peer over SSH, stream the
|
|
339
|
-
* bundles back, merge (dedup by origin machine) and emit one local bundle.
|
|
340
|
-
* Encryption is not combined with a remote pull (each peer would seal under its
|
|
341
|
-
* own key); the SSH transport already encrypts the stream in transit.
|
|
342
|
-
*/
|
|
286
|
+
// Remote pull is SSH-only and never combines per-host encryption keys.
|
|
343
287
|
async function runRemoteExport(g, selectors, command) {
|
|
344
288
|
if (g.encrypt) {
|
|
345
289
|
process.stderr.write(chalk.yellow('Note: --encrypt is ignored with --device (the SSH stream is already encrypted). Encrypt a local bundle instead.\n'));
|
|
@@ -361,7 +305,6 @@ async function runRemoteExport(g, selectors, command) {
|
|
|
361
305
|
});
|
|
362
306
|
emitBundle(header, records, g);
|
|
363
307
|
}
|
|
364
|
-
/** Reconstruct the export flags to forward to a peer's own `sessions export`. */
|
|
365
308
|
function forwardExportArgs(g, selectors, command) {
|
|
366
309
|
const args = [...selectors];
|
|
367
310
|
if (g.since)
|
|
@@ -377,7 +320,6 @@ function forwardExportArgs(g, selectors, command) {
|
|
|
377
320
|
args.push('-n', String(g.limit));
|
|
378
321
|
return args;
|
|
379
322
|
}
|
|
380
|
-
/** Write the assembled bundle to stdout or a file. */
|
|
381
323
|
function emitBundle(header, records, g) {
|
|
382
324
|
const wire = serializeBundle(header, records);
|
|
383
325
|
if (g.stdout) {
|
|
@@ -390,7 +332,6 @@ function emitBundle(header, records, g) {
|
|
|
390
332
|
`(${header.count} file${header.count === 1 ? '' : 's'}${header.encrypted ? ', encrypted' : ''}${header.redacted ? ', redacted' : ''}) ` +
|
|
391
333
|
`→ ${outPath}\n`));
|
|
392
334
|
}
|
|
393
|
-
/** Map the parent's agent shorthands (--claude, --codex, …) or -a/--agent to a filter string. */
|
|
394
335
|
function resolveAgentShorthand(g) {
|
|
395
336
|
if (g.agent)
|
|
396
337
|
return g.agent;
|
|
@@ -408,7 +349,7 @@ function resolveAgentShorthand(g) {
|
|
|
408
349
|
return 'antigravity';
|
|
409
350
|
return undefined;
|
|
410
351
|
}
|
|
411
|
-
|
|
352
|
+
// An id-shaped selector that misses selects nothing; never widen it to content search and export unrelated transcripts.
|
|
412
353
|
export function selectSessions(metas, selectors) {
|
|
413
354
|
if (selectors.length === 0)
|
|
414
355
|
return metas;
|
|
@@ -416,10 +357,6 @@ export function selectSessions(metas, selectors) {
|
|
|
416
357
|
const unmatched = [];
|
|
417
358
|
for (const sel of selectors) {
|
|
418
359
|
const trimmed = sel.trim();
|
|
419
|
-
// Same reason as resolveSessionQuery: the discovered pool is a minority of
|
|
420
|
-
// the index, so an id-shaped selector absent from it may still be indexed
|
|
421
|
-
// here. Gate on looksLikeSessionId, not isCompleteSessionId, so a SHORT id
|
|
422
|
-
// ("d3470b57") also resolves through the index instead of falling to content.
|
|
423
360
|
const hits = resolveSessionById(metas, trimmed);
|
|
424
361
|
const resolved = hits.length > 0 || !looksLikeSessionId(trimmed) ? hits : findSessionsById(trimmed);
|
|
425
362
|
if (resolved.length > 0)
|
|
@@ -431,20 +368,13 @@ export function selectSessions(metas, selectors) {
|
|
|
431
368
|
const seen = new Set();
|
|
432
369
|
return byId.filter(s => (seen.has(s.id) ? false : (seen.add(s.id), true)));
|
|
433
370
|
}
|
|
434
|
-
// A selector that is an id (complete OR a short hex id/prefix) and still missed
|
|
435
|
-
// cannot be widened: the id is unique, so the text query below could only bundle
|
|
436
|
-
// sessions that merely mention it. Bundling those would ship unrelated
|
|
437
|
-
// transcripts to whoever receives the export, so select nothing and let the
|
|
438
|
-
// caller report it — a short id like "d3470b57" must never content-search.
|
|
439
371
|
const missingIds = unmatched.filter(looksLikeSessionId);
|
|
440
372
|
if (missingIds.length > 0) {
|
|
441
373
|
process.stderr.write(chalk.red(`No session with id ${missingIds.join(', ')} on this machine.\n`));
|
|
442
374
|
return [];
|
|
443
375
|
}
|
|
444
|
-
// Any selector that isn't an id → treat the whole thing as a text query.
|
|
445
376
|
return filterSessionsByQuery(metas, selectors.join(' '));
|
|
446
377
|
}
|
|
447
|
-
/** Build `${agent}:${sessionId}` → LocalTranscript across every sync agent (live home only). */
|
|
448
378
|
function buildLocalIndex() {
|
|
449
379
|
const index = new Map();
|
|
450
380
|
for (const spec of SYNC_AGENTS) {
|
|
@@ -454,18 +384,12 @@ function buildLocalIndex() {
|
|
|
454
384
|
}
|
|
455
385
|
return index;
|
|
456
386
|
}
|
|
457
|
-
/** Derive the subdir-relative key for a mirror file path, else fall back to the basename. */
|
|
458
387
|
function relKeyFromPath(filePath, agent, machine, subdir) {
|
|
459
388
|
const prefix = path.join(getHistoryDir(), 'backups', agent, machine, subdir) + path.sep;
|
|
460
389
|
if (filePath.startsWith(prefix))
|
|
461
390
|
return filePath.slice(prefix.length);
|
|
462
391
|
return path.basename(filePath);
|
|
463
392
|
}
|
|
464
|
-
/**
|
|
465
|
-
* Resolve the AES key for --encrypt: prefer the fleet-shared R2_SYNC_ENC_KEY (so
|
|
466
|
-
* any machine on the sync bundle can decrypt), else mint an ephemeral key and
|
|
467
|
-
* print it once — it is NOT stored in the bundle.
|
|
468
|
-
*/
|
|
469
393
|
function resolveExportKey() {
|
|
470
394
|
try {
|
|
471
395
|
const key = resolveSyncEncKey(loadR2Config());
|
|
@@ -473,14 +397,12 @@ function resolveExportKey() {
|
|
|
473
397
|
return key;
|
|
474
398
|
}
|
|
475
399
|
catch {
|
|
476
|
-
// sync bundle not configured — fall through to an ephemeral key
|
|
477
400
|
}
|
|
478
401
|
const b64 = generateSyncEncKey();
|
|
479
402
|
process.stderr.write(chalk.yellow(`Bundle encrypted with a fresh key (not in the bundle). Decrypt with:\n` +
|
|
480
403
|
` agents sessions import <bundle> --decrypt ${b64}\n`));
|
|
481
404
|
return Buffer.from(b64, 'base64');
|
|
482
405
|
}
|
|
483
|
-
/** Default output file when neither -o nor --stdout is given. */
|
|
484
406
|
function defaultBundlePath() {
|
|
485
407
|
const stamp = new Date().toISOString().replace(/[:.]/g, '-').replace('T', '_').slice(0, 19);
|
|
486
408
|
return path.join(process.cwd(), `agents-sessions-${stamp}.bundle`);
|
|
@@ -2,19 +2,5 @@ import type { Command } from 'commander';
|
|
|
2
2
|
import { type SessionsBackupClient } from '../lib/session/sync/net-client.js';
|
|
3
3
|
import { type ParsedBundle } from '../lib/session/bundle.js';
|
|
4
4
|
export declare function registerSessionsImportCommand(sessionsCmd: Command): void;
|
|
5
|
-
/**
|
|
6
|
-
* --from-r2: download every session-backup object from the r2.backups bucket and
|
|
7
|
-
* assemble them into one bundle for the normal placement path. Each object is a
|
|
8
|
-
* self-describing one-record bundle written by `export --to-r2`, so it parses
|
|
9
|
-
* with the same parseBundle. A non-bundle object under the prefix (e.g. a legacy
|
|
10
|
-
* plaintext transcript from the retired sync) is skipped with a count, never
|
|
11
|
-
* silently swallowed. Fails loud when the bucket holds no restorable backups.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* `--from-r2` preflight as a pure, unit-testable function: fail loud when the
|
|
15
|
-
* backup target is not configured. Returns the message to fail loud with, or null
|
|
16
|
-
* when the restore may proceed. Kept pure (no process.exit, no keychain read) so
|
|
17
|
-
* the command and its test drive the same decision.
|
|
18
|
-
*/
|
|
19
5
|
export declare function r2ImportGateError(fromR2: boolean, isConfigured: boolean): string | null;
|
|
20
6
|
export declare function pullFromR2(resolvedClient?: SessionsBackupClient): Promise<ParsedBundle>;
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents sessions import <bundle|->` — restore an export bundle (RUSH-1711).
|
|
3
|
-
*
|
|
4
|
-
* The inverse of `sessions export`: read a bundle (file or stdin), validate it,
|
|
5
|
-
* and place each transcript where the cross-machine sync would — a mirror keyed
|
|
6
|
-
* by the session's ORIGIN machine (see bundle.ts / mirrorPath). Placement dedups
|
|
7
|
-
* byte-exact against what is already on disk and never clobbers this machine's
|
|
8
|
-
* own live sessions ("local always wins" falls out of the scanner's
|
|
9
|
-
* live-home-first dedup), so a re-import or an overlapping bundle is safe.
|
|
10
|
-
*/
|
|
11
1
|
import * as fs from 'fs';
|
|
12
2
|
import chalk from 'chalk';
|
|
13
3
|
import { isSyncConfigured, loadR2Config } from '../lib/session/sync/config.js';
|
|
@@ -63,10 +53,7 @@ R2_SYNC_ENC_KEY (or pass --decrypt <key>). It is the inverse of
|
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
55
|
async function runImport(bundlePath, options, g, command) {
|
|
66
|
-
// 1. Obtain the bundle — from R2, remote peer(s), stdin, or a file.
|
|
67
56
|
let bundle;
|
|
68
|
-
// A managed restore recovers the per-account DEK (from the local cache or the
|
|
69
|
-
// Worker escrow) and decrypts with it; BYO falls back to the r2.backups key.
|
|
70
57
|
let managedDecryptKey;
|
|
71
58
|
if (options.byo && !options.fromR2) {
|
|
72
59
|
process.stderr.write(chalk.red('--byo is only valid with --from-r2.\n'));
|
|
@@ -123,7 +110,6 @@ async function runImport(bundlePath, options, g, command) {
|
|
|
123
110
|
process.exit(1);
|
|
124
111
|
}
|
|
125
112
|
}
|
|
126
|
-
// 2. Optional agent filter.
|
|
127
113
|
if (options.agent) {
|
|
128
114
|
bundle = { header: bundle.header, records: bundle.records.filter(r => r.agent === options.agent) };
|
|
129
115
|
if (bundle.records.length === 0) {
|
|
@@ -131,13 +117,9 @@ async function runImport(bundlePath, options, g, command) {
|
|
|
131
117
|
process.exit(1);
|
|
132
118
|
}
|
|
133
119
|
}
|
|
134
|
-
// 3. Resolve the decryption key if the bundle is encrypted. A managed restore
|
|
135
|
-
// already recovered the per-account DEK; otherwise fall back to an explicit
|
|
136
|
-
// --decrypt <key> or the shared r2.backups key.
|
|
137
120
|
const decryptKey = bundle.header.encrypted
|
|
138
121
|
? (managedDecryptKey ?? resolveDecryptKey(options.decrypt))
|
|
139
122
|
: null;
|
|
140
|
-
// 4. Plan.
|
|
141
123
|
let plan;
|
|
142
124
|
try {
|
|
143
125
|
plan = planImport(bundle, { decryptKey });
|
|
@@ -150,7 +132,6 @@ async function runImport(bundlePath, options, g, command) {
|
|
|
150
132
|
printDryRun(plan, bundle);
|
|
151
133
|
return;
|
|
152
134
|
}
|
|
153
|
-
// 5. Write.
|
|
154
135
|
const res = writeImport(plan, { overwrite: options.overwrite === true, decryptKey });
|
|
155
136
|
const parts = [];
|
|
156
137
|
if (res.placed)
|
|
@@ -165,20 +146,12 @@ async function runImport(bundlePath, options, g, command) {
|
|
|
165
146
|
parts.push(chalk.yellow(`${res.unknown} unknown-agent skipped`));
|
|
166
147
|
process.stderr.write(chalk.green(`Imported: ${parts.join(', ') || 'nothing to do'}.\n`));
|
|
167
148
|
}
|
|
168
|
-
/** Drain all of stdin to a string. Works for pipes (non-seekable) and redirects
|
|
169
|
-
* alike — unlike readFileSync(0), which fails on a pipe. */
|
|
170
149
|
async function readStdin() {
|
|
171
150
|
const chunks = [];
|
|
172
151
|
for await (const chunk of process.stdin)
|
|
173
152
|
chunks.push(Buffer.from(chunk));
|
|
174
153
|
return Buffer.concat(chunks).toString('utf-8');
|
|
175
154
|
}
|
|
176
|
-
/**
|
|
177
|
-
* --from-host: run `agents sessions export …` on each peer over SSH and merge
|
|
178
|
-
* the streamed bundles into one for import. The optional positional acts as a
|
|
179
|
-
* remote selector (id/query); the parent selection flags (--since, -a, --all,
|
|
180
|
-
* -n) forward too.
|
|
181
|
-
*/
|
|
182
155
|
async function pullForImport(hosts, selector, g, command) {
|
|
183
156
|
const args = [];
|
|
184
157
|
if (selector && selector !== '-')
|
|
@@ -209,20 +182,6 @@ async function pullForImport(hosts, selector, g, command) {
|
|
|
209
182
|
});
|
|
210
183
|
return { header, records };
|
|
211
184
|
}
|
|
212
|
-
/**
|
|
213
|
-
* --from-r2: download every session-backup object from the r2.backups bucket and
|
|
214
|
-
* assemble them into one bundle for the normal placement path. Each object is a
|
|
215
|
-
* self-describing one-record bundle written by `export --to-r2`, so it parses
|
|
216
|
-
* with the same parseBundle. A non-bundle object under the prefix (e.g. a legacy
|
|
217
|
-
* plaintext transcript from the retired sync) is skipped with a count, never
|
|
218
|
-
* silently swallowed. Fails loud when the bucket holds no restorable backups.
|
|
219
|
-
*/
|
|
220
|
-
/**
|
|
221
|
-
* `--from-r2` preflight as a pure, unit-testable function: fail loud when the
|
|
222
|
-
* backup target is not configured. Returns the message to fail loud with, or null
|
|
223
|
-
* when the restore may proceed. Kept pure (no process.exit, no keychain read) so
|
|
224
|
-
* the command and its test drive the same decision.
|
|
225
|
-
*/
|
|
226
185
|
export function r2ImportGateError(fromR2, isConfigured) {
|
|
227
186
|
if (fromR2 && !isConfigured) {
|
|
228
187
|
return ('R2 restore is not configured: the r2.backups secrets bundle is missing or locked.\n' +
|
|
@@ -231,10 +190,6 @@ export function r2ImportGateError(fromR2, isConfigured) {
|
|
|
231
190
|
return null;
|
|
232
191
|
}
|
|
233
192
|
export async function pullFromR2(resolvedClient) {
|
|
234
|
-
// The resolved client (managed HTTP or BYO R2) is passed in by the command; the
|
|
235
|
-
// no-client overload preserves the original BYO-only signature (loadR2Config)
|
|
236
|
-
// for the direct unit test. The managed client's list() ignores the prefix and
|
|
237
|
-
// enumerates the whole owner namespace, so one call site serves both.
|
|
238
193
|
let client;
|
|
239
194
|
let bucket;
|
|
240
195
|
if (resolvedClient) {
|
|
@@ -267,7 +222,6 @@ export async function pullFromR2(resolvedClient) {
|
|
|
267
222
|
let redactedAll = true;
|
|
268
223
|
let skipped = 0;
|
|
269
224
|
for (const key of keys) {
|
|
270
|
-
// The retired sync wrote a per-machine manifest.json; it is not a bundle.
|
|
271
225
|
if (key.endsWith('/manifest.json'))
|
|
272
226
|
continue;
|
|
273
227
|
let body;
|
|
@@ -288,11 +242,6 @@ export async function pullFromR2(resolvedClient) {
|
|
|
288
242
|
skipped++;
|
|
289
243
|
continue;
|
|
290
244
|
}
|
|
291
|
-
// Managed transcripts are mandatory AES-256-GCM (SES-51). A plaintext object
|
|
292
|
-
// in the managed store is a contract violation — an older/buggy writer or
|
|
293
|
-
// tampering — so fail loud rather than importing readable plaintext. Check
|
|
294
|
-
// the header AND every record body (matching the Worker's per-record
|
|
295
|
-
// isEncryptedManagedBundle boundary guard), never just the header flag.
|
|
296
245
|
if (client.kind === 'managed') {
|
|
297
246
|
const plaintext = !parsed.header.encrypted
|
|
298
247
|
|| parsed.records.some(rec => !rec.encrypted || !isTranscriptEnvelope(rec.body));
|
|
@@ -326,11 +275,6 @@ export async function pullFromR2(resolvedClient) {
|
|
|
326
275
|
});
|
|
327
276
|
return { header, records: deduped };
|
|
328
277
|
}
|
|
329
|
-
/**
|
|
330
|
-
* Decrypt-key resolution: an explicit `--decrypt <key>` (base64 or hex) wins;
|
|
331
|
-
* otherwise fall back to the fleet-shared R2_SYNC_ENC_KEY from the r2.backups
|
|
332
|
-
* bundle. Fails loudly when an encrypted bundle has no usable key.
|
|
333
|
-
*/
|
|
334
278
|
function resolveDecryptKey(decrypt) {
|
|
335
279
|
if (typeof decrypt === 'string' && decrypt.trim()) {
|
|
336
280
|
const raw = decrypt.trim();
|
|
@@ -347,15 +291,12 @@ function resolveDecryptKey(decrypt) {
|
|
|
347
291
|
return key;
|
|
348
292
|
}
|
|
349
293
|
catch {
|
|
350
|
-
// sync bundle not configured
|
|
351
294
|
}
|
|
352
295
|
process.stderr.write(chalk.red('This bundle is encrypted but no key is available. Pass --decrypt <key>, ' +
|
|
353
296
|
'or configure the r2.backups sync bundle so its shared key is used.\n'));
|
|
354
297
|
process.exit(1);
|
|
355
298
|
}
|
|
356
|
-
/** Print the dry-run table, grouped by session. Reads disk, writes nothing. */
|
|
357
299
|
function printDryRun(plan, bundle) {
|
|
358
|
-
// Group file-level plan items by session for a readable table.
|
|
359
300
|
const bySession = new Map();
|
|
360
301
|
for (const item of plan) {
|
|
361
302
|
const key = `${item.record.agent}:${item.record.machine}:${item.record.sessionId}`;
|
|
@@ -1,74 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents sessions inject <sessionId> <text>` — deliver text into the terminal a
|
|
3
|
-
* running session lives in. The CLI face of the Terminal Engine's Gap 2 primitive
|
|
4
|
-
* (`injectIntoTerminal`, src/lib/terminal/inject.ts), so a native watchdog
|
|
5
|
-
* (RUSH-1415) can shell out to nudge a stalled agent with "continue".
|
|
6
|
-
*
|
|
7
|
-
* Resolution: find the active session by id, then resolve its exact split through
|
|
8
|
-
* the SAME canonical resolver the watchdog uses — `resolveInjectTargetForSession`
|
|
9
|
-
* (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium. Sharing one
|
|
10
|
-
* resolver keeps the manual unblock path and the watchdog in agreement on which
|
|
11
|
-
* sessions are addressable (a prior duplicate resolver read only `provenance.reply`
|
|
12
|
-
* and could not address a VSCodium/Cursor terminal the watchdog handled fine).
|
|
13
|
-
* `--pane` targets a backend directly when the handle is already known.
|
|
14
|
-
*/
|
|
15
1
|
import type { Command } from 'commander';
|
|
16
|
-
import { type ActiveSession } from '../lib/session/active.js';
|
|
17
2
|
interface InjectOptions {
|
|
18
3
|
pane?: string;
|
|
19
4
|
socket?: string;
|
|
20
|
-
/**
|
|
21
|
-
* The remote device. A single `--device box` arrives here as `['box']` because
|
|
22
|
-
* the parent `sessions` command's variadic `-D, --device <target...>` shadows
|
|
23
|
-
* this subcommand's scalar option under `optsWithGlobals()` — normalize it with
|
|
24
|
-
* {@link normalizeInjectDevice} before use (PHNX-3688).
|
|
25
|
-
*/
|
|
26
5
|
device?: string | string[];
|
|
27
6
|
enter?: boolean;
|
|
28
7
|
combined?: boolean;
|
|
29
8
|
json?: boolean;
|
|
30
9
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Whether an active session is the one `sessions inject <token>` means. Matches
|
|
33
|
-
* a resolvable session id (exact or unique prefix) AND — for a tmux-hosted row
|
|
34
|
-
* whose full id never resolved (`sessionId` absent) — the `ag-<agent>-<shortid>`
|
|
35
|
-
* tmux name's `shortid` suffix (exact or prefix), the full tmux name, and the
|
|
36
|
-
* pane id. Those are the only selectors an id-less remote tmux row exposes, so
|
|
37
|
-
* without this an operator has no tool-native way to nudge it (PHNX-3688).
|
|
38
|
-
*/
|
|
39
|
-
export declare function matchInjectSelector(session: ActiveSession, token: string): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* The `--device` selector, normalized to a single host string. `optsWithGlobals()`
|
|
42
|
-
* merges the parent `sessions` command's variadic `-D, --device <target...>` over
|
|
43
|
-
* this subcommand's scalar `--device`, so a single `--device box` arrives as
|
|
44
|
-
* `['box']` — which flowed straight into `sshExec` and crashed on
|
|
45
|
-
* `host.startsWith` (PHNX-3688). Delegates to the shared
|
|
46
|
-
* {@link normalizeSingleDeviceOption} (also used by `sessions resume`,
|
|
47
|
-
* PHNX-3940) rather than re-implementing the array/scalar coercion here.
|
|
48
|
-
*/
|
|
49
10
|
export declare function normalizeInjectDevice(value: string | string[] | undefined): string | undefined;
|
|
50
|
-
/**
|
|
51
|
-
* The `agents sessions inject` argv to re-run ON a device (its tmux panes live
|
|
52
|
-
* there, so resolution must happen there). Every flag rides along EXCEPT
|
|
53
|
-
* `--device`: the command runs on the device, resolving locally. Pure so the
|
|
54
|
-
* forwarded invocation is asserted without an SSH hop (PHNX-3688).
|
|
55
|
-
*/
|
|
56
11
|
export declare function buildRemoteInjectArgv(sessionId: string, text: string, options: InjectOptions): string[];
|
|
57
|
-
/**
|
|
58
|
-
* Resolve `device` (registry alias or `user@host`) to an ssh target and re-run
|
|
59
|
-
* `agents sessions inject` there, so a bare session id + `--device` resolves on
|
|
60
|
-
* the box that actually holds the session's tmux panes. The tool-native form of
|
|
61
|
-
* the `agents ssh <device> "agents sessions inject <id> …"` workaround (PHNX-3688).
|
|
62
|
-
*/
|
|
63
|
-
/**
|
|
64
|
-
* Resolve `--device` to an ssh target. A registered device becomes its
|
|
65
|
-
* `user@dnsName`; a bare unknown name (an ad-hoc `user@host` or ssh_config alias)
|
|
66
|
-
* is handed to ssh verbatim (`resolveHost` returns null for it). A registered
|
|
67
|
-
* device we CANNOT dial — password-auth, addressless — throws its typed error and
|
|
68
|
-
* is NOT degraded to the raw name, which could ssh a coincidentally-matching but
|
|
69
|
-
* unrelated `~/.ssh/config` Host (PHNX-3688 review).
|
|
70
|
-
*/
|
|
71
12
|
export declare function resolveInjectSshTarget(device: string): Promise<string>;
|
|
72
|
-
/** Attach the `inject` subcommand to an existing `sessions` command. */
|
|
73
13
|
export declare function registerSessionsInjectCommand(sessionsCmd: Command): void;
|
|
74
14
|
export {};
|
|
@@ -1,66 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents sessions inject <sessionId> <text>` — deliver text into the terminal a
|
|
3
|
-
* running session lives in. The CLI face of the Terminal Engine's Gap 2 primitive
|
|
4
|
-
* (`injectIntoTerminal`, src/lib/terminal/inject.ts), so a native watchdog
|
|
5
|
-
* (RUSH-1415) can shell out to nudge a stalled agent with "continue".
|
|
6
|
-
*
|
|
7
|
-
* Resolution: find the active session by id, then resolve its exact split through
|
|
8
|
-
* the SAME canonical resolver the watchdog uses — `resolveInjectTargetForSession`
|
|
9
|
-
* (lib/terminal/resolve.ts), precedence tmux > iterm > vscodium. Sharing one
|
|
10
|
-
* resolver keeps the manual unblock path and the watchdog in agreement on which
|
|
11
|
-
* sessions are addressable (a prior duplicate resolver read only `provenance.reply`
|
|
12
|
-
* and could not address a VSCodium/Cursor terminal the watchdog handled fine).
|
|
13
|
-
* `--pane` targets a backend directly when the handle is already known.
|
|
14
|
-
*/
|
|
15
1
|
import chalk from 'chalk';
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
2
|
+
import { injectIntoTerminal } from '../lib/terminal/index.js';
|
|
3
|
+
import { resolveLiveInjectTarget } from '../lib/session/inject-target.js';
|
|
18
4
|
import { sshExec, shellQuote } from '../lib/ssh-exec.js';
|
|
19
5
|
import { resolveHost } from '../lib/hosts/registry.js';
|
|
20
6
|
import { sshTargetFor } from '../lib/hosts/types.js';
|
|
21
7
|
import { setHelpSections } from '../lib/help.js';
|
|
22
8
|
import { normalizeSingleDeviceOption } from './utils.js';
|
|
23
|
-
/**
|
|
24
|
-
* Whether an active session is the one `sessions inject <token>` means. Matches
|
|
25
|
-
* a resolvable session id (exact or unique prefix) AND — for a tmux-hosted row
|
|
26
|
-
* whose full id never resolved (`sessionId` absent) — the `ag-<agent>-<shortid>`
|
|
27
|
-
* tmux name's `shortid` suffix (exact or prefix), the full tmux name, and the
|
|
28
|
-
* pane id. Those are the only selectors an id-less remote tmux row exposes, so
|
|
29
|
-
* without this an operator has no tool-native way to nudge it (PHNX-3688).
|
|
30
|
-
*/
|
|
31
|
-
export function matchInjectSelector(session, token) {
|
|
32
|
-
if (!token)
|
|
33
|
-
return false;
|
|
34
|
-
const sid = session.sessionId;
|
|
35
|
-
if (sid && (sid === token || sid.startsWith(token)))
|
|
36
|
-
return true;
|
|
37
|
-
const short = session.tmuxName ? shortIdFromName(session.tmuxName) : undefined;
|
|
38
|
-
if (short && (short === token || short.startsWith(token)))
|
|
39
|
-
return true;
|
|
40
|
-
if (session.tmuxName && session.tmuxName === token)
|
|
41
|
-
return true;
|
|
42
|
-
if (session.paneId && session.paneId === token)
|
|
43
|
-
return true;
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* The `--device` selector, normalized to a single host string. `optsWithGlobals()`
|
|
48
|
-
* merges the parent `sessions` command's variadic `-D, --device <target...>` over
|
|
49
|
-
* this subcommand's scalar `--device`, so a single `--device box` arrives as
|
|
50
|
-
* `['box']` — which flowed straight into `sshExec` and crashed on
|
|
51
|
-
* `host.startsWith` (PHNX-3688). Delegates to the shared
|
|
52
|
-
* {@link normalizeSingleDeviceOption} (also used by `sessions resume`,
|
|
53
|
-
* PHNX-3940) rather than re-implementing the array/scalar coercion here.
|
|
54
|
-
*/
|
|
55
9
|
export function normalizeInjectDevice(value) {
|
|
56
10
|
return normalizeSingleDeviceOption(value, 'sessions inject');
|
|
57
11
|
}
|
|
58
|
-
/**
|
|
59
|
-
* The `agents sessions inject` argv to re-run ON a device (its tmux panes live
|
|
60
|
-
* there, so resolution must happen there). Every flag rides along EXCEPT
|
|
61
|
-
* `--device`: the command runs on the device, resolving locally. Pure so the
|
|
62
|
-
* forwarded invocation is asserted without an SSH hop (PHNX-3688).
|
|
63
|
-
*/
|
|
64
12
|
export function buildRemoteInjectArgv(sessionId, text, options) {
|
|
65
13
|
const argv = ['agents', 'sessions', 'inject', sessionId, text];
|
|
66
14
|
if (options.enter === false)
|
|
@@ -75,20 +23,6 @@ export function buildRemoteInjectArgv(sessionId, text, options) {
|
|
|
75
23
|
argv.push('--json');
|
|
76
24
|
return argv;
|
|
77
25
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Resolve `device` (registry alias or `user@host`) to an ssh target and re-run
|
|
80
|
-
* `agents sessions inject` there, so a bare session id + `--device` resolves on
|
|
81
|
-
* the box that actually holds the session's tmux panes. The tool-native form of
|
|
82
|
-
* the `agents ssh <device> "agents sessions inject <id> …"` workaround (PHNX-3688).
|
|
83
|
-
*/
|
|
84
|
-
/**
|
|
85
|
-
* Resolve `--device` to an ssh target. A registered device becomes its
|
|
86
|
-
* `user@dnsName`; a bare unknown name (an ad-hoc `user@host` or ssh_config alias)
|
|
87
|
-
* is handed to ssh verbatim (`resolveHost` returns null for it). A registered
|
|
88
|
-
* device we CANNOT dial — password-auth, addressless — throws its typed error and
|
|
89
|
-
* is NOT degraded to the raw name, which could ssh a coincidentally-matching but
|
|
90
|
-
* unrelated `~/.ssh/config` Host (PHNX-3688 review).
|
|
91
|
-
*/
|
|
92
26
|
export async function resolveInjectSshTarget(device) {
|
|
93
27
|
const host = await resolveHost(device);
|
|
94
28
|
return host ? sshTargetFor(host) : device;
|
|
@@ -115,24 +49,6 @@ async function injectOnDevice(sessionId, text, options, device) {
|
|
|
115
49
|
if (res.code !== 0)
|
|
116
50
|
process.exit(res.code ?? 1);
|
|
117
51
|
}
|
|
118
|
-
/** Resolve a session id (short or full) to an addressable terminal target, via the
|
|
119
|
-
* same resolver the watchdog uses so both agree on what is reachable. */
|
|
120
|
-
async function resolveTarget(sessionId) {
|
|
121
|
-
const sessions = await getActiveSessions();
|
|
122
|
-
const match = sessions.find((s) => matchInjectSelector(s, sessionId));
|
|
123
|
-
if (!match)
|
|
124
|
-
return { target: null, reason: `No active session matches "${sessionId}".` };
|
|
125
|
-
const resolution = resolveInjectTargetForSession(match);
|
|
126
|
-
if (!resolution.addressable) {
|
|
127
|
-
// Surface the resolver's precise reason (host/rail), not a generic "not tmux".
|
|
128
|
-
return {
|
|
129
|
-
target: null,
|
|
130
|
-
reason: `Session "${sessionId}": ${resolution.reason}`,
|
|
131
|
-
hint: resolution.hint,
|
|
132
|
-
};
|
|
133
|
-
}
|
|
134
|
-
return { target: resolution.target };
|
|
135
|
-
}
|
|
136
52
|
async function runInject(sessionId, text, options) {
|
|
137
53
|
let device;
|
|
138
54
|
try {
|
|
@@ -146,21 +62,15 @@ async function runInject(sessionId, text, options) {
|
|
|
146
62
|
console.error(chalk.red(message));
|
|
147
63
|
process.exit(1);
|
|
148
64
|
}
|
|
149
|
-
// Direct-target shortcut skips the session lookup — the watchdog often already
|
|
150
|
-
// holds the pane id it wants to type into. The pane's exact address is known,
|
|
151
|
-
// so it composes with --device (tmux send-keys over SSH).
|
|
152
65
|
let target = null;
|
|
153
66
|
if (options.pane) {
|
|
154
67
|
target = { backend: 'tmux', pane: options.pane, socket: options.socket };
|
|
155
68
|
}
|
|
156
69
|
else if (device) {
|
|
157
|
-
// A bare session id + a device: the session's tmux panes live ON that device,
|
|
158
|
-
// so getActiveSessions here can't see them. Resolve + deliver THERE by re-running
|
|
159
|
-
// inject over SSH (the same command, minus --device) — PHNX-3688.
|
|
160
70
|
return injectOnDevice(sessionId, text, options, device);
|
|
161
71
|
}
|
|
162
72
|
else {
|
|
163
|
-
const resolved = await
|
|
73
|
+
const resolved = await resolveLiveInjectTarget(sessionId);
|
|
164
74
|
if (!resolved.target) {
|
|
165
75
|
const message = resolved.hint ? `${resolved.reason}\n${resolved.hint}` : resolved.reason;
|
|
166
76
|
if (options.json)
|
|
@@ -189,7 +99,6 @@ async function runInject(sessionId, text, options) {
|
|
|
189
99
|
if (!res.ok)
|
|
190
100
|
process.exit(1);
|
|
191
101
|
}
|
|
192
|
-
/** Attach the `inject` subcommand to an existing `sessions` command. */
|
|
193
102
|
export function registerSessionsInjectCommand(sessionsCmd) {
|
|
194
103
|
const injectCmd = sessionsCmd
|
|
195
104
|
.command('inject <sessionId> <text>')
|
|
@@ -228,8 +137,6 @@ export function registerSessionsInjectCommand(sessionsCmd) {
|
|
|
228
137
|
the lookup on that box (its tmux panes live there, not here).
|
|
229
138
|
`,
|
|
230
139
|
});
|
|
231
|
-
// The parent `sessions` command also defines --json, so it binds there;
|
|
232
|
-
// optsWithGlobals() merges parent + subcommand options so --json is honored.
|
|
233
140
|
injectCmd.action(async (sessionId, text, _options, command) => {
|
|
234
141
|
await runInject(sessionId, text, command.optsWithGlobals());
|
|
235
142
|
});
|