@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Activity log -- an append-only, per-session stream of agent-semantic events
|
|
3
|
-
* (plan created, PR opened, worktree created, sub-agent spawned, file edited).
|
|
4
|
-
*
|
|
5
|
-
* This is the counterpart to the feed block store: the block store is
|
|
6
|
-
* last-writer-wins STATE ("this agent is waiting on you"), while the activity
|
|
7
|
-
* log is an append-only EVENT stream ("this agent did X at T"). Together they
|
|
8
|
-
* let `agents feed` show both open decisions and a running activity lane
|
|
9
|
-
* without ever re-parsing session transcripts -- events are emitted at hook
|
|
10
|
-
* time by `11-activity-log.py` and read back by tailing the log.
|
|
11
|
-
*
|
|
12
|
-
* Layout: <activityDir>/<sessionId>.jsonl (one append-only file per session)
|
|
13
|
-
* Each line is one {@link ActivityEvent}. Files are keyed by session so a
|
|
14
|
-
* plain O_APPEND write is race-free (a session has a single writer process).
|
|
15
|
-
*
|
|
16
|
-
* Event tiers:
|
|
17
|
-
* - `milestone` -- recognizable deliverables, always surfaced individually.
|
|
18
|
-
* - `activity` -- routine work (file edits), collapsed to counts by readers.
|
|
19
|
-
*/
|
|
20
1
|
import * as fs from 'fs';
|
|
21
2
|
import * as path from 'path';
|
|
22
3
|
import * as yaml from 'yaml';
|
|
@@ -27,8 +8,7 @@ import { getActivityDir, getUserAgentsDir } from '../state.js';
|
|
|
27
8
|
import { normalizeHost } from '../machine-id.js';
|
|
28
9
|
import { projectKeyFromCwd } from '../project-key.js';
|
|
29
10
|
import { stampProvenance } from '../event-provenance.js';
|
|
30
|
-
import { pythonToolRegistryLiteral, pythonValueFlagsLiteral, } from '
|
|
31
|
-
/** The set of milestone events, for tier classification and ordering. */
|
|
11
|
+
import { pythonToolRegistryLiteral, pythonValueFlagsLiteral, } from '@phnx-labs/sessions-cli/reader';
|
|
32
12
|
export const MILESTONE_EVENTS = [
|
|
33
13
|
'plan.created',
|
|
34
14
|
'pr.opened',
|
|
@@ -46,11 +26,6 @@ export const MILESTONE_EVENTS = [
|
|
|
46
26
|
'image.upscaled',
|
|
47
27
|
'metadata.edited',
|
|
48
28
|
'status.posted',
|
|
49
|
-
// NOTE: intentionally absent from the Python hook's own MILESTONE_EVENTS copy
|
|
50
|
-
// (see ACTIVITY_LOG_HOOK_SCRIPT below) — that set only classifies events the
|
|
51
|
-
// hook itself writes from PreToolUse/PostToolUse, and the hook never writes
|
|
52
|
-
// this one. activity.test.ts pins the difference so the divergence stays
|
|
53
|
-
// deliberate rather than becoming drift.
|
|
54
29
|
'factory.launch',
|
|
55
30
|
'status.blocked',
|
|
56
31
|
];
|
|
@@ -58,11 +33,6 @@ const MILESTONE_SET = new Set(MILESTONE_EVENTS);
|
|
|
58
33
|
export function tierForEvent(event) {
|
|
59
34
|
return MILESTONE_SET.has(event) ? 'milestone' : 'activity';
|
|
60
35
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Coerce an unknown value into a clean {@link Attachment}[] — a fail-open reader
|
|
63
|
-
* over user/agent-written JSON. Drops entries without a usable `href`, clamps
|
|
64
|
-
* `kind` to a string, and keeps only primitive `meta` values.
|
|
65
|
-
*/
|
|
66
36
|
export function sanitizeAttachments(value) {
|
|
67
37
|
if (!Array.isArray(value))
|
|
68
38
|
return undefined;
|
|
@@ -103,11 +73,6 @@ function activityPath(root, sessionId) {
|
|
|
103
73
|
throw new Error(`Invalid activity session id: ${sessionId}`);
|
|
104
74
|
return path.join(root, `${safe}.jsonl`);
|
|
105
75
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Append one event to a session's activity log. Primarily the Python hook
|
|
108
|
-
* writes these at runtime; this TS writer exists for tests and any in-process
|
|
109
|
-
* emitter. Uses O_APPEND so concurrent appends never interleave a line.
|
|
110
|
-
*/
|
|
111
76
|
export function appendActivityEvent(event, root) {
|
|
112
77
|
const dir = root ?? getActivityDir();
|
|
113
78
|
fs.mkdirSync(dir, { recursive: true });
|
|
@@ -119,10 +84,6 @@ export function appendActivityEvent(event, root) {
|
|
|
119
84
|
};
|
|
120
85
|
fs.appendFileSync(activityPath(dir, event.sessionId), `${JSON.stringify(record)}\n`, { mode: 0o644 });
|
|
121
86
|
}
|
|
122
|
-
/**
|
|
123
|
-
* Parse one activity log line. Tolerant by design: a blank, corrupt, or
|
|
124
|
-
* half-written line is skipped rather than failing the whole read.
|
|
125
|
-
*/
|
|
126
87
|
export function parseActivityLine(line) {
|
|
127
88
|
const trimmed = line.trim();
|
|
128
89
|
if (!trimmed)
|
|
@@ -161,12 +122,10 @@ export function parseActivityLine(line) {
|
|
|
161
122
|
};
|
|
162
123
|
}
|
|
163
124
|
catch {
|
|
164
|
-
return undefined;
|
|
125
|
+
return undefined;
|
|
165
126
|
}
|
|
166
127
|
}
|
|
167
|
-
/** Per-session byte budget for a bounded tail read of an activity log. */
|
|
168
128
|
export const ACTIVITY_TAIL_BYTES = 256 * 1024;
|
|
169
|
-
/** Read the tail of a file as UTF-8, bounded to the last `maxBytes`. */
|
|
170
129
|
function readTail(file, maxBytes) {
|
|
171
130
|
let fd;
|
|
172
131
|
try {
|
|
@@ -179,7 +138,6 @@ function readTail(file, maxBytes) {
|
|
|
179
138
|
const buf = Buffer.allocUnsafe(len);
|
|
180
139
|
fs.readSync(fd, buf, 0, len, start);
|
|
181
140
|
let text = buf.toString('utf-8');
|
|
182
|
-
// Drop a leading partial line when we started mid-file.
|
|
183
141
|
if (start > 0) {
|
|
184
142
|
const nl = text.indexOf('\n');
|
|
185
143
|
text = nl >= 0 ? text.slice(nl + 1) : '';
|
|
@@ -194,17 +152,11 @@ function readTail(file, maxBytes) {
|
|
|
194
152
|
fs.closeSync(fd);
|
|
195
153
|
}
|
|
196
154
|
}
|
|
197
|
-
// Process-local tail cache: bounded independently of the number of historical
|
|
198
|
-
// sessions or directories a long-lived consumer visits. Never expose cached
|
|
199
|
-
// objects: callers enrich and mutate returned events (including nested values).
|
|
200
155
|
const ACTIVITY_CACHE_BYTES = 32 * 1024 * 1024;
|
|
201
156
|
const activityTails = new Map();
|
|
202
|
-
// A separate LRU of payload references lets pressure release parsed events
|
|
203
|
-
// without repeatedly walking thousands of summaries that cannot shrink.
|
|
204
157
|
const activityTailPayloads = new Map();
|
|
205
158
|
let activityTailBytes = 0;
|
|
206
159
|
let activityTailReads = 0;
|
|
207
|
-
/** Read-only process-local diagnostics; no event content or file paths. */
|
|
208
160
|
export function getActivityCacheStats() {
|
|
209
161
|
return {
|
|
210
162
|
entries: activityTails.size,
|
|
@@ -226,8 +178,6 @@ function activitySummaryWeight(key, stamp) {
|
|
|
226
178
|
}
|
|
227
179
|
function retainActivityTail(key, result, sinceMs) {
|
|
228
180
|
const summaryWeight = activitySummaryWeight(key, result.stamp);
|
|
229
|
-
// Even metadata is byte-bounded. A tail whose summary cannot fit still
|
|
230
|
-
// returns normally, but must not evict the cache or be retained over budget.
|
|
231
181
|
if (summaryWeight > ACTIVITY_CACHE_BYTES)
|
|
232
182
|
return;
|
|
233
183
|
const retained = { ...result };
|
|
@@ -235,8 +185,6 @@ function retainActivityTail(key, result, sinceMs) {
|
|
|
235
185
|
retained.events = undefined;
|
|
236
186
|
retained.weight = summaryWeight;
|
|
237
187
|
}
|
|
238
|
-
// Prefer compact history over payloads, retaining all summaries that fit
|
|
239
|
-
// instead of imposing a file-count cap that thrashes on each directory scan.
|
|
240
188
|
for (const [oldKey, old] of activityTailPayloads) {
|
|
241
189
|
if (activityTailBytes + retained.weight <= ACTIVITY_CACHE_BYTES)
|
|
242
190
|
break;
|
|
@@ -246,8 +194,6 @@ function retainActivityTail(key, result, sinceMs) {
|
|
|
246
194
|
old.weight = weight;
|
|
247
195
|
activityTailPayloads.delete(oldKey);
|
|
248
196
|
}
|
|
249
|
-
// If all existing entries are summaries, sacrifice the incoming payload
|
|
250
|
-
// before evicting history. The current caller still receives result.events.
|
|
251
197
|
if (activityTailBytes + retained.weight > ACTIVITY_CACHE_BYTES) {
|
|
252
198
|
retained.events = undefined;
|
|
253
199
|
retained.weight = summaryWeight;
|
|
@@ -261,9 +207,6 @@ function retainActivityTail(key, result, sinceMs) {
|
|
|
261
207
|
activityTailBytes += retained.weight;
|
|
262
208
|
}
|
|
263
209
|
function activityStamp(file) {
|
|
264
|
-
// ctime catches same-size rewrites even when a producer restores mtime;
|
|
265
|
-
// device/inode catches atomic replacement. Nanoseconds avoid rounding away
|
|
266
|
-
// changes made between consecutive polls on high-resolution filesystems.
|
|
267
210
|
const st = fs.statSync(file, { bigint: true });
|
|
268
211
|
return `${st.dev}:${st.ino}:${st.size}:${st.mtimeNs}:${st.ctimeNs}`;
|
|
269
212
|
}
|
|
@@ -290,7 +233,6 @@ function readActivityTail(file, maxBytes, sinceMs = -Infinity) {
|
|
|
290
233
|
forgetActivityTail(key);
|
|
291
234
|
activityTailReads++;
|
|
292
235
|
const text = readTail(file, maxBytes);
|
|
293
|
-
// Transient I/O failure is not an empty file snapshot; retry next read.
|
|
294
236
|
if (text === undefined)
|
|
295
237
|
return { stamp, events: [], newestMs: -Infinity, weight: 0 };
|
|
296
238
|
const events = [];
|
|
@@ -306,31 +248,23 @@ function readActivityTail(file, maxBytes, sinceMs = -Infinity) {
|
|
|
306
248
|
newestMs = Math.max(newestMs, ms);
|
|
307
249
|
}
|
|
308
250
|
catch {
|
|
309
|
-
// The tolerant parser historically accepts truthy non-string values.
|
|
310
|
-
// Do not introduce a conversion error before the caller's event filters
|
|
311
|
-
// (or into session reads, which never converted timestamps at all).
|
|
312
251
|
newestMs = Infinity;
|
|
313
252
|
}
|
|
314
253
|
}
|
|
315
|
-
// Bound retained source-derived strings, objects, and entry overhead. Large
|
|
316
|
-
// one-off tails still read normally, but cannot displace the entire cache.
|
|
317
254
|
const weight = text.length * 2 + events.length * 1024 + activitySummaryWeight(key, stamp);
|
|
318
255
|
const result = { stamp, events, newestMs, weight };
|
|
319
256
|
try {
|
|
320
|
-
// A writer racing the read must not pin a mixed snapshot as unchanged.
|
|
321
257
|
if (activityStamp(file) === stamp) {
|
|
322
258
|
retainActivityTail(key, result, sinceMs);
|
|
323
259
|
}
|
|
324
260
|
}
|
|
325
|
-
catch {
|
|
261
|
+
catch { }
|
|
326
262
|
return result;
|
|
327
263
|
}
|
|
328
|
-
/** Read all events for one session (bounded tail). */
|
|
329
264
|
export function readSessionActivity(sessionId, root, maxBytes = ACTIVITY_TAIL_BYTES) {
|
|
330
265
|
const dir = root ?? getActivityDir();
|
|
331
266
|
return structuredClone(readActivityTail(activityPath(dir, sessionId), maxBytes).events ?? []);
|
|
332
267
|
}
|
|
333
|
-
/** List session ids that have an activity log. */
|
|
334
268
|
function listActivitySessions(root) {
|
|
335
269
|
const dir = root ?? getActivityDir();
|
|
336
270
|
try {
|
|
@@ -340,10 +274,6 @@ function listActivitySessions(root) {
|
|
|
340
274
|
return [];
|
|
341
275
|
}
|
|
342
276
|
}
|
|
343
|
-
/**
|
|
344
|
-
* Merge recent events across every session's log, newest first. Reads only the
|
|
345
|
-
* tail of each file, so cost scales with active sessions, not transcript size.
|
|
346
|
-
*/
|
|
347
277
|
export function readRecentActivity(opts = {}) {
|
|
348
278
|
const dir = opts.root ?? getActivityDir();
|
|
349
279
|
const sinceMs = opts.sinceMs ?? 0;
|
|
@@ -366,11 +296,6 @@ export function readRecentActivity(opts = {}) {
|
|
|
366
296
|
all.sort((a, b) => Date.parse(b.ts) - Date.parse(a.ts));
|
|
367
297
|
return structuredClone(typeof opts.limit === 'number' ? all.slice(0, opts.limit) : all);
|
|
368
298
|
}
|
|
369
|
-
/**
|
|
370
|
-
* Split a chronological event list into individual milestones plus a
|
|
371
|
-
* count map for the routine (tier-2) events, so a reader shows recognizable
|
|
372
|
-
* deliverables in full and collapses the noise.
|
|
373
|
-
*/
|
|
374
299
|
export function collapseActivity(events) {
|
|
375
300
|
const milestones = [];
|
|
376
301
|
const counts = {};
|
|
@@ -387,14 +312,6 @@ export function collapseActivity(events) {
|
|
|
387
312
|
}
|
|
388
313
|
return { milestones, counts, subagentCount };
|
|
389
314
|
}
|
|
390
|
-
// ---------------------------------------------------------------------------
|
|
391
|
-
// Bridge into the unified event stream (lib/event-stream.ts)
|
|
392
|
-
// ---------------------------------------------------------------------------
|
|
393
|
-
/**
|
|
394
|
-
* Normalize one activity event into the shared {@link EventRecord} shape so the
|
|
395
|
-
* agent-semantic stream reads through the same reader as operational events.
|
|
396
|
-
* `module` is stamped `activity` so `--module` filters partition the two cleanly.
|
|
397
|
-
*/
|
|
398
315
|
function activityEventToRecord(ev) {
|
|
399
316
|
return {
|
|
400
317
|
ts: ev.ts,
|
|
@@ -411,7 +328,6 @@ function activityEventToRecord(ev) {
|
|
|
411
328
|
session: ev.sessionId,
|
|
412
329
|
osUser: 'unknown',
|
|
413
330
|
transport: 'local',
|
|
414
|
-
// payload
|
|
415
331
|
agent: ev.agent,
|
|
416
332
|
actor: ev.actor ?? 'unknown',
|
|
417
333
|
kind: ev.kind ?? 'unknown',
|
|
@@ -430,14 +346,9 @@ function activityEventToRecord(ev) {
|
|
|
430
346
|
...(ev.attachments?.length ? { attachments: ev.attachments } : {}),
|
|
431
347
|
};
|
|
432
348
|
}
|
|
433
|
-
/** Read recent activity across sessions as unified {@link EventRecord}s. */
|
|
434
349
|
export function readActivityAsEventRecords(opts = {}) {
|
|
435
350
|
return readRecentActivity(opts).map(activityEventToRecord);
|
|
436
351
|
}
|
|
437
|
-
// ---------------------------------------------------------------------------
|
|
438
|
-
// Rendering (shared by the feed activity lane and `agents feed --filter updates`)
|
|
439
|
-
// ---------------------------------------------------------------------------
|
|
440
|
-
/** Glyph + color + human label per event, so the lane reads at a glance. */
|
|
441
352
|
const EVENT_STYLE = {
|
|
442
353
|
'plan.created': { glyph: '◆', color: chalk.cyan, label: 'plan created' },
|
|
443
354
|
'pr.opened': { glyph: '⇡', color: chalk.green, label: 'PR opened' },
|
|
@@ -458,12 +369,10 @@ const EVENT_STYLE = {
|
|
|
458
369
|
function styleForEvent(event) {
|
|
459
370
|
return EVENT_STYLE[event] ?? { glyph: '•', color: chalk.white, label: event };
|
|
460
371
|
}
|
|
461
|
-
/** One rendered activity line: ` <rel> [host] <glyph label> detail url`. */
|
|
462
372
|
export function formatActivityLine(ev, opts = {}) {
|
|
463
373
|
const s = styleForEvent(ev.event);
|
|
464
374
|
const host = opts.showHost && ev.host && ev.host !== 'unknown' ? chalk.gray(`[${ev.host}] `) : '';
|
|
465
375
|
const label = s.color(`${s.glyph} ${s.label}`);
|
|
466
|
-
// Status posts are the message; allow a longer snippet than tool-derived detail.
|
|
467
376
|
const detailLimit = ev.event === 'status.posted' ? 100 : 60;
|
|
468
377
|
const detail = ev.detail ? ` ${truncate(ev.detail, detailLimit)}` : '';
|
|
469
378
|
const url = ev.url ? chalk.gray(` ${ev.url}`) : '';
|
|
@@ -471,13 +380,6 @@ export function formatActivityLine(ev, opts = {}) {
|
|
|
471
380
|
const when = chalk.gray(relTime(ev.ts).padStart(7));
|
|
472
381
|
return ` ${when} ${host}${label}${detail}${agent}${url}`;
|
|
473
382
|
}
|
|
474
|
-
// ---------------------------------------------------------------------------
|
|
475
|
-
// Rich progress render (RUSH-2014): `status.posted` posts are the deliberate,
|
|
476
|
-
// operator-facing announcements — a single truncated line under-serves them.
|
|
477
|
-
// `formatProgressUpdate` renders each as a multi-line row with full identity
|
|
478
|
-
// chips (agent · session · host · project) and any attached artifacts.
|
|
479
|
-
// ---------------------------------------------------------------------------
|
|
480
|
-
/** Glyph per attachment kind, so an artifact row reads at a glance. */
|
|
481
383
|
const ATTACHMENT_GLYPH = {
|
|
482
384
|
image: '🖼',
|
|
483
385
|
audio: '♪',
|
|
@@ -488,7 +390,6 @@ const ATTACHMENT_GLYPH = {
|
|
|
488
390
|
function attachmentGlyph(kind) {
|
|
489
391
|
return ATTACHMENT_GLYPH[kind] ?? '📎';
|
|
490
392
|
}
|
|
491
|
-
/** Display name for an attachment: its `name`, else the basename of its href. */
|
|
492
393
|
export function attachmentName(att) {
|
|
493
394
|
if (att.name && att.name.trim())
|
|
494
395
|
return att.name.trim();
|
|
@@ -497,29 +398,10 @@ export function attachmentName(att) {
|
|
|
497
398
|
const base = slash >= 0 ? href.slice(slash + 1) : href;
|
|
498
399
|
return base || href;
|
|
499
400
|
}
|
|
500
|
-
/**
|
|
501
|
-
* Short session id for a chip: strip a known prefix (`session_`, `ses_`) then
|
|
502
|
-
* take the first 8 chars — enough to disambiguate, matching `ag sessions`.
|
|
503
|
-
*/
|
|
504
401
|
export function shortSessionId(sessionId) {
|
|
505
402
|
const stripped = sessionId.replace(/^(session_|ses_)/, '');
|
|
506
403
|
return stripped.slice(0, 8) || sessionId.slice(0, 8);
|
|
507
404
|
}
|
|
508
|
-
/**
|
|
509
|
-
* Render a deliberate progress update (`status.posted`) as an operator-facing,
|
|
510
|
-
* multi-line row with full identity — not a 60-char one-liner. Shape:
|
|
511
|
-
*
|
|
512
|
-
* ```
|
|
513
|
-
* ▸ update · 3m ago
|
|
514
|
-
* grok · 0108441e · yosemite-s1 · agents
|
|
515
|
-
* "CHANGELOG pushed; watching CI"
|
|
516
|
-
* ♪ draft.wav 🖼 cover.png
|
|
517
|
-
* ↳ ag focus 0108441e · ag sessions 0108441e
|
|
518
|
-
* ```
|
|
519
|
-
*
|
|
520
|
-
* Chips (agent, short session id, host, project, optional joined ticket/label)
|
|
521
|
-
* are shown only when known. Non-progress milestones keep {@link formatActivityLine}.
|
|
522
|
-
*/
|
|
523
405
|
export function formatProgressUpdate(ev, opts = {}) {
|
|
524
406
|
const shortId = shortSessionId(ev.sessionId);
|
|
525
407
|
const lines = [];
|
|
@@ -547,31 +429,9 @@ export function formatProgressUpdate(ev, opts = {}) {
|
|
|
547
429
|
lines.push(` ${chalk.dim(`↳ ag focus ${shortId} · ag sessions ${shortId}`)}`);
|
|
548
430
|
return lines.join('\n');
|
|
549
431
|
}
|
|
550
|
-
/**
|
|
551
|
-
* Resolve a stable project/repo name from a working directory — the same fold
|
|
552
|
-
* the `agents sessions` overview groups by ({@link projectKeyFromCwd}), so a
|
|
553
|
-
* project reads identically in both views.
|
|
554
|
-
*/
|
|
555
432
|
export function projectFromCwd(cwd) {
|
|
556
433
|
return projectKeyFromCwd(cwd);
|
|
557
434
|
}
|
|
558
|
-
/**
|
|
559
|
-
* Join session facts (ticket / project / execution host) onto each event by
|
|
560
|
-
* `sessionId`. A hint wins; otherwise a CANONICAL def match (`canonicalProject`)
|
|
561
|
-
* upgrades whatever the event carries; otherwise pre-baked enriched fields (from
|
|
562
|
-
* a remote peer that already enriched its own stream) are preserved, and
|
|
563
|
-
* project/host fall back to what the event itself carries (`cwd`, `host`).
|
|
564
|
-
*
|
|
565
|
-
* The def match ranks above the pre-baked stamp because the stamp may be stale
|
|
566
|
-
* (posted before the def existed) or skewed (a peer whose defs haven't synced);
|
|
567
|
-
* the match is pure prefix compare against local defs, so a different-home
|
|
568
|
-
* peer's path simply doesn't match and its stamp is honored as before.
|
|
569
|
-
*
|
|
570
|
-
* `resolveProject` is how a caller reading its OWN machine's logs upgrades the
|
|
571
|
-
* cwd fold to real repository detection ({@link resolveProjectKey}); it defaults
|
|
572
|
-
* to the pure {@link projectFromCwd}, which is all a path from another machine
|
|
573
|
-
* can be resolved with. Pure given pure resolvers.
|
|
574
|
-
*/
|
|
575
435
|
export function enrichActivityEvents(events, hints, resolveProject = projectFromCwd, canonicalProject) {
|
|
576
436
|
const bySession = new Map();
|
|
577
437
|
for (const h of hints)
|
|
@@ -591,13 +451,6 @@ export function enrichActivityEvents(events, hints, resolveProject = projectFrom
|
|
|
591
451
|
};
|
|
592
452
|
});
|
|
593
453
|
}
|
|
594
|
-
/**
|
|
595
|
-
* Validate + host-tag one peer's `activity --json` payload for the fan-out
|
|
596
|
-
* merge. Mirrors {@link parseLine}: skip anything missing `event`/`sessionId`/
|
|
597
|
-
* `ts`, drop corrupt items. The event's own `host` is the execution host and is
|
|
598
|
-
* authoritative; only fall back to the dialed peer's `machine` when it's absent.
|
|
599
|
-
* Enriched fields the peer stamped (project/ticket/executionHost) ride through.
|
|
600
|
-
*/
|
|
601
454
|
export function parseActivityPayload(stdout, machine) {
|
|
602
455
|
let parsed;
|
|
603
456
|
try {
|
|
@@ -620,12 +473,6 @@ export function parseActivityPayload(stdout, machine) {
|
|
|
620
473
|
}
|
|
621
474
|
return out;
|
|
622
475
|
}
|
|
623
|
-
/**
|
|
624
|
-
* Merge local + remote event lists, keeping the first copy of a given
|
|
625
|
-
* host/session/ts/event and sorting newest first. Cross-machine activity dirs
|
|
626
|
-
* can sync in a peer's own events, so the identity key dedupes those (mirrors
|
|
627
|
-
* `mergeFeedBlocks`).
|
|
628
|
-
*/
|
|
629
476
|
export function mergeActivityEvents(...groups) {
|
|
630
477
|
const byKey = new Map();
|
|
631
478
|
for (const ev of groups.flat()) {
|
|
@@ -635,19 +482,6 @@ export function mergeActivityEvents(...groups) {
|
|
|
635
482
|
}
|
|
636
483
|
return [...byKey.values()].sort((a, b) => Date.parse(b.ts) - Date.parse(a.ts));
|
|
637
484
|
}
|
|
638
|
-
/**
|
|
639
|
-
* Apply `--limit` to the events a reader will actually SHOW.
|
|
640
|
-
*
|
|
641
|
-
* The default view collapses routine work (`file.edited`) to a count and shows
|
|
642
|
-
* milestones individually, so a plain `slice(limit)` spends the whole budget on
|
|
643
|
-
* churn: one busy machine editing 40 files hid every other device's PRs behind
|
|
644
|
-
* a single `file edited ×40` line. Milestones therefore carry the cap, and the
|
|
645
|
-
* routine events that ride along are the ones newer than the last milestone
|
|
646
|
-
* kept — so the collapsed counts describe exactly the window on screen.
|
|
647
|
-
*
|
|
648
|
-
* With `all` (routine shown inline) every event is displayed, so the cap is the
|
|
649
|
-
* plain slice again. Input must be newest-first; output preserves that order.
|
|
650
|
-
*/
|
|
651
485
|
export function capActivityEvents(events, limit, opts = {}) {
|
|
652
486
|
if (!Number.isFinite(limit) || limit <= 0)
|
|
653
487
|
return [];
|
|
@@ -659,8 +493,6 @@ export function capActivityEvents(events, limit, opts = {}) {
|
|
|
659
493
|
for (const ev of events) {
|
|
660
494
|
if (tierForEvent(ev.event) === 'milestone') {
|
|
661
495
|
if (milestones >= limit) {
|
|
662
|
-
// The cap is reached: the window ends at the oldest milestone kept, so
|
|
663
|
-
// trailing routine events (older than it) are outside it.
|
|
664
496
|
return out.slice(0, lastMilestoneIdx + 1);
|
|
665
497
|
}
|
|
666
498
|
milestones += 1;
|
|
@@ -670,7 +502,6 @@ export function capActivityEvents(events, limit, opts = {}) {
|
|
|
670
502
|
}
|
|
671
503
|
return out;
|
|
672
504
|
}
|
|
673
|
-
/** The (key, label) an event sorts under for a given grouping dimension. */
|
|
674
505
|
export function activityGroupKey(ev, by) {
|
|
675
506
|
if (by === 'project') {
|
|
676
507
|
const p = ev.project ?? projectFromCwd(ev.cwd);
|
|
@@ -683,11 +514,6 @@ export function activityGroupKey(ev, by) {
|
|
|
683
514
|
const a = ev.agent;
|
|
684
515
|
return a ? { key: a, label: a } : { key: '', label: 'unknown agent' };
|
|
685
516
|
}
|
|
686
|
-
/**
|
|
687
|
-
* Bucket events by project, device, or agent. Groups are ordered by event count
|
|
688
|
-
* (desc) then label; the "unknown" bucket always sorts last. Input order is
|
|
689
|
-
* preserved within a group, so newest-first survives when the input is sorted.
|
|
690
|
-
*/
|
|
691
517
|
export function groupActivity(events, by) {
|
|
692
518
|
const byKey = new Map();
|
|
693
519
|
for (const ev of events) {
|
|
@@ -708,11 +534,6 @@ export function groupActivity(events, by) {
|
|
|
708
534
|
return a.label.localeCompare(b.label);
|
|
709
535
|
});
|
|
710
536
|
}
|
|
711
|
-
/**
|
|
712
|
-
* Narrow events to those whose project, device/host, agent, event kind, or
|
|
713
|
-
* ticket contains `filter` (case-insensitive substring). An empty filter is a
|
|
714
|
-
* no-op. Pure.
|
|
715
|
-
*/
|
|
716
537
|
export function filterActivityEvents(events, filter) {
|
|
717
538
|
const needle = filter.trim().toLowerCase();
|
|
718
539
|
if (!needle)
|
|
@@ -722,19 +543,12 @@ export function filterActivityEvents(events, filter) {
|
|
|
722
543
|
return fields.some((f) => typeof f === 'string' && f.toLowerCase().includes(needle));
|
|
723
544
|
});
|
|
724
545
|
}
|
|
725
|
-
/**
|
|
726
|
-
* Narrow events to one resolved project, exact match on the enriched label
|
|
727
|
-
* (unlike {@link filterActivityEvents}'s cross-field substring). This is the
|
|
728
|
-
* `--project` flag: the label is canonical (a defined project's name) once the
|
|
729
|
-
* reader's resolver has run, so a multi-repo project matches as one bucket. Pure.
|
|
730
|
-
*/
|
|
731
546
|
export function filterActivityByProject(events, project) {
|
|
732
547
|
const name = project.trim();
|
|
733
548
|
if (!name)
|
|
734
549
|
return events;
|
|
735
550
|
return events.filter((ev) => ev.project === name);
|
|
736
551
|
}
|
|
737
|
-
/** One rendered enriched line: the base activity line + `· project · ticket` tags. */
|
|
738
552
|
export function formatEnrichedActivityLine(ev, opts = {}) {
|
|
739
553
|
const base = formatActivityLine(ev, { showHost: opts.showHost });
|
|
740
554
|
const tags = [];
|
|
@@ -745,14 +559,7 @@ export function formatEnrichedActivityLine(ev, opts = {}) {
|
|
|
745
559
|
const suffix = tags.length > 0 ? chalk.gray(` · ${tags.join(' · ')}`) : '';
|
|
746
560
|
return `${opts.indent ?? ''}${base}${suffix}`;
|
|
747
561
|
}
|
|
748
|
-
/** Max device names named in a group header before the rest collapse to `+N`. */
|
|
749
562
|
const GROUP_HEADER_DEVICE_LIMIT = 3;
|
|
750
|
-
/**
|
|
751
|
-
* The distinct machines a group's events ran on, most-active first then
|
|
752
|
-
* alphabetical — so a project header can say WHERE the work happened without
|
|
753
|
-
* sub-grouping the timeline. Prefers the session-joined `executionHost` (where
|
|
754
|
-
* the process really lives) over the raw emitting `host`. Pure.
|
|
755
|
-
*/
|
|
756
563
|
export function activityGroupDevices(events) {
|
|
757
564
|
const counts = new Map();
|
|
758
565
|
for (const ev of events) {
|
|
@@ -765,14 +572,6 @@ export function activityGroupDevices(events) {
|
|
|
765
572
|
.sort((a, b) => (b[1] !== a[1] ? b[1] - a[1] : a[0].localeCompare(b[0])))
|
|
766
573
|
.map(([host]) => host);
|
|
767
574
|
}
|
|
768
|
-
/**
|
|
769
|
-
* The trailing facts for one grouped bucket: `N events · M milestones`, plus
|
|
770
|
-
* the machines the work ran on when `showDevices` is set (redundant when the
|
|
771
|
-
* grouping dimension IS the device, so the caller decides). The device list is
|
|
772
|
-
* capped at {@link GROUP_HEADER_DEVICE_LIMIT} with a `+N` tail, so a project
|
|
773
|
-
* touched by a dozen boxes stays one scannable line. Separate from the label so
|
|
774
|
-
* a renderer can color the two differently without re-splitting a string.
|
|
775
|
-
*/
|
|
776
575
|
export function formatActivityGroupMeta(group, opts = {}) {
|
|
777
576
|
const { milestones } = collapseActivity(group.events);
|
|
778
577
|
const n = group.events.length;
|
|
@@ -790,19 +589,6 @@ export function formatActivityGroupMeta(group, opts = {}) {
|
|
|
790
589
|
}
|
|
791
590
|
return parts.join(' · ');
|
|
792
591
|
}
|
|
793
|
-
// ---------------------------------------------------------------------------
|
|
794
|
-
// Hook installation
|
|
795
|
-
// ---------------------------------------------------------------------------
|
|
796
|
-
/**
|
|
797
|
-
* The activity-log hook (Python), sibling to 10-feed-publish.py. Classifies
|
|
798
|
-
* PreToolUse/PostToolUse payloads into activity events and appends one JSONL
|
|
799
|
-
* line per event to ~/.agents/.history/activity/<sessionId>.jsonl.
|
|
800
|
-
*
|
|
801
|
-
* Matcher-gated to mutating/milestone tools (Bash|Task|ExitPlanMode|Write|
|
|
802
|
-
* Edit|MultiEdit|TodoWrite|update_plan|TaskUpdate|todo_write|TaskCreate) so
|
|
803
|
-
* read-only tools never pay the hook cost. Fail-open: any error is swallowed so
|
|
804
|
-
* a logging hiccup never blocks a tool call.
|
|
805
|
-
*/
|
|
806
592
|
export const ACTIVITY_LOG_HOOK_SCRIPT = String.raw `#!/usr/bin/env python3
|
|
807
593
|
"""Append agent-activity events for 'agents feed'.
|
|
808
594
|
|
|
@@ -824,7 +610,7 @@ import shlex
|
|
|
824
610
|
import socket
|
|
825
611
|
from datetime import datetime, timezone
|
|
826
612
|
|
|
827
|
-
MAX_LOG_BYTES = 5 * 1024 * 1024
|
|
613
|
+
MAX_LOG_BYTES = 5 * 1024 * 1024
|
|
828
614
|
MILESTONE_EVENTS = {
|
|
829
615
|
"plan.created", "pr.opened", "pr.merged", "worktree.created",
|
|
830
616
|
"worktree.removed", "commit.created", "pushed", "subagent.spawned",
|
|
@@ -833,15 +619,12 @@ MILESTONE_EVENTS = {
|
|
|
833
619
|
"status.posted",
|
|
834
620
|
}
|
|
835
621
|
|
|
836
|
-
# Deliverable file types + locations -- a Write here is a recognizable artifact
|
|
837
|
-
# (an HTML plan, a PDF report, a rendered image), not a routine code edit.
|
|
838
622
|
ARTIFACT_EXTS = {
|
|
839
623
|
".html", ".htm", ".pdf", ".png", ".jpg", ".jpeg", ".gif", ".svg",
|
|
840
624
|
".webp", ".mp4", ".mov", ".webm", ".csv", ".xlsx", ".pptx", ".docx",
|
|
841
625
|
}
|
|
842
626
|
ARTIFACT_DIR_HINTS = ("/tmp/", "/downloads/", "/.agents/artifacts/")
|
|
843
627
|
|
|
844
|
-
# Checklist tools across harnesses. The value is the key that holds the item list.
|
|
845
628
|
CHECKLIST_TOOLS = {
|
|
846
629
|
"TodoWrite": "todos",
|
|
847
630
|
"todo_write": "todos",
|
|
@@ -865,17 +648,10 @@ def first_line(text, limit=140):
|
|
|
865
648
|
return ""
|
|
866
649
|
|
|
867
650
|
|
|
868
|
-
# Canonical command taxonomy for Bash tool calls, generated from the single
|
|
869
|
-
# source of truth in lib/session/bash-command.ts's TOOL_REGISTRY (#1889) so the
|
|
870
|
-
# two can no longer drift — this hook runs standalone under python3 and can't
|
|
871
|
-
# import that module, so the literal below is generated, not hand-duplicated.
|
|
872
651
|
BASH_TOOL_REGISTRY = {
|
|
873
652
|
${pythonToolRegistryLiteral()}
|
|
874
653
|
}
|
|
875
654
|
|
|
876
|
-
# Two-level tools mapped to the flags that consume the following token as their
|
|
877
|
-
# value, per tool; the subcommand scan skips both. Generated from VALUE_FLAGS in
|
|
878
|
-
# lib/session/bash-command.ts (#1889) — TWO_LEVEL_TOOLS is derived from its keys.
|
|
879
655
|
VALUE_FLAGS = {
|
|
880
656
|
${pythonValueFlagsLiteral()}
|
|
881
657
|
}
|
|
@@ -893,11 +669,9 @@ def _unwrap_command(cmd):
|
|
|
893
669
|
ssh = re.match(r'^ssh\s+\S+\s+["\']?(.+?)["\']?\s*(?:\|.*)?$', s)
|
|
894
670
|
if ssh:
|
|
895
671
|
return _unwrap_command(ssh.group(1))
|
|
896
|
-
# VAR=value prefix (value may be a single- or double-quoted string with spaces)
|
|
897
672
|
env = re.match(r'^([A-Za-z_][A-Za-z0-9_]*=(?:"[^"]*"|' + r"'[^']*'" + r'|\S+)\s+)+(.+)$', s)
|
|
898
673
|
if env:
|
|
899
674
|
return _unwrap_command(env.group(2))
|
|
900
|
-
# export VAR=value && command / export A=1 B=2; command
|
|
901
675
|
export_prefix = re.match(
|
|
902
676
|
r'^export\s+(?:[A-Za-z_][A-Za-z0-9_]*=(?:"[^"]*"|' + r"'[^']*'" + r'|\S+)\s+)*'
|
|
903
677
|
r'[A-Za-z_][A-Za-z0-9_]*=(?:"[^"]*"|' + r"'[^']*'" + r'|\S+)\s*(?:&&|;|\n)\s*([\s\S]+)$',
|
|
@@ -905,15 +679,12 @@ def _unwrap_command(cmd):
|
|
|
905
679
|
)
|
|
906
680
|
if export_prefix:
|
|
907
681
|
return _unwrap_command(export_prefix.group(1))
|
|
908
|
-
# sudo / time prefix (value-taking flags such as -u user consume their argument)
|
|
909
682
|
prefix = re.match(r'^(?:sudo|time)(?:\s+(?:-[uUgGhpCrtDR]\s+\S+|-\S+))*\s+(.+)$', s)
|
|
910
683
|
if prefix:
|
|
911
684
|
return _unwrap_command(prefix.group(1))
|
|
912
|
-
# set -euo pipefail && command / set -x; command
|
|
913
685
|
set_prefix = re.match(r'^set\s+[^&;\n]+?(?:&&|;|\n)\s*([\s\S]+)$', s)
|
|
914
686
|
if set_prefix:
|
|
915
687
|
return _unwrap_command(set_prefix.group(1))
|
|
916
|
-
# cd foo && command (also ; and newline separators)
|
|
917
688
|
cd = re.match(r'^cd\s+\S+\s*(?:&&|;|\n)\s*([\s\S]+)$', s)
|
|
918
689
|
if cd:
|
|
919
690
|
return _unwrap_command(cd.group(1))
|
|
@@ -1033,8 +804,6 @@ def classify_bash_command(command):
|
|
|
1033
804
|
base = base[:-4]
|
|
1034
805
|
info = BASH_TOOL_REGISTRY.get(base)
|
|
1035
806
|
if not info:
|
|
1036
|
-
# Known two-level tool absent from the registry (docker/kubectl/rush/
|
|
1037
|
-
# openclaw) still surfaces its subcommand; category stays 'other'.
|
|
1038
807
|
sub = _scan_subcommand(tokens, base) if base in TWO_LEVEL_TOOLS else ""
|
|
1039
808
|
summary = "{} {}".format(base, sub) if sub else first
|
|
1040
809
|
return {"tool": first, "category": "other", "subcommand": sub, "action": "running command", "summary": summary}
|
|
@@ -1164,7 +933,7 @@ def _read_transcript_checklists(transcript_path, current_tool, current_items):
|
|
|
1164
933
|
with open(transcript_path, "r", encoding="utf-8", errors="ignore") as f:
|
|
1165
934
|
f.seek(start)
|
|
1166
935
|
if start > 0:
|
|
1167
|
-
f.readline()
|
|
936
|
+
f.readline()
|
|
1168
937
|
lines = f.readlines()
|
|
1169
938
|
except Exception:
|
|
1170
939
|
return None
|
|
@@ -1207,8 +976,6 @@ def _read_transcript_checklists(transcript_path, current_tool, current_items):
|
|
|
1207
976
|
if not items:
|
|
1208
977
|
continue
|
|
1209
978
|
ids = {str(item.get("id")) for item in items if item.get("id")}
|
|
1210
|
-
# Skip the most recent matching checklist entry once; that is the
|
|
1211
|
-
# current call already reflected in the transcript.
|
|
1212
979
|
if not skipped_current and name == current_tool and ids == current_ids:
|
|
1213
980
|
skipped_current = True
|
|
1214
981
|
continue
|
|
@@ -1275,7 +1042,7 @@ def _claude_task_state(transcript_path, exclude_task_id=None):
|
|
|
1275
1042
|
except Exception:
|
|
1276
1043
|
return state
|
|
1277
1044
|
|
|
1278
|
-
updates = []
|
|
1045
|
+
updates = []
|
|
1279
1046
|
for idx, line in enumerate(lines):
|
|
1280
1047
|
line = line.strip()
|
|
1281
1048
|
if not line:
|
|
@@ -1317,7 +1084,6 @@ def _claude_task_state(transcript_path, exclude_task_id=None):
|
|
|
1317
1084
|
""
|
|
1318
1085
|
)
|
|
1319
1086
|
if subject:
|
|
1320
|
-
# Link subject to the tool_use id so the result can map it.
|
|
1321
1087
|
tool_id = tu.get("id")
|
|
1322
1088
|
if tool_id:
|
|
1323
1089
|
state.setdefault("__pending_subject", {})[tool_id] = subject
|
|
@@ -1334,7 +1100,6 @@ def _claude_task_state(transcript_path, exclude_task_id=None):
|
|
|
1334
1100
|
state[task_id]["subject"] = task["subject"]
|
|
1335
1101
|
if task.get("status"):
|
|
1336
1102
|
state[task_id]["status"] = str(task.get("status")).lower()
|
|
1337
|
-
# Link any pending subject from the matching tool_use id.
|
|
1338
1103
|
tool_use_id = record.get("tool_use_id") or ""
|
|
1339
1104
|
pending = state.get("__pending_subject", {})
|
|
1340
1105
|
if tool_use_id and tool_use_id in pending:
|
|
@@ -1352,7 +1117,6 @@ def _claude_task_state(transcript_path, exclude_task_id=None):
|
|
|
1352
1117
|
if updates[i][0] == exclude_task_id:
|
|
1353
1118
|
del updates[i]
|
|
1354
1119
|
break
|
|
1355
|
-
# Rebuild statuses from remaining updates.
|
|
1356
1120
|
for task_id in list(state.keys()):
|
|
1357
1121
|
if task_id.startswith("__"):
|
|
1358
1122
|
continue
|
|
@@ -1364,15 +1128,12 @@ def _claude_task_state(transcript_path, exclude_task_id=None):
|
|
|
1364
1128
|
if task_id in state:
|
|
1365
1129
|
state[task_id]["status"] = status
|
|
1366
1130
|
|
|
1367
|
-
# Drop tasks removed from the checklist (deleted/cancelled): they are gone
|
|
1368
|
-
# from the user-visible list, so they must not count toward the N/M total.
|
|
1369
1131
|
for task_id in list(state.keys()):
|
|
1370
1132
|
if task_id.startswith("__"):
|
|
1371
1133
|
continue
|
|
1372
1134
|
if state[task_id].get("status") in ("deleted", "cancelled", "canceled", "removed"):
|
|
1373
1135
|
del state[task_id]
|
|
1374
1136
|
|
|
1375
|
-
# Drop internal bookkeeping.
|
|
1376
1137
|
state.pop("__pending_subject", None)
|
|
1377
1138
|
return state
|
|
1378
1139
|
|
|
@@ -1391,7 +1152,6 @@ def _checklist_events(payload, hook_event):
|
|
|
1391
1152
|
tool_input.get("title") or
|
|
1392
1153
|
"task"
|
|
1393
1154
|
)
|
|
1394
|
-
# Only announce the checklist on the very first task creation.
|
|
1395
1155
|
current_tool_use_id = payload.get("tool_use_id", "")
|
|
1396
1156
|
transcript_path = payload.get("transcript_path")
|
|
1397
1157
|
if _has_previous_task_create(transcript_path, current_tool_use_id):
|
|
@@ -1406,9 +1166,6 @@ def _checklist_events(payload, hook_event):
|
|
|
1406
1166
|
if not items:
|
|
1407
1167
|
return []
|
|
1408
1168
|
|
|
1409
|
-
# Full-list tools (TodoWrite, update_plan) send the whole checklist every
|
|
1410
|
-
# time. Per-task update tools (TaskUpdate) send only the changed item, so
|
|
1411
|
-
# totals and subject must be resolved from the previous full-list state.
|
|
1412
1169
|
list_key = {"todos": "todos", "tasks": "tasks", "plan": "plan"}.get(kind)
|
|
1413
1170
|
is_full_list = list_key is not None and list_key in tool_input
|
|
1414
1171
|
|
|
@@ -1442,8 +1199,6 @@ def _checklist_events(payload, hook_event):
|
|
|
1442
1199
|
events.append(("task.completed", f"{subject} {done_count}/{total} done"))
|
|
1443
1200
|
return events
|
|
1444
1201
|
|
|
1445
|
-
# For TaskUpdate without a previous full-list state, fold the Claude
|
|
1446
|
-
# TaskCreate/TaskUpdate history to resolve subject and N/M.
|
|
1447
1202
|
if tool_name == "TaskUpdate" and previous is None:
|
|
1448
1203
|
task_id = str(items[0].get("id")) if items else ""
|
|
1449
1204
|
task_state = _claude_task_state(
|
|
@@ -1465,7 +1220,6 @@ def _checklist_events(payload, hook_event):
|
|
|
1465
1220
|
completed = [i for i in items if i.get("status") == "completed"]
|
|
1466
1221
|
|
|
1467
1222
|
if previous is None:
|
|
1468
|
-
# First checklist call in this session.
|
|
1469
1223
|
events = []
|
|
1470
1224
|
events.append(("checklist.created", f"{total} task{'s' if total != 1 else ''}"))
|
|
1471
1225
|
for item in completed:
|
|
@@ -1515,7 +1269,6 @@ def build_event(payload, hook_event):
|
|
|
1515
1269
|
tool_input = payload.get("tool_input", {}) or {}
|
|
1516
1270
|
tool_response = payload.get("tool_response", {})
|
|
1517
1271
|
|
|
1518
|
-
# Checklist completions first -- cheap guard above already filtered tool name.
|
|
1519
1272
|
checklist = _checklist_events(payload, hook_event)
|
|
1520
1273
|
if checklist:
|
|
1521
1274
|
return [_make_record(event, detail, tool_name) for event, detail in checklist], tool_name
|
|
@@ -1538,7 +1291,6 @@ def build_event(payload, hook_event):
|
|
|
1538
1291
|
cmd = tool_input.get("command", "")
|
|
1539
1292
|
info = classify_bash_command(cmd)
|
|
1540
1293
|
records = []
|
|
1541
|
-
# Always emit a structured bash.executed activity event.
|
|
1542
1294
|
bash_record = _make_record("bash.executed", info.get("summary") or first_line_of_command(cmd), tool_name)
|
|
1543
1295
|
bash_record["category"] = info.get("category")
|
|
1544
1296
|
bash_record["bashTool"] = info.get("tool")
|
|
@@ -1555,8 +1307,6 @@ def build_event(payload, hook_event):
|
|
|
1555
1307
|
return records, tool_name
|
|
1556
1308
|
elif tool_name in ("Write", "Edit", "MultiEdit"):
|
|
1557
1309
|
fp = tool_input.get("file_path") or tool_input.get("path") or ""
|
|
1558
|
-
# A freshly-written deliverable is a milestone; edits and code
|
|
1559
|
-
# writes stay routine and collapse to a count.
|
|
1560
1310
|
if tool_name == "Write" and is_artifact(fp):
|
|
1561
1311
|
event = "artifact.created"
|
|
1562
1312
|
else:
|
|
@@ -1579,7 +1329,6 @@ def main():
|
|
|
1579
1329
|
except Exception:
|
|
1580
1330
|
return
|
|
1581
1331
|
|
|
1582
|
-
# Sub-agent gate -- only the top-level agent logs.
|
|
1583
1332
|
if payload.get("agent_type"):
|
|
1584
1333
|
return
|
|
1585
1334
|
|
|
@@ -1597,7 +1346,6 @@ def main():
|
|
|
1597
1346
|
activity_dir = os.path.join(home, ".agents", ".history", "activity")
|
|
1598
1347
|
target = os.path.join(activity_dir, safe_session + ".jsonl")
|
|
1599
1348
|
|
|
1600
|
-
# Identity (mirrors 10-feed-publish.py).
|
|
1601
1349
|
mailbox_id = os.path.basename(
|
|
1602
1350
|
os.environ.get("AGENTS_MAILBOX_DIR", "").rstrip("/")
|
|
1603
1351
|
) or session_id
|
|
@@ -1626,7 +1374,6 @@ def main():
|
|
|
1626
1374
|
|
|
1627
1375
|
try:
|
|
1628
1376
|
os.makedirs(activity_dir, exist_ok=True)
|
|
1629
|
-
# Cap growth: once over the size limit, keep only milestones.
|
|
1630
1377
|
try:
|
|
1631
1378
|
over_limit = os.path.getsize(target) > MAX_LOG_BYTES
|
|
1632
1379
|
except OSError:
|
|
@@ -1637,16 +1384,15 @@ def main():
|
|
|
1637
1384
|
continue
|
|
1638
1385
|
f.write(json.dumps(record) + "\n")
|
|
1639
1386
|
except Exception:
|
|
1640
|
-
pass
|
|
1387
|
+
pass
|
|
1641
1388
|
|
|
1642
1389
|
|
|
1643
1390
|
if __name__ == "__main__":
|
|
1644
1391
|
try:
|
|
1645
1392
|
main()
|
|
1646
1393
|
except Exception:
|
|
1647
|
-
pass
|
|
1394
|
+
pass
|
|
1648
1395
|
`;
|
|
1649
|
-
/** Hook manifest entries (agents.yaml shape) for the activity-log hook. */
|
|
1650
1396
|
const ACTIVITY_HOOK_DEFINITIONS = {
|
|
1651
1397
|
'activity-log-intent': {
|
|
1652
1398
|
agents: ['claude'],
|
|
@@ -1663,11 +1409,6 @@ const ACTIVITY_HOOK_DEFINITIONS = {
|
|
|
1663
1409
|
timeout: 5,
|
|
1664
1410
|
},
|
|
1665
1411
|
};
|
|
1666
|
-
/**
|
|
1667
|
-
* Install the activity-log hook script into the user hooks dir and add its
|
|
1668
|
-
* manifest entries to the user agents.yaml. Mirrors {@link ensureFeedPublishHook}
|
|
1669
|
-
* in feed.ts -- idempotent, and never writes the read-only system repo.
|
|
1670
|
-
*/
|
|
1671
1412
|
export function ensureActivityLogHook(userAgentsDir = getUserAgentsDir()) {
|
|
1672
1413
|
try {
|
|
1673
1414
|
const hooksDir = path.join(userAgentsDir, 'hooks');
|
|
@@ -1695,12 +1436,6 @@ export function ensureActivityLogHook(userAgentsDir = getUserAgentsDir()) {
|
|
|
1695
1436
|
}
|
|
1696
1437
|
if (installed) {
|
|
1697
1438
|
const tmpYaml = `${agentsYamlPath}.${process.pid}.tmp`;
|
|
1698
|
-
// `flowCollectionPadding: false` matches the committed formatting — see the
|
|
1699
|
-
// twin `ensureFeedPublishHook` in feed.ts. Without it, re-emitting a
|
|
1700
|
-
// committed flow node (`[a, b]` -> `[ a, b ]`) leaves the git-backed
|
|
1701
|
-
// `~/.agents` tree permanently dirty and blocks `agents repo pull`
|
|
1702
|
-
// fleet-wide (RUSH-2505). This writer runs back-to-back with the feed one
|
|
1703
|
-
// on the `agents feed` path, so both must round-trip cleanly.
|
|
1704
1439
|
fs.writeFileSync(tmpYaml, stringifyDoc(yamlDoc));
|
|
1705
1440
|
fs.renameSync(tmpYaml, agentsYamlPath);
|
|
1706
1441
|
}
|