@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import { StringDecoder } from 'string_decoder';
|
|
3
3
|
import { getDB, maintainSessionSearchIndex } from './db.js';
|
|
4
|
-
import { parseSession } from '
|
|
5
|
-
import { TOOL_INDEX_VERSION, TOOL_INDEX_LIMIT_ORDINAL, ToolCallCollector, collectClaudeToolCalls, collectCodexToolCalls, toolCallEvidenceBytes, toolCallsFromEvents, } from '
|
|
4
|
+
import { parseSession } from '@phnx-labs/sessions-cli/reader';
|
|
5
|
+
import { TOOL_INDEX_VERSION, TOOL_INDEX_LIMIT_ORDINAL, ToolCallCollector, collectClaudeToolCalls, collectCodexToolCalls, toolCallEvidenceBytes, toolCallsFromEvents, } from '@phnx-labs/sessions-cli/reader';
|
|
6
6
|
import { canonicalToolLedgerPath, persistToolCalls, purgeToolCalls, toolEvidenceSourcePath, } from './tool-store.js';
|
|
7
7
|
const BACKFILL_MAX_FILES = 25;
|
|
8
8
|
const BACKFILL_MAX_BYTES = 16 * 1024 * 1024;
|
|
@@ -18,7 +18,6 @@ const TOOL_QUERY_MAX_RESULT_BYTES = 8 * 1024 * 1024;
|
|
|
18
18
|
export const TOOL_QUERY_MAX_RESULT_SESSIONS = 1_000;
|
|
19
19
|
export const TOOL_QUERY_MAX_SERIALIZED_BYTES = 15 * 1024 * 1024;
|
|
20
20
|
export const TOOL_QUERY_MERGE_OVERHEAD_BYTES = 64 * 1024;
|
|
21
|
-
/** Serialize once and enforce headroom below the fleet transport's 16 MiB cap. */
|
|
22
21
|
export function serializeToolSearchEnvelope(envelope) {
|
|
23
22
|
const rendered = JSON.stringify(envelope, null, 2) + '\n';
|
|
24
23
|
if (Buffer.byteLength(rendered) > TOOL_QUERY_MAX_SERIALIZED_BYTES) {
|
|
@@ -26,25 +25,13 @@ export function serializeToolSearchEnvelope(envelope) {
|
|
|
26
25
|
}
|
|
27
26
|
return rendered;
|
|
28
27
|
}
|
|
29
|
-
/** Exact UTF-8 size of the public pretty-JSON envelope. */
|
|
30
28
|
export function serializedToolSearchEnvelopeBytes(envelope) {
|
|
31
29
|
return Buffer.byteLength(JSON.stringify(envelope, null, 2) + '\n');
|
|
32
30
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Reserve the exact local JSON plus coordinator headroom before retaining peer
|
|
35
|
-
* stdout. Peer envelopes repeat metadata that disappears during merge, so
|
|
36
|
-
* charging their full wire bytes against the remainder is conservative.
|
|
37
|
-
*/
|
|
38
31
|
export function toolSearchRemoteReceiveBudget(envelope) {
|
|
39
32
|
const localBytes = serializedToolSearchEnvelopeBytes(envelope);
|
|
40
33
|
return Math.max(0, TOOL_QUERY_MAX_SERIALIZED_BYTES - TOOL_QUERY_MERGE_OVERHEAD_BYTES - localBytes);
|
|
41
34
|
}
|
|
42
|
-
/**
|
|
43
|
-
* The ledger columns every candidate session is judged on. Deliberately NOT
|
|
44
|
-
* `parser_state`: this runs once per session in the scan's warm path, and that
|
|
45
|
-
* column holds a serialized collector snapshot that can reach a megabyte. It is
|
|
46
|
-
* read separately, only for the sessions that turn out to need indexing.
|
|
47
|
-
*/
|
|
48
35
|
function readToolLedger(db, sessionId) {
|
|
49
36
|
return db.prepare(`
|
|
50
37
|
SELECT file_path, file_mtime_ms, file_size, extractor_version, parsed_offset
|
|
@@ -62,22 +49,6 @@ function needsIndex(row, stamp) {
|
|
|
62
49
|
|| row.file_size !== stamp.fileSize
|
|
63
50
|
|| row.extractor_version !== TOOL_INDEX_VERSION;
|
|
64
51
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Where to start reading a session whose transcript changed.
|
|
67
|
-
*
|
|
68
|
-
* A live session's transcript is append-only, so re-reading it from byte 0 on
|
|
69
|
-
* every scan re-parses the entire history to discover the handful of records
|
|
70
|
-
* that are new — the cost that makes a large session's tool index quadratic in
|
|
71
|
-
* the number of scans. When the ledger carries a resume point that the current
|
|
72
|
-
* file still agrees with, the scan reads only the appended bytes and merges the
|
|
73
|
-
* result (`append`); anything else re-reads the whole file (`replace`).
|
|
74
|
-
*
|
|
75
|
-
* Each check below rejects a case where the stored prefix may no longer describe
|
|
76
|
-
* the file: a harness the streaming parser cannot resume, a different extractor,
|
|
77
|
-
* no recorded resume point, a source path the ledger row does not describe, a
|
|
78
|
-
* file that shrank below what was already parsed (a rewrite or truncation, not
|
|
79
|
-
* an append), or a snapshot that does not read back.
|
|
80
|
-
*/
|
|
81
52
|
function planToolScan(db, sessionId, row, sourcePath, stamp, resumable) {
|
|
82
53
|
const full = { mode: 'replace', startOffset: 0 };
|
|
83
54
|
if (!resumable || !row)
|
|
@@ -104,7 +75,6 @@ function planToolScan(db, sessionId, row, sourcePath, stamp, resumable) {
|
|
|
104
75
|
return full;
|
|
105
76
|
return { mode: 'append', startOffset: row.parsed_offset, snapshot };
|
|
106
77
|
}
|
|
107
|
-
/** Read index completeness from SQLite only; never stat or parse transcripts. */
|
|
108
78
|
export function readToolIndexCoverage(sessions) {
|
|
109
79
|
const db = getDB();
|
|
110
80
|
const sessionIds = [...new Set(sessions
|
|
@@ -144,7 +114,6 @@ function backfillLimitCall(session, reason) {
|
|
|
144
114
|
parseError: 'Additional tool calls were not indexed for this session.',
|
|
145
115
|
};
|
|
146
116
|
}
|
|
147
|
-
/** Stream Claude/Codex JSONL without ever retaining an oversized record. */
|
|
148
117
|
async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
149
118
|
const collector = new ToolCallCollector(from.snapshot);
|
|
150
119
|
const stream = fs.createReadStream(session.filePath, {
|
|
@@ -156,11 +125,7 @@ async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
|
156
125
|
let pendingBytes = 0;
|
|
157
126
|
let droppingOversizedLine = false;
|
|
158
127
|
let skippedOversizedLine = false;
|
|
159
|
-
// Byte offset just past the last complete record applied. Only a complete,
|
|
160
|
-
// newline-terminated record advances it, so resuming here can never re-apply a
|
|
161
|
-
// record (which would mint a second ordinal for it) nor skip a partial tail.
|
|
162
128
|
let parsedOffset = from.startOffset;
|
|
163
|
-
/** Bytes of the record currently being assembled, across chunk boundaries. */
|
|
164
129
|
let lineBytes = 0;
|
|
165
130
|
const applyLine = (line) => {
|
|
166
131
|
if (!line.trim())
|
|
@@ -184,11 +149,6 @@ async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
|
184
149
|
const end = newline >= 0 ? newline : text.length;
|
|
185
150
|
const segment = text.slice(start, end);
|
|
186
151
|
const segmentBytes = Buffer.byteLength(segment);
|
|
187
|
-
// Counted outside the drop guard and across chunk boundaries: this is the
|
|
188
|
-
// record's true size on disk, which is what the resume offset is measured
|
|
189
|
-
// in. `pendingBytes` cannot stand in for it — that one resets when an
|
|
190
|
-
// oversized record is dropped, and a record split over two 64 KiB reads
|
|
191
|
-
// would lose the part carried in from the previous chunk.
|
|
192
152
|
lineBytes += segmentBytes;
|
|
193
153
|
if (!droppingOversizedLine) {
|
|
194
154
|
if (pendingBytes + segmentBytes <= BACKFILL_MAX_JSONL_RECORD_BYTES) {
|
|
@@ -206,7 +166,7 @@ async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
|
206
166
|
break;
|
|
207
167
|
if (!droppingOversizedLine)
|
|
208
168
|
applyLine(pending);
|
|
209
|
-
parsedOffset += lineBytes + 1;
|
|
169
|
+
parsedOffset += lineBytes + 1;
|
|
210
170
|
lineBytes = 0;
|
|
211
171
|
pending = '';
|
|
212
172
|
pendingBytes = 0;
|
|
@@ -217,14 +177,7 @@ async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
|
217
177
|
for await (const chunk of stream)
|
|
218
178
|
consume(decoder.write(chunk));
|
|
219
179
|
consume(decoder.end());
|
|
220
|
-
// Snapshot BEFORE the unterminated trailing record, and pair it with an offset
|
|
221
|
-
// that stops short of that record. The writer may be mid-append, so the record
|
|
222
|
-
// is indexed now (its evidence is real) but is re-read by the next scan — which
|
|
223
|
-
// resumes with the same next-ordinal and so re-derives the same ordinals,
|
|
224
|
-
// making the re-read an idempotent upsert rather than a duplicate.
|
|
225
180
|
const resume = skippedOversizedLine
|
|
226
|
-
// A dropped oversized record left the ordinals and the pending map out of
|
|
227
|
-
// step with the file; nothing here can be resumed from.
|
|
228
181
|
? null
|
|
229
182
|
: { parserState: JSON.stringify(collector.snapshot()), parsedOffset };
|
|
230
183
|
if (!droppingOversizedLine && pending.length > 0)
|
|
@@ -235,7 +188,6 @@ async function streamJsonlToolCalls(session, from = { startOffset: 0 }) {
|
|
|
235
188
|
}
|
|
236
189
|
return { calls, resume };
|
|
237
190
|
}
|
|
238
|
-
/** True for the harnesses whose transcript the streaming parser can resume. */
|
|
239
191
|
function isResumableToolSource(agent) {
|
|
240
192
|
return agent === 'claude' || agent === 'codex';
|
|
241
193
|
}
|
|
@@ -255,15 +207,8 @@ async function toolCallsForBackfill(session, sourceBytes, from = { startOffset:
|
|
|
255
207
|
resume: null,
|
|
256
208
|
};
|
|
257
209
|
}
|
|
258
|
-
// Every other harness is parsed whole into memory by parseSession, which
|
|
259
|
-
// exposes no byte offset to resume from — so these stay full replaces and
|
|
260
|
-
// record no resume point, rather than storing one this path cannot honour.
|
|
261
210
|
return { calls: toolCallsFromEvents(parseSession(session.filePath, session.agent)), resume: null };
|
|
262
211
|
}
|
|
263
|
-
/**
|
|
264
|
-
* Fill one bounded chunk of the independent tool index. A warm call performs
|
|
265
|
-
* only stat + ledger checks; it never opens or parses unchanged transcripts.
|
|
266
|
-
*/
|
|
267
212
|
export async function ensureToolIndex(sessions, limits = {}) {
|
|
268
213
|
const maxFiles = limits.maxFiles ?? BACKFILL_MAX_FILES;
|
|
269
214
|
const maxBytes = limits.maxBytes ?? BACKFILL_MAX_BYTES;
|
|
@@ -312,12 +257,6 @@ export async function ensureToolIndex(sessions, limits = {}) {
|
|
|
312
257
|
for (const item of pending) {
|
|
313
258
|
if (attemptedFiles >= maxFiles)
|
|
314
259
|
break;
|
|
315
|
-
// The byte budget is a batch boundary, not a correctness boundary. Admit
|
|
316
|
-
// one oversized transcript by itself so it can never wedge the ledger or
|
|
317
|
-
// silently disappear from results; the next invocation resumes afterward.
|
|
318
|
-
// Budgeted on the bytes this scan reads, not the file's size: a resumed
|
|
319
|
-
// session costs only its appended tail, so a batch can cover far more
|
|
320
|
-
// growing sessions than it could when every one was re-read whole.
|
|
321
260
|
if (attemptedFiles > 0 && consumedBytes + item.readBytes > maxBytes)
|
|
322
261
|
break;
|
|
323
262
|
attemptedFiles++;
|
|
@@ -332,9 +271,6 @@ export async function ensureToolIndex(sessions, limits = {}) {
|
|
|
332
271
|
skippedFiles++;
|
|
333
272
|
}
|
|
334
273
|
}
|
|
335
|
-
// The scan just wrote a batch of FTS segments; pay a bounded slice of the
|
|
336
|
-
// merge they need so the index converges here instead of degrading until
|
|
337
|
-
// someone runs `agents sessions optimize` by hand (RUSH-2208).
|
|
338
274
|
if (indexedFiles > 0)
|
|
339
275
|
maintainSessionSearchIndex(db);
|
|
340
276
|
const remainingFiles = Math.max(0, pending.length - attemptedFiles);
|
|
@@ -399,7 +335,6 @@ function tokenizeClause(source) {
|
|
|
399
335
|
tokens.push(token);
|
|
400
336
|
return tokens;
|
|
401
337
|
}
|
|
402
|
-
/** Parse one same-call clause. Unprefixed terms search every evidence field. */
|
|
403
338
|
function parseToolQueryClause(source) {
|
|
404
339
|
const fields = new Set(['tool', 'program', 'input', 'output', 'status', 'exit', 'error']);
|
|
405
340
|
return tokenizeClause(source).map((token) => {
|
|
@@ -413,7 +348,6 @@ function parseToolQueryClause(source) {
|
|
|
413
348
|
return { value: token };
|
|
414
349
|
}).filter((term) => term.value.length > 0);
|
|
415
350
|
}
|
|
416
|
-
/** A count has one unambiguous subject: one exact `program:<name>` term. */
|
|
417
351
|
export function parseToolProgramCountClause(source) {
|
|
418
352
|
const terms = parseToolQueryClause(source);
|
|
419
353
|
if (terms.length !== 1 || terms[0].field !== 'program') {
|
|
@@ -430,9 +364,6 @@ function matchesTerm(call, term) {
|
|
|
430
364
|
case 'tool': return includes(call.tool, value);
|
|
431
365
|
case 'program': return call.programs.some((program) => program.toLocaleLowerCase() === value);
|
|
432
366
|
case 'input': return includes(call.input, value);
|
|
433
|
-
// A harness can mark the returned bytes as an error while they are still
|
|
434
|
-
// the command's output. Keep `error:` available for explicit diagnostics,
|
|
435
|
-
// but let `output:` match either bounded result channel.
|
|
436
367
|
case 'output': return includes(call.output, value) || includes(call.error, value);
|
|
437
368
|
case 'status': return call.outcome === value || String(call.statusCode ?? '') === value;
|
|
438
369
|
case 'exit': return String(call.exitCode ?? '') === value;
|
|
@@ -493,7 +424,6 @@ function ftsCandidateRows(db, sessionIds, expression) {
|
|
|
493
424
|
LIMIT ?
|
|
494
425
|
`).all(JSON.stringify(sessionIds), expression, TOOL_QUERY_MAX_CALL_ROWS + 1);
|
|
495
426
|
}
|
|
496
|
-
/** Use indexed typed columns and trigram FTS; final matching remains exact in JS. */
|
|
497
427
|
function candidateKeysForClause(db, sessionIds, clause) {
|
|
498
428
|
let candidates;
|
|
499
429
|
const scope = JSON.stringify(sessionIds);
|
|
@@ -720,7 +650,6 @@ function readCallsByKeys(db, keys) {
|
|
|
720
650
|
loadedBytes = appendStoredRows(out, rows, programsForRows(db, rows), occurrencesForRows(db, rows), loadedBytes);
|
|
721
651
|
return out;
|
|
722
652
|
}
|
|
723
|
-
/** Count exact, pre-indexed static program sites without reading transcripts. */
|
|
724
653
|
export function countToolProgramOccurrences(sessions, program, coverage, machine) {
|
|
725
654
|
const normalized = program.trim();
|
|
726
655
|
if (!normalized || Buffer.byteLength(normalized) > 512) {
|
|
@@ -814,7 +743,6 @@ export function countToolProgramOccurrences(sessions, program, coverage, machine
|
|
|
814
743
|
machines,
|
|
815
744
|
};
|
|
816
745
|
}
|
|
817
|
-
/** Query cached evidence; every repeated clause must select a distinct call. */
|
|
818
746
|
export function searchToolCalls(sessions, clauseSources, coverage, resultLimit = sessions.length) {
|
|
819
747
|
if (!Number.isSafeInteger(resultLimit) || resultLimit < 1 || resultLimit > TOOL_QUERY_MAX_RESULT_SESSIONS) {
|
|
820
748
|
throw new Error(`Tool search --limit must be from 1 to ${TOOL_QUERY_MAX_RESULT_SESSIONS}.`);
|
|
@@ -1,69 +1,23 @@
|
|
|
1
1
|
import type Database from '../sqlite.js';
|
|
2
|
-
import { type IndexedToolCall, type EventToolScanResumePoint } from '
|
|
3
|
-
import type { SessionMeta } from '
|
|
2
|
+
import { type IndexedToolCall, type EventToolScanResumePoint } from '@phnx-labs/sessions-cli/reader';
|
|
3
|
+
import type { SessionMeta } from '@phnx-labs/sessions-cli/reader';
|
|
4
4
|
export declare function canonicalToolLedgerPath(filePath: string): string;
|
|
5
|
-
/** Resolve the transcript that actually carries tool events for split-file harnesses. */
|
|
6
5
|
export declare function toolEvidenceSourcePath(filePath: string, agent: string): string;
|
|
7
|
-
/** Remove cached tool evidence when its source transcript no longer exists. */
|
|
8
6
|
export declare function purgeToolCalls(db: Database.Database, sessionId: string): void;
|
|
9
|
-
/** Purge deleted direct children when a transcript directory's stamp changes. */
|
|
10
7
|
export declare function purgeMissingToolCallsInDirectory(db: Database.Database, dirPath: string, currentFilePaths: string[]): number;
|
|
11
|
-
/** The resume point a later incremental scan starts from. */
|
|
12
8
|
export interface ToolScanResumePoint {
|
|
13
|
-
/** Serialized ToolCallCollector snapshot at `parsedOffset`. */
|
|
14
9
|
parserState: string;
|
|
15
|
-
/**
|
|
16
|
-
* Where a later scan may resume. For the streaming (claude/codex) path this is
|
|
17
|
-
* a BYTE offset just past the last complete record consumed. For the full-file
|
|
18
|
-
* harness path (`planEventToolResume`) it is instead the COUNT of normalized
|
|
19
|
-
* events already folded — the two never share a session (a session is one
|
|
20
|
-
* agent, and the streaming path is claude/codex only), so the column carries
|
|
21
|
-
* whichever meaning that agent's resumer wrote.
|
|
22
|
-
*/
|
|
23
10
|
parsedOffset: number;
|
|
24
11
|
}
|
|
25
12
|
interface PersistToolCallsOptions {
|
|
26
|
-
/**
|
|
27
|
-
* `replace` drops the session's stored evidence first — correct for a parse
|
|
28
|
-
* that started at byte 0. `append` merges the batch into what is already
|
|
29
|
-
* stored and requires an existing ledger row; use it only for a parse that
|
|
30
|
-
* resumed from that row's `parsedOffset`.
|
|
31
|
-
*/
|
|
32
13
|
mode?: 'replace' | 'append';
|
|
33
|
-
/**
|
|
34
|
-
* Where a later scan may resume. Omitted (or null) clears any stored resume
|
|
35
|
-
* point, which forces the next scan of this session to re-read from byte 0 —
|
|
36
|
-
* the correct outcome whenever the parse could not cover the whole prefix
|
|
37
|
-
* (an oversized record, a size-capped transcript, a non-streaming harness).
|
|
38
|
-
*/
|
|
39
14
|
resume?: ToolScanResumePoint | null;
|
|
40
15
|
maxSessionBytes?: number;
|
|
41
16
|
}
|
|
42
|
-
/** Persist one parser batch, its file stamp, and its resume point atomically. */
|
|
43
17
|
export declare function persistToolCalls(db: Database.Database, session: SessionMeta, calls: IndexedToolCall[], sourceStamp: {
|
|
44
18
|
fileMtimeMs: number;
|
|
45
19
|
fileSize: number;
|
|
46
20
|
}, options?: PersistToolCallsOptions): void;
|
|
47
|
-
/**
|
|
48
|
-
* Decide whether a changed full-file-harness session can RESUME its tool index
|
|
49
|
-
* from the last scan instead of re-deriving every call (PHNX-3411).
|
|
50
|
-
*
|
|
51
|
-
* The warm-tick indexer re-derives tool calls for a changed session on every
|
|
52
|
-
* tick, and for an ACTIVE large session that means re-sanitizing tens of
|
|
53
|
-
* thousands of calls each time — the synchronous work that wedged the daemon
|
|
54
|
-
* event loop. Streaming harnesses (claude/codex) already resume from a byte
|
|
55
|
-
* offset; every other harness re-parses the whole file, so this brings them the
|
|
56
|
-
* same benefit at the EVENT level: the ledger stores how many events were folded
|
|
57
|
-
* (`parsed_offset`) plus the collector snapshot (`parser_state`), and a later
|
|
58
|
-
* scan folds only the newly appended events.
|
|
59
|
-
*
|
|
60
|
-
* Returns the prior resume point when it is safe to append, or `null` (full
|
|
61
|
-
* re-scan) whenever the stored prefix may no longer describe the current file:
|
|
62
|
-
* a different extractor, no recorded resume point, a source the ledger row does
|
|
63
|
-
* not describe, a transcript that shrank below what was already parsed (a
|
|
64
|
-
* truncation/rewrite, not an append), more events already folded than the file
|
|
65
|
-
* now yields, or a snapshot that does not read back.
|
|
66
|
-
*/
|
|
67
21
|
export declare function planEventToolResume(db: Database.Database, sessionId: string, sourcePath: string, stamp: {
|
|
68
22
|
fileMtimeMs: number;
|
|
69
23
|
fileSize: number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
|
-
import { TOOL_INDEX_VERSION, TOOL_INDEX_LIMIT_ORDINAL, TOOL_SESSION_EVIDENCE_MAX_BYTES, toolCallEvidenceBytes, toolCallKey, } from '
|
|
3
|
+
import { TOOL_INDEX_VERSION, TOOL_INDEX_LIMIT_ORDINAL, TOOL_SESSION_EVIDENCE_MAX_BYTES, toolCallEvidenceBytes, toolCallKey, } from '@phnx-labs/sessions-cli/reader';
|
|
4
4
|
export function canonicalToolLedgerPath(filePath) {
|
|
5
5
|
let probe = path.resolve(filePath);
|
|
6
6
|
const suffix = [];
|
|
@@ -17,7 +17,6 @@ export function canonicalToolLedgerPath(filePath) {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
/** Resolve the transcript that actually carries tool events for split-file harnesses. */
|
|
21
20
|
export function toolEvidenceSourcePath(filePath, agent) {
|
|
22
21
|
if (agent === 'kimi' && path.basename(filePath) === 'state.json') {
|
|
23
22
|
return path.join(path.dirname(filePath), 'agents', 'main', 'wire.jsonl');
|
|
@@ -32,8 +31,6 @@ function deleteSessionCalls(db, sessionId) {
|
|
|
32
31
|
.all(sessionId);
|
|
33
32
|
const deletePrograms = db.prepare(`DELETE FROM tool_call_programs WHERE call_key = ?`);
|
|
34
33
|
const deleteOccurrences = db.prepare(`DELETE FROM tool_program_occurrences WHERE call_key = ?`);
|
|
35
|
-
// Addressed by rowid, never by the UNINDEXED call_key — see the tool_call_text
|
|
36
|
-
// schema comment in db.ts. A call_key predicate scans the whole FTS index.
|
|
37
34
|
const deleteText = db.prepare(`DELETE FROM tool_call_text WHERE rowid = ?`);
|
|
38
35
|
for (const { rowid, call_key } of rows) {
|
|
39
36
|
deletePrograms.run(call_key);
|
|
@@ -42,12 +39,10 @@ function deleteSessionCalls(db, sessionId) {
|
|
|
42
39
|
}
|
|
43
40
|
db.prepare(`DELETE FROM tool_calls WHERE session_id = ?`).run(sessionId);
|
|
44
41
|
}
|
|
45
|
-
/** Remove cached tool evidence when its source transcript no longer exists. */
|
|
46
42
|
export function purgeToolCalls(db, sessionId) {
|
|
47
43
|
deleteSessionCalls(db, sessionId);
|
|
48
44
|
db.prepare(`DELETE FROM tool_scan_ledger WHERE session_id = ?`).run(sessionId);
|
|
49
45
|
}
|
|
50
|
-
/** Purge deleted direct children when a transcript directory's stamp changes. */
|
|
51
46
|
export function purgeMissingToolCallsInDirectory(db, dirPath, currentFilePaths) {
|
|
52
47
|
const normalizedDir = path.normalize(dirPath);
|
|
53
48
|
const prefix = normalizedDir.endsWith(path.sep) ? normalizedDir : normalizedDir + path.sep;
|
|
@@ -67,7 +62,6 @@ export function purgeMissingToolCallsInDirectory(db, dirPath, currentFilePaths)
|
|
|
67
62
|
}
|
|
68
63
|
return purged;
|
|
69
64
|
}
|
|
70
|
-
/** Persist one parser batch, its file stamp, and its resume point atomically. */
|
|
71
65
|
export function persistToolCalls(db, session, calls, sourceStamp, options = {}) {
|
|
72
66
|
const mode = options.mode ?? 'replace';
|
|
73
67
|
const maxSessionBytes = options.maxSessionBytes ?? TOOL_SESSION_EVIDENCE_MAX_BYTES;
|
|
@@ -99,8 +93,6 @@ export function persistToolCalls(db, session, calls, sourceStamp, options = {})
|
|
|
99
93
|
INSERT INTO tool_program_occurrences (call_key, occurrence_ordinal, program, role)
|
|
100
94
|
VALUES (?, ?, ?, ?)
|
|
101
95
|
`);
|
|
102
|
-
// tool_call_text rows are addressed by the rowid of the tool_calls row they
|
|
103
|
-
// describe (db.ts schema comment): its UNINDEXED call_key cannot be seeked.
|
|
104
96
|
const insertText = db.prepare(`INSERT INTO tool_call_text (rowid, call_key, tool, input, output, error) VALUES (?, ?, ?, ?, ?, ?)`);
|
|
105
97
|
const callRowid = db.prepare(`SELECT rowid FROM tool_calls WHERE call_key = ?`);
|
|
106
98
|
const deletePrograms = db.prepare(`DELETE FROM tool_call_programs WHERE call_key = ?`);
|
|
@@ -199,8 +191,6 @@ export function persistToolCalls(db, session, calls, sourceStamp, options = {})
|
|
|
199
191
|
for (const call of accepted) {
|
|
200
192
|
const key = toolCallKey(session.id, call.ordinal);
|
|
201
193
|
insertCall.run(key, session.id, call.ordinal, call.sourceCallId ?? null, call.timestamp, call.endTimestamp ?? null, call.tool, call.input, call.outcome, call.exitCode ?? null, call.statusCode ?? null, call.errorCode ?? null, call.output ?? null, call.error ?? null, call.parseError ?? null, toolCallEvidenceBytes(call));
|
|
202
|
-
// The upsert above preserves the rowid of a call it updated, so this is
|
|
203
|
-
// the same rowid the existing text row (if any) was written under.
|
|
204
194
|
const { rowid } = callRowid.get(key);
|
|
205
195
|
deletePrograms.run(key);
|
|
206
196
|
deleteOccurrences.run(key);
|
|
@@ -216,26 +206,6 @@ export function persistToolCalls(db, session, calls, sourceStamp, options = {})
|
|
|
216
206
|
});
|
|
217
207
|
txn();
|
|
218
208
|
}
|
|
219
|
-
/**
|
|
220
|
-
* Decide whether a changed full-file-harness session can RESUME its tool index
|
|
221
|
-
* from the last scan instead of re-deriving every call (PHNX-3411).
|
|
222
|
-
*
|
|
223
|
-
* The warm-tick indexer re-derives tool calls for a changed session on every
|
|
224
|
-
* tick, and for an ACTIVE large session that means re-sanitizing tens of
|
|
225
|
-
* thousands of calls each time — the synchronous work that wedged the daemon
|
|
226
|
-
* event loop. Streaming harnesses (claude/codex) already resume from a byte
|
|
227
|
-
* offset; every other harness re-parses the whole file, so this brings them the
|
|
228
|
-
* same benefit at the EVENT level: the ledger stores how many events were folded
|
|
229
|
-
* (`parsed_offset`) plus the collector snapshot (`parser_state`), and a later
|
|
230
|
-
* scan folds only the newly appended events.
|
|
231
|
-
*
|
|
232
|
-
* Returns the prior resume point when it is safe to append, or `null` (full
|
|
233
|
-
* re-scan) whenever the stored prefix may no longer describe the current file:
|
|
234
|
-
* a different extractor, no recorded resume point, a source the ledger row does
|
|
235
|
-
* not describe, a transcript that shrank below what was already parsed (a
|
|
236
|
-
* truncation/rewrite, not an append), more events already folded than the file
|
|
237
|
-
* now yields, or a snapshot that does not read back.
|
|
238
|
-
*/
|
|
239
209
|
export function planEventToolResume(db, sessionId, sourcePath, stamp, currentEventCount) {
|
|
240
210
|
const row = db.prepare(`
|
|
241
211
|
SELECT file_path, file_size, extractor_version, parsed_offset, parser_state
|
|
@@ -251,8 +221,6 @@ export function planEventToolResume(db, sessionId, sourcePath, stamp, currentEve
|
|
|
251
221
|
return null;
|
|
252
222
|
if (stamp.fileSize < row.file_size)
|
|
253
223
|
return null;
|
|
254
|
-
// The file grew but reports fewer events than were already folded — the prefix
|
|
255
|
-
// was rewritten, not appended to. Re-scan from scratch.
|
|
256
224
|
if (row.parsed_offset > currentEventCount)
|
|
257
225
|
return null;
|
|
258
226
|
if (row.parser_state === null)
|
|
@@ -1,86 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* "Viewing in <app> tab N" for tmux-hosted agent sessions.
|
|
3
|
-
*
|
|
4
|
-
* A tmux-wrapped agent (see src/lib/exec.ts `runInTmux`) runs detached on the
|
|
5
|
-
* shared socket; a terminal only *displays* it while a client is attached. This
|
|
6
|
-
* resolver answers "which app + tab is looking at this session right now" by
|
|
7
|
-
* matching the session to its attached tmux client(s) and reusing the app/tab
|
|
8
|
-
* resolvers we already have:
|
|
9
|
-
*
|
|
10
|
-
* - app — the client's terminal PID walked up the process ancestry via the
|
|
11
|
-
* shared HOST_MATCHERS logic (`hostFromPid`).
|
|
12
|
-
* - tab — per app: Ghostty via `assignGhosttyTabs` (cwd + title match), iTerm
|
|
13
|
-
* via the `t<n>` field of the client's `$ITERM_SESSION_ID`, and
|
|
14
|
-
* VS Code / Cursor / Codium via the extension-published `tabIndex` in
|
|
15
|
-
* live-terminals.json (keyed by session id).
|
|
16
|
-
*
|
|
17
|
-
* No client attached => `undefined` (the session is running detached). Every
|
|
18
|
-
* lookup is best-effort; a miss degrades to `{ app }` with no tab, never throws.
|
|
19
|
-
*/
|
|
20
1
|
import type { TmuxClient } from '../tmux/session.js';
|
|
21
2
|
import type { ActiveSession } from './active.js';
|
|
22
3
|
import { type GhosttySurface } from './ghostty-tabs.js';
|
|
23
|
-
/** Where a tmux-hosted session is currently displayed. */
|
|
24
4
|
interface ViewingIn {
|
|
25
|
-
/** Host app of the attached client — 'ghostty', 'iterm', 'code', 'codium', … */
|
|
26
5
|
app: string;
|
|
27
|
-
/** 1-based tab number within that app, when it can be resolved. */
|
|
28
6
|
tab?: number;
|
|
29
7
|
}
|
|
30
|
-
/**
|
|
31
|
-
* The one display form of "where is this session being watched" — `'codium tab 3'`
|
|
32
|
-
* when a client is attached, the bare app name when the tab can't be resolved, and
|
|
33
|
-
* `'detached'` when the pane is live but nobody is looking at it (the terminal that
|
|
34
|
-
* displayed it was closed or crashed).
|
|
35
|
-
*
|
|
36
|
-
* `undefined` means **we do not know**, and it covers two different situations that
|
|
37
|
-
* must not be confused with `'detached'`: a session that isn't tmux-hosted (no pane
|
|
38
|
-
* to attach to, so it isn't on this axis at all), and a tmux session whose pane the
|
|
39
|
-
* locator could not resolve (`mapPanesToTargets` returned nothing for this socket,
|
|
40
|
-
* or the row was never enriched). {@link resolveViewingIn} answers `undefined` for
|
|
41
|
-
* BOTH "no client attached" and "could not locate the pane", so the pane's resolved
|
|
42
|
-
* `tmuxTarget` is what separates them: without it there is no evidence of absence,
|
|
43
|
-
* only absence of evidence. Claiming `'detached'` there would invent an orphaned
|
|
44
|
-
* session — and a consumer acts on that claim (the ext's picker pre-ticks every
|
|
45
|
-
* detached row for rescue), so the wrong answer resumes a session nobody asked for.
|
|
46
|
-
*
|
|
47
|
-
* Shared by the `--active` row renderer and the `--json` serializer so a machine
|
|
48
|
-
* consumer reads exactly the string a human sees, instead of re-deriving "detached"
|
|
49
|
-
* from an absent field.
|
|
50
|
-
*/
|
|
51
8
|
export declare function viewingInLabel(s: Pick<ActiveSession, 'provenance' | 'viewingIn' | 'tmuxTarget'>): string | undefined;
|
|
52
|
-
/**
|
|
53
|
-
* Wire form -> internal form for a row arriving from another machine's
|
|
54
|
-
* `--active --json`. The fan-out reaches peers whose CLI may predate
|
|
55
|
-
* {@link viewingInLabel} and still emit the `{app, tab}` object, so this boundary
|
|
56
|
-
* normalizes both shapes into one — the ONLY place either shape is accepted.
|
|
57
|
-
* `'detached'` maps to undefined, which is what "no attached client" means
|
|
58
|
-
* internally; {@link viewingInLabel} regenerates the word from the pane.
|
|
59
|
-
*/
|
|
60
9
|
export declare function parseViewingIn(raw: unknown): ViewingIn | undefined;
|
|
61
|
-
/** Injection seams so `resolveViewingIn` is unit-testable without a live tmux/ps/osascript. */
|
|
62
10
|
export interface ViewingInDeps {
|
|
63
|
-
/** Ghostty surfaces (window/tab/cwd/title). Enumerated once by the caller and shared. */
|
|
64
11
|
ghosttySurfaces?: GhosttySurface[];
|
|
65
|
-
/** pane id -> `session:window.pane`, from `mapPanesToTargets`. Used to find the session name. */
|
|
66
12
|
paneToTarget?: Map<string, string>;
|
|
67
|
-
/** client pid -> host app. Defaults to the real `hostFromPid`. */
|
|
68
13
|
resolveApp?: (pid: number) => Promise<string | undefined>;
|
|
69
|
-
/** client pid -> raw env. Defaults to reading /proc (Linux) or `ps eww` (macOS). */
|
|
70
14
|
readClientEnv?: (pid: number) => Promise<Record<string, string> | undefined>;
|
|
71
|
-
/** session id -> VS Code editor-tab index, from live-terminals.json. Defaults to the real read. */
|
|
72
15
|
tabIndexForSession?: (sessionId: string | undefined) => number | undefined;
|
|
73
16
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Resolve where a single tmux-hosted session is being viewed. Returns undefined
|
|
76
|
-
* when the session isn't tmux-hosted, can't be located, or has no client
|
|
77
|
-
* attached (detached). Pure aside from the injected (defaulted) probes.
|
|
78
|
-
*/
|
|
79
17
|
export declare function resolveViewingIn(session: ActiveSession, clients: TmuxClient[], deps?: ViewingInDeps): Promise<ViewingIn | undefined>;
|
|
80
|
-
/**
|
|
81
|
-
* iTerm tab from the attaching client's `$ITERM_SESSION_ID` (`w<n>t<n>p<n>:UUID`).
|
|
82
|
-
* The `t<n>` field is iTerm2's 0-based tab index; we present it 1-based to match
|
|
83
|
-
* Ghostty's `index of tab`. Exported for the parser test.
|
|
84
|
-
*/
|
|
85
18
|
export declare function itermTabFromSessionId(value: string | undefined): number | undefined;
|
|
86
19
|
export {};
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* "Viewing in <app> tab N" for tmux-hosted agent sessions.
|
|
3
|
-
*
|
|
4
|
-
* A tmux-wrapped agent (see src/lib/exec.ts `runInTmux`) runs detached on the
|
|
5
|
-
* shared socket; a terminal only *displays* it while a client is attached. This
|
|
6
|
-
* resolver answers "which app + tab is looking at this session right now" by
|
|
7
|
-
* matching the session to its attached tmux client(s) and reusing the app/tab
|
|
8
|
-
* resolvers we already have:
|
|
9
|
-
*
|
|
10
|
-
* - app — the client's terminal PID walked up the process ancestry via the
|
|
11
|
-
* shared HOST_MATCHERS logic (`hostFromPid`).
|
|
12
|
-
* - tab — per app: Ghostty via `assignGhosttyTabs` (cwd + title match), iTerm
|
|
13
|
-
* via the `t<n>` field of the client's `$ITERM_SESSION_ID`, and
|
|
14
|
-
* VS Code / Cursor / Codium via the extension-published `tabIndex` in
|
|
15
|
-
* live-terminals.json (keyed by session id).
|
|
16
|
-
*
|
|
17
|
-
* No client attached => `undefined` (the session is running detached). Every
|
|
18
|
-
* lookup is best-effort; a miss degrades to `{ app }` with no tab, never throws.
|
|
19
|
-
*/
|
|
20
1
|
import * as path from 'path';
|
|
21
2
|
import * as fs from 'fs';
|
|
22
3
|
import { execFile } from 'child_process';
|
|
@@ -26,27 +7,6 @@ import { hostFromPid } from './active.js';
|
|
|
26
7
|
import { enumerateGhosttyTabs, assignGhosttyTabs } from './ghostty-tabs.js';
|
|
27
8
|
import { getTerminalsDir } from '../state.js';
|
|
28
9
|
const execFileAsync = promisify(execFile);
|
|
29
|
-
/**
|
|
30
|
-
* The one display form of "where is this session being watched" — `'codium tab 3'`
|
|
31
|
-
* when a client is attached, the bare app name when the tab can't be resolved, and
|
|
32
|
-
* `'detached'` when the pane is live but nobody is looking at it (the terminal that
|
|
33
|
-
* displayed it was closed or crashed).
|
|
34
|
-
*
|
|
35
|
-
* `undefined` means **we do not know**, and it covers two different situations that
|
|
36
|
-
* must not be confused with `'detached'`: a session that isn't tmux-hosted (no pane
|
|
37
|
-
* to attach to, so it isn't on this axis at all), and a tmux session whose pane the
|
|
38
|
-
* locator could not resolve (`mapPanesToTargets` returned nothing for this socket,
|
|
39
|
-
* or the row was never enriched). {@link resolveViewingIn} answers `undefined` for
|
|
40
|
-
* BOTH "no client attached" and "could not locate the pane", so the pane's resolved
|
|
41
|
-
* `tmuxTarget` is what separates them: without it there is no evidence of absence,
|
|
42
|
-
* only absence of evidence. Claiming `'detached'` there would invent an orphaned
|
|
43
|
-
* session — and a consumer acts on that claim (the ext's picker pre-ticks every
|
|
44
|
-
* detached row for rescue), so the wrong answer resumes a session nobody asked for.
|
|
45
|
-
*
|
|
46
|
-
* Shared by the `--active` row renderer and the `--json` serializer so a machine
|
|
47
|
-
* consumer reads exactly the string a human sees, instead of re-deriving "detached"
|
|
48
|
-
* from an absent field.
|
|
49
|
-
*/
|
|
50
10
|
export function viewingInLabel(s) {
|
|
51
11
|
if (s.provenance?.mux?.kind !== 'tmux' || !s.provenance.mux.pane)
|
|
52
12
|
return undefined;
|
|
@@ -54,14 +14,6 @@ export function viewingInLabel(s) {
|
|
|
54
14
|
return s.tmuxTarget ? 'detached' : undefined;
|
|
55
15
|
return s.viewingIn.tab != null ? `${s.viewingIn.app} tab ${s.viewingIn.tab}` : s.viewingIn.app;
|
|
56
16
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Wire form -> internal form for a row arriving from another machine's
|
|
59
|
-
* `--active --json`. The fan-out reaches peers whose CLI may predate
|
|
60
|
-
* {@link viewingInLabel} and still emit the `{app, tab}` object, so this boundary
|
|
61
|
-
* normalizes both shapes into one — the ONLY place either shape is accepted.
|
|
62
|
-
* `'detached'` maps to undefined, which is what "no attached client" means
|
|
63
|
-
* internally; {@link viewingInLabel} regenerates the word from the pane.
|
|
64
|
-
*/
|
|
65
17
|
export function parseViewingIn(raw) {
|
|
66
18
|
if (raw && typeof raw === 'object') {
|
|
67
19
|
const app = raw.app;
|
|
@@ -73,9 +25,7 @@ export function parseViewingIn(raw) {
|
|
|
73
25
|
const m = raw.match(/^(.+?) tab (\d+)$/);
|
|
74
26
|
return m ? { app: m[1], tab: parseInt(m[2], 10) } : { app: raw };
|
|
75
27
|
}
|
|
76
|
-
/** Apps whose tab index is published by the extension via live-terminals.json. */
|
|
77
28
|
const EDITOR_APPS = new Set(['code', 'cursor', 'codium', 'windsurf']);
|
|
78
|
-
/** The tmux session name a session's pane belongs to, from `session:window.pane`. */
|
|
79
29
|
function sessionNameFor(session, paneToTarget) {
|
|
80
30
|
const pane = session.provenance?.mux?.pane;
|
|
81
31
|
const target = (pane && paneToTarget?.get(pane)) ?? session.tmuxTarget;
|
|
@@ -84,11 +34,6 @@ function sessionNameFor(session, paneToTarget) {
|
|
|
84
34
|
const name = target.split(':')[0];
|
|
85
35
|
return name || undefined;
|
|
86
36
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Resolve where a single tmux-hosted session is being viewed. Returns undefined
|
|
89
|
-
* when the session isn't tmux-hosted, can't be located, or has no client
|
|
90
|
-
* attached (detached). Pure aside from the injected (defaulted) probes.
|
|
91
|
-
*/
|
|
92
37
|
export async function resolveViewingIn(session, clients, deps = {}) {
|
|
93
38
|
if (session.provenance?.mux?.kind !== 'tmux' || !session.provenance.mux.pane)
|
|
94
39
|
return undefined;
|
|
@@ -97,7 +42,7 @@ export async function resolveViewingIn(session, clients, deps = {}) {
|
|
|
97
42
|
return undefined;
|
|
98
43
|
const attached = clients.filter((c) => c.target.split(':')[0] === sessName);
|
|
99
44
|
if (attached.length === 0)
|
|
100
|
-
return undefined;
|
|
45
|
+
return undefined;
|
|
101
46
|
const client = attached[0];
|
|
102
47
|
const resolveApp = deps.resolveApp ?? hostFromPid;
|
|
103
48
|
const app = (await resolveApp(client.pid)) ?? 'terminal';
|
|
@@ -114,21 +59,13 @@ export async function resolveViewingIn(session, clients, deps = {}) {
|
|
|
114
59
|
}
|
|
115
60
|
return { app, tab };
|
|
116
61
|
}
|
|
117
|
-
/** Ghostty tab via the existing cwd+title matcher, reusing shared surfaces when provided. */
|
|
118
62
|
async function ghosttyTab(session, surfaces) {
|
|
119
63
|
const s = surfaces ?? (await enumerateGhosttyTabs());
|
|
120
64
|
if (s.length === 0)
|
|
121
65
|
return undefined;
|
|
122
|
-
// assignGhosttyTabs only considers host === 'ghostty' sessions; use a probe
|
|
123
|
-
// clone so we don't mutate the real row's host.
|
|
124
66
|
const probe = { ...session, host: 'ghostty' };
|
|
125
67
|
return assignGhosttyTabs([probe], s).get(probe);
|
|
126
68
|
}
|
|
127
|
-
/**
|
|
128
|
-
* iTerm tab from the attaching client's `$ITERM_SESSION_ID` (`w<n>t<n>p<n>:UUID`).
|
|
129
|
-
* The `t<n>` field is iTerm2's 0-based tab index; we present it 1-based to match
|
|
130
|
-
* Ghostty's `index of tab`. Exported for the parser test.
|
|
131
|
-
*/
|
|
132
69
|
export function itermTabFromSessionId(value) {
|
|
133
70
|
if (!value)
|
|
134
71
|
return undefined;
|
|
@@ -142,7 +79,6 @@ async function itermTab(pid, readEnv) {
|
|
|
142
79
|
const env = await readEnv(pid);
|
|
143
80
|
return itermTabFromSessionId(env?.ITERM_SESSION_ID);
|
|
144
81
|
}
|
|
145
|
-
/** Read a process's env (best-effort): /proc on Linux, `ps eww` on macOS. */
|
|
146
82
|
async function readClientEnv(pid) {
|
|
147
83
|
if (process.platform === 'linux') {
|
|
148
84
|
try {
|
|
@@ -165,7 +101,6 @@ async function readClientEnv(pid) {
|
|
|
165
101
|
encoding: 'utf8',
|
|
166
102
|
maxBuffer: 1024 * 1024,
|
|
167
103
|
});
|
|
168
|
-
// ITERM_SESSION_ID is a single token (no spaces): grab it out of the flat line.
|
|
169
104
|
const m = stdout.match(/(?:^|\s)ITERM_SESSION_ID=(\S+)/);
|
|
170
105
|
return m ? { ITERM_SESSION_ID: m[1] } : {};
|
|
171
106
|
}
|
|
@@ -175,11 +110,6 @@ async function readClientEnv(pid) {
|
|
|
175
110
|
}
|
|
176
111
|
return undefined;
|
|
177
112
|
}
|
|
178
|
-
/**
|
|
179
|
-
* VS Code editor-tab index for a session, from the extension's live-terminals.json
|
|
180
|
-
* (`tabIndex` per entry — the DATA CONTRACT with the extension teammate). Read
|
|
181
|
-
* directly (not via active.ts's readLiveTerminals, which strips tabIndex).
|
|
182
|
-
*/
|
|
183
113
|
function tabIndexFromLiveTerminals(sessionId) {
|
|
184
114
|
if (!sessionId)
|
|
185
115
|
return undefined;
|