@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,57 +1,23 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Daemon-warmed cross-surface cache for live session status (RUSH-2062).
|
|
3
|
-
*
|
|
4
|
-
* Problem: menubar / Factory / watchdog / CLI each independently run a full
|
|
5
|
-
* `sessions --active` gather (~9s wall / ~170MB) with no sharing. Measured on
|
|
6
|
-
* zion: back-to-back runs were 9.22s then 8.16s — no speedup, full SSH fan-out
|
|
7
|
-
* every call.
|
|
8
|
-
*
|
|
9
|
-
* Pattern mirrors {@link ../devices/stats-cache.ts} / {@link ../fleet-status.ts}:
|
|
10
|
-
*
|
|
11
|
-
* - **Daemon publish:** each daemon publishes THIS host's local active sessions
|
|
12
|
-
* (`publishLocalActiveSessions`). Each write appends row deltas to the journal
|
|
13
|
-
* consumed by long-lived watchers. Publish-own only — no
|
|
14
|
-
* cross-host SSH from the daemon (avoids the N² fan-out of RUSH-2061).
|
|
15
|
-
* - **Readers** (`loadLocalActiveSessions`, fleet path in `gatherActiveSessions`)
|
|
16
|
-
* serve the warm snapshot when it is within {@link DEFAULT_ACTIVE_CACHE_MAX_AGE_MS};
|
|
17
|
-
* `forceRefresh` / age expiry re-gathers live.
|
|
18
|
-
* - **Immutable memo:** per-session fields that only change when the transcript
|
|
19
|
-
* does (topic, label, cwd, …) are keyed on `(sessionId, transcriptMtimeMs)`.
|
|
20
|
-
* Live status fields (`status`, `activity`, `preview`, `pidAlive`, …) are
|
|
21
|
-
* NEVER stored in that memo — they only ride the short-lived snapshot.
|
|
22
|
-
*
|
|
23
|
-
* Best-effort disk IO: a missing/corrupt cache never throws; the caller falls
|
|
24
|
-
* through to a live gather.
|
|
25
|
-
*/
|
|
26
1
|
import * as fs from 'fs';
|
|
27
2
|
import { writerProcessView, requireWriterProcessView } from './process-view.js';
|
|
28
3
|
import * as path from 'path';
|
|
29
4
|
import { createMemoryCache } from '../memory-cache.js';
|
|
30
5
|
import { getCacheDir } from '../state.js';
|
|
31
6
|
import { backfillActiveRowsFromIndex, foldRecap, sessionProcessIsLocal } from './active.js';
|
|
7
|
+
import { enrichGlanceFiles } from './glance-files.js';
|
|
32
8
|
import { readSessionSummaryAny, readSessionTimelineAny } from './db.js';
|
|
33
9
|
import { isSummarizerReady } from '../summarizer/config.js';
|
|
34
|
-
/** Snapshot file under `getCacheDir()` (regenerable, gitignored). */
|
|
35
10
|
const SNAPSHOT_FILE = '.active-sessions.json';
|
|
36
|
-
/** Immutable-field memo file (keyed by sessionId + transcript mtime). */
|
|
37
11
|
const IMMUTABLE_FILE = '.active-session-immutable.json';
|
|
38
12
|
const JOURNAL_FILE = '.active-sessions.journal.jsonl';
|
|
39
|
-
/**
|
|
40
|
-
* How long a snapshot may be served before a reader re-gathers.
|
|
41
|
-
* Short on purpose: live status (running/idle/waiting) must not go stale.
|
|
42
|
-
* One-shot readers may re-gather after this ceiling. Long-lived watchers never
|
|
43
|
-
* do: they read one reset then tail the canonical writer journal.
|
|
44
|
-
*/
|
|
45
13
|
export const DEFAULT_ACTIVE_CACHE_MAX_AGE_MS = 15_000;
|
|
46
14
|
export function activeSessionJournalIdentity(row) {
|
|
47
15
|
return row.sessionId ?? `${row.context}:${row.kind}:${row.pid ?? ''}:${row.startedAtMs ?? ''}`;
|
|
48
16
|
}
|
|
49
|
-
/** Process-local L1. The atomic snapshot remains the cross-process source. */
|
|
50
17
|
const activeSnapshotMemory = createMemoryCache({
|
|
51
18
|
max: 2,
|
|
52
19
|
ttlMs: DEFAULT_ACTIVE_CACHE_MAX_AGE_MS,
|
|
53
20
|
});
|
|
54
|
-
/** Keys stored in the immutable memo (transcript-stable). */
|
|
55
21
|
export const IMMUTABLE_FIELD_KEYS = [
|
|
56
22
|
'topic',
|
|
57
23
|
'firstUserMessage',
|
|
@@ -73,15 +39,15 @@ export const IMMUTABLE_FIELD_KEYS = [
|
|
|
73
39
|
'kind',
|
|
74
40
|
'context',
|
|
75
41
|
];
|
|
76
|
-
|
|
77
|
-
* Live / volatile fields that MUST NOT be served from the immutable memo.
|
|
78
|
-
* They either change without a transcript write (pid death, attach state) or
|
|
79
|
-
* are short-window signals (preview, tok/s). The short snapshot TTL is the
|
|
80
|
-
* only cache that may carry them — and only as a whole-row snapshot.
|
|
81
|
-
*/
|
|
42
|
+
// Immutable transcript-mtime memoization must never absorb volatile status, activity, or preview truth.
|
|
82
43
|
export const LIVE_STATUS_KEYS = [
|
|
83
44
|
'status',
|
|
84
45
|
'activity',
|
|
46
|
+
'model',
|
|
47
|
+
'failures',
|
|
48
|
+
'activityHistogram',
|
|
49
|
+
'userTurns',
|
|
50
|
+
'subagents',
|
|
85
51
|
'preview',
|
|
86
52
|
'tokPerSec',
|
|
87
53
|
'awaitingReason',
|
|
@@ -99,39 +65,25 @@ export const LIVE_STATUS_KEYS = [
|
|
|
99
65
|
'rateLimited',
|
|
100
66
|
'plan',
|
|
101
67
|
];
|
|
102
|
-
/**
|
|
103
|
-
* How long after the last reader heartbeat the daemon considers the journal
|
|
104
|
-
* to have no active consumer and skips the expensive `ps`+`lsof` gather.
|
|
105
|
-
*
|
|
106
|
-
* Must be significantly larger than {@link SESSION_WATCH_HEARTBEAT_MS} (15s)
|
|
107
|
-
* so a single delayed heartbeat does not cause a false-idle. Three tick-lengths
|
|
108
|
-
* gives adequate margin while still cutting load within ~45s of the last
|
|
109
|
-
* watcher disconnecting.
|
|
110
|
-
*/
|
|
111
68
|
export const ACTIVE_SESSIONS_READER_IDLE_WINDOW_MS = 45_000;
|
|
112
|
-
// ── path overrides (test seam) ─────────────────────────────────────────────
|
|
113
69
|
let snapshotPathOverride = null;
|
|
114
70
|
let immutablePathOverride = null;
|
|
115
71
|
let journalPathOverride = null;
|
|
116
72
|
let readerPresencePathOverride = null;
|
|
117
|
-
/** Test seam: redirect the snapshot file. Returns the previous override. */
|
|
118
73
|
export function setActiveSessionsSnapshotPathForTest(p) {
|
|
119
74
|
const prev = snapshotPathOverride;
|
|
120
75
|
snapshotPathOverride = p;
|
|
121
76
|
activeSnapshotMemory.clear();
|
|
122
77
|
return prev;
|
|
123
78
|
}
|
|
124
|
-
/** Test seam: isolate process-local entries between fixtures. */
|
|
125
79
|
export function clearActiveSnapshotMemoryForTest() {
|
|
126
80
|
activeSnapshotMemory.clear();
|
|
127
81
|
}
|
|
128
|
-
/** Test seam: redirect the immutable-memo file. Returns the previous override. */
|
|
129
82
|
export function setImmutableMemoPathForTest(p) {
|
|
130
83
|
const prev = immutablePathOverride;
|
|
131
84
|
immutablePathOverride = p;
|
|
132
85
|
return prev;
|
|
133
86
|
}
|
|
134
|
-
/** Test seam: redirect the reader-presence file. Returns the previous override. */
|
|
135
87
|
export function setActiveSessionsReaderPresencePathForTest(p) {
|
|
136
88
|
const prev = readerPresencePathOverride;
|
|
137
89
|
readerPresencePathOverride = p;
|
|
@@ -151,30 +103,14 @@ const READER_PRESENCE_FILE = '.active-sessions-reader.presence';
|
|
|
151
103
|
function readerPresencePath() {
|
|
152
104
|
return readerPresencePathOverride ?? path.join(getCacheDir(), READER_PRESENCE_FILE);
|
|
153
105
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Record that a journal consumer is active right now.
|
|
156
|
-
*
|
|
157
|
-
* Called by {@link watchLocalSessions} on startup and on each heartbeat so
|
|
158
|
-
* the daemon warm tick can gate the expensive `ps`+`lsof` gather on reader
|
|
159
|
-
* presence and skip it when no watcher has checked in recently.
|
|
160
|
-
*/
|
|
161
106
|
export function noteActiveSessionsJournalReader(nowMs = Date.now()) {
|
|
162
107
|
try {
|
|
163
108
|
const p = readerPresencePath();
|
|
164
109
|
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
165
110
|
fs.writeFileSync(p, String(nowMs));
|
|
166
111
|
}
|
|
167
|
-
catch {
|
|
112
|
+
catch { }
|
|
168
113
|
}
|
|
169
|
-
/**
|
|
170
|
-
* True when a journal consumer has signalled its presence within
|
|
171
|
-
* {@link ACTIVE_SESSIONS_READER_IDLE_WINDOW_MS}.
|
|
172
|
-
*
|
|
173
|
-
* Used by the daemon warm tick to decide whether to run the expensive
|
|
174
|
-
* `ps`+`lsof` gather. On an idle box with no watcher the tick skips the
|
|
175
|
-
* gather entirely; the moment a new watcher connects it calls
|
|
176
|
-
* {@link noteActiveSessionsJournalReader} and the following tick gathers.
|
|
177
|
-
*/
|
|
178
114
|
export function isActiveSessionsJournalReaderRecent(nowMs = Date.now(), idleWindowMs = ACTIVE_SESSIONS_READER_IDLE_WINDOW_MS) {
|
|
179
115
|
try {
|
|
180
116
|
const content = fs.readFileSync(readerPresencePath(), 'utf8').trim();
|
|
@@ -187,24 +123,7 @@ export function isActiveSessionsJournalReaderRecent(nowMs = Date.now(), idleWind
|
|
|
187
123
|
return false;
|
|
188
124
|
}
|
|
189
125
|
}
|
|
190
|
-
/** Default poll cadence for {@link watchActiveSessionsReaderPresence}. */
|
|
191
126
|
const ACTIVE_SESSIONS_READER_TRANSITION_POLL_MS = 1_000;
|
|
192
|
-
/**
|
|
193
|
-
* Watch for a reader going from absent/idle to present and fire `onConnect`
|
|
194
|
-
* out of band, instead of waiting for the next scheduled warm tick (RUSH-2484).
|
|
195
|
-
*
|
|
196
|
-
* {@link noteActiveSessionsJournalReader} only writes a timestamp — it has no
|
|
197
|
-
* path back to the daemon process that owns the warm tick's `setInterval`. A
|
|
198
|
-
* watcher connecting to a cold or long-idle daemon therefore used to wait up
|
|
199
|
-
* to one full {@link ACTIVE_SESSIONS_WARM_TICK_MS} tick for its first fresh
|
|
200
|
-
* rows. This polls the tiny presence file (not the expensive `ps`+`lsof`
|
|
201
|
-
* gather) at {@link ACTIVE_SESSIONS_READER_TRANSITION_POLL_MS} and calls
|
|
202
|
-
* `onConnect` only on the idle→recent edge, so a steadily-connected reader's
|
|
203
|
-
* repeated heartbeats never re-trigger it and an idle box with no reader never
|
|
204
|
-
* gathers — the CPU win from RUSH-3193 is preserved.
|
|
205
|
-
*
|
|
206
|
-
* Returns a disposer that stops the poll.
|
|
207
|
-
*/
|
|
208
127
|
export function watchActiveSessionsReaderPresence(onConnect, opts = {}) {
|
|
209
128
|
const pollMs = opts.pollMs ?? ACTIVE_SESSIONS_READER_TRANSITION_POLL_MS;
|
|
210
129
|
const now = opts.nowMs ?? Date.now;
|
|
@@ -218,8 +137,6 @@ export function watchActiveSessionsReaderPresence(onConnect, opts = {}) {
|
|
|
218
137
|
timer.unref?.();
|
|
219
138
|
return () => clearInterval(timer);
|
|
220
139
|
}
|
|
221
|
-
// ── snapshot read / write ──────────────────────────────────────────────────
|
|
222
|
-
/** Read one scope from the snapshot file (best-effort; missing/corrupt → null). */
|
|
223
140
|
export function readActiveSessionsCache(scope) {
|
|
224
141
|
const memory = activeSnapshotMemory.get(scope);
|
|
225
142
|
if (memory)
|
|
@@ -238,10 +155,6 @@ export function readActiveSessionsCache(scope) {
|
|
|
238
155
|
return null;
|
|
239
156
|
}
|
|
240
157
|
}
|
|
241
|
-
/**
|
|
242
|
-
* Persist a snapshot for one scope (best-effort). Other scopes are preserved
|
|
243
|
-
* so a local warm never drops a fleet snapshot a reader just wrote.
|
|
244
|
-
*/
|
|
245
158
|
export function writeActiveSessionsCache(scope, sessions, opts = {}) {
|
|
246
159
|
requireWriterProcessView();
|
|
247
160
|
const snap = {
|
|
@@ -262,19 +175,14 @@ export function writeActiveSessionsCache(scope, sessions, opts = {}) {
|
|
|
262
175
|
entries = { ...prev.entries };
|
|
263
176
|
}
|
|
264
177
|
catch {
|
|
265
|
-
// empty
|
|
266
178
|
}
|
|
267
179
|
const hadPrevious = Boolean(entries[scope]);
|
|
268
180
|
const previousSessions = entries[scope]?.sessions ?? [];
|
|
269
181
|
entries[scope] = snap;
|
|
270
182
|
const body = { version: 1, entries };
|
|
271
|
-
// Atomic replace so a concurrent reader never sees a partial write.
|
|
272
183
|
const tmp = `${snapshotPath()}.tmp`;
|
|
273
184
|
fs.writeFileSync(tmp, JSON.stringify(body));
|
|
274
185
|
fs.renameSync(tmp, snapshotPath());
|
|
275
|
-
// The snapshot writer is the canonical publisher. Watchers tail this
|
|
276
|
-
// append-only journal and compute stream deltas; they never trigger their
|
|
277
|
-
// own full active-session gather on a timer.
|
|
278
186
|
const previous = new Map(previousSessions.map((row) => [activeSessionJournalIdentity(row), row]));
|
|
279
187
|
const next = new Map(sessions.map((row) => [activeSessionJournalIdentity(row), row]));
|
|
280
188
|
const upserts = sessions.filter((row) => {
|
|
@@ -290,19 +198,13 @@ export function writeActiveSessionsCache(scope, sessions, opts = {}) {
|
|
|
290
198
|
}
|
|
291
199
|
}
|
|
292
200
|
catch {
|
|
293
|
-
// Journal delivery is best-effort; the canonical snapshot remains valid.
|
|
294
201
|
}
|
|
295
202
|
activeSnapshotMemory.set(scope, snap);
|
|
296
203
|
}
|
|
297
204
|
catch {
|
|
298
|
-
// best-effort
|
|
299
205
|
}
|
|
300
206
|
return snap;
|
|
301
207
|
}
|
|
302
|
-
/**
|
|
303
|
-
* True when a snapshot is still within the freshness window. Pure — the
|
|
304
|
-
* staleness invariant for live status lives here.
|
|
305
|
-
*/
|
|
306
208
|
export function isActiveSnapshotFresh(capturedAt, nowMs, maxAgeMs = DEFAULT_ACTIVE_CACHE_MAX_AGE_MS) {
|
|
307
209
|
if (!Number.isFinite(capturedAt) || !Number.isFinite(maxAgeMs))
|
|
308
210
|
return false;
|
|
@@ -310,8 +212,6 @@ export function isActiveSnapshotFresh(capturedAt, nowMs, maxAgeMs = DEFAULT_ACTI
|
|
|
310
212
|
return false;
|
|
311
213
|
return nowMs - capturedAt <= maxAgeMs;
|
|
312
214
|
}
|
|
313
|
-
// ── immutable memo ─────────────────────────────────────────────────────────
|
|
314
|
-
/** Pull only the transcript-stable fields from a live row. */
|
|
315
215
|
export function pickImmutableFields(s) {
|
|
316
216
|
const out = {};
|
|
317
217
|
for (const k of IMMUTABLE_FIELD_KEYS) {
|
|
@@ -321,11 +221,6 @@ export function pickImmutableFields(s) {
|
|
|
321
221
|
}
|
|
322
222
|
return out;
|
|
323
223
|
}
|
|
324
|
-
/**
|
|
325
|
-
* Transcript mtime used as the memo key. Prefer {@link ActiveSession.lastActivityMs}
|
|
326
|
-
* (the transcript's last write); fall back to `startedAtMs` when no activity
|
|
327
|
-
* stamp exists. Returns null when neither is known — caller must not memoize.
|
|
328
|
-
*/
|
|
329
224
|
export function transcriptMtimeMs(s) {
|
|
330
225
|
if (typeof s.lastActivityMs === 'number' && Number.isFinite(s.lastActivityMs))
|
|
331
226
|
return s.lastActivityMs;
|
|
@@ -341,15 +236,9 @@ function readImmutableFile() {
|
|
|
341
236
|
}
|
|
342
237
|
}
|
|
343
238
|
catch {
|
|
344
|
-
// missing/corrupt
|
|
345
239
|
}
|
|
346
240
|
return { version: 1, entries: {} };
|
|
347
241
|
}
|
|
348
|
-
/**
|
|
349
|
-
* Read memoized immutable fields for `(sessionId, mtimeMs)`.
|
|
350
|
-
* Returns null when missing OR when the stored mtime does not match — a
|
|
351
|
-
* transcript rewrite must force re-derivation of topic/label/etc.
|
|
352
|
-
*/
|
|
353
242
|
export function readImmutableMemo(sessionId, mtimeMs) {
|
|
354
243
|
if (!sessionId || !Number.isFinite(mtimeMs))
|
|
355
244
|
return null;
|
|
@@ -357,10 +246,8 @@ export function readImmutableMemo(sessionId, mtimeMs) {
|
|
|
357
246
|
const entry = file.entries[sessionId];
|
|
358
247
|
if (!entry || entry.mtimeMs !== mtimeMs)
|
|
359
248
|
return null;
|
|
360
|
-
// Defence in depth: strip any live-status key that snuck into a bad write.
|
|
361
249
|
return stripLiveStatusKeys({ ...entry.fields });
|
|
362
250
|
}
|
|
363
|
-
/** Persist immutable fields for `(sessionId, mtimeMs)`. Live keys are stripped. */
|
|
364
251
|
export function writeImmutableMemo(sessionId, mtimeMs, fields, nowMs = Date.now()) {
|
|
365
252
|
if (!sessionId || !Number.isFinite(mtimeMs))
|
|
366
253
|
return;
|
|
@@ -379,10 +266,8 @@ export function writeImmutableMemo(sessionId, mtimeMs, fields, nowMs = Date.now(
|
|
|
379
266
|
fs.renameSync(tmp, immutablePath());
|
|
380
267
|
}
|
|
381
268
|
catch {
|
|
382
|
-
// best-effort
|
|
383
269
|
}
|
|
384
270
|
}
|
|
385
|
-
/** Drop every live-status key from a field bag (defence in depth). */
|
|
386
271
|
export function stripLiveStatusKeys(fields) {
|
|
387
272
|
const out = { ...fields };
|
|
388
273
|
for (const k of LIVE_STATUS_KEYS) {
|
|
@@ -391,10 +276,6 @@ export function stripLiveStatusKeys(fields) {
|
|
|
391
276
|
}
|
|
392
277
|
return out;
|
|
393
278
|
}
|
|
394
|
-
/**
|
|
395
|
-
* True when `fields` contains no live-status key. The invariant the tests pin:
|
|
396
|
-
* the immutable memo never carries status/activity/preview/etc.
|
|
397
|
-
*/
|
|
398
279
|
export function assertNoLiveStatusFields(fields) {
|
|
399
280
|
for (const k of LIVE_STATUS_KEYS) {
|
|
400
281
|
if (k in fields && fields[k] !== undefined)
|
|
@@ -402,11 +283,6 @@ export function assertNoLiveStatusFields(fields) {
|
|
|
402
283
|
}
|
|
403
284
|
return true;
|
|
404
285
|
}
|
|
405
|
-
/**
|
|
406
|
-
* Write immutable memos for every session that has an id + transcript mtime.
|
|
407
|
-
* Called after a live gather so the next gather (when mtime is unchanged) can
|
|
408
|
-
* refill identity fields without re-deriving them.
|
|
409
|
-
*/
|
|
410
286
|
export function updateImmutableMemos(sessions, nowMs = Date.now()) {
|
|
411
287
|
requireWriterProcessView();
|
|
412
288
|
for (const s of sessions) {
|
|
@@ -418,21 +294,6 @@ export function updateImmutableMemos(sessions, nowMs = Date.now()) {
|
|
|
418
294
|
writeImmutableMemo(s.sessionId, mtime, pickImmutableFields(s), nowMs);
|
|
419
295
|
}
|
|
420
296
|
}
|
|
421
|
-
/**
|
|
422
|
-
* Fill missing immutable fields on a live row from the memo when the transcript
|
|
423
|
-
* mtime matches. Never overwrites a field the live gather already set, and
|
|
424
|
-
* never copies live-status keys.
|
|
425
|
-
*/
|
|
426
|
-
/**
|
|
427
|
-
* Merge the daemon-computed session summary (PHNX-3939) onto a live row from the
|
|
428
|
-
* transcript-keyed `session_summaries` cache. This is the low-cost display merge:
|
|
429
|
-
* one indexed by-id read, NEVER a model call — the background
|
|
430
|
-
* SessionSummarizerService is the only producer. It fills only what the cache
|
|
431
|
-
* holds; the `pending`/`skipped` default for a row with no summary yet is applied
|
|
432
|
-
* at the watch-stream boundary ({@link resolveStreamSummaryState}), so a
|
|
433
|
-
* non-stream ActiveSession consumer is unaffected. Best-effort: a DB error leaves
|
|
434
|
-
* the row untouched.
|
|
435
|
-
*/
|
|
436
297
|
function mergeSessionSummary(s) {
|
|
437
298
|
if (!s.sessionId)
|
|
438
299
|
return s;
|
|
@@ -450,30 +311,14 @@ function mergeSessionSummary(s) {
|
|
|
450
311
|
s.summaryState = stored.summaryState;
|
|
451
312
|
}
|
|
452
313
|
catch {
|
|
453
|
-
// best-effort: never let the summary merge break the gather path.
|
|
454
314
|
}
|
|
455
315
|
return s;
|
|
456
316
|
}
|
|
457
|
-
/**
|
|
458
|
-
* The `summaryState` a watch-stream row carries when the merge left it unset:
|
|
459
|
-
* `pending` while the summarizer is READY (enabled AND has an endpoint, so a
|
|
460
|
-
* summary is genuinely coming), `skipped` when it is off OR enabled-but-
|
|
461
|
-
* unconfigured (nothing will ever populate the cache). This is the only place
|
|
462
|
-
* the readiness flag is read on the read path, and it is memoized (PHNX-3939).
|
|
463
|
-
*/
|
|
464
317
|
export function resolveStreamSummaryState(current, nowMs = Date.now()) {
|
|
465
318
|
if (current)
|
|
466
319
|
return current;
|
|
467
320
|
return isSummarizerReady(nowMs) ? 'pending' : 'skipped';
|
|
468
321
|
}
|
|
469
|
-
/**
|
|
470
|
-
* Merge the daemon-folded timeline (PHNX-3939) onto a live row from the
|
|
471
|
-
* transcript-keyed `session_timelines` cache. Sibling of
|
|
472
|
-
* {@link mergeSessionSummary} and the same contract: one indexed by-id read of
|
|
473
|
-
* the BOUNDED projection (never the fold's resume state), never a parse, never
|
|
474
|
-
* a model call. `runTimelinePass` in the daemon tick is the only producer.
|
|
475
|
-
* Best-effort — a DB error leaves the row untouched.
|
|
476
|
-
*/
|
|
477
322
|
export function mergeSessionTimeline(s) {
|
|
478
323
|
if (!s.sessionId)
|
|
479
324
|
return s;
|
|
@@ -481,17 +326,17 @@ export function mergeSessionTimeline(s) {
|
|
|
481
326
|
const stored = readSessionTimelineAny(s.sessionId);
|
|
482
327
|
if (!stored)
|
|
483
328
|
return s;
|
|
329
|
+
for (const key of ['model', 'failures', 'activityHistogram', 'userTurns', 'attachments', 'subagents']) {
|
|
330
|
+
if (stored[key] !== undefined)
|
|
331
|
+
Object.assign(s, { [key]: stored[key] });
|
|
332
|
+
}
|
|
333
|
+
if (s.subagents)
|
|
334
|
+
s.subAgentCount = s.subagents.length;
|
|
484
335
|
if (s.timeline === undefined)
|
|
485
336
|
s.timeline = stored.timeline;
|
|
486
337
|
if (s.files === undefined && stored.files !== undefined)
|
|
487
338
|
s.files = stored.files;
|
|
488
339
|
if (stored.request) {
|
|
489
|
-
// `request` is the one field where the FOLD wins over what the gather
|
|
490
|
-
// already put there. `foldRecap` tidies whatever turn the INDEX had for the
|
|
491
|
-
// row, which lags a live session by up to a scan; the daemon fold read the
|
|
492
|
-
// transcript itself this tick and counted the turns. Re-deriving the recap
|
|
493
|
-
// afterwards keeps the row's title and `userPromptClean` agreeing with the
|
|
494
|
-
// request they are supposed to describe.
|
|
495
340
|
const changed = s.request?.headline !== stored.request.headline || s.request?.turns !== stored.request.turns;
|
|
496
341
|
s.request = stored.request;
|
|
497
342
|
if (changed)
|
|
@@ -499,7 +344,6 @@ export function mergeSessionTimeline(s) {
|
|
|
499
344
|
}
|
|
500
345
|
}
|
|
501
346
|
catch {
|
|
502
|
-
// best-effort: never let the timeline merge break the gather path.
|
|
503
347
|
}
|
|
504
348
|
return s;
|
|
505
349
|
}
|
|
@@ -521,11 +365,6 @@ export function applyImmutableMemo(s) {
|
|
|
521
365
|
}
|
|
522
366
|
return s;
|
|
523
367
|
}
|
|
524
|
-
/**
|
|
525
|
-
* Cache-first load of THIS host's active sessions. Default path serves the
|
|
526
|
-
* daemon-warmed snapshot when fresh; `forceRefresh` or an expired snapshot
|
|
527
|
-
* re-gathers and rewrites the cache.
|
|
528
|
-
*/
|
|
529
368
|
export async function loadLocalActiveSessions(opts = {}) {
|
|
530
369
|
const now = opts.nowMs ?? Date.now();
|
|
531
370
|
const maxAge = opts.maxAgeMs ?? DEFAULT_ACTIVE_CACHE_MAX_AGE_MS;
|
|
@@ -549,25 +388,26 @@ export async function loadLocalActiveSessions(opts = {}) {
|
|
|
549
388
|
}
|
|
550
389
|
const gather = opts.gather ??
|
|
551
390
|
(async () => {
|
|
552
|
-
const { getActiveSessions } = await
|
|
553
|
-
|
|
391
|
+
const [{ getActiveSessions }, { machineId }] = await Promise.all([
|
|
392
|
+
import('./active.js'),
|
|
393
|
+
import('../machine-id.js'),
|
|
394
|
+
]);
|
|
395
|
+
const self = machineId();
|
|
396
|
+
const rows = await getActiveSessions({ localOnly: true });
|
|
397
|
+
for (const s of rows)
|
|
398
|
+
if (!s.machine)
|
|
399
|
+
s.machine = self;
|
|
400
|
+
return rows;
|
|
554
401
|
});
|
|
555
402
|
const sessions = await gather();
|
|
556
|
-
// The index owns transcript-derived labels (Claude custom-title / ai-title).
|
|
557
|
-
// Enrich before publishing so the canonical watch snapshot carries the same
|
|
558
|
-
// label as one-shot `sessions --active` output.
|
|
559
403
|
backfillActiveRowsFromIndex(sessions);
|
|
560
404
|
for (const s of sessions)
|
|
561
405
|
applyImmutableMemo(s);
|
|
406
|
+
enrichGlanceFiles(sessions, now);
|
|
562
407
|
updateImmutableMemos(sessions, now);
|
|
563
408
|
const snap = writeCache('local', sessions, { capturedAt: now });
|
|
564
409
|
return { sessions, servedFromCache: false, capturedAt: snap.capturedAt };
|
|
565
410
|
}
|
|
566
|
-
/**
|
|
567
|
-
* Cache-first load of the fleet-wide active set. A prior gather (or any surface
|
|
568
|
-
* that just paid the SSH cost) leaves a fleet snapshot; subsequent menubar /
|
|
569
|
-
* Factory / CLI / watchdog calls within the freshness window share it.
|
|
570
|
-
*/
|
|
571
411
|
export async function loadFleetActiveSessions(opts) {
|
|
572
412
|
const now = opts.nowMs ?? Date.now();
|
|
573
413
|
const maxAge = opts.maxAgeMs ?? DEFAULT_ACTIVE_CACHE_MAX_AGE_MS;
|
|
@@ -598,9 +438,6 @@ export async function loadFleetActiveSessions(opts) {
|
|
|
598
438
|
capturedAt: now,
|
|
599
439
|
remoteDeviceCount: live.remoteDeviceCount,
|
|
600
440
|
});
|
|
601
|
-
// Also refresh the local slice so a `--local` reader benefits from this gather.
|
|
602
|
-
// Identity is machineId() when available; fall back to "rows with no machine
|
|
603
|
-
// stamp" so a pure-local gather that never set machine still warms the cache.
|
|
604
441
|
let self;
|
|
605
442
|
try {
|
|
606
443
|
const { machineId } = await import('../machine-id.js');
|
|
@@ -609,18 +446,7 @@ export async function loadFleetActiveSessions(opts) {
|
|
|
609
446
|
catch {
|
|
610
447
|
self = undefined;
|
|
611
448
|
}
|
|
612
|
-
// Always rewrite the local slice when we know self — including the empty
|
|
613
|
-
// case. If the last local session just died, leaving a still-fresh snapshot
|
|
614
|
-
// with ghost rows would make watchdog / `--local` report sessions that are
|
|
615
|
-
// gone (review on RUSH-2062 / PR #2116).
|
|
616
449
|
if (self !== undefined) {
|
|
617
|
-
// "Local" here means the PROCESS is on this box, which is not `machine ===
|
|
618
|
-
// self` for an offloaded run: its shim runs here while the agent executes on
|
|
619
|
-
// the peer (RUSH-2479). The other writer of this same key,
|
|
620
|
-
// `loadLocalActiveSessions`, seeds from `getActiveSessions({localOnly:true})`
|
|
621
|
-
// and keeps that shim — so comparing `machine` here would make the two
|
|
622
|
-
// disagree and leave `--local` showing or hiding the row depending on which
|
|
623
|
-
// surface last warmed the 15s cache.
|
|
624
450
|
const localOnly = live.sessions.filter((s) => sessionProcessIsLocal(s, self));
|
|
625
451
|
writeCache('local', localOnly, { capturedAt: now });
|
|
626
452
|
}
|
|
@@ -633,10 +459,7 @@ export async function loadFleetActiveSessions(opts) {
|
|
|
633
459
|
remoteDiscoveryFailed: live.remoteDiscoveryFailed,
|
|
634
460
|
};
|
|
635
461
|
}
|
|
636
|
-
|
|
637
|
-
* Daemon warm entry point: live-gather THIS host and write the local snapshot.
|
|
638
|
-
* Never SSHes. Returns the published row count for the daemon log line.
|
|
639
|
-
*/
|
|
462
|
+
// Daemon warm publishes this host only and never SSHes; readers may write fleet snapshots without becoming a second publisher.
|
|
640
463
|
export async function publishLocalActiveSessions(opts = {}) {
|
|
641
464
|
const result = await loadLocalActiveSessions({
|
|
642
465
|
forceRefresh: true,
|
|
@@ -1,92 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-agent adapter for sync. Each supported agent declares where its
|
|
3
|
-
* transcripts live and how to derive a session id and storage-relative key
|
|
4
|
-
* from a file path. The merge (crdt.ts) and transport (r2.ts) are fully
|
|
5
|
-
* agent-agnostic — adding a new agent is just another entry in SYNC_AGENTS.
|
|
6
|
-
*
|
|
7
|
-
* Mirror layout: synced-in transcripts land under
|
|
8
|
-
* ~/.agents/.history/backups/<agent>/<machine>/<subdir>/<relKey>
|
|
9
|
-
* which is already a scan root (getAgentSessionDirs scans backups/<agent>/<ts>),
|
|
10
|
-
* so the existing incremental scanner indexes them with no changes. Because the
|
|
11
|
-
* scanner dedups by session id with the live home scanned first, a session that
|
|
12
|
-
* also exists locally always wins — the mirror only ever fills in sessions
|
|
13
|
-
* originated on other machines.
|
|
14
|
-
*/
|
|
15
|
-
/** One constituent file of a session — a session has exactly one for file-shaped
|
|
16
|
-
* agents (Claude, Codex, …), and many for directory-shaped ones (Kimi). */
|
|
17
1
|
export interface SessionFile {
|
|
18
|
-
/** Absolute path on this machine. */
|
|
19
2
|
absPath: string;
|
|
20
|
-
/** Path relative to the agent's subdir root — preserved in the mirror layout. */
|
|
21
3
|
relKey: string;
|
|
22
4
|
}
|
|
23
5
|
export interface LocalTranscript {
|
|
24
|
-
/** Globally-unique session id (the grouping key across machines). */
|
|
25
6
|
sessionId: string;
|
|
26
|
-
/** Every file that makes up this session. Length 1 for file-shaped agents. */
|
|
27
7
|
files: SessionFile[];
|
|
28
8
|
}
|
|
29
9
|
export interface SyncAgentSpec {
|
|
30
10
|
id: string;
|
|
31
|
-
/** Config subdir under the agent home that holds transcripts. */
|
|
32
11
|
subdir: string;
|
|
33
|
-
/** File extension to walk for this agent (defaults to .jsonl). */
|
|
34
12
|
ext?: string;
|
|
35
|
-
/**
|
|
36
|
-
* A session is a DIRECTORY of files (e.g. Kimi: state.json + agents/…/wire.jsonl
|
|
37
|
-
* + per-tool task sidecars), not a single transcript. When set, every file under
|
|
38
|
-
* the session dir (matching `exts`, passing `fileFilter`) syncs, is stored under
|
|
39
|
-
* its own R2 sub-key, and is mirrored at its own relative path — instead of the
|
|
40
|
-
* file-shaped "one transcript per session" model.
|
|
41
|
-
*/
|
|
42
13
|
dirShaped?: boolean;
|
|
43
|
-
/** Extensions a dir-shaped agent walks (defaults to `[ext ?? '.jsonl']`). */
|
|
44
14
|
exts?: string[];
|
|
45
|
-
/** Optional per-file exclusion for dir-shaped agents (lock/scratch files, …). */
|
|
46
15
|
fileFilter?(relKey: string): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Extensions whose files are append-only event logs and therefore CRDT-mergeable
|
|
49
|
-
* (G-Set union across forked copies). A dir-shaped session usually mixes an
|
|
50
|
-
* append-only conversation log (`wire.jsonl`) with mutable metadata blobs
|
|
51
|
-
* (`state.json`) — line-unioning the latter would corrupt it, so any file NOT
|
|
52
|
-
* matching an entry here is reconciled last-writer-wins instead. Undefined (the
|
|
53
|
-
* file-shaped default) means every file is mergeable — the single `.jsonl`
|
|
54
|
-
* transcript keeps its existing union behaviour.
|
|
55
|
-
*/
|
|
56
16
|
mergeableExts?: string[];
|
|
57
|
-
/** Derive the session id from a storage-relative key. */
|
|
58
17
|
sessionIdFromRelKey(relKey: string): string;
|
|
59
18
|
}
|
|
60
|
-
/** True when a file at `relKey` is an append-only log that CRDT-unions across
|
|
61
|
-
* forks; false when it must be reconciled last-writer-wins (mutable blob). */
|
|
62
19
|
export declare function isMergeableFile(spec: SyncAgentSpec, relKey: string): boolean;
|
|
63
20
|
export declare const SYNC_AGENTS: SyncAgentSpec[];
|
|
64
|
-
/**
|
|
65
|
-
* List this machine's own transcript files for an agent, EXCLUDING the sync
|
|
66
|
-
* mirror (we never re-upload another machine's files under our prefix). Dedups
|
|
67
|
-
* by session id so a session present in multiple version homes is uploaded once.
|
|
68
|
-
*/
|
|
69
21
|
export declare function listLocalTranscripts(spec: SyncAgentSpec): LocalTranscript[];
|
|
70
|
-
/**
|
|
71
|
-
* Absolute mirror path for a remote machine's transcript — lands in a scan root.
|
|
72
|
-
*
|
|
73
|
-
* `machine` and `relKey` come from a peer's manifest (untrusted: any peer with
|
|
74
|
-
* write access to the shared bucket controls them). Unlike the push side, which
|
|
75
|
-
* already drops `relKey` starting with `..` when building the manifest, the pull
|
|
76
|
-
* side would otherwise `fs.writeFileSync` at this path with peer-controlled
|
|
77
|
-
* content. `machine` is constrained to a single segment and `relKey` (which may
|
|
78
|
-
* legitimately nest, e.g. `projects/x/y.jsonl`) is contained beneath the
|
|
79
|
-
* per-machine mirror root, so a crafted `relKey` like `../../../.ssh/authorized_keys`
|
|
80
|
-
* cannot write outside `~/.agents/.history/backups/<agent>/<machine>/<subdir>`.
|
|
81
|
-
*/
|
|
82
22
|
export declare function mirrorPath(spec: SyncAgentSpec, machine: string, relKey: string): string;
|
|
83
|
-
/**
|
|
84
|
-
* R2 object key for a transcript.
|
|
85
|
-
* - file-shaped (relKey omitted): sessions/<machine>/<agent>/<sessionId>.jsonl —
|
|
86
|
-
* unchanged, so existing claude/codex/droid objects keep their keys.
|
|
87
|
-
* - dir-shaped (relKey given): sessions/<machine>/<agent>/<sessionId>/<relKey> —
|
|
88
|
-
* one object per constituent file of the session directory.
|
|
89
|
-
*/
|
|
90
23
|
export declare function objectKey(machine: string, agentId: string, sessionId: string, relKey?: string): string;
|
|
91
|
-
/** Prefix under which all machine manifests live (for discovery). */
|
|
92
24
|
export declare const SESSIONS_PREFIX = "sessions/";
|
|
Binary file
|
|
@@ -1,61 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionsBackend — the token-source seam for `agents sessions export --to-r2` /
|
|
3
|
-
* `import --from-r2`.
|
|
4
|
-
*
|
|
5
|
-
* Two legitimate principals, picked once at backup time through the ONE shared
|
|
6
|
-
* managed-vs-BYO policy (`selectStorageBackendKind`):
|
|
7
|
-
*
|
|
8
|
-
* - **managed**: the caller is signed in to Phoenix (`readSession()`), no
|
|
9
|
-
* explicit BYO override. Token is the Phoenix access_token; endpoint is the
|
|
10
|
-
* managed `sessions.agents-cli.sh` Worker; the namespace is the verified
|
|
11
|
-
* userId. ZERO Cloudflare setup — the user never provisions an r2.backups
|
|
12
|
-
* bucket. This is the whole point of the surface (the sessions analogue of
|
|
13
|
-
* managed `agents traces sync`).
|
|
14
|
-
* - **byo**: the existing `r2.backups` secrets bundle (`loadR2Config()`).
|
|
15
|
-
* Unchanged for power users / self-hosters / a zero-knowledge backup that
|
|
16
|
-
* Phoenix can never read.
|
|
17
|
-
*
|
|
18
|
-
* MANAGED-FIRST — the mere PRESENCE of an r2.backups bundle is NOT a BYO
|
|
19
|
-
* override. A signed-in user with a stale r2.backups bundle still backs up to
|
|
20
|
-
* managed unless they opt out explicitly: `--byo`, `AGENTS_SESSIONS_BACKEND=byo`,
|
|
21
|
-
* or a DI write token. This mirrors the artifact-share backend contract (a
|
|
22
|
-
* persisted BYO config is deliberately not an override) so the product's
|
|
23
|
-
* managed-first contract is identical across surfaces.
|
|
24
|
-
*/
|
|
25
1
|
import { type PhoenixSession } from '../../identity/client.js';
|
|
26
2
|
import { type R2Config } from './config.js';
|
|
27
|
-
/** Env var that forces the BYO path. Value must be exactly `byo`. */
|
|
28
3
|
export declare const SESSIONS_BACKEND_ENV = "AGENTS_SESSIONS_BACKEND";
|
|
29
4
|
interface ManagedSessionsBackend {
|
|
30
5
|
kind: 'managed';
|
|
31
|
-
/** Public base URL of the managed sessions Worker, no trailing slash. */
|
|
32
6
|
baseUrl: string;
|
|
33
|
-
/** Bearer sent as `Authorization`. The Phoenix access_token. */
|
|
34
7
|
token: string;
|
|
35
|
-
/** Phoenix userId — the object-store namespace prefix (path segment 0). */
|
|
36
8
|
userId: string;
|
|
37
9
|
}
|
|
38
10
|
interface ByoSessionsBackend {
|
|
39
11
|
kind: 'byo';
|
|
40
|
-
/** The resolved r2.backups credentials for the S3-compatible client. */
|
|
41
12
|
r2: R2Config;
|
|
42
13
|
}
|
|
43
14
|
type SessionsBackend = ManagedSessionsBackend | ByoSessionsBackend;
|
|
44
15
|
interface ResolveSessionsBackendOpts {
|
|
45
|
-
/** Force the BYO r2.backups path even when signed in. */
|
|
46
16
|
byo?: boolean;
|
|
47
|
-
/** DI seam — a static write token selects BYO (tests / self-host). */
|
|
48
17
|
writeToken?: string;
|
|
49
|
-
/** DI seam — override `readSession()`. `null` means explicitly signed out. */
|
|
50
18
|
session?: PhoenixSession | null;
|
|
51
19
|
}
|
|
52
|
-
/** True when the shared policy resolves to the managed principal for sessions. */
|
|
53
20
|
export declare function shouldUseManagedSessions(opts?: ResolveSessionsBackendOpts): boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Resolve the backend for a session backup / restore. Managed when signed in and
|
|
56
|
-
* no explicit BYO override; otherwise BYO. Fails loud when neither principal can
|
|
57
|
-
* authenticate — the actionable message ("run auth login" or "add r2.backups")
|
|
58
|
-
* lives here, not in the shared policy.
|
|
59
|
-
*/
|
|
60
21
|
export declare function resolveSessionsBackend(opts?: ResolveSessionsBackendOpts): SessionsBackend;
|
|
61
22
|
export {};
|