@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interactive fleet-wide session browser — the human front-end of `agents sessions`.
|
|
3
|
-
*
|
|
4
|
-
* One canonical filter state (device / agent / project / window / running / teams),
|
|
5
|
-
* driven by single-key hotkeys, re-pulling live over the same fleet fan-out the flag
|
|
6
|
-
* surface uses. The identical state is expressible as flags (the agent front-end);
|
|
7
|
-
* `y` / `--print-cmd` round-trips a hand-built view into a copy-pasteable command.
|
|
8
|
-
*
|
|
9
|
-
* Built on {@link dynamicPicker}; every data source (discover, fleet, live index,
|
|
10
|
-
* preview, resume dispatch) is reused from the existing sessions plumbing.
|
|
11
|
-
*/
|
|
12
1
|
import path from 'path';
|
|
13
2
|
import { spawnSync } from 'child_process';
|
|
14
3
|
import chalk from 'chalk';
|
|
15
4
|
import { dynamicPicker } from '../lib/picker.js';
|
|
16
|
-
import { isSessionTrackedAgent } from '
|
|
5
|
+
import { isSessionTrackedAgent } from '@phnx-labs/sessions-cli/reader';
|
|
17
6
|
import { discoverSessions } from '../lib/session/discover.js';
|
|
18
7
|
import { gatherRemoteList } from '../lib/session/remote-list.js';
|
|
19
8
|
import { resolveVersionAliasLoose } from '../lib/installations/versions.js';
|
|
20
9
|
import { AGENTS } from '../lib/agents.js';
|
|
21
|
-
import { enrichTeamOrigins, safeTeamText, shouldShowTeamSessions } from '
|
|
10
|
+
import { enrichTeamOrigins, safeTeamText, shouldShowTeamSessions } from '@phnx-labs/sessions-cli/reader';
|
|
22
11
|
import { listBookmarks, toggleBookmark } from '../lib/session/bookmarks.js';
|
|
23
12
|
import { machineId, normalizeHost } from '../lib/session/sync/config.js';
|
|
24
13
|
import { buildPreview, setRemotePreviewRepaint } from './sessions-picker.js';
|
|
25
|
-
import { formatPickerLabel, pickerColumnsFor, ticketLabel, mergeLocalFirst,
|
|
26
|
-
|
|
27
|
-
* Complete a seed into the filter the picker actually runs on.
|
|
28
|
-
*
|
|
29
|
-
* Every optional field of {@link BrowserFilter} has to be named here, because the
|
|
30
|
-
* seed is copied field-by-field and an omission is silent: the field is optional,
|
|
31
|
-
* so the compiler says nothing and the browser just opens without that filter.
|
|
32
|
-
* `team` was dropped exactly this way, which made `--in-team` a no-op on the
|
|
33
|
-
* interactive path while the scope half of the same seed still applied — so the
|
|
34
|
-
* view opened wide and all-time and looked like the flag had worked.
|
|
35
|
-
*
|
|
36
|
-
* Exported so a test can assert the FILTER, not just the seed; testing the seed
|
|
37
|
-
* alone cannot see this class of bug.
|
|
38
|
-
*/
|
|
14
|
+
import { formatPickerLabel, pickerColumnsFor, ticketLabel, mergeLocalFirst, liveHostLabel, LIVE_ROW_PREFIX, handlePickedSession, matchesTeam, formatLiveStatusHeadline, isRunningLiveSession, parseAgentFilter } from './sessions.js';
|
|
15
|
+
import { gatherActiveSessions, cleanPreview, shouldIncludeLocal, remoteHostsToDial, matchesLiveStatus, resolveRoutineName } from './ps-roster.js';
|
|
39
16
|
export function buildInitialFilter(initial) {
|
|
40
17
|
return {
|
|
41
18
|
running: initial.running ?? false,
|
|
@@ -57,27 +34,16 @@ export function buildInitialFilter(initial) {
|
|
|
57
34
|
sort: initial.sort ?? 'timestamp',
|
|
58
35
|
};
|
|
59
36
|
}
|
|
60
|
-
/** Cache key for the transcript pool: every filter that changes what is FETCHED
|
|
61
|
-
* (window, team-origin inclusion, and the team filter's deeper limit) — not the
|
|
62
|
-
* ones applied in memory afterwards. */
|
|
63
37
|
function poolCacheKey(f) {
|
|
64
|
-
// The team filter contributes only whether it is SET, not which team: any team
|
|
65
|
-
// fetches the same deep pool and is then narrowed in memory. Keying on the name
|
|
66
|
-
// would make `t` the one hotkey that re-fans-out the fleet on every step of the
|
|
67
|
-
// cycle, at up to REMOTE_TIMEOUT_MS per unreachable peer.
|
|
68
38
|
const versionScoped = f.agent?.includes('@') ? f.agent : '';
|
|
69
39
|
return [
|
|
70
40
|
f.window ?? 'all', f.until ?? '', f.teams, f.team ? 'team' : '', versionScoped,
|
|
71
41
|
f.project ?? '', f.routine, f.skill ?? '', f.plugin ?? '', f.limit, f.unmanaged, f.sort,
|
|
72
42
|
].join('|');
|
|
73
43
|
}
|
|
74
|
-
/** Pool size when a team filter is active; one team's rows can sit anywhere. */
|
|
75
44
|
const WHOLE_TEAM_POOL_LIMIT = 5000;
|
|
76
|
-
/** A cold peer may need to resolve an installed-version alias and scan its index. */
|
|
77
45
|
const BROWSER_PEER_TIMEOUT_MS = 30_000;
|
|
78
|
-
/** Ordered window cycle for the `W` key. `undefined` = all time. */
|
|
79
46
|
const WINDOW_CYCLE = [undefined, '1d', '7d', '30d'];
|
|
80
|
-
/** Return the next value in `[undefined, ...options]`, wrapping. */
|
|
81
47
|
export function cycle(current, options) {
|
|
82
48
|
const ring = [undefined, ...options];
|
|
83
49
|
const idx = ring.findIndex((v) => v === current);
|
|
@@ -90,12 +56,6 @@ export function cycleWindow(current) {
|
|
|
90
56
|
function distinct(values) {
|
|
91
57
|
return [...new Set(values.filter((v) => !!v))].sort();
|
|
92
58
|
}
|
|
93
|
-
/**
|
|
94
|
-
* Cheap client-side match for the `S` search — a plain substring test over a
|
|
95
|
-
* row's visible fields. Deliberately NOT the FTS `filterSessionsByQuery`: that
|
|
96
|
-
* runs a content-index scan per call, which is fine once over a pool but a
|
|
97
|
-
* CPU sink when a picker calls it per-row on every keystroke.
|
|
98
|
-
*/
|
|
99
59
|
export function sessionMatchesQuery(s, query) {
|
|
100
60
|
const terms = query.toLowerCase().split(/\s+/).filter(Boolean);
|
|
101
61
|
if (terms.length === 0)
|
|
@@ -115,11 +75,6 @@ export function sessionMatchesQuery(s, query) {
|
|
|
115
75
|
.toLowerCase();
|
|
116
76
|
return terms.every((t) => hay.includes(t));
|
|
117
77
|
}
|
|
118
|
-
/**
|
|
119
|
-
* The canonical `ag sessions …` command for a filter state (+ optional search) —
|
|
120
|
-
* the agent-facing twin of the interactive view. Shared by the `y` hotkey and
|
|
121
|
-
* `--print-cmd`.
|
|
122
|
-
*/
|
|
123
78
|
export function browserFilterToArgv(f, query = '') {
|
|
124
79
|
const a = ['sessions'];
|
|
125
80
|
if (f.statuses.length === 0 && f.running)
|
|
@@ -164,20 +119,11 @@ export function browserFilterToArgv(f, query = '') {
|
|
|
164
119
|
a.push(JSON.stringify(q));
|
|
165
120
|
return a;
|
|
166
121
|
}
|
|
167
|
-
/** Normalize a `--device`/`--device` token (`alias`, `user@host`, `host.domain`) to
|
|
168
|
-
* the canonical machine id the rows carry in `.machine`, so a flag seed matches
|
|
169
|
-
* (the `d` hotkey already cycles canonical ids). Mirrors sessions.ts `hostToken`. */
|
|
170
122
|
export function normalizeDeviceSeed(host) {
|
|
171
123
|
if (!host)
|
|
172
124
|
return undefined;
|
|
173
125
|
return normalizeHost(host.split('@').pop() || host);
|
|
174
126
|
}
|
|
175
|
-
/**
|
|
176
|
-
* The initial filter for the `--active` browser: fleet-wide (matches the static
|
|
177
|
-
* `renderActiveSessions`, which has no project scoping — the `p` hotkey narrows to
|
|
178
|
-
* this repo), running-only, with the device seed normalized and `--since` seeding
|
|
179
|
-
* the window. Pure, so the routing call site is unit-testable.
|
|
180
|
-
*/
|
|
181
127
|
export function activeBrowserSeed(opts) {
|
|
182
128
|
return {
|
|
183
129
|
running: true,
|
|
@@ -187,48 +133,25 @@ export function activeBrowserSeed(opts) {
|
|
|
187
133
|
agent: opts.agent,
|
|
188
134
|
projectScope: 'all',
|
|
189
135
|
device: normalizeDeviceSeed(opts.host?.[0]),
|
|
190
|
-
// --all widens the window to all-time (project is already 'all' here);
|
|
191
|
-
// --since still overrides.
|
|
192
136
|
window: opts.since ?? (opts.all ? undefined : '30d'),
|
|
193
137
|
statuses: [],
|
|
194
138
|
};
|
|
195
139
|
}
|
|
196
|
-
/**
|
|
197
|
-
* The initial filter for the bare interactive listing: current-repo subtree by
|
|
198
|
-
* default (matches the static overview's cwd scoping). `--all` sets every
|
|
199
|
-
* non-status filter to its "all" value — every directory (project) AND all-time
|
|
200
|
-
* (window) — so one flag maxes the view; `--since` still overrides the window and
|
|
201
|
-
* `-a`/`--device` still narrow their axis.
|
|
202
|
-
*/
|
|
203
140
|
export function bareBrowserSeed(opts) {
|
|
204
|
-
// An explicit --device scopes the pool to a peer, whose cwds live under that
|
|
205
|
-
// machine's home — none of them can be under OUR process.cwd(), so the default
|
|
206
|
-
// 'repo' scope would filter every fetched row away and render an empty list.
|
|
207
|
-
// A host scope therefore implies all-directories, exactly as --all does.
|
|
208
141
|
const scoped = (opts.host?.length ?? 0) > 0;
|
|
209
|
-
// --in-team asks for ONE team's lineage, and a team's teammates run in their own
|
|
210
|
-
// `.agents/worktrees/<slug>/` — a different cwd from ours — while the team itself
|
|
211
|
-
// may be older than the default window. Both defaults would hide exactly the rows
|
|
212
|
-
// the flag exists to surface, so it widens the scope the way --all does. The flag
|
|
213
|
-
// path does this too (sessions.ts `wantsWholeTeam`); the browser is the one a
|
|
214
|
-
// human actually reaches, so it must not be the one that stays narrow.
|
|
215
142
|
const wholeTeam = !!opts.inTeam;
|
|
216
143
|
return {
|
|
217
144
|
teams: !!opts.teams,
|
|
218
145
|
bookmarks: !!opts.bookmarks,
|
|
219
146
|
routine: opts.routine ?? false,
|
|
220
147
|
agent: opts.agent,
|
|
221
|
-
// The filter carries one device; seed it only when the scope names exactly
|
|
222
|
-
// one, so a two-device scope isn't narrowed to the first of them.
|
|
223
148
|
device: opts.host?.length === 1 ? normalizeDeviceSeed(opts.host[0]) : undefined,
|
|
224
149
|
team: opts.inTeam,
|
|
225
|
-
// --all maxes every non-status filter: all dirs AND all-time. --since wins.
|
|
226
150
|
projectScope: opts.all || scoped || wholeTeam ? 'all' : 'repo',
|
|
227
151
|
window: opts.since ?? (opts.all || wholeTeam ? undefined : '30d'),
|
|
228
152
|
statuses: [],
|
|
229
153
|
};
|
|
230
154
|
}
|
|
231
|
-
/** Copy text to the OS clipboard (best-effort; silently no-ops if unavailable). */
|
|
232
155
|
function copyToClipboard(text) {
|
|
233
156
|
const candidates = process.platform === 'darwin'
|
|
234
157
|
? [['pbcopy', []]]
|
|
@@ -244,18 +167,10 @@ function copyToClipboard(text) {
|
|
|
244
167
|
return true;
|
|
245
168
|
}
|
|
246
169
|
catch {
|
|
247
|
-
// try the next candidate
|
|
248
170
|
}
|
|
249
171
|
}
|
|
250
172
|
return false;
|
|
251
173
|
}
|
|
252
|
-
/** The transcript pool: the local index + (unless --local) a live fleet fan-out.
|
|
253
|
-
* The live index is fetched separately/lazily — it's the slow part and only the
|
|
254
|
-
* running filter needs it, so a bare browse stays instant.
|
|
255
|
-
*
|
|
256
|
-
* `hosts` is the explicit `--device`/`--device` scope (if any): it restricts which
|
|
257
|
-
* peers are dialed and whether local is included, honoring the flag's "scope,
|
|
258
|
-
* not add" contract instead of always sweeping the whole fleet. */
|
|
259
174
|
async function fetchRawPool(f, self, local, hosts, fixedFilters = false) {
|
|
260
175
|
const since = f.window;
|
|
261
176
|
const selectedAgent = f.agent ? parseAgentFilter(f.agent) : {};
|
|
@@ -264,9 +179,6 @@ async function fetchRawPool(f, self, local, hosts, fixedFilters = false) {
|
|
|
264
179
|
? resolveVersionAliasLoose(parsedAgent.agent, parsedAgent.version)
|
|
265
180
|
: parsedAgent.version;
|
|
266
181
|
let unreachable = [];
|
|
267
|
-
// Local pool: wide (every directory) — device/agent/project are applied in
|
|
268
|
-
// memory so a hotkey toggle is instant and doesn't re-hit the disk. Skipped
|
|
269
|
-
// when an explicit host scope excludes this machine.
|
|
270
182
|
let rows = shouldIncludeLocal(hosts, self)
|
|
271
183
|
? await discoverSessions({
|
|
272
184
|
all: true,
|
|
@@ -281,40 +193,17 @@ async function fetchRawPool(f, self, local, hosts, fixedFilters = false) {
|
|
|
281
193
|
skill: f.skill,
|
|
282
194
|
plugin: f.plugin,
|
|
283
195
|
excludeTeamOrigin: !shouldShowTeamSessions(f),
|
|
284
|
-
// A team filter reaches back past the usual browse window, so the pool it
|
|
285
|
-
// draws from has to as well — otherwise the newest 500 rows decide which
|
|
286
|
-
// teams exist.
|
|
287
196
|
limit: f.team ? WHOLE_TEAM_POOL_LIMIT : f.limit,
|
|
288
197
|
sortBy: f.sort,
|
|
289
198
|
})
|
|
290
199
|
: [];
|
|
291
|
-
// A synced mirror knows which VERSION produced a session, but it cannot know
|
|
292
|
-
// which version is currently installed as latest/oldest on the origin device.
|
|
293
|
-
// For an alias selector, keep only this device's rows here and accept peer
|
|
294
|
-
// rows only from the live query below, where that peer resolves its own
|
|
295
|
-
// inventory. If the peer is unavailable, an empty/partial result is honest;
|
|
296
|
-
// widening to cached sessions from every version is not.
|
|
297
200
|
if (selectedAgent.version === 'latest' || selectedAgent.version === 'oldest') {
|
|
298
201
|
rows = rows.filter((row) => (row.machine ?? self) === self);
|
|
299
202
|
}
|
|
300
|
-
// Fleet: fold in peers' own indexes over SSH (no sync), same as the flag path.
|
|
301
|
-
// Skipped under --local. An explicit --host/--device scopes exactly which peers
|
|
302
|
-
// are dialed (undefined = sweep every online device). Best-effort — a fan-out
|
|
303
|
-
// failure leaves the local list intact.
|
|
304
203
|
const remoteHosts = remoteHostsToDial(hosts, self);
|
|
305
|
-
// An explicit scope naming only this machine leaves nothing remote to dial.
|
|
306
|
-
// gatherRemoteList reads `[]` as "no hosts given" and falls through to the
|
|
307
|
-
// whole-fleet sweep, so `--device <self>` would dial every online box — the
|
|
308
|
-
// exact opposite of the flag's scope-not-add contract. Skip the fan-out here,
|
|
309
|
-
// the same way gatherActiveSessions does for --active.
|
|
310
204
|
const dialPeers = !local && (!hosts?.length || (remoteHosts && remoteHosts.length > 0));
|
|
311
205
|
if (dialPeers) {
|
|
312
206
|
try {
|
|
313
|
-
// The peer's cap has to match the local one, or a team filter widens only
|
|
314
|
-
// this machine's half of the pool and a peer's older rows stay invisible —
|
|
315
|
-
// the same bug one hop out. A numeric --limit is forwarded rather than
|
|
316
|
-
// --in-team itself, which a peer on an older build would reject as an
|
|
317
|
-
// unknown option and fail the whole fan-out.
|
|
318
207
|
const forwarded = remotePoolArgs(f, fixedFilters);
|
|
319
208
|
const remoteResult = await gatherRemoteList(forwarded, remoteHosts, {
|
|
320
209
|
timeoutMs: BROWSER_PEER_TIMEOUT_MS,
|
|
@@ -324,18 +213,12 @@ async function fetchRawPool(f, self, local, hosts, fixedFilters = false) {
|
|
|
324
213
|
rows = mergeLocalFirst([...rows, ...remoteResult.sessions], self);
|
|
325
214
|
}
|
|
326
215
|
catch {
|
|
327
|
-
// enrichment, never a hard dependency
|
|
328
216
|
}
|
|
329
217
|
}
|
|
330
|
-
// Team rows are anonymous without their meta.json (team name, handle, the
|
|
331
|
-
// orchestrator that spawned them). Only pay for that read when team rows are
|
|
332
|
-
// actually in the pool — with `c` off they were excluded at the query.
|
|
333
218
|
if (f.teams)
|
|
334
219
|
rows = enrichTeamOrigins(rows);
|
|
335
220
|
return { key: poolCacheKey(f), rows, unreachable };
|
|
336
221
|
}
|
|
337
|
-
/** Build the static peer query. Keeping it pure pins the per-device alias
|
|
338
|
-
* contract: latest/oldest travel unresolved and are resolved by each peer. */
|
|
339
222
|
export function remotePoolArgs(f, fixedFilters) {
|
|
340
223
|
const forwarded = ['sessions', '--all', '--json', '--limit', String(f.team ? WHOLE_TEAM_POOL_LIMIT : f.limit)];
|
|
341
224
|
if (f.window)
|
|
@@ -363,44 +246,24 @@ export function remotePoolArgs(f, fixedFilters) {
|
|
|
363
246
|
forwarded.push('--teams');
|
|
364
247
|
return forwarded;
|
|
365
248
|
}
|
|
366
|
-
/**
|
|
367
|
-
* A live session's stable row key: its session id when the agent reported one,
|
|
368
|
-
* else a per-machine handle so an id-less live session (a just-booted harness, a
|
|
369
|
-
* cloud task) still gets exactly one row instead of being dropped. Cloud rows key
|
|
370
|
-
* on the task id because they have no pid — keying them all on the machine alone
|
|
371
|
-
* would collapse two cloud tasks into one row, the same silent-drop this whole
|
|
372
|
-
* change exists to remove.
|
|
373
|
-
*/
|
|
374
249
|
export function liveRowKey(a, self) {
|
|
375
250
|
if (a.sessionId)
|
|
376
251
|
return a.sessionId;
|
|
377
252
|
const handle = a.cloudTaskId ?? (a.pid != null ? String(a.pid) : 'unknown');
|
|
378
253
|
return `${LIVE_ROW_PREFIX}${a.machine ?? self}:${handle}`;
|
|
379
254
|
}
|
|
380
|
-
/** Index live sessions by {@link liveRowKey} — the join key between the live scan
|
|
381
|
-
* and the transcript pool. Id-carrying rows key on the session id, so a live row
|
|
382
|
-
* and its transcript row collapse to one. */
|
|
383
255
|
export function indexLiveRows(rows, self) {
|
|
384
256
|
const byKey = new Map();
|
|
385
257
|
for (const a of rows)
|
|
386
258
|
byKey.set(liveRowKey(a, self), a);
|
|
387
259
|
return byKey;
|
|
388
260
|
}
|
|
389
|
-
/**
|
|
390
|
-
* Project a live session onto the picker's row shape, for a session the transcript
|
|
391
|
-
* pool doesn't carry — a peer's session, a transcript outside the current window,
|
|
392
|
-
* or an agent that has not written one yet. `filePath` is the live transcript path
|
|
393
|
-
* when the scan resolved one and empty otherwise, which is what
|
|
394
|
-
* {@link handlePickedSession} keys "there is nothing to open yet" off.
|
|
395
|
-
*/
|
|
396
261
|
export function liveSessionToMeta(a, self) {
|
|
397
262
|
const machine = a.machine ?? self;
|
|
398
263
|
const started = a.startedAtMs ?? a.lastActivityMs;
|
|
399
264
|
const topic = a.topic ?? a.preview;
|
|
400
265
|
return {
|
|
401
266
|
id: liveRowKey(a, self),
|
|
402
|
-
// No session id to short — name the row by what it IS (a cloud task, a pid),
|
|
403
|
-
// so the id column still identifies the process you'd go looking for.
|
|
404
267
|
shortId: a.sessionId
|
|
405
268
|
? a.sessionId.slice(0, 8)
|
|
406
269
|
: a.cloudTaskId
|
|
@@ -412,14 +275,9 @@ export function liveSessionToMeta(a, self) {
|
|
|
412
275
|
project: a.cwd ? path.basename(a.cwd) : undefined,
|
|
413
276
|
cwd: a.cwd,
|
|
414
277
|
filePath: a.sessionFile ?? '',
|
|
415
|
-
// A live topic is raw transcript text: a newline in it would break the row
|
|
416
|
-
// into two and misalign every column after it. Indexed rows are already
|
|
417
|
-
// cleaned at scan time, so this puts projected rows on the same footing.
|
|
418
278
|
topic: topic ? cleanPreview(topic) : undefined,
|
|
419
279
|
label: a.label ? cleanPreview(a.label) : undefined,
|
|
420
280
|
machine,
|
|
421
|
-
// Reading/resuming a peer's session hops back over SSH — same contract the
|
|
422
|
-
// cross-machine listing sets, so handlePickedSession routes it correctly.
|
|
423
281
|
_remote: machine !== self,
|
|
424
282
|
prUrl: a.pr?.url,
|
|
425
283
|
prNumber: a.pr?.number,
|
|
@@ -429,18 +287,7 @@ export function liveSessionToMeta(a, self) {
|
|
|
429
287
|
routineName: a.routineName,
|
|
430
288
|
};
|
|
431
289
|
}
|
|
432
|
-
/**
|
|
433
|
-
* Fold the live scan INTO the transcript pool. The running filter used to be a
|
|
434
|
-
* pure intersection (`pool ∩ live`), which meant a session had to already be in
|
|
435
|
-
* the pool to be shown as running — so every session on another machine, and
|
|
436
|
-
* every local one outside the pool's window, was invisible in the browser while
|
|
437
|
-
* `--active --json` listed it. Live sessions the pool lacks are appended as their
|
|
438
|
-
* own rows, then the whole set is grouped local-machine-first.
|
|
439
|
-
*/
|
|
440
290
|
export function mergeLiveIntoPool(rows, live, self, includeUnindexed = true) {
|
|
441
|
-
// A latest/oldest selector is resolved by the peer's transcript query. A live
|
|
442
|
-
// row absent from that result has no proof it belongs to the resolved version,
|
|
443
|
-
// so callers using an alias fail closed instead of widening the selector.
|
|
444
291
|
if (!includeUnindexed)
|
|
445
292
|
return rows;
|
|
446
293
|
const known = new Set(rows.map((r) => r.id));
|
|
@@ -451,24 +298,13 @@ export function mergeLiveIntoPool(rows, live, self, includeUnindexed = true) {
|
|
|
451
298
|
}
|
|
452
299
|
return extra.length === 0 ? rows : mergeLocalFirst([...rows, ...extra], self);
|
|
453
300
|
}
|
|
454
|
-
/**
|
|
455
|
-
* Whether to render the host-program column. It belongs to the running view
|
|
456
|
-
* only, so this gates on the FILTER — not on the live index being populated.
|
|
457
|
-
* `liveCache` outlives a toggle of the `r` hotkey, so testing `live` alone would
|
|
458
|
-
* keep the column after running is turned back off, widening a plain transcript
|
|
459
|
-
* listing that has no live rows to explain it.
|
|
460
|
-
*/
|
|
461
301
|
export function shouldShowHostColumn(f, live, rows) {
|
|
462
302
|
if (!f.running || !live)
|
|
463
303
|
return false;
|
|
464
304
|
return rows.some((r) => liveHostLabel(live.get(r.id)) !== '');
|
|
465
305
|
}
|
|
466
|
-
/** Apply the cheap in-memory filters (agent / device / project / running / bookmarks). */
|
|
467
306
|
export function applyFilters(rows, live, f, self, bookmarks) {
|
|
468
307
|
let out = rows;
|
|
469
|
-
// A projected live row is keyed by pid/task when it has no session id, and a
|
|
470
|
-
// A bookmark is always keyed by a real session id — so an id-less row can
|
|
471
|
-
// never be bookmarked and correctly drops out here.
|
|
472
308
|
if (f.bookmarks)
|
|
473
309
|
out = out.filter((r) => bookmarks.has(r.id));
|
|
474
310
|
if (f.routine) {
|
|
@@ -488,9 +324,6 @@ export function applyFilters(rows, live, f, self, bookmarks) {
|
|
|
488
324
|
out = out.filter((r) => {
|
|
489
325
|
if (r.agent !== agent)
|
|
490
326
|
return false;
|
|
491
|
-
// Only a LIVE peer result may claim it resolved latest/oldest against that
|
|
492
|
-
// device's installed inventory. A synced mirror is historical data, not a
|
|
493
|
-
// version-inventory oracle.
|
|
494
327
|
if (peerResolvedAlias && (r.machine ?? self) !== self)
|
|
495
328
|
return r._remote === true;
|
|
496
329
|
if (!localVersion)
|
|
@@ -510,9 +343,6 @@ export function applyFilters(rows, live, f, self, bookmarks) {
|
|
|
510
343
|
const cwd = process.cwd();
|
|
511
344
|
out = out.filter((r) => !!r.cwd && (r.cwd === cwd || r.cwd.startsWith(cwd + '/')));
|
|
512
345
|
}
|
|
513
|
-
// The live registry retains dead rows so explicit --closed/--crashed filters
|
|
514
|
-
// can recover them. Bare --active means currently active; a lifecycle filter
|
|
515
|
-
// intentionally replaces that default predicate with its exact status union.
|
|
516
346
|
if (f.running && f.statuses.length === 0) {
|
|
517
347
|
out = out.filter((r) => {
|
|
518
348
|
const active = live.get(r.id);
|
|
@@ -527,8 +357,6 @@ export function applyFilters(rows, live, f, self, bookmarks) {
|
|
|
527
357
|
}
|
|
528
358
|
return out;
|
|
529
359
|
}
|
|
530
|
-
/** One-shot form of the browser's canonical candidate pipeline. Focus uses this
|
|
531
|
-
* instead of maintaining a second discovery/filter implementation. */
|
|
532
360
|
export async function collectSessionCandidates(initial, opts = {}) {
|
|
533
361
|
const self = machineId();
|
|
534
362
|
const filter = buildInitialFilter(initial);
|
|
@@ -548,10 +376,6 @@ export async function collectSessionCandidates(initial, opts = {}) {
|
|
|
548
376
|
const sessions = applyFilters(rows, liveById, filter, self, listBookmarks());
|
|
549
377
|
return { sessions, liveById, self, unreachable: pool.unreachable };
|
|
550
378
|
}
|
|
551
|
-
/** Derive the SSH-launch origin tag for a picker row from the live index. Set
|
|
552
|
-
* only when the live session's provenance is ssh transport; `device` is the
|
|
553
|
-
* resolved origin device (absent → the row shows a bare `ssh`). Rows without a
|
|
554
|
-
* live entry (the running filter off) get no tag — provenance is live-only. */
|
|
555
379
|
function sshOriginTagFor(live, id) {
|
|
556
380
|
const p = live?.get(id)?.provenance;
|
|
557
381
|
if (p?.transport !== 'ssh')
|
|
@@ -582,60 +406,31 @@ function helpFor(_f, mode) {
|
|
|
582
406
|
}
|
|
583
407
|
return 's search · r running · b bookmarks · * bookmark · f focus · c teams · t team · a agent · d device · p project · w window · tab preview · y copy-cmd · ⏎ resume · esc quit';
|
|
584
408
|
}
|
|
585
|
-
/**
|
|
586
|
-
* Launch the interactive session browser. `initial` seeds the filter (e.g.
|
|
587
|
-
* `{ running: true }` for `--active`). Resolves after the user resumes a session
|
|
588
|
-
* or cancels — the picked row is dispatched through the shared resume/focus path.
|
|
589
|
-
*/
|
|
590
409
|
export async function runSessionBrowser(initial = {}, opts = {}) {
|
|
591
410
|
const self = machineId();
|
|
592
411
|
const local = opts.local ?? false;
|
|
593
412
|
const hosts = opts.hosts && opts.hosts.length > 0 ? opts.hosts : undefined;
|
|
594
|
-
// Updated after each load so the A/D cycles range over what's actually present.
|
|
595
413
|
let agentsInPool = [];
|
|
596
414
|
let devicesInPool = [];
|
|
597
415
|
let teamsInPool = [];
|
|
598
416
|
let cols = {};
|
|
599
|
-
// Cache the transcript fetch, keyed by poolCacheKey (everything that changes
|
|
600
|
-
// what is FETCHED); agent/device/project/running are applied in memory so their
|
|
601
|
-
// hotkeys don't re-fan-out the fleet.
|
|
602
417
|
let rawCache = null;
|
|
603
|
-
// Peers that didn't answer the last fan-out. The fan-out's own note goes to
|
|
604
|
-
// stderr, which the full-screen picker repaints over — so it is surfaced in
|
|
605
|
-
// the header instead, where "that box is asleep" stays distinguishable from
|
|
606
|
-
// "that box has nothing matching".
|
|
607
418
|
let unreachable = [];
|
|
608
|
-
// The live index is slow (a full ps/tmux scan) and only the running filter
|
|
609
|
-
// needs it — fetch it once, lazily, the first time running is toggled on.
|
|
610
419
|
let liveCache = null;
|
|
611
420
|
const liveFor = (id) => liveCache?.get(id);
|
|
612
|
-
// Re-read every load (it's an mtime-memoized parse of one small file), so the
|
|
613
|
-
// `*` key's reload picks up the bookmark it just wrote — and so does one
|
|
614
|
-
// bookmarked by another session on this machine.
|
|
615
421
|
let bookmarks = new Set();
|
|
616
|
-
// Generation guard: two quick keypresses can start overlapping loads whose
|
|
617
|
-
// SSH fan-outs settle out of order. dynamicPicker's own gen ref guards which
|
|
618
|
-
// rows become `items`, but the shared closure state below (cols / cycle pools /
|
|
619
|
-
// caches) is a side channel it can't see — so a stale load must never commit
|
|
620
|
-
// it. We compute into locals and only write the shared state as the latest load.
|
|
621
422
|
let loadGen = 0;
|
|
622
423
|
const initialFilter = buildInitialFilter(initial);
|
|
623
424
|
const load = async (f) => {
|
|
624
425
|
const myGen = ++loadGen;
|
|
625
|
-
// f.team decides the fetch limit, so it belongs in the key — otherwise arriving
|
|
626
|
-
// via `t` reuses a 500-row pool while --in-team fetched 5000, and the cycle can
|
|
627
|
-
// only offer the teams that happened to be in whichever pool was built first.
|
|
628
426
|
const key = poolCacheKey(f);
|
|
629
427
|
let pool = rawCache && rawCache.key === key ? rawCache : null;
|
|
630
428
|
if (!pool) {
|
|
631
429
|
const fetched = await fetchRawPool(f, self, local, hosts);
|
|
632
430
|
if (myGen !== loadGen)
|
|
633
|
-
return [];
|
|
431
|
+
return [];
|
|
634
432
|
pool = fetched;
|
|
635
433
|
}
|
|
636
|
-
// Only pay for the live scan when the running filter needs it. Same fleet
|
|
637
|
-
// sweep the static `--active` view uses, so the two never disagree about
|
|
638
|
-
// what is running.
|
|
639
434
|
let live = liveCache;
|
|
640
435
|
if (f.running && !live) {
|
|
641
436
|
try {
|
|
@@ -648,27 +443,16 @@ export async function runSessionBrowser(initial = {}, opts = {}) {
|
|
|
648
443
|
if (myGen !== loadGen)
|
|
649
444
|
return [];
|
|
650
445
|
}
|
|
651
|
-
// Latest load — commit shared state atomically (no await past this point, so
|
|
652
|
-
// no newer load can interleave between these writes).
|
|
653
446
|
rawCache = pool;
|
|
654
447
|
unreachable = pool.unreachable;
|
|
655
448
|
if (live)
|
|
656
449
|
liveCache = live;
|
|
657
|
-
// Live sessions the transcript pool lacks become rows of their own, so the
|
|
658
|
-
// running view lists every active session, not just the ones already indexed.
|
|
659
450
|
const includeUnindexedLive = !f.agent?.match(/@(latest|oldest)$/);
|
|
660
451
|
const rows = f.running && live
|
|
661
452
|
? mergeLiveIntoPool(pool.rows, live, self, includeUnindexedLive)
|
|
662
453
|
: pool.rows;
|
|
663
454
|
agentsInPool = distinct(rows.map((r) => r.agent));
|
|
664
455
|
devicesInPool = distinct(rows.map((r) => r.machine ?? self));
|
|
665
|
-
// Both ends of the lineage seed the cycle: teams a row spawned, and teams a
|
|
666
|
-
// row belongs to. Teammate rows only carry `teamOrigin` when `c` is on, so
|
|
667
|
-
// with teams hidden this ranges over spawned teams alone — which is exactly
|
|
668
|
-
// the set whose rows are visible.
|
|
669
|
-
// Through safeTeamText: the cycle's values become `f.team`, which headerFor
|
|
670
|
-
// interpolates into the header and browserFilterToArgv copies into a command,
|
|
671
|
-
// and on a peer's row these strings are that machine's to choose.
|
|
672
456
|
teamsInPool = distinct([
|
|
673
457
|
...rows.map((r) => safeTeamText(r.spawnedTeam)),
|
|
674
458
|
...rows.map((r) => safeTeamText(r.teamOrigin?.team)),
|
|
@@ -677,9 +461,6 @@ export async function runSessionBrowser(initial = {}, opts = {}) {
|
|
|
677
461
|
const filtered = applyFilters(rows, live ?? new Map(), f, self, bookmarks);
|
|
678
462
|
cols = pickerColumnsFor(filtered);
|
|
679
463
|
cols.showHost = shouldShowHostColumn(f, live, filtered);
|
|
680
|
-
// Status rides the same gate as the host column: both come from the live
|
|
681
|
-
// scan, so both belong to the running view and neither should widen a plain
|
|
682
|
-
// transcript listing that has no live rows to fill them.
|
|
683
464
|
cols.showStatus = !!f.running && !!live;
|
|
684
465
|
return filtered;
|
|
685
466
|
};
|
|
@@ -690,17 +471,11 @@ export async function runSessionBrowser(initial = {}, opts = {}) {
|
|
|
690
471
|
keyFor: (s) => s.id,
|
|
691
472
|
labelFor: (s, q) => formatPickerLabel(s, q, cols, sshOriginTagFor(liveCache, s.id), liveHostLabel(liveCache?.get(s.id)), bookmarks.has(s.id), liveCache?.get(s.id)),
|
|
692
473
|
matches: sessionMatchesQuery,
|
|
693
|
-
// Lead the preview with the live status banner — the one place a `crashed` /
|
|
694
|
-
// `orphaned` session gets a sentence instead of a glyph. `buildPreview` is
|
|
695
|
-
// memoized per session, so the volatile live half is prepended here rather
|
|
696
|
-
// than baked into the cached body.
|
|
697
474
|
buildPreview: (s) => {
|
|
698
475
|
const headline = formatLiveStatusHeadline(liveCache?.get(s.id), bookmarks.has(s.id));
|
|
699
476
|
const body = buildPreview(s);
|
|
700
477
|
return headline ? `${headline}\n${body}` : body;
|
|
701
478
|
},
|
|
702
|
-
// A remote row's digest arrives over SSH after the pane painted — this is
|
|
703
|
-
// what lets its completion swap the metadata card for the full preview.
|
|
704
479
|
registerPreviewRepaint: setRemotePreviewRepaint,
|
|
705
480
|
headerFor: (f) => unreachable.length > 0
|
|
706
481
|
? `${headerFor(f)} · ${chalk.yellow(`${unreachable.join(', ')}: unreachable`)}`
|
|
@@ -717,40 +492,27 @@ export async function runSessionBrowser(initial = {}, opts = {}) {
|
|
|
717
492
|
a: (f) => ({ ...f, agent: cycle(f.agent, agentsInPool) }),
|
|
718
493
|
d: (f) => ({ ...f, device: cycle(f.device, devicesInPool) }),
|
|
719
494
|
t: (f) => ({ ...f, team: cycle(f.team, teamsInPool) }),
|
|
720
|
-
// Under an explicit --device scope every row is a peer's, and no peer cwd
|
|
721
|
-
// is under our process.cwd() — so narrowing to "this repo" could only ever
|
|
722
|
-
// empty the list. Returning the same reference makes the key a no-op.
|
|
723
495
|
p: (f) => (hosts ? f : { ...f, projectScope: f.projectScope === 'repo' ? 'all' : 'repo' }),
|
|
724
496
|
w: (f) => ({ ...f, window: cycleWindow(f.window) }),
|
|
725
497
|
},
|
|
726
498
|
onKey: (name, f, active, query) => {
|
|
727
499
|
if (name === '*') {
|
|
728
|
-
// Only a row with a real session id can be bookmarked: a projected live row
|
|
729
|
-
// with no id is keyed by pid, which is gone the moment the process is.
|
|
730
500
|
if (!active || active.id.startsWith(LIVE_ROW_PREFIX))
|
|
731
501
|
return 'nothing to bookmark on this row';
|
|
732
502
|
const on = toggleBookmark(active.id);
|
|
733
|
-
// Reload so the row's bookmark glyph is repainted — labels are memoized per row.
|
|
734
503
|
return { flash: on ? `★ bookmarked ${active.shortId}` : `☆ unbookmarked ${active.shortId}`, reload: true };
|
|
735
504
|
}
|
|
736
|
-
// Both cases: `hotkeyToken` hands `onKey` the literal character, and this
|
|
737
|
-
// key worked with caps lock on before it existed.
|
|
738
505
|
if (name === 'y' || name === 'Y') {
|
|
739
|
-
// Thread the live search query so the copied command reproduces the
|
|
740
|
-
// exact view — the human→agent bridge must include the search term.
|
|
741
506
|
const cmd = 'ag ' + browserFilterToArgv(f, query).join(' ');
|
|
742
507
|
const ok = copyToClipboard(cmd);
|
|
743
508
|
return ok ? `copied: ${cmd}` : cmd;
|
|
744
509
|
}
|
|
745
510
|
return undefined;
|
|
746
511
|
},
|
|
747
|
-
// A late digest fetch must not poke a closed prompt.
|
|
748
512
|
}).finally(() => setRemotePreviewRepaint(undefined));
|
|
749
513
|
if (!picked)
|
|
750
514
|
return;
|
|
751
515
|
if (picked.action === 'focus') {
|
|
752
|
-
// `focus.ts` consumes this browser for its selector path, so import only
|
|
753
|
-
// after selection to keep the shared picker/focus dependency acyclic.
|
|
754
516
|
const { focusSelectedSession } = await import('./focus.js');
|
|
755
517
|
await focusSelectedSession(picked.item, liveFor(picked.item.id), self);
|
|
756
518
|
return;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from 'commander';
|
|
2
|
-
import type { SessionMeta } from '
|
|
2
|
+
import type { SessionMeta } from '@phnx-labs/sessions-cli/reader';
|
|
3
3
|
import { type SessionsBackupClient } from '../lib/session/sync/net-client.js';
|
|
4
4
|
import { type BundleHeader, type BundleRecord } from '../lib/session/bundle.js';
|
|
5
5
|
export declare function registerSessionsExportCommand(sessionsCmd: Command): void;
|
|
@@ -22,35 +22,10 @@ interface GlobalSelection {
|
|
|
22
22
|
opencode?: boolean;
|
|
23
23
|
antigravity?: boolean;
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* Upload each record to R2 as its own self-describing one-record bundle, keyed by
|
|
27
|
-
* the surviving object layout (`sessions/<machine>/<agent>/<sessionId>.jsonl`, or
|
|
28
|
-
* `.../<sessionId>/<relKey>` for dir-shaped agents). Each object is independently
|
|
29
|
-
* a valid bundle, so `import --from-r2` restores it through the same parse/place
|
|
30
|
-
* path as a local bundle. Fails loud on the first upload error (no silent
|
|
31
|
-
* partial-success).
|
|
32
|
-
*/
|
|
33
|
-
/**
|
|
34
|
-
* `--to-r2` preflight as a pure, unit-testable function: the impossible-combo +
|
|
35
|
-
* not-configured gate. Returns the message to fail loud with, or null when the
|
|
36
|
-
* export may proceed. Only meaningful when `g.toR2` is set (the caller gates on
|
|
37
|
-
* that). Kept pure — no process.exit, no keychain read — so both the command and
|
|
38
|
-
* its test drive the exact same decision.
|
|
39
|
-
*/
|
|
40
25
|
export declare function r2ExportGateError(g: Pick<GlobalSelection, 'toR2' | 'host'>, isConfigured: boolean): string | null;
|
|
41
26
|
export declare function uploadToR2(header: BundleHeader, records: BundleRecord[], resolvedClient?: SessionsBackupClient): Promise<void>;
|
|
42
|
-
/** Fail-closed guard at the managed transport boundary, not only at record construction. */
|
|
43
27
|
export declare function managedUploadEncryptionError(header: BundleHeader, records: BundleRecord[]): string | null;
|
|
44
|
-
/** R2 object key for one record — dir-shaped agents key by relKey, file-shaped by session. */
|
|
45
28
|
export declare function r2KeyForRecord(rec: BundleRecord): string;
|
|
46
|
-
/**
|
|
47
|
-
* Resolve the AES key for an R2 backup: the fleet-shared R2_SYNC_ENC_KEY from the
|
|
48
|
-
* r2.backups bundle so any box on the bundle can restore. Unlike a local bundle,
|
|
49
|
-
* an ephemeral key is useless here (it is never stored, so a fresh box could not
|
|
50
|
-
* decrypt), so a missing key means the objects go up unencrypted (R2 server-side
|
|
51
|
-
* encryption only) with a loud warning — never a silent weaker default.
|
|
52
|
-
*/
|
|
53
29
|
export declare function resolveR2BackupKey(): Buffer | null;
|
|
54
|
-
/** ids > query > everything-in-scope. Exported for the id-resolution test. */
|
|
55
30
|
export declare function selectSessions(metas: SessionMeta[], selectors: string[]): SessionMeta[];
|
|
56
31
|
export {};
|