@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,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Non-secret daemon state exchanged over SSH between fleet devices (PHNX-4116).
|
|
3
|
-
*
|
|
4
|
-
* Each device owns exactly one file under `~/.agents/devices/<device>/`
|
|
5
|
-
* (`daemon-state.json`, UNTRACKED in the user repo). A device writes its OWN
|
|
6
|
-
* file locally; a PEER's file on this box is written only by the usage-sync
|
|
7
|
-
* exchange — a headed daemon dials each peer with `agents __usage-ingest
|
|
8
|
-
* --reply`, sending its own envelope on stdin and writing the peer's reply
|
|
9
|
-
* envelope here stamped with `receivedAt`. The envelope used to ride the user
|
|
10
|
-
* repo as a tracked file, which turned the shared store into 18k `chore(devices)`
|
|
11
|
-
* commits and wedged every clone behind a `git fetch` that timed out; git now
|
|
12
|
-
* carries only human-authored resources. OAuth/setup-token values never belong
|
|
13
|
-
* here: auth publishes only a readiness verdict; the existing encrypted SSH
|
|
14
|
-
* bundle push remains the one path that may carry secret material.
|
|
15
|
-
*/
|
|
16
1
|
import * as fs from 'node:fs';
|
|
17
2
|
import * as fsp from 'node:fs/promises';
|
|
18
3
|
import * as path from 'node:path';
|
|
@@ -21,7 +6,6 @@ import { atomicWriteFileSync, ensureLockTarget, withFileLock, withFileLockAsync
|
|
|
21
6
|
import { getUserAgentsDir } from './state.js';
|
|
22
7
|
export const FLEET_SHARED_STATE_VERSION = 1;
|
|
23
8
|
export const FLEET_SHARED_STATE_FILE = 'daemon-state.json';
|
|
24
|
-
/** Path owned by one device in the conflict-free tracked device-doc tree. */
|
|
25
9
|
export function fleetSharedStatePath(device, userAgentsDir = getUserAgentsDir()) {
|
|
26
10
|
assertValidDeviceName(device);
|
|
27
11
|
return path.join(userAgentsDir, 'devices', device, FLEET_SHARED_STATE_FILE);
|
|
@@ -29,12 +13,6 @@ export function fleetSharedStatePath(device, userAgentsDir = getUserAgentsDir())
|
|
|
29
13
|
function isRecord(value) {
|
|
30
14
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
31
15
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Validate an already-parsed envelope. `owner` pins the `device` field when the
|
|
34
|
-
* caller knows whose envelope this must be (a file under `devices/<owner>/`);
|
|
35
|
-
* an envelope arriving over the exchange names its own owner, so the caller
|
|
36
|
-
* passes none and checks `device` against the dialed peer afterwards.
|
|
37
|
-
*/
|
|
38
16
|
export function parseFleetSharedDeviceStateEnvelope(parsed, owner) {
|
|
39
17
|
if (!isRecord(parsed) || parsed.version !== FLEET_SHARED_STATE_VERSION || typeof parsed.device !== 'string' || !parsed.device) {
|
|
40
18
|
throw new Error('unrecognized shared-state envelope');
|
|
@@ -67,12 +45,6 @@ export function parseFleetSharedDeviceStateEnvelope(parsed, owner) {
|
|
|
67
45
|
function parseFleetSharedDeviceState(raw, owner) {
|
|
68
46
|
return parseFleetSharedDeviceStateEnvelope(JSON.parse(raw), owner);
|
|
69
47
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Merge one daemon-owned field into this device's shared file under a real
|
|
72
|
-
* inter-process lock. Stable serialization avoids dirtying the user repo when
|
|
73
|
-
* neither usage nor auth state changed.
|
|
74
|
-
*/
|
|
75
|
-
/** Merge `patch` onto the current on-disk state; returns the serialized next state, or null when unchanged. Shared by the sync and async writers. */
|
|
76
48
|
function mergeFleetState(currentRaw, device, patch) {
|
|
77
49
|
let current = { version: FLEET_SHARED_STATE_VERSION, device };
|
|
78
50
|
const trimmed = currentRaw.trim();
|
|
@@ -80,8 +52,9 @@ function mergeFleetState(currentRaw, device, patch) {
|
|
|
80
52
|
try {
|
|
81
53
|
current = parseFleetSharedDeviceState(trimmed, device);
|
|
82
54
|
}
|
|
83
|
-
catch {
|
|
55
|
+
catch { }
|
|
84
56
|
}
|
|
57
|
+
// Patches merge fieldwise so a partial peer update cannot erase unrelated state.
|
|
85
58
|
const next = {
|
|
86
59
|
...current,
|
|
87
60
|
...(patch.usage !== undefined ? { usage: patch.usage } : {}),
|
|
@@ -103,7 +76,7 @@ export function updateFleetSharedDeviceState(device, patch, userAgentsDir = getU
|
|
|
103
76
|
try {
|
|
104
77
|
raw = fs.readFileSync(file, 'utf-8');
|
|
105
78
|
}
|
|
106
|
-
catch {
|
|
79
|
+
catch { }
|
|
107
80
|
const { serialized, changed } = mergeFleetState(raw, device, patch);
|
|
108
81
|
if (!changed)
|
|
109
82
|
return { changed: false, path: file };
|
|
@@ -127,7 +100,7 @@ export async function updateFleetSharedDeviceStateAsync(device, patch, userAgent
|
|
|
127
100
|
try {
|
|
128
101
|
raw = await fsp.readFile(file, 'utf-8');
|
|
129
102
|
}
|
|
130
|
-
catch {
|
|
103
|
+
catch { }
|
|
131
104
|
const { serialized, changed } = mergeFleetState(raw, device, patch);
|
|
132
105
|
if (!changed)
|
|
133
106
|
return { changed: false, path: file };
|
|
@@ -135,7 +108,6 @@ export async function updateFleetSharedDeviceStateAsync(device, patch, userAgent
|
|
|
135
108
|
return { changed: true, path: file };
|
|
136
109
|
});
|
|
137
110
|
}
|
|
138
|
-
/** Read every valid peer-owned state file; malformed peers fail separately. */
|
|
139
111
|
export function readFleetSharedDeviceStates(userAgentsDir = getUserAgentsDir()) {
|
|
140
112
|
const devicesDir = path.join(userAgentsDir, 'devices');
|
|
141
113
|
let entries;
|
|
@@ -164,37 +136,19 @@ export function readFleetSharedDeviceStates(userAgentsDir = getUserAgentsDir())
|
|
|
164
136
|
}
|
|
165
137
|
return { states, errors };
|
|
166
138
|
}
|
|
167
|
-
/**
|
|
168
|
-
* This device's own envelope as it stands on disk — what the usage-sync exchange
|
|
169
|
-
* sends to peers and what `__usage-ingest --reply` prints back. A device that has
|
|
170
|
-
* never published anything yields the bare `{version, device}` envelope, so a
|
|
171
|
-
* peer still learns the device exists and answered.
|
|
172
|
-
*/
|
|
173
139
|
export function readOwnFleetSharedDeviceState(device, userAgentsDir = getUserAgentsDir()) {
|
|
174
140
|
const file = fleetSharedStatePath(device, userAgentsDir);
|
|
175
141
|
let raw = '';
|
|
176
142
|
try {
|
|
177
143
|
raw = fs.readFileSync(file, 'utf-8');
|
|
178
144
|
}
|
|
179
|
-
catch {
|
|
145
|
+
catch { }
|
|
180
146
|
if (!raw.trim())
|
|
181
147
|
return { version: FLEET_SHARED_STATE_VERSION, device };
|
|
182
148
|
const state = parseFleetSharedDeviceState(raw, device);
|
|
183
|
-
// `receivedAt` is a receiver-side stamp; the owner never advertises one.
|
|
184
149
|
const { receivedAt: _receivedAt, ...own } = state;
|
|
185
150
|
return own;
|
|
186
151
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Store a PEER's envelope, received over the SSH exchange, in that peer's file on
|
|
189
|
-
* this box, stamped with `receivedAt`. Merges field-by-field onto whatever the
|
|
190
|
-
* file already holds, so a partial envelope (a placement probe sends usage only)
|
|
191
|
-
* refreshes that field without erasing the peer's last auth verdict, session
|
|
192
|
-
* digests, or account rows. The five readers of `devices/<peer>/daemon-state.json`
|
|
193
|
-
* (usage merge, poller claims, auth verdicts, session mirror, account catalog)
|
|
194
|
-
* are unchanged by the transport swap. Async because it runs on the daemon's
|
|
195
|
-
* usage-sync tick once per peer reply: the sync lock would `sleepSync` the event
|
|
196
|
-
* loop for up to 30 s under contention (see {@link updateFleetSharedDeviceStateAsync}).
|
|
197
|
-
*/
|
|
198
152
|
export async function storePeerFleetSharedDeviceState(state, userAgentsDir = getUserAgentsDir(), receivedAt = Date.now()) {
|
|
199
153
|
const patch = { receivedAt };
|
|
200
154
|
if (state.usage !== undefined)
|
|
@@ -1,53 +1,26 @@
|
|
|
1
1
|
import { type DeviceStats } from './devices/health.js';
|
|
2
|
-
/** Live agent workload on a host. */
|
|
3
2
|
export interface FleetAgentCounts {
|
|
4
|
-
/** Sessions actively working (status === 'running'). */
|
|
5
3
|
running: number;
|
|
6
|
-
/** Total live sessions regardless of status (running/idle/input-required/…). */
|
|
7
4
|
live: number;
|
|
8
|
-
/** Running count broken down by context: terminal / teams / cloud / headless. */
|
|
9
5
|
byContext: Record<string, number>;
|
|
10
|
-
/** Running count broken down by agent CLI: claude / codex / cursor / … */
|
|
11
6
|
byAgent: Record<string, number>;
|
|
12
7
|
}
|
|
13
|
-
/** One host's published status row. */
|
|
14
8
|
export interface FleetStatusRow {
|
|
15
9
|
host: string;
|
|
16
10
|
agents: FleetAgentCounts;
|
|
17
|
-
/** Resource stats from the local probe; null when the probe produced nothing. */
|
|
18
11
|
stats: DeviceStats | null;
|
|
19
|
-
/** Epoch ms this row was computed. */
|
|
20
12
|
capturedAt: number;
|
|
21
13
|
}
|
|
22
|
-
/** Minimal shape needed to count workload — a subset of ActiveSession. */
|
|
23
14
|
type CountableSession = {
|
|
24
15
|
status?: string;
|
|
25
16
|
context?: string;
|
|
26
17
|
kind?: string;
|
|
27
18
|
pidAlive?: boolean;
|
|
28
19
|
};
|
|
29
|
-
/**
|
|
30
|
-
* Tally running-agent workload from a host's live sessions. "running" is the
|
|
31
|
-
* actively-working set (`status === 'running'`); `live` is every session the
|
|
32
|
-
* host is tracking. Pure so the tally is unit-tested without a live scan.
|
|
33
|
-
*/
|
|
34
20
|
export declare function computeAgentCounts(sessions: ReadonlyArray<CountableSession>): FleetAgentCounts;
|
|
35
|
-
/**
|
|
36
|
-
* Probe THIS host's status — resource stats locally (no SSH) and agent workload
|
|
37
|
-
* from the local live-session set (`getActiveSessions({ localOnly: true })`,
|
|
38
|
-
* which never dials a remote host). Never throws: a failed sub-probe degrades to
|
|
39
|
-
* null stats / zero counts.
|
|
40
|
-
*/
|
|
41
21
|
export declare function probeLocalFleetStatus(host: string, now?: number): Promise<FleetStatusRow>;
|
|
42
22
|
export declare function setFleetStatusMirrorPathForTest(mirrorPath: string | null): string | null;
|
|
43
|
-
/** Read the whole fleet-status mirror (best-effort; missing/corrupt → empty). */
|
|
44
23
|
export declare function readFleetStatus(): Record<string, FleetStatusRow>;
|
|
45
|
-
/** Merge rows into the mirror (best-effort; preserves other hosts' rows). */
|
|
46
24
|
export declare function writeFleetStatusRows(entries: Record<string, FleetStatusRow>): void;
|
|
47
|
-
/**
|
|
48
|
-
* Publish THIS host's row into the mirror (probe self, no SSH). The daemon calls
|
|
49
|
-
* this on its warm tick; it is the whole of the daemon's fleet-status duty now
|
|
50
|
-
* that cross-host probing is gone.
|
|
51
|
-
*/
|
|
52
25
|
export declare function publishLocalFleetStatus(host: string): Promise<FleetStatusRow>;
|
|
53
26
|
export {};
|
package/dist/lib/fleet-status.js
CHANGED
|
@@ -1,41 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-host fleet-status rows: this machine's resource stats PLUS its live agent
|
|
3
|
-
* workload (running-agent count + per-context / per-agent breakdown), published
|
|
4
|
-
* to a shared local mirror.
|
|
5
|
-
*
|
|
6
|
-
* ## Why this exists (RUSH-2061)
|
|
7
|
-
*
|
|
8
|
-
* The daemon's fleet-cache warm used to `loadFleetStats({ forceRefresh: true })`
|
|
9
|
-
* every 3 minutes — an SSH resource probe of EVERY device. With N daemons each
|
|
10
|
-
* probing N devices that is N² SSH round trips across the fleet every 3 minutes,
|
|
11
|
-
* each a remote `uptime;vm_stat;nproc` compute with a timeout that (pre-RUSH-2114)
|
|
12
|
-
* could orphan the remote child. This module replaces that with a
|
|
13
|
-
* **publish-own / read-union** model:
|
|
14
|
-
*
|
|
15
|
-
* - Each daemon probes ONLY ITSELF (`probeLocalFleetStatus`, no SSH) and writes
|
|
16
|
-
* its own row into the mirror. Zero cross-host SSH from the daemon → the N²
|
|
17
|
-
* probe is gone.
|
|
18
|
-
* - A READER (the `agents fleet status` command) unions the fleet's rows on
|
|
19
|
-
* demand — a bounded, kill-on-timeout SSH read of each peer's already-computed
|
|
20
|
-
* `--local` row (a cheap `cat`-equivalent, not a fresh remote probe) — and
|
|
21
|
-
* writes them into the same mirror. `readFleetStatus` then serves the union
|
|
22
|
-
* synchronously with no network at all.
|
|
23
|
-
*
|
|
24
|
-
* The mirror file matches the `stats-cache` / `auth-health` convention exactly:
|
|
25
|
-
* `{ version: 1, entries: Record<host, FleetStatusRow> }` under `getCacheDir()`,
|
|
26
|
-
* keyed by `machineId()`, best-effort read/write that never throws.
|
|
27
|
-
*/
|
|
28
1
|
import * as fs from 'fs';
|
|
29
2
|
import * as path from 'path';
|
|
30
3
|
import { getCacheDir } from './state.js';
|
|
31
4
|
import { probeLocalStats } from './devices/health.js';
|
|
32
5
|
import { getActiveSessions } from './session/active.js';
|
|
33
6
|
import { atomicWriteFileSync, ensureLockTarget, withFileLock } from './fs-atomic.js';
|
|
34
|
-
/**
|
|
35
|
-
* Tally running-agent workload from a host's live sessions. "running" is the
|
|
36
|
-
* actively-working set (`status === 'running'`); `live` is every session the
|
|
37
|
-
* host is tracking. Pure so the tally is unit-tested without a live scan.
|
|
38
|
-
*/
|
|
39
7
|
export function computeAgentCounts(sessions) {
|
|
40
8
|
const byContext = {};
|
|
41
9
|
const byAgent = {};
|
|
@@ -53,12 +21,6 @@ export function computeAgentCounts(sessions) {
|
|
|
53
21
|
}
|
|
54
22
|
return { running, live, byContext, byAgent };
|
|
55
23
|
}
|
|
56
|
-
/**
|
|
57
|
-
* Probe THIS host's status — resource stats locally (no SSH) and agent workload
|
|
58
|
-
* from the local live-session set (`getActiveSessions({ localOnly: true })`,
|
|
59
|
-
* which never dials a remote host). Never throws: a failed sub-probe degrades to
|
|
60
|
-
* null stats / zero counts.
|
|
61
|
-
*/
|
|
62
24
|
export async function probeLocalFleetStatus(host, now = Date.now()) {
|
|
63
25
|
const [stats, sessions] = await Promise.all([
|
|
64
26
|
probeLocalStats(host).catch(() => null),
|
|
@@ -71,7 +33,6 @@ export async function probeLocalFleetStatus(host, now = Date.now()) {
|
|
|
71
33
|
capturedAt: now,
|
|
72
34
|
};
|
|
73
35
|
}
|
|
74
|
-
/** Test seam for the mirror path (see usage.ts `setClaudeUsageCachePathForTest`). */
|
|
75
36
|
let mirrorPathOverride = null;
|
|
76
37
|
export function setFleetStatusMirrorPathForTest(mirrorPath) {
|
|
77
38
|
const prev = mirrorPathOverride;
|
|
@@ -81,7 +42,6 @@ export function setFleetStatusMirrorPathForTest(mirrorPath) {
|
|
|
81
42
|
function mirrorPath() {
|
|
82
43
|
return mirrorPathOverride ?? path.join(getCacheDir(), '.fleet-status.json');
|
|
83
44
|
}
|
|
84
|
-
/** Read the whole fleet-status mirror (best-effort; missing/corrupt → empty). */
|
|
85
45
|
export function readFleetStatus() {
|
|
86
46
|
try {
|
|
87
47
|
const parsed = JSON.parse(fs.readFileSync(mirrorPath(), 'utf-8'));
|
|
@@ -89,11 +49,9 @@ export function readFleetStatus() {
|
|
|
89
49
|
return parsed.entries;
|
|
90
50
|
}
|
|
91
51
|
catch {
|
|
92
|
-
// missing or corrupt — treat as empty
|
|
93
52
|
}
|
|
94
53
|
return {};
|
|
95
54
|
}
|
|
96
|
-
/** Merge rows into the mirror (best-effort; preserves other hosts' rows). */
|
|
97
55
|
export function writeFleetStatusRows(entries) {
|
|
98
56
|
try {
|
|
99
57
|
const target = mirrorPath();
|
|
@@ -107,14 +65,8 @@ export function writeFleetStatusRows(entries) {
|
|
|
107
65
|
});
|
|
108
66
|
}
|
|
109
67
|
catch {
|
|
110
|
-
// best-effort; a failed write just means the reader sees an older union
|
|
111
68
|
}
|
|
112
69
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Publish THIS host's row into the mirror (probe self, no SSH). The daemon calls
|
|
115
|
-
* this on its warm tick; it is the whole of the daemon's fleet-status duty now
|
|
116
|
-
* that cross-host probing is gone.
|
|
117
|
-
*/
|
|
118
70
|
export async function publishLocalFleetStatus(host) {
|
|
119
71
|
const row = await probeLocalFleetStatus(host);
|
|
120
72
|
writeFleetStatusRows({ [host]: row });
|
package/dist/lib/format.d.ts
CHANGED
|
@@ -1,101 +1,27 @@
|
|
|
1
|
-
/** Options for {@link die} — opt into machine-readable failure output. */
|
|
2
1
|
interface DieOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Emit a machine-readable `{"error", "hint"?}` object to **stdout** instead of
|
|
5
|
-
* red text on stderr. Pass `isJsonMode(options)` from a `--json` command so an
|
|
6
|
-
* agent parsing stdout gets a structured reason instead of an empty stream and
|
|
7
|
-
* a bare nonzero exit (RUSH-1830).
|
|
8
|
-
*/
|
|
9
2
|
json?: boolean;
|
|
10
|
-
/** Optional recovery hint — the command to run instead. Included in both modes. */
|
|
11
3
|
hint?: string;
|
|
12
4
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Render a fatal error to the right stream. Pure — no I/O, no `process.exit` — so
|
|
15
|
-
* the human-vs-agent split is unit-testable. A `--json` caller gets
|
|
16
|
-
* `{"error","hint"?}` on **stdout** (where a JSON consumer reads); a human gets
|
|
17
|
-
* red text (plus a gray hint line) on **stderr**.
|
|
18
|
-
*/
|
|
19
5
|
export declare function formatDie(msg: string, opts?: DieOptions): {
|
|
20
6
|
stream: 'stdout' | 'stderr';
|
|
21
7
|
text: string;
|
|
22
8
|
};
|
|
23
|
-
/**
|
|
24
|
-
* Print `msg` and exit the process with `code`. Humans get red text on stderr;
|
|
25
|
-
* a `--json` caller (pass `{ json: true }`) gets `{"error","hint"?}` on stdout so
|
|
26
|
-
* an agent has a parseable reason. Backward-compatible: `die(msg)` / `die(msg, code)`
|
|
27
|
-
* keep the original red-stderr behavior.
|
|
28
|
-
*/
|
|
29
9
|
export declare function die(msg: string, code?: number, opts?: DieOptions): never;
|
|
30
|
-
/**
|
|
31
|
-
* Await a command action and turn a thrown Error into a clean `die(message)`
|
|
32
|
-
* instead of Node's raw stack dump — bootstrap's parseAsync catch deliberately
|
|
33
|
-
* rethrows plain Errors as engineering bugs, so a command whose helpers throw
|
|
34
|
-
* user-actionable errors (auth, org) wraps its `.action(...)` call site with
|
|
35
|
-
* this. The helpers keep throwing so tests can assert on them. Pass `json`
|
|
36
|
-
* so a `--json` caller still gets the structured `{"error"}` payload.
|
|
37
|
-
*/
|
|
38
10
|
export declare function runOrDie(fn: () => void | Promise<void>, opts?: DieOptions): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* `die()` with a structured friction event attached. Use this at CLI error
|
|
41
|
-
* chokepoints so the nightly routine can classify and rank recurring failures
|
|
42
|
-
* without re-parsing transcripts. `surface` is the subsystem (teams, browser,
|
|
43
|
-
* secrets, guard, …); `failureId` is a stable slug (e.g. 'remote-cwd-on-add').
|
|
44
|
-
*/
|
|
45
11
|
export declare function dieFriction(surface: string, failureId: string, msg: string, code?: number, opts?: DieOptions): never;
|
|
46
|
-
/**
|
|
47
|
-
* Truncate `s` to at most `max` characters, appending a single-char ellipsis
|
|
48
|
-
* (`…`) when shortened. Character-count based (not ANSI/width aware — use
|
|
49
|
-
* `truncateToWidth` from `session/width.ts` for colored strings).
|
|
50
|
-
*/
|
|
51
12
|
export declare function truncate(s: string, max: number): string;
|
|
52
|
-
/**
|
|
53
|
-
* Format an ISO timestamp as a compact relative age: "just now", "5m ago",
|
|
54
|
-
* "3h ago", "2d ago". The canonical short form — the long "5 minutes ago"
|
|
55
|
-
* variant that once lived in `cloud.ts` is deliberately dropped. (For the
|
|
56
|
-
* session-list long form with calendar fallback, see
|
|
57
|
-
* `formatRelativeTime` in `session/relative-time.ts`.)
|
|
58
|
-
*/
|
|
59
13
|
export declare function relTime(iso: string): string;
|
|
60
|
-
/** Format a millisecond duration as "45s", "3m", "2h 5m", "1d 3h". */
|
|
61
14
|
export declare function humanDuration(ms: number): string;
|
|
62
|
-
/**
|
|
63
|
-
* Human-readable byte size. Previously copy-pasted into five files
|
|
64
|
-
* (`commands/prune.ts`, `commands/inspect.ts`,
|
|
65
|
-
* `commands/sessions.ts`, `lib/browser/sessions-list.ts`) — this is the
|
|
66
|
-
* canonical home.
|
|
67
|
-
*/
|
|
68
15
|
export declare function formatBytes(n: number): string;
|
|
69
|
-
/**
|
|
70
|
-
* True when an error came from the user cancelling a prompt (Ctrl+C).
|
|
71
|
-
*
|
|
72
|
-
* Lives here rather than in `commands/utils.ts` so `lib/` callers
|
|
73
|
-
* (`drift-sync.ts`, `refresh.ts`) don't have to import upward out of `lib/`
|
|
74
|
-
* into the command layer. `commands/utils.ts` re-exports it.
|
|
75
|
-
*/
|
|
76
16
|
export declare function isPromptCancelled(err: unknown): boolean;
|
|
77
|
-
/** True when stdin/stdout are attached to a real terminal. */
|
|
78
17
|
export declare function isInteractiveTerminal(): boolean;
|
|
79
|
-
/** Parse a comma-separated CLI list, trimming whitespace and dropping empties. */
|
|
80
18
|
export declare function parseCommaSeparatedList(value: string | undefined): string[];
|
|
81
|
-
/**
|
|
82
|
-
* Visible column width of `s`, ignoring ANSI SGR color codes (e.g. chalk
|
|
83
|
-
* wrappers). Matches the full CSI sequence including the `\x1b` escape.
|
|
84
|
-
*/
|
|
85
19
|
export declare function visibleWidth(s: string): number;
|
|
86
|
-
/** Pad `s` with trailing spaces to a target character width. */
|
|
87
20
|
export declare function padRight(s: string, width: number): string;
|
|
88
|
-
/** Pad `s` with trailing spaces to a target *visible* width (ANSI-aware). */
|
|
89
21
|
export declare function padVisible(s: string, width: number): string;
|
|
90
|
-
/** True when `--json` was passed. Piped stdout stays human-readable unless requested. */
|
|
91
22
|
export declare function isJsonMode(opts: {
|
|
92
23
|
json?: boolean;
|
|
93
24
|
}): boolean;
|
|
94
|
-
/** Read all of stdin synchronously and return it UTF-8 decoded and trimmed. */
|
|
95
25
|
export declare function readStdinSync(): string;
|
|
96
|
-
/**
|
|
97
|
-
* Wrap `text` in an OSC 8 hyperlink to `filePath` (as a `file://` URL) when
|
|
98
|
-
* stdout is a TTY; otherwise return `text` unchanged.
|
|
99
|
-
*/
|
|
100
26
|
export declare function termLink(text: string, filePath: string): string;
|
|
101
27
|
export {};
|
package/dist/lib/format.js
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared terminal-formatting helpers.
|
|
3
|
-
*
|
|
4
|
-
* These small utilities were previously copy-pasted across ~20 command and lib
|
|
5
|
-
* files, and had drifted into behavior differences (truncation ellipsis `...`
|
|
6
|
-
* vs `…` vs `.`; `relTime` long "5 minutes ago" vs short "5m ago"; a
|
|
7
|
-
* `visibleWidth` regex missing its `\x1b` escape). This module is the single
|
|
8
|
-
* canonical home — every consumer imports from here.
|
|
9
|
-
*/
|
|
10
1
|
import chalk from 'chalk';
|
|
11
2
|
import { readSync } from 'node:fs';
|
|
12
3
|
import { emitFriction } from './feed/events.js';
|
|
13
|
-
/**
|
|
14
|
-
* Render a fatal error to the right stream. Pure — no I/O, no `process.exit` — so
|
|
15
|
-
* the human-vs-agent split is unit-testable. A `--json` caller gets
|
|
16
|
-
* `{"error","hint"?}` on **stdout** (where a JSON consumer reads); a human gets
|
|
17
|
-
* red text (plus a gray hint line) on **stderr**.
|
|
18
|
-
*/
|
|
19
4
|
export function formatDie(msg, opts = {}) {
|
|
5
|
+
// Machine-readable failures belong on stdout; human failures belong on stderr.
|
|
20
6
|
if (opts.json) {
|
|
21
7
|
const payload = { error: msg };
|
|
22
8
|
if (opts.hint)
|
|
@@ -28,31 +14,16 @@ export function formatDie(msg, opts = {}) {
|
|
|
28
14
|
lines.push(chalk.gray(opts.hint));
|
|
29
15
|
return { stream: 'stderr', text: lines.join('\n') };
|
|
30
16
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Print `msg` and exit the process with `code`. Humans get red text on stderr;
|
|
33
|
-
* a `--json` caller (pass `{ json: true }`) gets `{"error","hint"?}` on stdout so
|
|
34
|
-
* an agent has a parseable reason. Backward-compatible: `die(msg)` / `die(msg, code)`
|
|
35
|
-
* keep the original red-stderr behavior.
|
|
36
|
-
*/
|
|
37
17
|
export function die(msg, code = 1, opts = {}) {
|
|
38
18
|
const { stream, text } = formatDie(msg, opts);
|
|
39
|
-
// Keep console.* (not process.std*.write): the suite spies on console.error /
|
|
40
|
-
// console.log to capture command output, and fd-level writes bypass those spies.
|
|
41
19
|
if (stream === 'stdout')
|
|
42
20
|
console.log(text);
|
|
43
21
|
else
|
|
44
22
|
console.error(text);
|
|
45
23
|
process.exit(code);
|
|
46
24
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Await a command action and turn a thrown Error into a clean `die(message)`
|
|
49
|
-
* instead of Node's raw stack dump — bootstrap's parseAsync catch deliberately
|
|
50
|
-
* rethrows plain Errors as engineering bugs, so a command whose helpers throw
|
|
51
|
-
* user-actionable errors (auth, org) wraps its `.action(...)` call site with
|
|
52
|
-
* this. The helpers keep throwing so tests can assert on them. Pass `json`
|
|
53
|
-
* so a `--json` caller still gets the structured `{"error"}` payload.
|
|
54
|
-
*/
|
|
55
25
|
export async function runOrDie(fn, opts = {}) {
|
|
26
|
+
// Use at user-actionable command boundaries, not as an internal error-swallowing wrapper.
|
|
56
27
|
try {
|
|
57
28
|
await fn();
|
|
58
29
|
}
|
|
@@ -60,31 +31,13 @@ export async function runOrDie(fn, opts = {}) {
|
|
|
60
31
|
die(err instanceof Error ? err.message : String(err), 1, opts);
|
|
61
32
|
}
|
|
62
33
|
}
|
|
63
|
-
/**
|
|
64
|
-
* `die()` with a structured friction event attached. Use this at CLI error
|
|
65
|
-
* chokepoints so the nightly routine can classify and rank recurring failures
|
|
66
|
-
* without re-parsing transcripts. `surface` is the subsystem (teams, browser,
|
|
67
|
-
* secrets, guard, …); `failureId` is a stable slug (e.g. 'remote-cwd-on-add').
|
|
68
|
-
*/
|
|
69
34
|
export function dieFriction(surface, failureId, msg, code = 1, opts = {}) {
|
|
70
35
|
emitFriction(surface, failureId, { error: msg });
|
|
71
36
|
die(msg, code, opts);
|
|
72
37
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Truncate `s` to at most `max` characters, appending a single-char ellipsis
|
|
75
|
-
* (`…`) when shortened. Character-count based (not ANSI/width aware — use
|
|
76
|
-
* `truncateToWidth` from `session/width.ts` for colored strings).
|
|
77
|
-
*/
|
|
78
38
|
export function truncate(s, max) {
|
|
79
39
|
return s.length <= max ? s : s.slice(0, max - 1) + '…';
|
|
80
40
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Format an ISO timestamp as a compact relative age: "just now", "5m ago",
|
|
83
|
-
* "3h ago", "2d ago". The canonical short form — the long "5 minutes ago"
|
|
84
|
-
* variant that once lived in `cloud.ts` is deliberately dropped. (For the
|
|
85
|
-
* session-list long form with calendar fallback, see
|
|
86
|
-
* `formatRelativeTime` in `session/relative-time.ts`.)
|
|
87
|
-
*/
|
|
88
41
|
export function relTime(iso) {
|
|
89
42
|
const secs = Math.floor((Date.now() - new Date(iso).getTime()) / 1000);
|
|
90
43
|
if (secs < 10)
|
|
@@ -97,7 +50,6 @@ export function relTime(iso) {
|
|
|
97
50
|
return `${Math.floor(secs / 3600)}h ago`;
|
|
98
51
|
return `${Math.floor(secs / 86400)}d ago`;
|
|
99
52
|
}
|
|
100
|
-
/** Format a millisecond duration as "45s", "3m", "2h 5m", "1d 3h". */
|
|
101
53
|
export function humanDuration(ms) {
|
|
102
54
|
const s = Math.floor(ms / 1000);
|
|
103
55
|
if (s < 60)
|
|
@@ -113,12 +65,6 @@ export function humanDuration(ms) {
|
|
|
113
65
|
const hh = h % 24;
|
|
114
66
|
return hh ? `${d}d ${hh}h` : `${d}d`;
|
|
115
67
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Human-readable byte size. Previously copy-pasted into five files
|
|
118
|
-
* (`commands/prune.ts`, `commands/inspect.ts`,
|
|
119
|
-
* `commands/sessions.ts`, `lib/browser/sessions-list.ts`) — this is the
|
|
120
|
-
* canonical home.
|
|
121
|
-
*/
|
|
122
68
|
export function formatBytes(n) {
|
|
123
69
|
if (n < 1024)
|
|
124
70
|
return `${n} B`;
|
|
@@ -131,23 +77,14 @@ export function formatBytes(n) {
|
|
|
131
77
|
}
|
|
132
78
|
return `${size < 10 ? size.toFixed(1) : Math.round(size)} ${units[unit]}`;
|
|
133
79
|
}
|
|
134
|
-
/**
|
|
135
|
-
* True when an error came from the user cancelling a prompt (Ctrl+C).
|
|
136
|
-
*
|
|
137
|
-
* Lives here rather than in `commands/utils.ts` so `lib/` callers
|
|
138
|
-
* (`drift-sync.ts`, `refresh.ts`) don't have to import upward out of `lib/`
|
|
139
|
-
* into the command layer. `commands/utils.ts` re-exports it.
|
|
140
|
-
*/
|
|
141
80
|
export function isPromptCancelled(err) {
|
|
142
81
|
return err instanceof Error && (err.name === 'ExitPromptError' ||
|
|
143
82
|
err.message.includes('force closed') ||
|
|
144
83
|
err.message.includes('User force closed'));
|
|
145
84
|
}
|
|
146
|
-
/** True when stdin/stdout are attached to a real terminal. */
|
|
147
85
|
export function isInteractiveTerminal() {
|
|
148
86
|
return Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
149
87
|
}
|
|
150
|
-
/** Parse a comma-separated CLI list, trimming whitespace and dropping empties. */
|
|
151
88
|
export function parseCommaSeparatedList(value) {
|
|
152
89
|
if (!value)
|
|
153
90
|
return [];
|
|
@@ -156,28 +93,21 @@ export function parseCommaSeparatedList(value) {
|
|
|
156
93
|
.map((item) => item.trim())
|
|
157
94
|
.filter(Boolean);
|
|
158
95
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Visible column width of `s`, ignoring ANSI SGR color codes (e.g. chalk
|
|
161
|
-
* wrappers). Matches the full CSI sequence including the `\x1b` escape.
|
|
162
|
-
*/
|
|
163
96
|
export function visibleWidth(s) {
|
|
164
97
|
// eslint-disable-next-line no-control-regex
|
|
165
98
|
return s.replace(/\x1b\[[0-9;]*m/g, '').length;
|
|
166
99
|
}
|
|
167
|
-
/** Pad `s` with trailing spaces to a target character width. */
|
|
168
100
|
export function padRight(s, width) {
|
|
169
101
|
return s.length >= width ? s : s + ' '.repeat(width - s.length);
|
|
170
102
|
}
|
|
171
|
-
/** Pad `s` with trailing spaces to a target *visible* width (ANSI-aware). */
|
|
172
103
|
export function padVisible(s, width) {
|
|
173
104
|
const w = visibleWidth(s);
|
|
174
105
|
return w >= width ? s : s + ' '.repeat(width - w);
|
|
175
106
|
}
|
|
176
|
-
/** True when `--json` was passed. Piped stdout stays human-readable unless requested. */
|
|
177
107
|
export function isJsonMode(opts) {
|
|
108
|
+
// Piped output stays human-readable unless the caller explicitly requests JSON.
|
|
178
109
|
return Boolean(opts.json);
|
|
179
110
|
}
|
|
180
|
-
/** Read all of stdin synchronously and return it UTF-8 decoded and trimmed. */
|
|
181
111
|
export function readStdinSync() {
|
|
182
112
|
const chunks = [];
|
|
183
113
|
const buf = Buffer.alloc(65536);
|
|
@@ -195,10 +125,6 @@ export function readStdinSync() {
|
|
|
195
125
|
}
|
|
196
126
|
return Buffer.concat(chunks).toString('utf-8').trim();
|
|
197
127
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Wrap `text` in an OSC 8 hyperlink to `filePath` (as a `file://` URL) when
|
|
200
|
-
* stdout is a TTY; otherwise return `text` unchanged.
|
|
201
|
-
*/
|
|
202
128
|
export function termLink(text, filePath) {
|
|
203
129
|
if (!filePath || !process.stdout.isTTY)
|
|
204
130
|
return text;
|
|
@@ -1,32 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cheap heuristic readers over the `friction` event sink (emitFriction in
|
|
3
|
-
* events.ts). Guard hooks (git-guard, rm-guard, git-require-clean-tree) call
|
|
4
|
-
* `agents _internal friction --surface guard --id <failureId>` when they block
|
|
5
|
-
* a destructive command, so it exists in the log — but nothing reads it back
|
|
6
|
-
* yet. This is a starting point: one detector for the most actionable pattern,
|
|
7
|
-
* an agent stuck retrying the SAME denied action instead of adapting.
|
|
8
|
-
*/
|
|
9
1
|
import type { EventRecord } from './feed/events.js';
|
|
10
2
|
interface RepeatedGuardBlockFinding {
|
|
11
|
-
/** Session id the repeated blocks happened in, or 'unknown' when the
|
|
12
|
-
* friction event carried no session (e.g. a guard fired outside any
|
|
13
|
-
* tracked agent session). */
|
|
14
3
|
session: string;
|
|
15
4
|
surface: string;
|
|
16
5
|
failureId: string;
|
|
17
|
-
/** Number of times this exact (session, surface, failureId) blocked. */
|
|
18
6
|
count: number;
|
|
19
7
|
firstTs: string;
|
|
20
8
|
lastTs: string;
|
|
21
9
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Group `friction` events by (session, surface, failureId) and flag groups
|
|
24
|
-
* that repeat at least `minRepeats` times — the signature of an agent hitting
|
|
25
|
-
* the same guard over and over rather than changing approach after the first
|
|
26
|
-
* block. `events` is expected to already be filtered/queried for
|
|
27
|
-
* `eventTypes: ['friction']` (see events.ts `query()`); non-friction records
|
|
28
|
-
* are ignored defensively rather than assumed absent.
|
|
29
|
-
*/
|
|
30
10
|
export declare function detectRepeatedGuardBlocks(events: EventRecord[], opts?: {
|
|
31
11
|
minRepeats?: number;
|
|
32
12
|
}): RepeatedGuardBlockFinding[];
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
function asNonEmptyString(v) {
|
|
2
2
|
return typeof v === 'string' && v.length > 0 ? v : undefined;
|
|
3
3
|
}
|
|
4
|
-
/**
|
|
5
|
-
* Group `friction` events by (session, surface, failureId) and flag groups
|
|
6
|
-
* that repeat at least `minRepeats` times — the signature of an agent hitting
|
|
7
|
-
* the same guard over and over rather than changing approach after the first
|
|
8
|
-
* block. `events` is expected to already be filtered/queried for
|
|
9
|
-
* `eventTypes: ['friction']` (see events.ts `query()`); non-friction records
|
|
10
|
-
* are ignored defensively rather than assumed absent.
|
|
11
|
-
*/
|
|
12
4
|
export function detectRepeatedGuardBlocks(events, opts = {}) {
|
|
13
5
|
const minRepeats = opts.minRepeats ?? 3;
|
|
14
6
|
const groups = new Map();
|
package/dist/lib/fs-atomic.d.ts
CHANGED
|
@@ -1,64 +1,13 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
export declare function sleepSync(ms: number): void;
|
|
3
|
-
/**
|
|
4
|
-
* Ensures the target file (and its parent directory) exist so proper-lockfile
|
|
5
|
-
* can create a sibling .lock directory. Created with flag 'wx' so concurrent
|
|
6
|
-
* creation races are safe (EEXIST is swallowed).
|
|
7
|
-
*/
|
|
8
3
|
export declare function ensureLockTarget(filePath: string, initialContent?: string, dirMode?: number): void;
|
|
9
|
-
/**
|
|
10
|
-
* Writes content to filePath via a temp file + rename so readers never see a
|
|
11
|
-
* partial write. On POSIX, rename(2) is atomic.
|
|
12
|
-
*/
|
|
13
4
|
export declare function atomicWriteFileSync(filePath: string, content: string, options?: fs.WriteFileOptions): void;
|
|
14
|
-
/**
|
|
15
|
-
* Convenience wrapper around {@link atomicWriteFileSync} for the common case of
|
|
16
|
-
* writing pretty-printed JSON (RUSH-2840). Same tmp-then-rename mechanics, same
|
|
17
|
-
* caller responsibility to ensure the parent directory exists first — this adds
|
|
18
|
-
* only the `JSON.stringify`.
|
|
19
|
-
*/
|
|
20
5
|
export declare function atomicWriteJsonSync(filePath: string, data: unknown): void;
|
|
21
|
-
/**
|
|
22
|
-
* Async counterpart of {@link atomicWriteFileSync} for callers on the daemon's
|
|
23
|
-
* shared event loop (PHNX-3695): a `writeFileSync`/`renameSync` on a tick freezes
|
|
24
|
-
* every service and the browser IPC server until the disk write returns. Same
|
|
25
|
-
* tmp-then-rename atomicity, but every syscall is awaited via `fs/promises`.
|
|
26
|
-
*/
|
|
27
6
|
export declare function atomicWriteFile(filePath: string, content: string, options?: fs.WriteFileOptions): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Acquires an exclusive proper-lockfile lock on filePath, runs fn, then
|
|
30
|
-
* releases the lock. Retries with capped linear back-off until either the lock
|
|
31
|
-
* is acquired or LOCK_ACQUIRE_TIMEOUT_MS elapses. Breaks stale locks older than
|
|
32
|
-
* LOCK_STALE_MS, so a crashed holder never blocks past the stale window.
|
|
33
|
-
*
|
|
34
|
-
* `fn` is handed a `heartbeat()` it can call during a long, fully SYNCHRONOUS
|
|
35
|
-
* critical section. proper-lockfile keeps a held lock "alive" by refreshing its
|
|
36
|
-
* lockfile mtime on a `setTimeout` every `stale/2` — but that timer only fires
|
|
37
|
-
* when the event loop gets a turn. A synchronous hold that outruns `stale`
|
|
38
|
-
* (e.g. the scrypt-bound rotation loop in filestore.ts, ~16s on a real store)
|
|
39
|
-
* never yields, so the timer cannot run: the lock ages past `stale` mid-hold and a
|
|
40
|
-
* peer contending for it treats the live holder as crashed, breaks the lock, and
|
|
41
|
-
* interleaves — corrupting the invariant the lock exists to protect, with no crash
|
|
42
|
-
* involved. `heartbeat()` drives the same refresh synchronously (bumps the lockfile
|
|
43
|
-
* mtime), so a long sync holder stays fresh while the short `stale` window still
|
|
44
|
-
* detects a genuinely crashed holder within LOCK_STALE_MS. Callers whose critical
|
|
45
|
-
* section is short (a single read-modify-write) can ignore it.
|
|
46
|
-
*/
|
|
47
7
|
export interface FileLockOptions {
|
|
48
8
|
staleMs?: number;
|
|
49
9
|
acquireTimeoutMs?: number;
|
|
50
|
-
/** Lock a canonical absolute path before its file exists (e.g. a new installation record). */
|
|
51
10
|
realpath?: boolean;
|
|
52
11
|
}
|
|
53
12
|
export declare function withFileLock<T>(filePath: string, fn: (heartbeat: () => void) => T, opts?: FileLockOptions): T;
|
|
54
|
-
/**
|
|
55
|
-
* Async counterpart of {@link withFileLock} for callers on the daemon's shared
|
|
56
|
-
* event loop (PHNX-3695). The sync version retries acquisition with
|
|
57
|
-
* {@link sleepSync} (`Atomics.wait`), which HALTS the thread for up to
|
|
58
|
-
* {@link LOCK_ACQUIRE_TIMEOUT_MS} on contention — on a daemon tick that freezes
|
|
59
|
-
* every service and the browser IPC server. This variant awaits proper-lockfile's
|
|
60
|
-
* async `lock()` and yields with a real timer between retries, so the loop keeps
|
|
61
|
-
* turning while a peer holds the lock. Same stale-break, same acquire budget,
|
|
62
|
-
* same compromised-lock surfacing.
|
|
63
|
-
*/
|
|
64
13
|
export declare function withFileLockAsync<T>(filePath: string, fn: (heartbeat: () => void) => Promise<T> | T, opts?: FileLockOptions): Promise<T>;
|