@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
package/dist/lib/session/db.d.ts
CHANGED
|
@@ -1,265 +1,87 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SQLite-backed session index and full-text search.
|
|
3
|
-
*
|
|
4
|
-
* Stores session metadata and user-prompt text in a WAL-mode SQLite database
|
|
5
|
-
* at ~/.agents/.history/sessions/sessions.db. Provides incremental upsert, scan-stamp
|
|
6
|
-
* ledger (mtime/size tracking to skip unchanged files), FTS5 search with
|
|
7
|
-
* BM25 ranking, and label-first search for /rename'd sessions.
|
|
8
|
-
*/
|
|
9
1
|
import Database from '../sqlite.js';
|
|
10
|
-
import type { SessionAgentId, SessionCheckpoint, SessionChecklistItem, SessionEvent, SessionFiles, SessionMeta, SessionRequest, SessionTimeline, SummaryState } from '
|
|
11
|
-
import { type IndexedToolCall } from '
|
|
2
|
+
import type { SessionAgentId, SessionCheckpoint, SessionChecklistItem, SessionEvent, SessionFiles, SessionGlance, SessionMeta, SessionRequest, SessionSubagent, SessionTimeline, SummaryState } from '@phnx-labs/sessions-cli/reader';
|
|
3
|
+
import { type IndexedToolCall } from '@phnx-labs/sessions-cli/reader';
|
|
12
4
|
import { type ToolScanResumePoint } from './tool-store.js';
|
|
13
|
-
import { type TimelineState } from '
|
|
14
|
-
/** Current schema version; bumped when migrations are added. Exported so tests
|
|
15
|
-
* assert against the constant instead of hardcoding a number that every bump
|
|
16
|
-
* then has to chase (docs/sessions.md calls the constant the source of truth). */
|
|
5
|
+
import { type TimelineState } from '@phnx-labs/sessions-cli/reader';
|
|
17
6
|
export declare const SCHEMA_VERSION = 51;
|
|
18
|
-
/**
|
|
19
|
-
* Bump to force the content extractor (assistant-answer text, alongside the
|
|
20
|
-
* user-prompt text every harness already accumulates) to re-derive on every
|
|
21
|
-
* session's next scan. Unlike RESOURCE_INDEX_VERSION this is read by the
|
|
22
|
-
* change-detector itself (`filterChangedEntries`, discover.ts) via
|
|
23
|
-
* `scan_ledger.extractor_version` — a stored version below this one is treated
|
|
24
|
-
* as "changed" even when the file's (mtime, size) are unchanged, so bumping it
|
|
25
|
-
* here backfills every existing session's assistant text on its next scan
|
|
26
|
-
* without a `DELETE FROM scan_ledger` (which would also throw away the
|
|
27
|
-
* resumable parser_state/content_text for Claude/Codex).
|
|
28
|
-
*
|
|
29
|
-
* v3 (PHNX-3621) invalidates OpenCode rows that merged v2 stamped before its
|
|
30
|
-
* genuine first-user-turn extractor was added.
|
|
31
|
-
* v4 (PHNX-3621 leftover) invalidates Grok rows stamped before the bounded
|
|
32
|
-
* chat_history.jsonl prefix read filled firstUserMessage.
|
|
33
|
-
* v5 (PHNX-3939) restores first-meta Codex fork ownership, including cold files.
|
|
34
|
-
* v6 (PHNX-3999) invalidates rows whose stored `label` is harness scaffolding — a
|
|
35
|
-
* `<bash-input>` shell echo, a `<command-name>` wrapper, a bare `/clear` — which
|
|
36
|
-
* `cleanGeneratedSessionLabel` now rejects. The label is written at index time, so
|
|
37
|
-
* without this bump every already-indexed session keeps showing the junk title
|
|
38
|
-
* until its transcript happens to change.
|
|
39
|
-
*/
|
|
40
7
|
export declare const CONTENT_INDEX_VERSION = 6;
|
|
41
|
-
/**
|
|
42
|
-
* Bumping this invalidates every cached facet row without touching the schema
|
|
43
|
-
* version, so a change to the extraction logic (a new metric, a corrected bucket)
|
|
44
|
-
* re-derives on the next `agents insights` instead of silently reporting stale
|
|
45
|
-
* numbers alongside fresh ones. Same role as RESOURCE_INDEX_VERSION.
|
|
46
|
-
*/
|
|
47
|
-
/** Bump when facet extraction changes so cached rows recompute (shell-command-by-binary v7). */
|
|
48
8
|
export declare const INSIGHTS_EXTRACTOR_VERSION = 7;
|
|
49
|
-
/** Bump when classifyTopic's output changes so cached topics recompute (human task taxonomy v2). */
|
|
50
9
|
export declare const SESSION_TOPIC_EXTRACTOR_VERSION = 2;
|
|
51
|
-
/** Bump when classifyPhenotype's output changes so cached phenotypes recompute (PHNX-3327 v1). */
|
|
52
10
|
export declare const SESSION_PHENOTYPE_EXTRACTOR_VERSION = 1;
|
|
53
|
-
/** Bump when the summarizer output shape changes so cached summaries recompute (PHNX-3939 v1). */
|
|
54
11
|
export declare const SESSION_SUMMARY_EXTRACTOR_VERSION = 1;
|
|
55
|
-
/** File stat snapshot used to detect changes between scan runs. */
|
|
56
12
|
export interface ScanStamp {
|
|
57
13
|
fileMtimeMs: number;
|
|
58
14
|
fileSize: number;
|
|
59
15
|
scannedAt?: number;
|
|
60
|
-
/**
|
|
61
|
-
* `scan_ledger.extractor_version` as of the last scan, when read from the
|
|
62
|
-
* ledger (undefined for a freshly-computed stamp that hasn't been persisted
|
|
63
|
-
* yet). Compared against {@link CONTENT_INDEX_VERSION} by
|
|
64
|
-
* `filterChangedEntries` (discover.ts) to force a re-extract independent of
|
|
65
|
-
* (mtime, size).
|
|
66
|
-
*/
|
|
67
16
|
extractorVersion?: number | null;
|
|
68
17
|
}
|
|
69
|
-
/** Filter and pagination options for querying the sessions table. */
|
|
70
18
|
export interface QueryOptions {
|
|
71
19
|
agent?: SessionAgentId;
|
|
72
20
|
agents?: SessionAgentId[];
|
|
73
21
|
origin?: 'cli' | 'routine';
|
|
74
22
|
version?: string;
|
|
75
23
|
cwd?: string;
|
|
76
|
-
/** Match any session whose cwd equals this or is a descendant of it. */
|
|
77
24
|
cwdPrefix?: string;
|
|
78
25
|
project?: string;
|
|
79
|
-
/** Only sessions recorded on this machine (host), case-insensitive. */
|
|
80
26
|
machine?: string;
|
|
81
|
-
/** Match the full session id or short id, case-insensitively (exact). */
|
|
82
27
|
idExact?: string;
|
|
83
|
-
/** Match sessions whose id or short id begins with this (case-insensitive prefix). */
|
|
84
28
|
idPrefix?: string;
|
|
85
29
|
sinceMs?: number;
|
|
86
30
|
untilMs?: number;
|
|
87
31
|
limit?: number;
|
|
88
|
-
/** Drop rows flagged as team-origin before LIMIT is applied. */
|
|
89
32
|
excludeTeamOrigin?: boolean;
|
|
90
|
-
/** Keep only team-origin rows (for hidden-count queries). */
|
|
91
33
|
onlyTeamOrigin?: boolean;
|
|
92
|
-
/**
|
|
93
|
-
* Column to order by, all descending. 'timestamp' (default) sorts newest
|
|
94
|
-
* first; 'cost' and 'duration' put the priciest / longest sessions on top,
|
|
95
|
-
* with NULLs sorted last so unpriced rows never crowd out real data.
|
|
96
|
-
*/
|
|
97
34
|
sortBy?: 'timestamp' | 'cost' | 'duration';
|
|
98
|
-
/** Internal warm-cache path; callers must validate the small final result set. */
|
|
99
35
|
skipExistenceCheck?: boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Only sessions that invoked this skill (#12), joined against
|
|
102
|
-
* session_resource_usage.kind='skill'. Matches either the full stored name
|
|
103
|
-
* (bare, or `plugin:name` for a plugin skill) or just the short name after
|
|
104
|
-
* the colon — `--skill design` finds a session that used `rush:design`.
|
|
105
|
-
*/
|
|
106
36
|
skill?: string;
|
|
107
|
-
/**
|
|
108
|
-
* Only sessions that used a skill or slash-command owned by this plugin
|
|
109
|
-
* (#12), joined against session_resource_usage.plugin.
|
|
110
|
-
*/
|
|
111
37
|
plugin?: string;
|
|
112
38
|
}
|
|
113
|
-
/** Open (or return the cached) sessions database, applying migrations as needed. */
|
|
114
39
|
export declare function getDB(initialBusyTimeoutMs?: number): Database.Database;
|
|
115
|
-
/** Bound synchronous cache contention without changing other database callers. */
|
|
116
40
|
export declare function withSessionDBTimeout<T>(timeoutMs: number, operation: () => T): T;
|
|
117
|
-
/** Close the cached database connection. */
|
|
118
41
|
export declare function closeDB(): void;
|
|
119
42
|
interface FtsOptimizeResult {
|
|
120
43
|
table: string;
|
|
121
44
|
segmentsBefore: number;
|
|
122
45
|
segmentsAfter: number;
|
|
123
46
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Compact the session + tool-call full-text-search indexes.
|
|
126
|
-
*
|
|
127
|
-
* FTS5 appends a new segment on every insert and leaves a tombstone on every
|
|
128
|
-
* delete. The scanner delete+inserts a session's docs on each rescan (and on
|
|
129
|
-
* every extractor-version bump), and FTS5 never merges those segments on its
|
|
130
|
-
* own — so `tool_call_text_data` / `session_text_data` accumulate hundreds of
|
|
131
|
-
* thousands of unmerged segments, gigabytes of index for tens of MB of content,
|
|
132
|
-
* and `agents sessions` queries slow to a crawl. The FTS5 `'optimize'` command
|
|
133
|
-
* merges every segment into one and purges tombstones. Non-destructive: no
|
|
134
|
-
* searchable content is lost. Reclaimed space becomes reusable free pages inside
|
|
135
|
-
* the DB file; run VACUUM (with the daemon stopped) to return it to the OS.
|
|
136
|
-
*/
|
|
137
47
|
export declare function optimizeSessionSearchIndex(): FtsOptimizeResult[];
|
|
138
|
-
/**
|
|
139
|
-
* Keep the FTS indexes from degrading on the normal scan path.
|
|
140
|
-
*
|
|
141
|
-
* `optimizeSessionSearchIndex` is the full, unbounded compaction behind
|
|
142
|
-
* `agents sessions optimize`. Leaving it as the ONLY compaction meant the index
|
|
143
|
-
* degraded until a human happened to run that command, which is how
|
|
144
|
-
* `tool_call_text_data` reached gigabytes for tens of MB of content. This is the
|
|
145
|
-
* automatic counterpart: bounded, threshold-gated, and safe to call after every
|
|
146
|
-
* batch of writes. Non-destructive — merging never changes what is searchable.
|
|
147
|
-
*
|
|
148
|
-
* Returns one result per table it actually merged (empty when every table is
|
|
149
|
-
* under the threshold, which is the common case on a warm index).
|
|
150
|
-
*/
|
|
151
48
|
export declare function maintainSessionSearchIndex(db?: Database.Database, options?: {
|
|
152
49
|
segmentThreshold?: number;
|
|
153
50
|
mergePages?: number;
|
|
154
51
|
}): FtsOptimizeResult[];
|
|
155
|
-
/**
|
|
156
|
-
* Try to claim the right to run the incremental scan. Returns true if this
|
|
157
|
-
* process should proceed with scanning, false if another live process is
|
|
158
|
-
* already scanning (caller should skip the scan and serve from the DB).
|
|
159
|
-
*
|
|
160
|
-
* Uses the `meta` table so it survives crashes — dead PIDs are detected via
|
|
161
|
-
* process.kill(pid, 0), stale entries via TTL. No external lock files needed.
|
|
162
|
-
*
|
|
163
|
-
* Wrapped in db.transaction() (BEGIN IMMEDIATE) so the read-then-write is
|
|
164
|
-
* atomic and busy_timeout retries correctly — bare auto-commit DML in WAL
|
|
165
|
-
* mode can return SQLITE_BUSY_SNAPSHOT which bypasses the busy handler.
|
|
166
|
-
*/
|
|
167
52
|
export declare function tryClaimScan(pid: number): boolean;
|
|
168
|
-
/**
|
|
169
|
-
* Read-only probe: is a scan in progress right now, held by a LIVE process
|
|
170
|
-
* within the TTL? (RUSH-2682). Unlike {@link tryClaimScan} it never writes, so a
|
|
171
|
-
* caller that lost the claim can wait for the in-flight scan to finish rather
|
|
172
|
-
* than returning the pre-scan DB snapshot as if it were the answer. Returns
|
|
173
|
-
* false for a dead-PID or expired claim — that scan is not actually running.
|
|
174
|
-
*/
|
|
175
53
|
export declare function scanInProgressByLivePid(): boolean;
|
|
176
|
-
/**
|
|
177
|
-
* Release the scan claim written by tryClaimScan. Only deletes the entry
|
|
178
|
-
* if it still belongs to this process (guards against TTL takeovers).
|
|
179
|
-
*/
|
|
180
54
|
export declare function releaseScan(pid: number): void;
|
|
181
|
-
/** Return the absolute path to the sessions database file. */
|
|
182
55
|
export declare function getDBPath(): string;
|
|
183
|
-
/**
|
|
184
|
-
* Look up the file stat stamp we stored the last time we scanned a given file path.
|
|
185
|
-
* Callers compare this to the current fs.stat to decide whether to rescan.
|
|
186
|
-
*/
|
|
187
56
|
export declare function getScanStampByPath(filePath: string): ScanStamp | null;
|
|
188
|
-
/**
|
|
189
|
-
* Bulk-load the stamp ledger for a set of file paths in a single SQL query.
|
|
190
|
-
* This is the fast path used by the incremental scanner — avoids N+1 queries.
|
|
191
|
-
*/
|
|
192
57
|
export declare function getScanStampsForPaths(filePaths: string[]): Map<string, ScanStamp>;
|
|
193
|
-
/**
|
|
194
|
-
* A file's persisted resumable-parse continuation, read back from scan_ledger.
|
|
195
|
-
* `parserState` is the serialized {@link ClaudeParserState} JSON blob (offset +
|
|
196
|
-
* accumulator snapshot); `contentText` is the accumulated user doc. Both are
|
|
197
|
-
* written by the Claude scan (B-2) and consumed on the next scan to decide
|
|
198
|
-
* full-vs-incremental and to hydrate the resume.
|
|
199
|
-
*/
|
|
200
58
|
interface ParserStateRow {
|
|
201
59
|
parserState: string | null;
|
|
202
60
|
contentText: string | null;
|
|
203
61
|
fileMtimeMs: number;
|
|
204
62
|
fileSize: number;
|
|
205
63
|
scannedAt: number;
|
|
206
|
-
/** See {@link ScanStamp.extractorVersion}. A mismatch vs CONTENT_INDEX_VERSION
|
|
207
|
-
* means this continuation predates the current content extractor and MUST
|
|
208
|
-
* be treated as absent (forcing a full re-parse) rather than resumed from. */
|
|
209
64
|
extractorVersion: number | null;
|
|
210
65
|
}
|
|
211
|
-
/**
|
|
212
|
-
* Bulk-load the resumable-parse continuation (parser_state + content_text) plus
|
|
213
|
-
* the stamp for a set of file paths in a single chunked query. Mirrors
|
|
214
|
-
* {@link getScanStampsForPaths}: keys by canonical path and fans results back to
|
|
215
|
-
* every original alias so callers can `.get(filePath)` with the path they passed.
|
|
216
|
-
* The Claude incremental scan uses this to fetch each changed file's prior
|
|
217
|
-
* continuation without an N+1 of {@link getScanStampByPath}.
|
|
218
|
-
*/
|
|
219
66
|
export declare function getParserStatesForPaths(filePaths: string[]): Map<string, ParserStateRow>;
|
|
220
|
-
/**
|
|
221
|
-
* Record scan stamps for files we've looked at. Covers both files that produced
|
|
222
|
-
* a session and files we looked at but chose not to index (e.g. malformed).
|
|
223
|
-
*/
|
|
224
67
|
export declare function recordScans(entries: Array<{
|
|
225
68
|
filePath: string;
|
|
226
69
|
scan: ScanStamp;
|
|
227
70
|
}>): void;
|
|
228
|
-
/** Snapshot of a leaf transcript directory used to detect create/delete/rename. */
|
|
229
71
|
export interface DirStamp {
|
|
230
72
|
dirMtimeMs: number;
|
|
231
73
|
entryCount: number;
|
|
232
74
|
}
|
|
233
|
-
/**
|
|
234
|
-
* Bulk-load the dir ledger for a set of leaf directories in a single SQL query.
|
|
235
|
-
* Mirrors {@link getScanStampsForPaths}: keys by canonical path (so a dir
|
|
236
|
-
* reachable via a symlinked version home and its realpath collapse to one row)
|
|
237
|
-
* and fans the result back out to every original alias so callers can
|
|
238
|
-
* `.get(dirPath)` with the path they passed in.
|
|
239
|
-
*/
|
|
240
75
|
export declare function getDirLedgerForPaths(dirs: string[]): Map<string, DirStamp>;
|
|
241
|
-
/**
|
|
242
|
-
* Upsert dir-scan stamps. Recorded after a full readdir of a leaf transcript
|
|
243
|
-
* dir so the next scan can skip that dir when its (mtime, entry_count) is
|
|
244
|
-
* unchanged. Mirrors {@link recordScans}.
|
|
245
|
-
*/
|
|
246
76
|
export declare function recordDirScans(entries: Array<{
|
|
247
77
|
dirPath: string;
|
|
248
78
|
dirMtimeMs: number;
|
|
249
79
|
entryCount: number;
|
|
250
80
|
}>): void;
|
|
251
|
-
/**
|
|
252
|
-
* Upsert a session row and replace its FTS5 content in a single transaction.
|
|
253
|
-
* `content` is the tokenizable user-prompt text; pass '' to leave the row unsearchable.
|
|
254
|
-
*/
|
|
255
81
|
export declare function upsertSession(meta: SessionMeta, content: string, scan?: ScanStamp, assistantContent?: string): void;
|
|
256
|
-
/** Batch-upsert sessions with their FTS5 content and scan stamps in a single transaction. */
|
|
257
82
|
export declare function upsertSessionsBatch(entries: Array<{
|
|
258
83
|
meta: SessionMeta;
|
|
259
84
|
content: string;
|
|
260
|
-
/** Assistant-answer text, accumulated the same way as `content` (the
|
|
261
|
-
* user-prompt text) but stored in session_text's own `assistant` column
|
|
262
|
-
* with a lower BM25 weight — see BM25_WEIGHTS. */
|
|
263
85
|
assistantContent?: string;
|
|
264
86
|
scan?: ScanStamp;
|
|
265
87
|
parserState?: string;
|
|
@@ -268,323 +90,130 @@ export declare function upsertSessionsBatch(entries: Array<{
|
|
|
268
90
|
toolCalls?: IndexedToolCall[];
|
|
269
91
|
toolScan?: ScanStamp;
|
|
270
92
|
toolIndexMode?: 'replace' | 'append';
|
|
271
|
-
/**
|
|
272
|
-
* Where the NEXT scan of this full-file-harness session may resume its tool
|
|
273
|
-
* index (PHNX-3411). Computed internally in the enrichment map below; not
|
|
274
|
-
* supplied by callers. Persisted alongside the tool ledger so an active
|
|
275
|
-
* session re-derives only its newly appended tool calls next tick.
|
|
276
|
-
*/
|
|
277
93
|
toolResume?: ToolScanResumePoint | null;
|
|
278
94
|
}>): void;
|
|
279
|
-
/**
|
|
280
|
-
* Sync labels for a set of sessions. For each id in the map, if the stored
|
|
281
|
-
* label differs, update both `sessions.label` and the FTS5 label column.
|
|
282
|
-
* Leaves FTS5 content/topic/project untouched — cheap to call every run.
|
|
283
|
-
*/
|
|
284
95
|
export declare function syncLabels(labelMap: Map<string, string | null>): number;
|
|
285
|
-
/**
|
|
286
|
-
* Seed session labels from `agents run --name` handles, keyed by session id.
|
|
287
|
-
*
|
|
288
|
-
* `--name` is the universal launch-time way to set a session's label — the same
|
|
289
|
-
* field an agent later refines with a generated title (`syncLabels`) or the user
|
|
290
|
-
* with `/rename`. The seed's source of truth lives outside the transcript (host
|
|
291
|
-
* task sidecars, run-name sidecars written at launch), so it is re-applied by id
|
|
292
|
-
* every scan rather than parsed per-file. It only fills a label that is still
|
|
293
|
-
* EMPTY — an agent-generated title always wins over the seed, so a Claude run's
|
|
294
|
-
* `--name` shows until Claude titles it, and a non-Claude run keeps its `--name`
|
|
295
|
-
* as the label. Writes both `sessions.label` and the FTS5 label column so a
|
|
296
|
-
* seeded name is fuzzy-searchable. Cheap to call every run; returns rows updated.
|
|
297
|
-
*
|
|
298
|
-
* Ordering matters: this runs AFTER the per-agent scans (which apply
|
|
299
|
-
* agent-generated titles via {@link syncLabels}), so it never overwrites a real
|
|
300
|
-
* title — it only backfills the gap the seed was meant to cover.
|
|
301
|
-
*/
|
|
302
96
|
export declare function seedLabelsFromNames(nameMap: Map<string, string | null>): number;
|
|
303
|
-
/**
|
|
304
|
-
* Sync topics (session titles) for a set of sessions, keyed by id. For agents
|
|
305
|
-
* whose human-readable title lives in a side index that updates independently
|
|
306
|
-
* of the transcript (Codex `session_index.jsonl`), the per-file scan can't see
|
|
307
|
-
* a title that lands later. This applies those titles by id, updating both
|
|
308
|
-
* `sessions.topic` and the FTS5 topic column. Only ever sets a non-empty title
|
|
309
|
-
* and only when it differs from the stored value — cheap to call every run.
|
|
310
|
-
* Returns the number of rows updated.
|
|
311
|
-
*/
|
|
312
97
|
export declare function syncTopics(topicMap: Map<string, string>): number;
|
|
313
98
|
export declare function isSessionActivityFresh(row: {
|
|
314
99
|
last_activity: string | null;
|
|
315
100
|
timestamp: string;
|
|
316
101
|
file_mtime_ms: number | null;
|
|
317
102
|
}, maxAgeMs: number, nowMs: number): boolean;
|
|
318
|
-
/** Persist a lazily resolved Linear project without reparsing the transcript. */
|
|
319
103
|
export declare function cacheLinearProject(sessionId: string, project: string, projectUrl: string): void;
|
|
320
|
-
/**
|
|
321
|
-
* Newest indexed session file for an agent working in `cwd`. Lets the live
|
|
322
|
-
* `--active` scanner locate a Codex transcript (whose files are date-partitioned,
|
|
323
|
-
* not cwd-keyed like Claude's) by reusing the index. Returns undefined if the
|
|
324
|
-
* session hasn't been scanned yet — the caller degrades to no live state.
|
|
325
|
-
*/
|
|
326
104
|
export declare function latestSessionFileForCwd(agent: SessionAgentId, cwd: string, options?: {
|
|
327
105
|
maxAgeMs?: number;
|
|
328
106
|
nowMs?: number;
|
|
329
107
|
}): string | undefined;
|
|
330
|
-
/** Process-local diagnostics for the real-filesystem existence-cache tests. */
|
|
331
108
|
export declare function getSessionExistenceCacheStats(): {
|
|
332
109
|
sweeps: number;
|
|
333
110
|
};
|
|
334
|
-
/** Query sessions from the database, applying filters and ordering by last-activity descending (default). */
|
|
335
111
|
export declare function querySessions(options?: QueryOptions): SessionMeta[];
|
|
336
|
-
/**
|
|
337
|
-
* Cheap query for the daemon's deferred tool-index pass (PHNX-3411).
|
|
338
|
-
*
|
|
339
|
-
* Returns the most-recently-active sessions whose parseSession reads a large
|
|
340
|
-
* flat transcript (kimi: wire.jsonl, grok: chat_history.jsonl). Their scanners
|
|
341
|
-
* produce no events, so upsertSessionsBatch skips them in the warm tick to
|
|
342
|
-
* avoid wedging the event loop. ensureToolIndex uses tool_scan_ledger stamps
|
|
343
|
-
* to skip already-current rows and applies byte/file budget caps.
|
|
344
|
-
*/
|
|
345
112
|
export declare function querySessionsForDeferredToolIndex(limit: number): SessionMeta[];
|
|
346
|
-
/** Count sessions matching the given filter options. */
|
|
347
113
|
export declare function countSessions(options?: QueryOptions): number;
|
|
348
|
-
/** One grouped row in a cost/duration rollup. */
|
|
349
114
|
interface UsageRollupRow {
|
|
350
|
-
/**
|
|
351
|
-
* Grouping key value: the agent id, project name, shortened model id,
|
|
352
|
-
* ISO date (YYYY-MM-DD), or account identity
|
|
353
|
-
* (`claude:org=<uuid>` / `unattributed:<reason>`).
|
|
354
|
-
*/
|
|
355
115
|
key: string;
|
|
356
|
-
/**
|
|
357
|
-
* Human label for the key when it is not itself readable — an org uuid is an
|
|
358
|
-
* identity, not something to show a user. Absent when `key` reads fine on its own.
|
|
359
|
-
*/
|
|
360
116
|
label?: string;
|
|
361
117
|
costUsd: number;
|
|
362
|
-
/**
|
|
363
|
-
* USD cost priced as if caching were off (cache read/write at the input rate),
|
|
364
|
-
* summed from `cost_usd_nocache`. Backs `agents insights output --pricing no-cache`.
|
|
365
|
-
* Equals `costUsd` for rows whose sessions record no cache split (RUSH-2287).
|
|
366
|
-
*/
|
|
367
118
|
costUsdNoCache: number;
|
|
368
119
|
durationMs: number;
|
|
369
120
|
sessionCount: number;
|
|
370
121
|
tokenCount: number;
|
|
371
|
-
/** Real generated (output) tokens — excludes cache-read/-write context. */
|
|
372
122
|
outputTokens: number;
|
|
373
|
-
/** Uncached input tokens summed across the group (0 where no harness recorded a split). */
|
|
374
123
|
inputTokens: number;
|
|
375
|
-
/** Cache-read tokens summed across the group. */
|
|
376
124
|
cacheReadTokens: number;
|
|
377
|
-
/** Cache-write (cache-creation) tokens summed across the group. */
|
|
378
125
|
cacheWriteTokens: number;
|
|
379
126
|
}
|
|
380
|
-
/** What to group a usage rollup by. */
|
|
381
|
-
/**
|
|
382
|
-
* Read cached facets for the given sessions, dropping any row that is stale.
|
|
383
|
-
*
|
|
384
|
-
* Staleness is decided in SQL against the session's own `file_mtime_ms` / `file_size`,
|
|
385
|
-
* the same pair the scanner maintains — so the cache cannot disagree with the index,
|
|
386
|
-
* `IS` rather than `=` so a source with no statable file — NULL on both sides — is a
|
|
387
|
-
* cache HIT rather than a permanent miss that re-parses it on every run.
|
|
388
|
-
*/
|
|
389
127
|
export declare function readSessionInsights<T>(ids: string[]): Map<string, T>;
|
|
390
|
-
/**
|
|
391
|
-
* Persist freshly computed facets against the stamp of the bytes actually parsed.
|
|
392
|
-
*
|
|
393
|
-
* The caller passes the stat it observed when it read the file. Re-reading the stamp
|
|
394
|
-
* from the sessions table inside this INSERT would race: a concurrent rescan between
|
|
395
|
-
* the parse and the write (the cold path flushes in batches, so the window is minutes
|
|
396
|
-
* wide, and this module treats concurrent access as a design assumption) stamps NEW
|
|
397
|
-
* bytes onto OLD facets — a permanent false cache hit until the file changes again.
|
|
398
|
-
* tool-index.ts sets the precedent: stat at parse time, carry the stamp into the write.
|
|
399
|
-
*/
|
|
400
128
|
export declare function writeSessionInsights<T>(entries: Array<{
|
|
401
129
|
id: string;
|
|
402
130
|
fileMtimeMs: number | null;
|
|
403
131
|
fileSize: number | null;
|
|
404
132
|
facets: T;
|
|
405
133
|
}>): void;
|
|
406
|
-
/** Drop every cached facet row. Backs `agents insights --refresh`. */
|
|
407
134
|
export declare function clearSessionInsights(): void;
|
|
408
|
-
/** Read cached trace topics only when their transcript byte stamps still match. */
|
|
409
135
|
export declare function readSessionTopics<T>(ids: string[]): Map<string, T>;
|
|
410
|
-
/** Persist trace topics against the exact transcript bytes used to classify them. */
|
|
411
136
|
export declare function writeSessionTopics<T>(entries: Array<{
|
|
412
137
|
id: string;
|
|
413
138
|
fileMtimeMs: number | null;
|
|
414
139
|
fileSize: number | null;
|
|
415
140
|
topic: T;
|
|
416
141
|
}>): void;
|
|
417
|
-
/** Read cached failure phenotypes only when their transcript byte stamps still match. */
|
|
418
142
|
export declare function readSessionPhenotypes<T>(ids: string[]): Map<string, T>;
|
|
419
|
-
/** Persist failure phenotypes against the exact transcript bytes used to classify them. */
|
|
420
143
|
export declare function writeSessionPhenotypes<T>(entries: Array<{
|
|
421
144
|
id: string;
|
|
422
145
|
fileMtimeMs: number | null;
|
|
423
146
|
fileSize: number | null;
|
|
424
147
|
phenotype: T;
|
|
425
148
|
}>): void;
|
|
426
|
-
/** Read one derived preview only when it matches the transcript bytes on disk. */
|
|
427
149
|
export declare function readSessionPreviewCache<T>(id: string, sourceStamp: {
|
|
428
150
|
fileMtimeMs: number | null;
|
|
429
151
|
fileSize: number | null;
|
|
430
152
|
}): T | undefined;
|
|
431
|
-
/** Persist normalized preview data against the exact transcript bytes parsed. */
|
|
432
153
|
export declare function writeSessionPreviewCache<T>(entry: {
|
|
433
154
|
id: string;
|
|
434
155
|
fileMtimeMs: number | null;
|
|
435
156
|
fileSize: number | null;
|
|
436
157
|
preview: T;
|
|
437
158
|
}): void;
|
|
438
|
-
/** Bump when the cached remote preview envelope shape changes so cached rows recompute (PHNX-3999 v1). */
|
|
439
159
|
export declare const REMOTE_PREVIEW_SCHEMA_VERSION = 1;
|
|
440
|
-
/**
|
|
441
|
-
* Per-envelope cache-write cap. The bounded fields above make a well-formed
|
|
442
|
-
* envelope small; this exists to refuse an outlier (a version-skewed peer, or
|
|
443
|
-
* a future field that forgets to bound itself) rather than let ONE session
|
|
444
|
-
* blow the total budget. A refused write is NOT an error — the caller still
|
|
445
|
-
* gets the live envelope for this call, it simply is not persisted, so the
|
|
446
|
-
* next call re-fetches instead of silently caching a giant blob.
|
|
447
|
-
*/
|
|
448
160
|
export declare const REMOTE_PREVIEW_ENVELOPE_MAX_BYTES: number;
|
|
449
161
|
export interface RemotePreviewCacheRow {
|
|
450
|
-
/** When the envelope currently stored here (if `ok`) was fetched. */
|
|
451
162
|
fetchedAt: number;
|
|
452
|
-
/** Whether `envelope` is a real, successfully-fetched payload. */
|
|
453
163
|
ok: boolean;
|
|
454
164
|
envelope?: unknown;
|
|
455
165
|
failureReason?: string;
|
|
456
166
|
consecutiveFailures: number;
|
|
457
|
-
/** Epoch ms before which a fresh fetch attempt should be skipped (negative backoff). */
|
|
458
167
|
nextAttemptAt: number;
|
|
459
|
-
/** The caller's own last-observed `--revision` cursor, or undefined if no
|
|
460
|
-
* caller has ever supplied one for this (device, sessionId) pair. */
|
|
461
168
|
lastCallerRevision?: string;
|
|
462
169
|
}
|
|
463
|
-
/** Read the durable cached remote preview row for one (device, sessionId) pair,
|
|
464
|
-
* regardless of whether it currently holds a successful envelope. Undefined
|
|
465
|
-
* means this box has never attempted (or recorded) a fetch for that pair. */
|
|
466
170
|
export declare function readRemotePreviewCache(device: string, sessionId: string): RemotePreviewCacheRow | undefined;
|
|
467
|
-
/**
|
|
468
|
-
* Record the caller's own `--revision` cursor for one (device, sessionId)
|
|
469
|
-
* pair, independent of any fetch. A no-op if no row exists yet (nothing to
|
|
470
|
-
* compare against on a session this box has never fetched). This is what lets
|
|
471
|
-
* "same revision as last time" serve the durable cache with zero SSH
|
|
472
|
-
* indefinitely — the comparison is against THIS value, never against the
|
|
473
|
-
* envelope's own `details.sourceRevision` (which may be a different format).
|
|
474
|
-
*/
|
|
475
171
|
export declare function writeRemotePreviewCallerRevision(device: string, sessionId: string, revision: string): void;
|
|
476
|
-
/**
|
|
477
|
-
* Record a successful remote fetch: replaces the payload and resets backoff.
|
|
478
|
-
* An envelope over {@link REMOTE_PREVIEW_ENVELOPE_MAX_BYTES} is refused —
|
|
479
|
-
* this is a write-path bound, not a request failure: the caller already has
|
|
480
|
-
* the live envelope for this call from the fetch that produced it, this only
|
|
481
|
-
* decides whether it is worth persisting.
|
|
482
|
-
*/
|
|
483
172
|
export declare function writeRemotePreviewCacheSuccess(device: string, sessionId: string, envelope: unknown, fetchedAt?: number, revision?: string): void;
|
|
484
|
-
/**
|
|
485
|
-
* Record a failed remote fetch attempt with exponential backoff, WITHOUT
|
|
486
|
-
* discarding a prior good envelope — a session that answered once and is now
|
|
487
|
-
* offline still degrades to that last-good payload (read back via
|
|
488
|
-
* {@link readRemotePreviewCache}'s `ok`/`envelope`), annotated stale by the
|
|
489
|
-
* caller, rather than losing it the moment one attempt fails.
|
|
490
|
-
*/
|
|
491
173
|
export declare function writeRemotePreviewCacheFailure(device: string, sessionId: string, reason: string, backoffMs: (consecutiveFailures: number) => number, now?: number): void;
|
|
492
|
-
/**
|
|
493
|
-
* The session's durable user-turn text, as stored in the `session_text` FTS
|
|
494
|
-
* `content` column at scan time (all harnesses, keyed by session_id). This is
|
|
495
|
-
* the content that survives the transcript file being deleted (RUSH-2436): the
|
|
496
|
-
* render path reads it so a file-gone session still shows its user prompts, and
|
|
497
|
-
* querySessions uses its presence to tell a genuine archived session (has
|
|
498
|
-
* content) from a phantom (a stale/moved file_path with none). Returns undefined
|
|
499
|
-
* when no row exists; an empty string when a row exists but carried no content.
|
|
500
|
-
*/
|
|
501
174
|
export declare function readSessionContent(id: string): string | undefined;
|
|
502
|
-
/**
|
|
503
|
-
* Read the last-computed preview digest for a session by id, validated against
|
|
504
|
-
* the session row's OWN stored file stamp rather than a live `fs.stat` — the
|
|
505
|
-
* transcript file is gone, so there is nothing on disk to stat, but the preview
|
|
506
|
-
* cache was written with the same `file_mtime_ms`/`file_size` the sessions row
|
|
507
|
-
* still records, so the join re-establishes that stamp. Backs the file-gone
|
|
508
|
-
* render/preview path (RUSH-2436). Returns undefined when no cached digest
|
|
509
|
-
* survives for this session.
|
|
510
|
-
*/
|
|
511
175
|
export declare function readArchivedSessionPreview<T>(id: string): T | undefined;
|
|
512
|
-
/** The daemon-computed summary stored in `session_summaries` (PHNX-3939). */
|
|
513
176
|
export interface SessionSummaryEntry {
|
|
514
177
|
goal?: string;
|
|
515
178
|
checkpoints?: SessionCheckpoint[];
|
|
516
179
|
summaryChecklist?: SessionChecklistItem[];
|
|
517
180
|
summaryState: SummaryState;
|
|
518
181
|
}
|
|
519
|
-
/**
|
|
520
|
-
* Read one summary only when it matches the transcript bytes on disk (the
|
|
521
|
-
* reuse-or-recompute stamp the SessionSummarizerService gates on). Mirrors
|
|
522
|
-
* {@link readSessionPreviewCache}.
|
|
523
|
-
*/
|
|
524
182
|
export declare function readSessionSummary(id: string, sourceStamp: {
|
|
525
183
|
fileMtimeMs: number | null;
|
|
526
184
|
fileSize: number | null;
|
|
527
185
|
}): SessionSummaryEntry | undefined;
|
|
528
|
-
/**
|
|
529
|
-
* Read the latest stored summary by session id, regardless of the transcript
|
|
530
|
-
* stamp — the low-cost merge read used by the display path (a live row through
|
|
531
|
-
* {@link applyImmutableMemo} or a history/mirror row) to surface the
|
|
532
|
-
* last-computed summary without a model call. A slightly-stale summary is the
|
|
533
|
-
* best available until the service recomputes; the SERVICE uses the stamped
|
|
534
|
-
* {@link readSessionSummary} to decide whether to recompute.
|
|
535
|
-
*/
|
|
536
186
|
export declare function readSessionSummaryAny(id: string): SessionSummaryEntry | undefined;
|
|
537
|
-
/** Persist a computed summary against the exact transcript bytes it was derived from. */
|
|
538
187
|
export declare function writeSessionSummary(entry: {
|
|
539
188
|
id: string;
|
|
540
189
|
fileMtimeMs: number | null;
|
|
541
190
|
fileSize: number | null;
|
|
542
191
|
summary: SessionSummaryEntry;
|
|
543
192
|
}): void;
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
* bounded projection a row merges, plus the request and files derived in the
|
|
547
|
-
* same fold.
|
|
548
|
-
*/
|
|
549
|
-
export interface SessionTimelineProjection {
|
|
193
|
+
export interface SessionTimelineProjection extends SessionGlance {
|
|
194
|
+
subagents?: SessionSubagent[];
|
|
550
195
|
timeline: SessionTimeline;
|
|
551
196
|
request?: SessionRequest;
|
|
552
197
|
files?: SessionFiles;
|
|
553
198
|
}
|
|
554
|
-
/** One folded timeline, as the pass produces it for writing. */
|
|
555
199
|
export interface SessionTimelineEntry extends SessionTimelineProjection {
|
|
556
200
|
state: TimelineState;
|
|
557
201
|
}
|
|
558
|
-
/** One cached row as READ back: the folded entry plus when it was folded. */
|
|
559
202
|
export interface SessionTimelineCacheRow extends SessionTimelineEntry {
|
|
560
|
-
/** Epoch ms this row was folded — the pass's re-parse rate limit reads it. */
|
|
561
203
|
computedAt: number;
|
|
562
204
|
}
|
|
563
|
-
/**
|
|
564
|
-
* Read the projection AND the resume state for one session, whatever the
|
|
565
|
-
* transcript stamp — the daemon pass's read, which needs the state to continue
|
|
566
|
-
* from and re-stats the file itself.
|
|
567
|
-
*/
|
|
568
205
|
export declare function readSessionTimelineEntry(id: string): SessionTimelineCacheRow | undefined;
|
|
569
|
-
/**
|
|
570
|
-
* Read only the bounded projection for one session — the display merge, on the
|
|
571
|
-
* read path. Deliberately does NOT parse the resume state: a live row needs the
|
|
572
|
-
* 8 steps and the request, never the fold's bookkeeping.
|
|
573
|
-
*/
|
|
574
206
|
export declare function readSessionTimelineAny(id: string, stamp?: {
|
|
575
207
|
fileMtimeMs: number;
|
|
576
208
|
fileSize: number;
|
|
577
209
|
}): SessionTimelineProjection | undefined;
|
|
578
|
-
/** Persist a folded timeline against the exact transcript bytes it was folded to. */
|
|
579
210
|
export declare function writeSessionTimeline(entry: {
|
|
580
211
|
id: string;
|
|
581
212
|
fileMtimeMs: number | null;
|
|
582
213
|
fileSize: number | null;
|
|
583
214
|
timeline: SessionTimelineEntry;
|
|
584
|
-
/** Fold time. Injected by the pass so its re-parse interval is testable without the wall clock. */
|
|
585
215
|
computedAtMs?: number;
|
|
586
216
|
}): void;
|
|
587
|
-
/** A local-origin session, projected to the compact fields the fleet mirror publishes. */
|
|
588
217
|
export interface LocalMirrorSource {
|
|
589
218
|
id: string;
|
|
590
219
|
shortId: string;
|
|
@@ -595,26 +224,15 @@ export interface LocalMirrorSource {
|
|
|
595
224
|
topic: string | null;
|
|
596
225
|
firstUserMessage: string | null;
|
|
597
226
|
label: string | null;
|
|
598
|
-
/** The daemon-generated headline (PHNX-3797), so a peer row shows the same title. */
|
|
599
227
|
generatedTitle: string | null;
|
|
600
228
|
lastActivity: string | null;
|
|
601
229
|
timestamp: string;
|
|
602
230
|
ticketId: string | null;
|
|
603
231
|
prUrl: string | null;
|
|
604
|
-
/** Daemon-computed summary (PHNX-3939), so peers carry it without a transcript. */
|
|
605
232
|
summary: SessionSummaryEntry | null;
|
|
606
|
-
/** Daemon-folded request/timeline/files (PHNX-3939), same reason as {@link summary}. */
|
|
607
233
|
timeline: SessionTimelineProjection | null;
|
|
608
234
|
}
|
|
609
|
-
/**
|
|
610
|
-
* The most-recently-active sessions whose transcript is genuinely local to this
|
|
611
|
-
* box — a real `file_path`, not a peer mirror — for publishing to the fleet
|
|
612
|
-
* session mirror (PHNX-3792). Bounded and team-origin-excluded so the published
|
|
613
|
-
* payload stays the size a picker would show. Never returns a row this box is
|
|
614
|
-
* itself mirroring from a peer (`mirror_synced_at IS NULL`).
|
|
615
|
-
*/
|
|
616
235
|
export declare function queryLocalOriginSessionsForMirror(self: string, limit: number): LocalMirrorSource[];
|
|
617
|
-
/** One peer session digest to write into this box's local mirror. */
|
|
618
236
|
export interface MirrorSessionUpsert {
|
|
619
237
|
id: string;
|
|
620
238
|
shortId: string;
|
|
@@ -625,30 +243,15 @@ export interface MirrorSessionUpsert {
|
|
|
625
243
|
topic?: string | null;
|
|
626
244
|
firstUser?: string | null;
|
|
627
245
|
label?: string | null;
|
|
628
|
-
/** The publisher's daemon-generated headline (PHNX-3797); undefined when it has none yet. */
|
|
629
246
|
generatedTitle?: string | null;
|
|
630
247
|
lastActivity?: string | null;
|
|
631
248
|
timestamp: string;
|
|
632
249
|
ticketId?: string | null;
|
|
633
250
|
prUrl?: string | null;
|
|
634
|
-
/** Daemon-computed summary carried from the publishing peer (PHNX-3939). */
|
|
635
251
|
summary?: SessionSummaryEntry | null;
|
|
636
|
-
/** Daemon-folded request/timeline/files carried from the publishing peer (PHNX-3939). */
|
|
637
252
|
timeline?: SessionTimelineProjection | null;
|
|
638
253
|
}
|
|
639
|
-
/**
|
|
640
|
-
* Write one peer session's digest into the local `sessions` index as a mirror
|
|
641
|
-
* row (PHNX-3792), so the picker/list/focus render its topic/preview inline
|
|
642
|
-
* with no per-row SSH. The upsert is GUARDED: it never overwrites a genuine
|
|
643
|
-
* local transcript row (`file_path` non-empty and not itself a mirror), so a
|
|
644
|
-
* mirror can only create a new peer-only row or enrich an existing empty-file
|
|
645
|
-
* host-dispatch stub / older mirror. Returns true when a row was written (the
|
|
646
|
-
* caller then persists the matching preview digest); false when a real row was
|
|
647
|
-
* protected. `machine` carries the publisher's recorded execution host so the
|
|
648
|
-
* row collapses with the live fan-out row under the same `machine:id` key.
|
|
649
|
-
*/
|
|
650
254
|
export declare function upsertMirrorSession(row: MirrorSessionUpsert, source: string, syncedAt: number): boolean;
|
|
651
|
-
/** One indexed session the daemon titler may generate a headline for (PHNX-3797). */
|
|
652
255
|
export interface SessionTitleCandidateRow {
|
|
653
256
|
id: string;
|
|
654
257
|
agent: string;
|
|
@@ -662,57 +265,16 @@ export interface SessionTitleCandidateRow {
|
|
|
662
265
|
generatedTitle: string | null;
|
|
663
266
|
generatedTitleKey: string | null;
|
|
664
267
|
}
|
|
665
|
-
/**
|
|
666
|
-
* The most-recently-active LOCAL sessions the titler may consider (PHNX-3797).
|
|
667
|
-
*
|
|
668
|
-
* Deliberately not "every untitled row": the caller decides which of these still
|
|
669
|
-
* needs work by comparing each row's stored `generatedTitleKey` against the key
|
|
670
|
-
* of its current user text, so a first-user-message change re-titles without a
|
|
671
|
-
* second stored copy of that text. Rows excluded here can never be titled:
|
|
672
|
-
* - a peer MIRROR row — its owning box generates its title and publishes it;
|
|
673
|
-
* - a row with no user text at all — there is nothing user-anchored to title;
|
|
674
|
-
* - a row that already carries a `/rename`-style `label`, which outranks a
|
|
675
|
-
* generated title in the ladder, so generating one would buy nothing.
|
|
676
|
-
* `sinceMs` bounds the work to sessions recent enough to still be shown.
|
|
677
|
-
*/
|
|
678
268
|
export declare function querySessionTitleCandidates(limit: number, opts?: {
|
|
679
269
|
sinceMs?: number;
|
|
680
270
|
id?: string;
|
|
681
271
|
}): SessionTitleCandidateRow[];
|
|
682
|
-
/**
|
|
683
|
-
* Persist one generated title against the source key it was derived from
|
|
684
|
-
* (PHNX-3797). `sourceKey` is what makes generation once-per-session: the next
|
|
685
|
-
* sweep sees a stored key equal to the row's current user text and skips it,
|
|
686
|
-
* and regenerates only when that text changed. Never touches a mirror row —
|
|
687
|
-
* the publishing box owns its own sessions' titles.
|
|
688
|
-
*/
|
|
689
272
|
export declare function setSessionGeneratedTitle(id: string, title: string, sourceKey: string, now?: number): boolean;
|
|
690
|
-
/**
|
|
691
|
-
* Drop peer mirror rows (and their cached digests) whose last sync predates the
|
|
692
|
-
* cutoff — the size ceiling / staleness pruner for the fleet session mirror
|
|
693
|
-
* (PHNX-3792). Only ever touches mirror rows (`mirror_synced_at IS NOT NULL`),
|
|
694
|
-
* never a genuine local or host-dispatch row. Returns the number of rows pruned.
|
|
695
|
-
*/
|
|
696
273
|
export declare function pruneMirrorSessions(cutoffMs: number): number;
|
|
697
|
-
/** Plugin provenance already indexed for resources used by one session. */
|
|
698
274
|
export declare function getSessionPlugins(id: string): string[];
|
|
699
275
|
export type UsageRollupGroup = 'agent' | 'project' | 'day' | 'model' | 'account';
|
|
700
|
-
/**
|
|
701
|
-
* Smart-launch affinity priors: group sessions by origin machine, harness, or
|
|
702
|
-
* joint (machine + agent). Ordered by launch count desc.
|
|
703
|
-
*
|
|
704
|
-
* SQL shape (device example):
|
|
705
|
-
* SELECT machine, COUNT(*) launches, SUM(duration_ms), SUM(token_count)
|
|
706
|
-
* FROM sessions
|
|
707
|
-
* WHERE timestamp >= ? AND origin = 'cli' AND is_team_origin = 0
|
|
708
|
-
* GROUP BY machine ORDER BY launches DESC
|
|
709
|
-
*
|
|
710
|
-
* Account rotation is NOT done here — that stays on live rate-limit windows
|
|
711
|
-
* via `--strategy balanced` / rotate.ts.
|
|
712
|
-
*/
|
|
713
276
|
type AffinityGroup = 'machine' | 'agent' | 'machine_agent';
|
|
714
277
|
export interface AffinityRow {
|
|
715
|
-
/** Group key: machine name, agent id, or "machine\\tagent". */
|
|
716
278
|
key: string;
|
|
717
279
|
machine?: string;
|
|
718
280
|
agent?: string;
|
|
@@ -723,244 +285,82 @@ export interface AffinityRow {
|
|
|
723
285
|
}
|
|
724
286
|
export declare function queryAffinityRollup(options: {
|
|
725
287
|
groupBy: AffinityGroup;
|
|
726
|
-
/** ISO cutoff or ms; defaults to 14 days ago when omitted. */
|
|
727
288
|
sinceMs?: number;
|
|
728
|
-
/** Restrict to these harnesses (e.g. claude/codex/kimi). */
|
|
729
289
|
agents?: SessionAgentId[];
|
|
730
|
-
/** Default true: only origin=cli rows. */
|
|
731
290
|
onlyCli?: boolean;
|
|
732
|
-
/** Default true: drop team-spawned sessions. */
|
|
733
291
|
excludeTeamOrigin?: boolean;
|
|
734
292
|
project?: string;
|
|
735
293
|
}): AffinityRow[];
|
|
736
|
-
/**
|
|
737
|
-
* Aggregate cost / duration / tokens across sessions, grouped by agent,
|
|
738
|
-
* project, shortened model id, account, or calendar day. Honors the same
|
|
739
|
-
* filter shape as querySessions (agent, since/until, team-origin) so
|
|
740
|
-
* `agents insights cost --since 7d --by day` lines up with what
|
|
741
|
-
* `agents sessions` would list. Ordered by cost desc.
|
|
742
|
-
*/
|
|
743
294
|
export declare function queryUsageRollup(options: QueryOptions & {
|
|
744
295
|
groupBy: UsageRollupGroup;
|
|
745
296
|
}): UsageRollupRow[];
|
|
746
|
-
/** One aggregated resource (skill or slash-command) in a usage-stats rollup. */
|
|
747
297
|
export interface ResourceStatRow {
|
|
748
|
-
/** 'skill' or 'command' (singular, as stored in session_resource_usage.kind). */
|
|
749
298
|
kind: string;
|
|
750
|
-
/** Stored resource name — bare, or `plugin:short` for a plugin-owned resource. */
|
|
751
299
|
name: string;
|
|
752
|
-
/** Owning plugin, or null for a flat (non-namespaced) resource. */
|
|
753
300
|
plugin: string | null;
|
|
754
|
-
/** DotAgents layer or plugin marketplace the resource resolved to at write time. */
|
|
755
301
|
source: string | null;
|
|
756
|
-
/** Distinct sessions that invoked this resource within the filter window. */
|
|
757
302
|
sessions: number;
|
|
758
|
-
/** Total invocations (sum of per-session counts) within the window. */
|
|
759
303
|
invocations: number;
|
|
760
304
|
}
|
|
761
|
-
/**
|
|
762
|
-
* Roll up skill / slash-command usage from session_resource_usage, joined to
|
|
763
|
-
* `sessions` for attribution so the same filter shape as querySessions
|
|
764
|
-
* (agent / project / since / machine) narrows WHICH sessions count. Grouped by
|
|
765
|
-
* resource identity (kind + name + plugin + source) and ordered by invocation
|
|
766
|
-
* volume — the read side of "which skills/commands do I actually use, and which
|
|
767
|
-
* are dead weight". `order: 'bottom'` ranks least-used first (the one-time
|
|
768
|
-
* skills); `limit` caps the returned rows.
|
|
769
|
-
*
|
|
770
|
-
* The signal only captures EXPLICIT invocations (slash commands and `Skill`
|
|
771
|
-
* tool calls). An auto-triggered skill (loaded by description match) emits no
|
|
772
|
-
* event, so it reads as zero here — a 0 means "never explicitly invoked", not
|
|
773
|
-
* "never loaded". Skill invocations are recorded for Claude and Kimi (the
|
|
774
|
-
* `Skill`-tool harnesses); slash-commands are Claude-only.
|
|
775
|
-
*
|
|
776
|
-
* `kind` / `pluginFilter` filter the RESOURCE rows directly (r.kind / r.plugin),
|
|
777
|
-
* distinct from QueryOptions.skill / QueryOptions.plugin, which filter SESSIONS
|
|
778
|
-
* — deliberately not routed through buildSessionWhere so `--plugin rush` shows
|
|
779
|
-
* only rush's resources rather than every resource used by a rush-touching
|
|
780
|
-
* session.
|
|
781
|
-
*/
|
|
782
305
|
export declare function queryResourceUsageStats(options: QueryOptions & {
|
|
783
306
|
kind?: 'skill' | 'command';
|
|
784
307
|
pluginFilter?: string;
|
|
785
308
|
order?: 'top' | 'bottom';
|
|
786
309
|
limit?: number;
|
|
787
310
|
}): ResourceStatRow[];
|
|
788
|
-
/**
|
|
789
|
-
* Coverage of the resource-usage signal, as three honest facts:
|
|
790
|
-
*
|
|
791
|
-
* - `scanned` — sessions the resource extractor has actually processed, i.e.
|
|
792
|
-
* those carrying a `resource_scan_ledger` row at the current
|
|
793
|
-
* `RESOURCE_INDEX_VERSION`. This is the true "has the historical backfill run"
|
|
794
|
-
* signal: the ledger is stamped for EVERY scanned session, including ones that
|
|
795
|
-
* invoked nothing (`resource_count = 0`), so `scanned/total` rises to ~1 after
|
|
796
|
-
* `agents sessions backfill resources` regardless of how sparse explicit
|
|
797
|
-
* invocations are.
|
|
798
|
-
* - `covered` — distinct sessions that carry AT LEAST ONE row in
|
|
799
|
-
* `session_resource_usage`, i.e. that actually recorded an explicit invocation.
|
|
800
|
-
* This is an ABSOLUTE signal count, not a coverage ratio: it stays small even
|
|
801
|
-
* at full scan coverage because most sessions invoke no skill/command, and a
|
|
802
|
-
* non-recording harness contributes none by construction.
|
|
803
|
-
* - `total` — sessions indexed.
|
|
804
|
-
*
|
|
805
|
-
* The two were previously conflated: `covered/total` was framed as coverage and
|
|
806
|
-
* read ~1.2% even after a full backfill (most sessions genuinely invoke nothing),
|
|
807
|
-
* so the "run the backfill" hint never cleared. Keying the hint on `scanned/total`
|
|
808
|
-
* fixes that — see `commands/sessions-stats.ts` (PHNX-2301).
|
|
809
|
-
*/
|
|
810
311
|
export declare function resourceUsageCoverage(): {
|
|
811
312
|
covered: number;
|
|
812
313
|
scanned: number;
|
|
813
314
|
total: number;
|
|
814
315
|
};
|
|
815
|
-
/** Outcome of a resource-usage backfill run. */
|
|
816
316
|
interface ResourceBackfillResult {
|
|
817
|
-
/** Sessions considered (matched the filter, had a real transcript). */
|
|
818
317
|
scanned: number;
|
|
819
|
-
/** Sessions (re)parsed and written this run. */
|
|
820
318
|
updated: number;
|
|
821
|
-
/** Sessions already current at this extractor version, skipped. */
|
|
822
319
|
skipped: number;
|
|
823
|
-
/** Sessions whose transcript could not be stat'd or parsed. */
|
|
824
320
|
failed: number;
|
|
825
|
-
/** Total session_resource_usage rows written across updated sessions. */
|
|
826
321
|
resourceRows: number;
|
|
827
322
|
}
|
|
828
|
-
/**
|
|
829
|
-
* One-shot historical backfill of session_resource_usage (#12). The normal
|
|
830
|
-
* incremental scan writes resource usage only for sessions whose transcript it
|
|
831
|
-
* (re)parses; a session indexed before this feature shipped keeps a fresh
|
|
832
|
-
* scan_ledger row and is never re-derived, so its skill/slash-command tallies
|
|
833
|
-
* were never recorded. This walks the session index, re-parses each transcript
|
|
834
|
-
* FROM BYTE 0 (parseSession fully materializes — no resumable cursor, so
|
|
835
|
-
* claude/codex re-derive their tallies from scratch), writes the usage, and
|
|
836
|
-
* stamps resource_scan_ledger so reruns skip completed transcripts — the same
|
|
837
|
-
* independent-ledger shape `agents sessions backfill tools` uses.
|
|
838
|
-
*
|
|
839
|
-
* Harness-agnostic: parseSession + extractSkills/extractSlashCommands cover
|
|
840
|
-
* every agent uniformly, so there is no per-harness branch to keep in parity.
|
|
841
|
-
* Synthetic rows without a transcript (OpenClaw channels/cron) are skipped.
|
|
842
|
-
*/
|
|
843
323
|
export declare function backfillResourceUsage(filter?: QueryOptions, onProgress?: (done: number, total: number) => void): ResourceBackfillResult;
|
|
844
|
-
/** Who spawned a team: the orchestrator session, from its transcript. */
|
|
845
324
|
export interface TeamSpawner {
|
|
846
325
|
sessionId: string;
|
|
847
326
|
shortId: string;
|
|
848
|
-
/** The human the orchestrator ran as, when the row carries actor provenance. */
|
|
849
327
|
actor?: string;
|
|
850
328
|
}
|
|
851
|
-
/**
|
|
852
|
-
* Map every team name to the session that ran `agents teams create/add` for it.
|
|
853
|
-
*
|
|
854
|
-
* One scan over the rows that carry a `spawned_team`, rather than a query per
|
|
855
|
-
* team — `agents teams list` needs the whole map at once, and the column has no
|
|
856
|
-
* index. When two sessions spawned the same team name (a team re-created after a
|
|
857
|
-
* disband), the most recent wins, which is the one whose work the name refers to.
|
|
858
|
-
*/
|
|
859
329
|
export declare function teamSpawners(): Map<string, TeamSpawner>;
|
|
860
|
-
/** A session with its cost, for the top-N-by-cost listing. */
|
|
861
330
|
interface TopCostSession {
|
|
862
331
|
meta: SessionMeta;
|
|
863
332
|
costUsd: number;
|
|
864
333
|
durationMs: number;
|
|
865
334
|
}
|
|
866
|
-
/**
|
|
867
|
-
* Return the N most expensive sessions (cost_usd DESC, NULLs excluded),
|
|
868
|
-
* honoring the same filter shape as querySessions. Drops rows whose JSONL
|
|
869
|
-
* vanished, mirroring querySessions' liveness filter.
|
|
870
|
-
*/
|
|
871
335
|
export declare function topSessionsByCost(n: number, options?: QueryOptions): TopCostSession[];
|
|
872
|
-
/**
|
|
873
|
-
* Read machine attribution in batches without materializing full sessions.
|
|
874
|
-
* Failure is best-effort so the live view can still render local attribution.
|
|
875
|
-
*/
|
|
876
336
|
export declare function findSessionMachinesByIds(ids: string[]): Map<string, string>;
|
|
877
337
|
export declare function getSessionById(id: string): SessionMeta | null;
|
|
878
|
-
/** Exact ids win over prefixes; the normal existence check preserves archived content but excludes phantoms. */
|
|
879
338
|
export declare function findSessionsById(idQuery: string, scope?: Pick<QueryOptions, 'agent' | 'version' | 'cwd' | 'project'>): SessionMeta[];
|
|
880
|
-
/**
|
|
881
|
-
* Upgrade a session-id crumb to the full indexed id. The 8-char hex `short_id`
|
|
882
|
-
* a "Sent from …" footer shows would 404 as a `…/console/sessions/<id>` URL, so
|
|
883
|
-
* an owner ping resolves it through the index first (PHNX-3698). A value that is
|
|
884
|
-
* already a full id (or any non-crumb shape, e.g. a native `ses_…` id), or a
|
|
885
|
-
* crumb the index cannot resolve, is returned unchanged — the caller keeps
|
|
886
|
-
* exactly what it had rather than getting a fabricated id.
|
|
887
|
-
*/
|
|
888
339
|
export declare function resolveFullSessionId(idOrCrumb: string | undefined): string | undefined;
|
|
889
|
-
/** Batch-resolve pane short ids; on collision the most recently active session wins. */
|
|
890
340
|
export declare function findSessionsByShortIds(shortIds: string[]): Map<string, SessionMeta>;
|
|
891
|
-
/** A single full-text search result with ranking score. */
|
|
892
341
|
interface FtsHit {
|
|
893
342
|
sessionId: string;
|
|
894
343
|
score: number;
|
|
895
344
|
matchedTerms: string[];
|
|
896
|
-
/**
|
|
897
|
-
* A short bm25 `snippet()` excerpt around the best-matching column (label,
|
|
898
|
-
* topic, project, user content, or assistant answer), with the matched
|
|
899
|
-
* term(s) wrapped in `**…**`. Absent for a handle/label-tier hit (tiers 1-3
|
|
900
|
-
* below), which has no excerpt to show — the label itself IS the match.
|
|
901
|
-
*/
|
|
902
345
|
snippet?: string;
|
|
903
346
|
}
|
|
904
|
-
/**
|
|
905
|
-
* Escape a raw user query into a safe FTS5 MATCH expression.
|
|
906
|
-
* Splits on non-word characters, keeps tokens >= 2 chars, and OR-joins
|
|
907
|
-
* them with a prefix wildcard so partial typing ('rush dep') matches.
|
|
908
|
-
*/
|
|
909
347
|
export declare function buildFtsQuery(input: string): {
|
|
910
348
|
expr: string;
|
|
911
349
|
terms: string[];
|
|
912
350
|
};
|
|
913
|
-
/**
|
|
914
|
-
* Label-first search. Sessions whose custom label substring-matches the query
|
|
915
|
-
* always rank ahead of FTS5 hits — this gives predictable behavior when a user
|
|
916
|
-
* types the exact name they gave a session via /rename.
|
|
917
|
-
*
|
|
918
|
-
* Tiers (highest → lowest):
|
|
919
|
-
* 1. Exact label match (case-insensitive): score 1_000_000
|
|
920
|
-
* 2. Label prefix match: score 900_000
|
|
921
|
-
* 3. Label contains query: score 800_000
|
|
922
|
-
* 4. FTS5 BM25 hits: score 1..1000 (scaled)
|
|
923
|
-
*
|
|
924
|
-
* Note: FTS5's bm25() returns negative numbers; we flip the sign for tier 4
|
|
925
|
-
* so "higher = better" is consistent across all tiers.
|
|
926
|
-
*/
|
|
927
351
|
export declare function ftsSearch(input: string, limit?: number): FtsHit[];
|
|
928
|
-
/**
|
|
929
|
-
* Rewrite file_path for sessions whose path starts with any of `moves.from`,
|
|
930
|
-
* replacing that prefix with `moves.to` and clearing the matching scan_ledger
|
|
931
|
-
* entries so the next scan re-indexes from the new location.
|
|
932
|
-
*
|
|
933
|
-
* One transaction for the whole batch (PHNX-3940 T7): a migration that moves
|
|
934
|
-
* several homes into slots and several version dirs into trash must not leave
|
|
935
|
-
* the index half-rewritten. Longest `from` wins when prefixes nest, and each
|
|
936
|
-
* session row is rewritten at most once.
|
|
937
|
-
*
|
|
938
|
-
* Returns the number of session rows updated.
|
|
939
|
-
*/
|
|
940
352
|
export declare function reindexMovedSessionPaths(moves: ReadonlyArray<{
|
|
941
353
|
from: string;
|
|
942
354
|
to: string;
|
|
943
355
|
}>): number;
|
|
944
|
-
/**
|
|
945
|
-
* Rewrite file_path for all sessions whose path starts with oldPrefix, replacing
|
|
946
|
-
* it with newPrefix + the unchanged suffix. Also clears the matching scan_ledger
|
|
947
|
-
* entries so they are re-indexed from the new location on the next scan.
|
|
948
|
-
*
|
|
949
|
-
* Used by removeVersion after soft-deleting a version directory to trash, so
|
|
950
|
-
* that session reads (transcript view, /continue) still work from the trash path.
|
|
951
|
-
* Returns the number of session rows updated.
|
|
952
|
-
*/
|
|
953
356
|
export declare function updateSessionFilePaths(oldPrefix: string, newPrefix: string): number;
|
|
954
|
-
/** Count indexed sessions whose transcript path sits under `prefix`. */
|
|
955
357
|
export declare function countSessionsWithFilePrefix(prefix: string): number;
|
|
956
|
-
/** Per-kind capture tallies for a browser task. Counts only -- never the bytes. */
|
|
957
358
|
interface BrowserCaptureCounts {
|
|
958
359
|
screenshot: number;
|
|
959
360
|
pdf: number;
|
|
960
361
|
recording: number;
|
|
961
362
|
download: number;
|
|
962
363
|
}
|
|
963
|
-
/** One durable browser-task row. `machine` defaults to this device. */
|
|
964
364
|
interface BrowserSessionRecord {
|
|
965
365
|
task: string;
|
|
966
366
|
profile: string;
|
|
@@ -974,7 +374,6 @@ interface BrowserSessionRecord {
|
|
|
974
374
|
captureDir?: string;
|
|
975
375
|
capturesRemote?: string;
|
|
976
376
|
}
|
|
977
|
-
/** One durable computer-use invocation row. `machine` defaults to this device. */
|
|
978
377
|
interface ComputerSessionRecord {
|
|
979
378
|
invocationId: string;
|
|
980
379
|
sessionId?: string;
|
|
@@ -986,34 +385,8 @@ interface ComputerSessionRecord {
|
|
|
986
385
|
actionCount?: number;
|
|
987
386
|
taskPreview?: string;
|
|
988
387
|
}
|
|
989
|
-
/**
|
|
990
|
-
* Upsert one browser task's durable metadata.
|
|
991
|
-
*
|
|
992
|
-
* Called at task START. This executes INSIDE the browser daemon (daemon.ts
|
|
993
|
-
* constructs BrowserService; ipc.ts dispatches `start` to it), which makes the
|
|
994
|
-
* shared daemon a writer of this DB — but the identity it writes is RESOLVED IN
|
|
995
|
-
* THE CALLING CLI PROCESS and forwarded over IPC, never resolved here. That
|
|
996
|
-
* distinction is the whole fix: resolving it daemon-side would attribute every
|
|
997
|
-
* task to the daemon's own actor (the RUSH-2020 bug).
|
|
998
|
-
*
|
|
999
|
-
* `agents browser stop` deliberately does NOT delete this row: the whole point
|
|
1000
|
-
* is that the link outlives the task.
|
|
1001
|
-
*
|
|
1002
|
-
* Identity fields are only ever widened, never blanked. A later capture-count
|
|
1003
|
-
* update carries no session id, and `COALESCE(excluded.…, browser_sessions.…)`
|
|
1004
|
-
* keeps the one recorded at start rather than overwriting it with NULL --
|
|
1005
|
-
* otherwise the second write would undo exactly what the first was for.
|
|
1006
|
-
*/
|
|
1007
388
|
export declare function recordBrowserSession(record: BrowserSessionRecord): void;
|
|
1008
|
-
/**
|
|
1009
|
-
* Upsert one computer-use invocation's durable metadata.
|
|
1010
|
-
*
|
|
1011
|
-
* `action_count` accumulates: a `computer run` loop emits many actions under one
|
|
1012
|
-
* invocation id, and each arrives as its own call, so the count is incremented
|
|
1013
|
-
* rather than replaced. Identity is widened-only, for the same reason as above.
|
|
1014
|
-
*/
|
|
1015
389
|
export declare function recordComputerSession(record: ComputerSessionRecord): void;
|
|
1016
|
-
/** A stored browser row as read back, with counts rehydrated. */
|
|
1017
390
|
interface StoredBrowserSession extends Required<Pick<BrowserSessionRecord, 'task' | 'profile'>> {
|
|
1018
391
|
sessionId?: string;
|
|
1019
392
|
launchId?: string;
|
|
@@ -1025,23 +398,10 @@ interface StoredBrowserSession extends Required<Pick<BrowserSessionRecord, 'task
|
|
|
1025
398
|
captureDir?: string;
|
|
1026
399
|
capturesRemote?: string;
|
|
1027
400
|
}
|
|
1028
|
-
/**
|
|
1029
|
-
* Stored browser tasks, newest first; optionally scoped to one profile.
|
|
1030
|
-
*
|
|
1031
|
-
* A PROFILE-SCOPED read is deliberately unbounded. These rows are the identity
|
|
1032
|
-
* for capture dirs that still exist on disk, and dropping the oldest ones would
|
|
1033
|
-
* silently regress exactly those tasks to `unlinked` — the symptom this whole
|
|
1034
|
-
* change removes, reappearing at a higher threshold. The row count is already
|
|
1035
|
-
* bounded by the tasks that profile has ever run, and each row is a short
|
|
1036
|
-
* metadata record. Only the unscoped read (every profile, used for overviews)
|
|
1037
|
-
* takes a ceiling, since that one has no natural bound.
|
|
1038
|
-
*/
|
|
1039
401
|
export declare function listBrowserSessionRecords(profile?: string, opts?: {
|
|
1040
402
|
limit?: number;
|
|
1041
403
|
}): StoredBrowserSession[];
|
|
1042
|
-
/** One stored browser task by its (profile, task) key, or null. */
|
|
1043
404
|
export declare function getBrowserSessionRecord(profile: string, task: string): StoredBrowserSession | null;
|
|
1044
|
-
/** A stored computer-use invocation as read back. */
|
|
1045
405
|
interface StoredComputerSession {
|
|
1046
406
|
invocationId: string;
|
|
1047
407
|
sessionId?: string;
|
|
@@ -1053,20 +413,7 @@ interface StoredComputerSession {
|
|
|
1053
413
|
actionCount: number;
|
|
1054
414
|
taskPreview?: string;
|
|
1055
415
|
}
|
|
1056
|
-
/**
|
|
1057
|
-
* Drop tool-session rows past {@link TOOL_SESSION_MAX_AGE_DAYS}.
|
|
1058
|
-
*
|
|
1059
|
-
* Called from the listing path, never from the write hot path: an
|
|
1060
|
-
* `agents computer` action must not pay for a table sweep (see the fail-soft
|
|
1061
|
-
* note on `recordComputerSession`'s caller). Returns rows deleted.
|
|
1062
|
-
*/
|
|
1063
416
|
export declare function pruneToolSessions(maxAgeDays?: number): number;
|
|
1064
|
-
/**
|
|
1065
|
-
* Stored computer-use invocations, newest first, bounded.
|
|
1066
|
-
*
|
|
1067
|
-
* The limit is a real ceiling, not a nicety: `--json` serializes whatever this
|
|
1068
|
-
* returns, so an unbounded read would dump the entire table on every call.
|
|
1069
|
-
*/
|
|
1070
417
|
export declare function listComputerSessionRecords(opts?: {
|
|
1071
418
|
limit?: number;
|
|
1072
419
|
startedBeforeMs?: number;
|