@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,41 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Surfacing the held set of agent worktrees (PHNX-3520).
|
|
3
|
-
*
|
|
4
|
-
* The nightly `worktree-sweep` routine (PHNX-3503, in phnx-labs/.agents)
|
|
5
|
-
* reclaims merged worktrees and correctly HOLDS anything dirty, unmerged, or
|
|
6
|
-
* undeterminable. That fail-closed bias is right for a destructive job, but it
|
|
7
|
-
* left the held set a silent, growing residue that nothing ever resolves — the
|
|
8
|
-
* sweep prints only a `held=<n>` count. Measured 2026-08-30 the held set is
|
|
9
|
-
* consistently LARGER than the reclaimed set (~800 worktrees fleet-wide), and
|
|
10
|
-
* one bucket inside it — worktrees whose branch carries commits on no remote —
|
|
11
|
-
* is real stranded work (the PHNX-2951 / PHNX-2732 failure class: an agent
|
|
12
|
-
* finished, its commits never reached a remote, and nothing surfaces it).
|
|
13
|
-
*
|
|
14
|
-
* This module is the READ-ONLY surfacing half. It does not remove anything —
|
|
15
|
-
* the destructive reclaim was deliberately reverted from the CLI (3a8d1eb04 →
|
|
16
|
-
* 7e48361f5) and lives as a shell routine. Here we only classify each held
|
|
17
|
-
* worktree into a bucket so the `unmerged-commits` set can be surfaced and,
|
|
18
|
-
* with `pushStrandedBranch`, recovered by publishing the branch — never by
|
|
19
|
-
* deleting anything. Everything fails CLOSED: an unreadable status or an
|
|
20
|
-
* undeterminable merge state is a bucket of its own, never read as "fine".
|
|
21
|
-
*/
|
|
22
1
|
import { execFile } from 'child_process';
|
|
23
2
|
import { promisify } from 'util';
|
|
24
3
|
import * as fs from 'fs/promises';
|
|
25
4
|
import * as path from 'path';
|
|
26
5
|
const execFileAsync = promisify(execFile);
|
|
27
|
-
/** Worktree dir names are slugs; anything else is refused rather than shelled. */
|
|
28
6
|
const WORKTREE_NAME_RE = /^[A-Za-z0-9._-]+$/;
|
|
29
7
|
async function git(cwd, args) {
|
|
30
8
|
const { stdout } = await execFileAsync('git', args, { cwd, maxBuffer: 8 * 1024 * 1024 });
|
|
31
9
|
return stdout.trim();
|
|
32
10
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Resolve the default branch ref to compare against: `origin/HEAD` when set,
|
|
35
|
-
* else whichever of `origin/main` / `origin/master` exists. Returns null when
|
|
36
|
-
* none resolve, which makes every worktree `merge-state-unknown` rather than
|
|
37
|
-
* silently comparing against nothing.
|
|
38
|
-
*/
|
|
39
11
|
export async function resolveDefaultRef(repoRoot) {
|
|
40
12
|
try {
|
|
41
13
|
const head = await git(repoRoot, ['symbolic-ref', '--short', '-q', 'refs/remotes/origin/HEAD']);
|
|
@@ -43,7 +15,6 @@ export async function resolveDefaultRef(repoRoot) {
|
|
|
43
15
|
return head;
|
|
44
16
|
}
|
|
45
17
|
catch {
|
|
46
|
-
/* fall through to the probes below */
|
|
47
18
|
}
|
|
48
19
|
for (const ref of ['origin/main', 'origin/master']) {
|
|
49
20
|
try {
|
|
@@ -51,21 +22,10 @@ export async function resolveDefaultRef(repoRoot) {
|
|
|
51
22
|
return ref;
|
|
52
23
|
}
|
|
53
24
|
catch {
|
|
54
|
-
/* try the next candidate */
|
|
55
25
|
}
|
|
56
26
|
}
|
|
57
27
|
return null;
|
|
58
28
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Count commits with no patch-equivalent upstream. Returns -1 when the answer
|
|
61
|
-
* cannot be established, which the classifier treats as `merge-state-unknown`.
|
|
62
|
-
*
|
|
63
|
-
* Patch-id (`git cherry`), NOT ancestry, is load-bearing: this fleet
|
|
64
|
-
* rebase-merges, so a landed branch's SHAs are rewritten and
|
|
65
|
-
* `merge-base --is-ancestor` reports *not merged* for work that fully landed.
|
|
66
|
-
* It also subsumes the unpushed check — an unpushed commit has no upstream
|
|
67
|
-
* equivalent, so it surfaces as unmerged rather than needing a separate probe.
|
|
68
|
-
*/
|
|
69
29
|
async function countUnmergedCommits(worktreePath, defaultRef) {
|
|
70
30
|
if (!defaultRef)
|
|
71
31
|
return -1;
|
|
@@ -102,43 +62,21 @@ function parseWorktreePorcelain(out) {
|
|
|
102
62
|
entries.push(cur);
|
|
103
63
|
return entries;
|
|
104
64
|
}
|
|
105
|
-
/**
|
|
106
|
-
* True when `child` is `parent` or sits beneath it, compared on path
|
|
107
|
-
* boundaries. A raw `startsWith` makes `.../fix-1103` look like it is inside
|
|
108
|
-
* `.../fix-110`, so the primary checkout would be mistaken for a neighbour.
|
|
109
|
-
*/
|
|
110
65
|
export function isInside(child, parent) {
|
|
111
66
|
const rel = path.relative(parent, child);
|
|
112
67
|
return rel === '' || (rel !== '..' && !rel.startsWith('..' + path.sep) && !path.isAbsolute(rel));
|
|
113
68
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Decide which bucket a worktree falls into, or null when it is neither stranded
|
|
116
|
-
* nor dirty nor broken (clean and fully upstream — nothing to surface). Pure.
|
|
117
|
-
*
|
|
118
|
-
* Precedence is chosen for SURFACING, not for the sweep's deletion decision:
|
|
119
|
-
* the work-loss signal wins. A determinable `unmerged-commits` is reported as
|
|
120
|
-
* exactly that even when the tree is also dirty, because the recoverable work
|
|
121
|
-
* is the priority — an operator seeing `uncommitted-changes` would push nothing.
|
|
122
|
-
* Only when the merge state itself is unreadable do we fall to `undeterminable`,
|
|
123
|
-
* because then we genuinely cannot tell whether work is stranded.
|
|
124
|
-
*/
|
|
125
69
|
export function classifyHeld(facts) {
|
|
126
|
-
// Fail closed first: if we could not establish the merge state, we cannot
|
|
127
|
-
// claim the work is safe, so it is undeterminable — never silently "clean".
|
|
128
70
|
if (facts.unmergedCommits < 0)
|
|
129
71
|
return { bucket: 'undeterminable', reason: 'merge-state-unknown' };
|
|
130
|
-
// The bucket that matters: commits on no upstream. Reported even over a dirty
|
|
131
|
-
// tree, since the branch carries recoverable work regardless of the worktree.
|
|
132
72
|
if (facts.unmergedCommits > 0)
|
|
133
73
|
return { bucket: 'unmerged-commits', reason: 'unmerged-commits' };
|
|
134
|
-
// Merge state is clean; now an unreadable status is its own broken-checkout case.
|
|
135
74
|
if (facts.dirtyFiles < 0)
|
|
136
75
|
return { bucket: 'undeterminable', reason: 'status-unreadable' };
|
|
137
76
|
if (facts.dirtyFiles > 0)
|
|
138
77
|
return { bucket: 'uncommitted-changes', reason: 'uncommitted-changes' };
|
|
139
78
|
return null;
|
|
140
79
|
}
|
|
141
|
-
/** Recursively total the byte size of a directory tree; -1 if it can't be read. */
|
|
142
80
|
async function dirSize(dir) {
|
|
143
81
|
let total = 0;
|
|
144
82
|
let entries;
|
|
@@ -162,17 +100,10 @@ async function dirSize(dir) {
|
|
|
162
100
|
}
|
|
163
101
|
}
|
|
164
102
|
catch {
|
|
165
|
-
/* a file that vanished mid-walk contributes nothing */
|
|
166
103
|
}
|
|
167
104
|
}
|
|
168
105
|
return total;
|
|
169
106
|
}
|
|
170
|
-
/**
|
|
171
|
-
* Classify every worktree registered under one repo and return only the held
|
|
172
|
-
* ones. Read-only — no `git worktree remove`, no `branch -d`, no push. The
|
|
173
|
-
* primary checkout (the first porcelain record, always the repo root) is never
|
|
174
|
-
* a `.agents/worktrees` slug, so it is skipped implicitly.
|
|
175
|
-
*/
|
|
176
107
|
export async function collectHeldWorktrees(repoRoot) {
|
|
177
108
|
let porcelain;
|
|
178
109
|
try {
|
|
@@ -188,8 +119,6 @@ export async function collectHeldWorktrees(repoRoot) {
|
|
|
188
119
|
const repoName = path.basename(repoRoot);
|
|
189
120
|
const held = [];
|
|
190
121
|
for (const e of entries) {
|
|
191
|
-
// Only the PR-bound agent worktrees the sweep governs — not the primary
|
|
192
|
-
// checkout and not any ad-hoc worktree elsewhere on disk.
|
|
193
122
|
if (!isInside(e.path, wtContainer))
|
|
194
123
|
continue;
|
|
195
124
|
let dirtyFiles = -1;
|
|
@@ -239,11 +168,6 @@ export async function collectHeldWorktrees(repoRoot) {
|
|
|
239
168
|
}
|
|
240
169
|
return held;
|
|
241
170
|
}
|
|
242
|
-
/**
|
|
243
|
-
* Discover repo roots that own a `.agents/worktrees` container beneath
|
|
244
|
-
* `searchHome`. Mirrors the sweep's discovery: match directory SHAPE, prune the
|
|
245
|
-
* heavy dirs so a large home stays fast. Read-only.
|
|
246
|
-
*/
|
|
247
171
|
async function discoverWorktreeRepos(searchHome, maxDepth = 7) {
|
|
248
172
|
const PRUNE = new Set([
|
|
249
173
|
'node_modules', '.cache', '.npm', '.bun', 'Library', '.venv', 'dist', 'target', '.git',
|
|
@@ -265,7 +189,6 @@ async function discoverWorktreeRepos(searchHome, maxDepth = 7) {
|
|
|
265
189
|
if (PRUNE.has(e.name))
|
|
266
190
|
continue;
|
|
267
191
|
const p = path.join(dir, e.name);
|
|
268
|
-
// A `.agents/worktrees` dir marks its grandparent as a repo root.
|
|
269
192
|
if (e.name === '.agents') {
|
|
270
193
|
try {
|
|
271
194
|
const st = await fs.stat(path.join(p, 'worktrees'));
|
|
@@ -273,9 +196,8 @@ async function discoverWorktreeRepos(searchHome, maxDepth = 7) {
|
|
|
273
196
|
repos.add(dir);
|
|
274
197
|
}
|
|
275
198
|
catch {
|
|
276
|
-
/* no worktrees container here */
|
|
277
199
|
}
|
|
278
|
-
continue;
|
|
200
|
+
continue;
|
|
279
201
|
}
|
|
280
202
|
await walk(p, depth + 1);
|
|
281
203
|
}
|
|
@@ -283,7 +205,6 @@ async function discoverWorktreeRepos(searchHome, maxDepth = 7) {
|
|
|
283
205
|
await walk(searchHome, 0);
|
|
284
206
|
return [...repos].sort();
|
|
285
207
|
}
|
|
286
|
-
/** Discover + classify every held worktree beneath `searchHome`. Read-only. */
|
|
287
208
|
export async function collectHeldWorktreesUnder(searchHome) {
|
|
288
209
|
const repos = await discoverWorktreeRepos(searchHome);
|
|
289
210
|
const all = [];
|
|
@@ -297,19 +218,12 @@ const EMPTY_BUCKETS = () => ({
|
|
|
297
218
|
'uncommitted-changes': [],
|
|
298
219
|
'undeterminable': [],
|
|
299
220
|
});
|
|
300
|
-
/** Group a flat held list into its three buckets. Pure. */
|
|
301
221
|
export function summarizeHeld(held) {
|
|
302
222
|
const buckets = EMPTY_BUCKETS();
|
|
303
223
|
for (const w of held)
|
|
304
224
|
buckets[w.bucket].push(w);
|
|
305
225
|
return { total: held.length, buckets };
|
|
306
226
|
}
|
|
307
|
-
/**
|
|
308
|
-
* Merge several devices' held sets into one fleet roll-up, stamping each entry
|
|
309
|
-
* with its source device so the `unmerged-commits` bucket names where the
|
|
310
|
-
* stranded work lives. Pure — the SSH fan-out that produces the input lives in
|
|
311
|
-
* the command layer.
|
|
312
|
-
*/
|
|
313
227
|
export function aggregateHeld(perDevice) {
|
|
314
228
|
const buckets = EMPTY_BUCKETS();
|
|
315
229
|
const devices = [];
|
|
@@ -322,28 +236,12 @@ export function aggregateHeld(perDevice) {
|
|
|
322
236
|
}
|
|
323
237
|
return { total, buckets, devices };
|
|
324
238
|
}
|
|
325
|
-
/**
|
|
326
|
-
* The safe automatic action for the `unmerged-commits` bucket (ticket step 3):
|
|
327
|
-
* PUBLISH the branch so the work becomes visible, never remove anything.
|
|
328
|
-
*
|
|
329
|
-
* Gated hard, fails closed:
|
|
330
|
-
* - only a worktree whose live classification is still `unmerged-commits`;
|
|
331
|
-
* - only when the branch does NOT already exist on `origin` — a branch that is
|
|
332
|
-
* already pushed (including one behind an open PR) needs nothing, and this
|
|
333
|
-
* also means we never force-update a remote ref;
|
|
334
|
-
* - a slug-shaped worktree name only, never shelled otherwise.
|
|
335
|
-
*
|
|
336
|
-
* `git push` sets no `--force`: it fast-forwards a new ref or fails loud. A
|
|
337
|
-
* failure is returned, never swallowed.
|
|
338
|
-
*/
|
|
339
239
|
export async function pushStrandedBranch(repoRoot, wt) {
|
|
340
240
|
const base = { name: wt.name, branch: wt.branch, pushed: false, reason: '' };
|
|
341
241
|
if (!WORKTREE_NAME_RE.test(wt.name))
|
|
342
242
|
return { ...base, reason: 'unsafe worktree name' };
|
|
343
243
|
if (!wt.branch)
|
|
344
244
|
return { ...base, reason: 'detached HEAD — no branch to push' };
|
|
345
|
-
// Re-read the facts NOW: the collected snapshot may be stale, and pushing on
|
|
346
|
-
// a stale "unmerged" verdict is the one thing we must not get wrong.
|
|
347
245
|
const defaultRef = await resolveDefaultRef(repoRoot);
|
|
348
246
|
const unmerged = await countUnmergedCommits(wt.path, defaultRef);
|
|
349
247
|
const fresh = classifyHeld({ branch: wt.branch, dirtyFiles: 0, unmergedCommits: unmerged });
|
package/dist/lib/wrap.d.ts
CHANGED
|
@@ -1,33 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Terminal word-wrap — one shared helper for the whole CLI.
|
|
3
|
-
*
|
|
4
|
-
* Multi-line word wrapping is the gap the single-line helpers in
|
|
5
|
-
* `session/width.ts` (`truncateToWidth`, `padToWidth`) do not fill. Anywhere that
|
|
6
|
-
* renders variable-length text into a fixed-width terminal wraps through THIS,
|
|
7
|
-
* never a per-field slice.
|
|
8
|
-
*
|
|
9
|
-
* Width is measured with `stringWidth` (from the canonical `session/width.ts`),
|
|
10
|
-
* NOT `String.length`: the text this wraps is routinely ANSI-coloured (chalk /
|
|
11
|
-
* marked-terminal output) and may carry OSC-8 hyperlinks, where `.length`
|
|
12
|
-
* over-counts the invisible escape bytes. Words are split on whitespace, so a
|
|
13
|
-
* wrap boundary always falls between escape sequences, never inside one.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Hard-wrap `text` to `cols` visible columns.
|
|
17
|
-
*
|
|
18
|
-
* - Splits on existing newlines first (each paragraph wraps independently).
|
|
19
|
-
* - Wraps on whitespace; a single word wider than the available width is emitted
|
|
20
|
-
* on its own line rather than split mid-word (and never mid-escape).
|
|
21
|
-
* - Width is the visible display width via `stringWidth`, so ANSI colour and
|
|
22
|
-
* OSC-8 hyperlink escapes do not inflate the count.
|
|
23
|
-
* - `hangingIndent` pads every line AFTER the first with that many spaces, so a
|
|
24
|
-
* labelled value ("Latest <text>") keeps its continuation lines aligned under
|
|
25
|
-
* the value. The wrapping width is `cols - indent`.
|
|
26
|
-
* - Floor: when `hangingIndent` is set, the width is floored at 8 so a
|
|
27
|
-
* pathologically large indent still makes forward progress. With no indent the
|
|
28
|
-
* floor is 1, so a legitimately small `cols` is respected, never overridden. A
|
|
29
|
-
* non-finite `cols` degrades to the floor rather than silently disabling wrap.
|
|
30
|
-
*
|
|
31
|
-
* Returns the wrapped lines (never mutates input). An empty string yields [''].
|
|
32
|
-
*/
|
|
33
1
|
export declare function wrapToWidth(text: string, cols: number, hangingIndent?: number): string[];
|
package/dist/lib/wrap.js
CHANGED
|
@@ -1,36 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Terminal word-wrap — one shared helper for the whole CLI.
|
|
3
|
-
*
|
|
4
|
-
* Multi-line word wrapping is the gap the single-line helpers in
|
|
5
|
-
* `session/width.ts` (`truncateToWidth`, `padToWidth`) do not fill. Anywhere that
|
|
6
|
-
* renders variable-length text into a fixed-width terminal wraps through THIS,
|
|
7
|
-
* never a per-field slice.
|
|
8
|
-
*
|
|
9
|
-
* Width is measured with `stringWidth` (from the canonical `session/width.ts`),
|
|
10
|
-
* NOT `String.length`: the text this wraps is routinely ANSI-coloured (chalk /
|
|
11
|
-
* marked-terminal output) and may carry OSC-8 hyperlinks, where `.length`
|
|
12
|
-
* over-counts the invisible escape bytes. Words are split on whitespace, so a
|
|
13
|
-
* wrap boundary always falls between escape sequences, never inside one.
|
|
14
|
-
*/
|
|
15
1
|
import { stringWidth } from './session/width.js';
|
|
16
|
-
/**
|
|
17
|
-
* Hard-wrap `text` to `cols` visible columns.
|
|
18
|
-
*
|
|
19
|
-
* - Splits on existing newlines first (each paragraph wraps independently).
|
|
20
|
-
* - Wraps on whitespace; a single word wider than the available width is emitted
|
|
21
|
-
* on its own line rather than split mid-word (and never mid-escape).
|
|
22
|
-
* - Width is the visible display width via `stringWidth`, so ANSI colour and
|
|
23
|
-
* OSC-8 hyperlink escapes do not inflate the count.
|
|
24
|
-
* - `hangingIndent` pads every line AFTER the first with that many spaces, so a
|
|
25
|
-
* labelled value ("Latest <text>") keeps its continuation lines aligned under
|
|
26
|
-
* the value. The wrapping width is `cols - indent`.
|
|
27
|
-
* - Floor: when `hangingIndent` is set, the width is floored at 8 so a
|
|
28
|
-
* pathologically large indent still makes forward progress. With no indent the
|
|
29
|
-
* floor is 1, so a legitimately small `cols` is respected, never overridden. A
|
|
30
|
-
* non-finite `cols` degrades to the floor rather than silently disabling wrap.
|
|
31
|
-
*
|
|
32
|
-
* Returns the wrapped lines (never mutates input). An empty string yields [''].
|
|
33
|
-
*/
|
|
34
2
|
export function wrapToWidth(text, cols, hangingIndent = 0) {
|
|
35
3
|
const indent = Math.max(0, Math.trunc(hangingIndent));
|
|
36
4
|
const floor = indent > 0 ? 8 : 1;
|
package/dist/lib/yaml-io.d.ts
CHANGED
|
@@ -1,47 +1,2 @@
|
|
|
1
1
|
import * as yaml from 'yaml';
|
|
2
|
-
/**
|
|
3
|
-
* The single serialization used by every writer that edits a shared, committed
|
|
4
|
-
* YAML document in place.
|
|
5
|
-
*
|
|
6
|
-
* RUSH-2505 had two halves. The first: the `yaml` emitter pads flow collections
|
|
7
|
-
* by default, so a round trip rewrote
|
|
8
|
-
*
|
|
9
|
-
* command: [agents, notify, "{message}"]
|
|
10
|
-
* as
|
|
11
|
-
* command: [ agents, notify, "{message}" ]
|
|
12
|
-
*
|
|
13
|
-
* The second, which outlived the first fix: `agents.yaml` has five in-place
|
|
14
|
-
* writers, and they did not agree on collection style. `state.ts` and
|
|
15
|
-
* `manifest.ts` forced block while `feed.ts`, `activity.ts` and `migrate.ts`
|
|
16
|
-
* took the defaults, so an empty map came out as
|
|
17
|
-
*
|
|
18
|
-
* mcp: from two of them, and mcp: {}
|
|
19
|
-
* {} from the other three,
|
|
20
|
-
*
|
|
21
|
-
* and each group rewrote the other's output on the next command.
|
|
22
|
-
*
|
|
23
|
-
* Both diffs are semantically no-ops, which is what made them dangerous. The
|
|
24
|
-
* working tree went permanently dirty, then `agents repo pull` refused
|
|
25
|
-
* ("Blocked by local changes") and `git merge --ff-only` refused, so the box
|
|
26
|
-
* silently stopped receiving fleet config. Seven boxes fell 37-52 commits
|
|
27
|
-
* behind and nothing reported it.
|
|
28
|
-
*
|
|
29
|
-
* Two constraints pull in opposite directions, and both are real:
|
|
30
|
-
*
|
|
31
|
-
* - Forcing `collectionStyle: 'block'` unconditionally flattens a committed
|
|
32
|
-
* flow sequence into a block list — its own dirtying diff, asserted against
|
|
33
|
-
* by the RUSH-2505 case in `feed.test.ts`.
|
|
34
|
-
* - Never forcing it regresses what `state.ts` and `manifest.ts` were guarding:
|
|
35
|
-
* when the document ROOT is flow (a legacy `{}` or `{a: 1}` file), every
|
|
36
|
-
* edited node inherits flow, so a `doc.set()` yields
|
|
37
|
-
* `{a: 1, disabledCommands: [teams]}` instead of a block mapping.
|
|
38
|
-
*
|
|
39
|
-
* So block is forced exactly when the root is flow, which is the only case that
|
|
40
|
-
* needs it, and left alone otherwise. Every writer gets the same rule, so the
|
|
41
|
-
* same document can only produce one result and there is nothing left to
|
|
42
|
-
* oscillate.
|
|
43
|
-
*
|
|
44
|
-
* Caller options merge last, so a writer with a genuine reason to differ still
|
|
45
|
-
* can — but it then owns the drift it causes.
|
|
46
|
-
*/
|
|
47
2
|
export declare function stringifyDoc(doc: yaml.Document, options?: yaml.ToStringOptions): string;
|
package/dist/lib/yaml-io.js
CHANGED
|
@@ -1,51 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single serialization used by every writer that edits a shared, committed
|
|
3
|
-
* YAML document in place.
|
|
4
|
-
*
|
|
5
|
-
* RUSH-2505 had two halves. The first: the `yaml` emitter pads flow collections
|
|
6
|
-
* by default, so a round trip rewrote
|
|
7
|
-
*
|
|
8
|
-
* command: [agents, notify, "{message}"]
|
|
9
|
-
* as
|
|
10
|
-
* command: [ agents, notify, "{message}" ]
|
|
11
|
-
*
|
|
12
|
-
* The second, which outlived the first fix: `agents.yaml` has five in-place
|
|
13
|
-
* writers, and they did not agree on collection style. `state.ts` and
|
|
14
|
-
* `manifest.ts` forced block while `feed.ts`, `activity.ts` and `migrate.ts`
|
|
15
|
-
* took the defaults, so an empty map came out as
|
|
16
|
-
*
|
|
17
|
-
* mcp: from two of them, and mcp: {}
|
|
18
|
-
* {} from the other three,
|
|
19
|
-
*
|
|
20
|
-
* and each group rewrote the other's output on the next command.
|
|
21
|
-
*
|
|
22
|
-
* Both diffs are semantically no-ops, which is what made them dangerous. The
|
|
23
|
-
* working tree went permanently dirty, then `agents repo pull` refused
|
|
24
|
-
* ("Blocked by local changes") and `git merge --ff-only` refused, so the box
|
|
25
|
-
* silently stopped receiving fleet config. Seven boxes fell 37-52 commits
|
|
26
|
-
* behind and nothing reported it.
|
|
27
|
-
*
|
|
28
|
-
* Two constraints pull in opposite directions, and both are real:
|
|
29
|
-
*
|
|
30
|
-
* - Forcing `collectionStyle: 'block'` unconditionally flattens a committed
|
|
31
|
-
* flow sequence into a block list — its own dirtying diff, asserted against
|
|
32
|
-
* by the RUSH-2505 case in `feed.test.ts`.
|
|
33
|
-
* - Never forcing it regresses what `state.ts` and `manifest.ts` were guarding:
|
|
34
|
-
* when the document ROOT is flow (a legacy `{}` or `{a: 1}` file), every
|
|
35
|
-
* edited node inherits flow, so a `doc.set()` yields
|
|
36
|
-
* `{a: 1, disabledCommands: [teams]}` instead of a block mapping.
|
|
37
|
-
*
|
|
38
|
-
* So block is forced exactly when the root is flow, which is the only case that
|
|
39
|
-
* needs it, and left alone otherwise. Every writer gets the same rule, so the
|
|
40
|
-
* same document can only produce one result and there is nothing left to
|
|
41
|
-
* oscillate.
|
|
42
|
-
*
|
|
43
|
-
* Caller options merge last, so a writer with a genuine reason to differ still
|
|
44
|
-
* can — but it then owns the drift it causes.
|
|
45
|
-
*/
|
|
46
1
|
export function stringifyDoc(doc, options = {}) {
|
|
47
|
-
// A flow root makes every edited node render flow; normalize the whole doc to
|
|
48
|
-
// block in that case only. `contents.flow` is undefined for a block root.
|
|
49
2
|
const rootIsFlow = doc.contents?.flow === true;
|
|
50
3
|
return doc.toString({
|
|
51
4
|
flowCollectionPadding: false,
|
|
@@ -2,7 +2,6 @@ import * as fs from 'fs';
|
|
|
2
2
|
import * as os from 'os';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
export const CLAUDE_PROJECTS_ROOT = path.join(os.homedir(), '.claude', 'projects');
|
|
5
|
-
// Mirrors swarmify's workspaceToClaudeFolder: replace / and . with -
|
|
6
5
|
export function claudeWorkspaceFolder(cwd) {
|
|
7
6
|
return cwd.replace(/[\/.]/g, '-');
|
|
8
7
|
}
|
|
@@ -37,7 +36,6 @@ export async function awaitNewSession(cwd, before, timeoutMs, pollMs = 50) {
|
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
catch {
|
|
40
|
-
/* dir may not exist yet */
|
|
41
39
|
}
|
|
42
40
|
await new Promise((r) => setTimeout(r, pollMs));
|
|
43
41
|
}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# Polyglot SessionStart hook.
|
|
3
|
-
#
|
|
4
|
-
# Registered as a SessionStart hook in each agent's native config file.
|
|
5
|
-
# Each agent passes the hook payload differently:
|
|
6
|
-
# - claude/codex/cursor: JSON on stdin with session_id (+conversation_id for cursor)
|
|
7
|
-
# - grok: GROK_SESSION_ID and GROK_WORKSPACE_ROOT env vars
|
|
8
|
-
# - hermes: JSON on stdin (on_session_start payload); best-effort field probe
|
|
9
|
-
# - gemini/antigravity: best-effort stdin-JSON probe
|
|
10
|
-
#
|
|
11
|
-
# Writes ~/.agents/.cache/terminals/sessions/<PPID>.json with the canonical
|
|
12
|
-
# SessionState schema from src/types.ts. Atomic via mktemp + mv.
|
|
13
|
-
#
|
|
14
|
-
# Invocation:
|
|
15
|
-
# hook.sh <agent> # required; selects which payload format to parse
|
|
16
|
-
#
|
|
17
|
-
# Silent on success (SessionStart stdout leaks into the model context).
|
|
18
2
|
|
|
19
3
|
set -euo pipefail
|
|
20
4
|
|
|
@@ -34,10 +18,7 @@ if [ -z "$AGENT" ]; then
|
|
|
34
18
|
exit 0
|
|
35
19
|
fi
|
|
36
20
|
|
|
37
|
-
#
|
|
38
|
-
# Use `cat` only when stdin is not a TTY — and rely on hosts (claude, codex,
|
|
39
|
-
# cursor) closing stdin promptly. macOS has no `timeout` in PATH by default,
|
|
40
|
-
# so we don't use it.
|
|
21
|
+
# Stdout enters model context: stay silent, and read hook payload only from non-TTY stdin.
|
|
41
22
|
STDIN_JSON=""
|
|
42
23
|
if [ ! -t 0 ]; then
|
|
43
24
|
STDIN_JSON="$(cat || true)"
|
|
@@ -48,7 +29,7 @@ CWD=""
|
|
|
48
29
|
METHOD="hook-stdin"
|
|
49
30
|
|
|
50
31
|
extract_stdin_json() {
|
|
51
|
-
local field_priority="$1"
|
|
32
|
+
local field_priority="$1"
|
|
52
33
|
python3 -c "
|
|
53
34
|
import json, sys
|
|
54
35
|
try:
|
|
@@ -79,8 +60,6 @@ case "$AGENT" in
|
|
|
79
60
|
METHOD="hook-env"
|
|
80
61
|
;;
|
|
81
62
|
hermes|gemini|antigravity)
|
|
82
|
-
# Best-effort stdin-JSON probe across the field names these harnesses use.
|
|
83
|
-
# A miss exits 0 below (no state file) — never a wrong write.
|
|
84
63
|
SID="$(printf '%s' "$STDIN_JSON" | extract_stdin_json 'session_id conversation_id sessionId')"
|
|
85
64
|
CWD="$(printf '%s' "$STDIN_JSON" | extract_stdin_json 'cwd workspace_roots')"
|
|
86
65
|
;;
|
|
@@ -93,8 +72,7 @@ if [ -z "$SID" ]; then
|
|
|
93
72
|
exit 0
|
|
94
73
|
fi
|
|
95
74
|
|
|
96
|
-
#
|
|
97
|
-
# either mktemp or mv sees the harness-provided value.
|
|
75
|
+
# Reject path-bearing ids; state filenames are atomic replacements keyed only by the harness's real id.
|
|
98
76
|
case "$SID" in
|
|
99
77
|
*'/'*|*'\'*|'.'|'..') exit 0 ;;
|
|
100
78
|
esac
|
|
@@ -128,25 +106,14 @@ PY
|
|
|
128
106
|
|
|
129
107
|
mv -f "$TMP" "$STATE_DIR/$PPID.json"
|
|
130
108
|
|
|
131
|
-
# Prune dead-pid records, zero-byte files, and orphaned temp files left by
|
|
132
|
-
# crashed atomic writes. Keep stdout/stderr silent — it leaks into the model.
|
|
133
109
|
PRUNE_SCRIPT="$SCRIPT_DIR/../dist/prune-state.js"
|
|
134
110
|
if [ -f "$PRUNE_SCRIPT" ]; then
|
|
135
111
|
node "$PRUNE_SCRIPT" >/dev/null 2>&1 || true
|
|
136
112
|
fi
|
|
137
113
|
|
|
138
|
-
# Persist
|
|
139
|
-
# exports the EFFECTIVE mode after capability/headless resolution, plus the
|
|
140
|
-
# shared (non-version-home) history directory. Atomic replacement lets a native
|
|
141
|
-
# resume with an explicit --mode become the new mode for the next resume.
|
|
114
|
+
# Persist mode/version/account only after the harness supplies its real session id, so native resume pins origin.
|
|
142
115
|
HISTORY_DIR="${AGENTS_HISTORY_DIR:-}"
|
|
143
116
|
RUN_MODE="${AGENTS_RUN_MODE:-}"
|
|
144
|
-
# The agents-cli version-home id this run launched under. Recorded here (not at
|
|
145
|
-
# spawn) for the same reason as RUN_MODE: the harness coins its real session id
|
|
146
|
-
# only after launch, so it must be joined to that id by this hook. A later native
|
|
147
|
-
# resume pins the exact origin version off it, so a session whose transcript
|
|
148
|
-
# carries no derivable version (codex's `.codex-homes/<version>/` home) still
|
|
149
|
-
# resumes natively instead of degrading to `/continue` (PHNX-3626).
|
|
150
117
|
RUN_VERSION="${AGENTS_RUN_VERSION:-}"
|
|
151
118
|
RUN_ACCOUNT_ID="${AGENTS_RUN_ACCOUNT_ID:-}"
|
|
152
119
|
TMUX_SESSION_NAME="${AGENT_TMUX_SESSION_NAME:-}"
|
|
@@ -5,15 +5,8 @@ export * from './writer.js';
|
|
|
5
5
|
export * from './install-hook.js';
|
|
6
6
|
export { descendantPids, findStateByPid, findStateInTree, findStateByTerminalId, findStateByLaunchId, pruneStaleSessionState, } from './reader.js';
|
|
7
7
|
export interface TrackSpawnOptions {
|
|
8
|
-
/** Max time to wait for the SessionStart hook to land the state file. Default 5000ms. */
|
|
9
8
|
timeoutMs?: number;
|
|
10
|
-
/** Poll interval. Default 50ms. */
|
|
11
9
|
pollIntervalMs?: number;
|
|
12
10
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Wait for the polyglot SessionStart hook (src/hook.sh) to drop a state file
|
|
15
|
-
* at stateFilePath(input.agentPid). Resolves as soon as it appears.
|
|
16
|
-
* Returns confidence='low' / sessionId=null on timeout.
|
|
17
|
-
*/
|
|
18
11
|
export declare function trackSpawn(input: TrackSpawnInput, opts?: TrackSpawnOptions): Promise<DetectionResult>;
|
|
19
12
|
export declare function getLiveSession(input: LookupInput): Promise<SessionState | null>;
|
|
@@ -6,11 +6,6 @@ export * from './state-file.js';
|
|
|
6
6
|
export * from './writer.js';
|
|
7
7
|
export * from './install-hook.js';
|
|
8
8
|
export { descendantPids, findStateByPid, findStateInTree, findStateByTerminalId, findStateByLaunchId, pruneStaleSessionState, } from './reader.js';
|
|
9
|
-
/**
|
|
10
|
-
* Wait for the polyglot SessionStart hook (src/hook.sh) to drop a state file
|
|
11
|
-
* at stateFilePath(input.agentPid). Resolves as soon as it appears.
|
|
12
|
-
* Returns confidence='low' / sessionId=null on timeout.
|
|
13
|
-
*/
|
|
14
9
|
export async function trackSpawn(input, opts = {}) {
|
|
15
10
|
const timeoutMs = opts.timeoutMs ?? 5000;
|
|
16
11
|
const pollIntervalMs = opts.pollIntervalMs ?? 50;
|
|
@@ -8,12 +8,7 @@ export interface InstallResult {
|
|
|
8
8
|
export interface InstallOptions {
|
|
9
9
|
dryRun?: boolean;
|
|
10
10
|
hookPathOverride?: string;
|
|
11
|
-
/** Home directory whose harness-native config should be written. Defaults to
|
|
12
|
-
* `os.homedir()` so the live config (usually a symlink into the active
|
|
13
|
-
* version home) is updated. */
|
|
14
11
|
home?: string;
|
|
15
12
|
}
|
|
16
|
-
/** Every agent id the hook installer knows — the keys of the compile-time-complete
|
|
17
|
-
* {@link HOOK_SUPPORT} table (Record<AgentId, …>), so this can never drift from AgentId. */
|
|
18
13
|
export declare const HOOK_AGENTS: AgentId[];
|
|
19
14
|
export declare function installHookFor(agent: AgentId, opts?: InstallOptions): Promise<InstallResult>;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
// Installs the polyglot src/hook.sh as a SessionStart hook in each agent's
|
|
2
|
-
// native config file. Idempotent — running twice does not double-register.
|
|
3
|
-
//
|
|
4
|
-
// CLI usage:
|
|
5
|
-
// tsx src/install-hook.ts claude
|
|
6
|
-
// tsx src/install-hook.ts claude codex cursor
|
|
7
1
|
import * as fs from 'fs';
|
|
8
2
|
import * as os from 'os';
|
|
9
3
|
import * as path from 'path';
|
|
@@ -17,7 +11,6 @@ function hookCommand(agent, opts) {
|
|
|
17
11
|
const hook = opts.hookPathOverride ?? HOOK_PATH;
|
|
18
12
|
return `${hook} ${agent}`;
|
|
19
13
|
}
|
|
20
|
-
/** Recognize current registrations and the retired builtin sidecar writer. */
|
|
21
14
|
function isOwnHookCommand(command) {
|
|
22
15
|
const first = command.trim().split(/\s+/)[0];
|
|
23
16
|
return (first.endsWith('hook.sh') && first.includes('session-tracker'))
|
|
@@ -45,7 +38,7 @@ async function writeJsonAtomic(p, data) {
|
|
|
45
38
|
try {
|
|
46
39
|
await fs.promises.unlink(tmp);
|
|
47
40
|
}
|
|
48
|
-
catch {
|
|
41
|
+
catch { }
|
|
49
42
|
throw err;
|
|
50
43
|
}
|
|
51
44
|
}
|
|
@@ -58,13 +51,11 @@ async function installClaude(opts) {
|
|
|
58
51
|
const cfg = await readJson(configPath);
|
|
59
52
|
cfg.hooks = cfg.hooks ?? {};
|
|
60
53
|
cfg.hooks.SessionStart = cfg.hooks.SessionStart ?? [];
|
|
61
|
-
// Remove any prior registration of THIS hook path (idempotency).
|
|
62
54
|
for (const entry of cfg.hooks.SessionStart) {
|
|
63
55
|
if (!entry || !Array.isArray(entry.hooks))
|
|
64
56
|
continue;
|
|
65
57
|
entry.hooks = entry.hooks.filter((h) => !(h && h.command && isOwnHookCommand(h.command)));
|
|
66
58
|
}
|
|
67
|
-
// Find or create the empty-matcher group and add our hook.
|
|
68
59
|
let group = cfg.hooks.SessionStart.find((e) => e && e.matcher === '');
|
|
69
60
|
if (!group) {
|
|
70
61
|
group = { matcher: '', hooks: [] };
|
|
@@ -169,9 +160,6 @@ async function installHermes(opts) {
|
|
|
169
160
|
const command = hookCommand('hermes', opts);
|
|
170
161
|
if (opts.dryRun)
|
|
171
162
|
return { agent: 'hermes', installed: false, configPath };
|
|
172
|
-
// Read-modify-write the YAML, preserving every sibling key (mcp_servers, …) —
|
|
173
|
-
// mirrors the CLI's registerHooksForHermes. Hermes maps SessionStart to the
|
|
174
|
-
// `on_session_start` event (HERMES_EVENT_MAP in cli/src/lib/hooks/install.ts).
|
|
175
163
|
let cfg = {};
|
|
176
164
|
try {
|
|
177
165
|
const parsed = YAML.parse(await fs.promises.readFile(configPath, 'utf8'));
|
|
@@ -207,8 +195,6 @@ const HOOK_SUPPORT = {
|
|
|
207
195
|
antigravity: { unsupported: 'antigravity has no SessionStart hook event' },
|
|
208
196
|
opencode: { unsupported: 'opencode SessionStart is a generated plugin, not a shell-command hook' },
|
|
209
197
|
};
|
|
210
|
-
/** Every agent id the hook installer knows — the keys of the compile-time-complete
|
|
211
|
-
* {@link HOOK_SUPPORT} table (Record<AgentId, …>), so this can never drift from AgentId. */
|
|
212
198
|
export const HOOK_AGENTS = Object.keys(HOOK_SUPPORT);
|
|
213
199
|
export async function installHookFor(agent, opts = {}) {
|
|
214
200
|
const support = HOOK_SUPPORT[agent];
|
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
// Prune stale entries from the SessionStart hook state directory.
|
|
3
|
-
// Called by hook.sh after a successful write so the directory never accumulates
|
|
4
|
-
// dead-pid records, zero-byte files, or orphaned temp files.
|
|
5
2
|
import { cleanupOrphanedStateFiles } from './state-file.js';
|
|
6
3
|
await cleanupOrphanedStateFiles();
|
|
7
|
-
// Stay silent — stdout from SessionStart hooks leaks into the model context.
|
|
@@ -6,7 +6,6 @@ import { STATE_DIR, parseState, stateFilePath } from './state-file.js';
|
|
|
6
6
|
const execAsync = promisify(exec);
|
|
7
7
|
const PID_TREE_MAX_DEPTH = 5;
|
|
8
8
|
const PID_TREE_MAX_NODES = 100;
|
|
9
|
-
// macOS `pgrep -P` silently misses children for some pids; `ps -eo` is reliable.
|
|
10
9
|
async function buildChildIndex() {
|
|
11
10
|
const index = new Map();
|
|
12
11
|
try {
|
|
@@ -25,7 +24,6 @@ async function buildChildIndex() {
|
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
catch {
|
|
28
|
-
/* empty index — caller treats as no descendants */
|
|
29
27
|
}
|
|
30
28
|
return index;
|
|
31
29
|
}
|
|
@@ -90,7 +88,6 @@ async function scanAllStates() {
|
|
|
90
88
|
out.push(s);
|
|
91
89
|
}
|
|
92
90
|
catch {
|
|
93
|
-
/* skip */
|
|
94
91
|
}
|
|
95
92
|
}
|
|
96
93
|
return out;
|
|
@@ -142,7 +139,6 @@ export async function pruneStaleSessionState() {
|
|
|
142
139
|
removed++;
|
|
143
140
|
}
|
|
144
141
|
catch {
|
|
145
|
-
/* best-effort */
|
|
146
142
|
}
|
|
147
143
|
}
|
|
148
144
|
}
|
|
@@ -4,7 +4,4 @@ export declare function stateFilePath(pid: number, stateDir?: string): string;
|
|
|
4
4
|
export declare function serializeState(s: SessionState): string;
|
|
5
5
|
export declare function parseState(raw: string): SessionState | null;
|
|
6
6
|
export declare function writeStateAtomic(state: SessionState, stateDir?: string): Promise<void>;
|
|
7
|
-
/** Remove stale state files: dead-pid records, zero-byte JSON files, and orphaned
|
|
8
|
-
* temp files left behind by failed atomic writes. Returns the number of files
|
|
9
|
-
* removed. Best-effort: individual failures are ignored and do not stop the sweep. */
|
|
10
7
|
export declare function cleanupOrphanedStateFiles(stateDir?: string): Promise<number>;
|