@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,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared harness for the `agents daemon` CLI subprocess suites (RUSH-2354).
|
|
3
|
-
*
|
|
4
|
-
* Every test spawns the real CLI against an isolated mkdtemp HOME with no
|
|
5
|
-
* daemon running — no mocks. Modeled on routines.test.ts.
|
|
6
|
-
*
|
|
7
|
-
* EXTRACTED so the suite can live in several files. `daemon.test.ts` was 35
|
|
8
|
-
* tests in ONE file at 159s — the slowest file in the repo and therefore the
|
|
9
|
-
* SUITE'S FLOOR, because vitest parallelises across files and runs the tests
|
|
10
|
-
* inside one file sequentially in a single worker. Splitting the tests across
|
|
11
|
-
* files lets them run concurrently; sharing the harness is what makes that
|
|
12
|
-
* possible without duplicating the spawn plumbing.
|
|
13
|
-
*/
|
|
14
1
|
import { spawnSync, spawn } from 'child_process';
|
|
15
2
|
import * as fs from 'fs';
|
|
16
3
|
import * as os from 'os';
|
|
@@ -21,21 +8,13 @@ export const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url
|
|
|
21
8
|
const require = createRequire(import.meta.url);
|
|
22
9
|
export const TSX_IMPORT = pathToFileURL(require.resolve('tsx')).href;
|
|
23
10
|
export const CLI_ENTRYPOINT = path.join(REPO_ROOT, 'src', 'index.ts');
|
|
24
|
-
/**
|
|
25
|
-
* win32: subprocess CLI + process-group signals / path spawn assumptions
|
|
26
|
-
* (RUSH-2215). Exported as a PREDICATE, not as a pre-bound `describe.skip` —
|
|
27
|
-
* vitest's suite type is not nameable across a module boundary (TS4023), so
|
|
28
|
-
* each suite builds its own `describe` from this.
|
|
29
|
-
*/
|
|
30
11
|
export const DAEMON_TESTS_SUPPORTED = process.platform !== 'win32';
|
|
31
|
-
/** Provision an isolated HOME with just enough scaffolding for the CLI to boot. */
|
|
32
12
|
export function makeHome() {
|
|
33
13
|
const home = fs.mkdtempSync(path.join(os.tmpdir(), 'agents-daemon-test-'));
|
|
34
14
|
fs.mkdirSync(path.join(home, '.agents', '.system', '.git'), { recursive: true });
|
|
35
15
|
fs.writeFileSync(path.join(home, '.agents', 'agents.yaml'), 'agents: {}\n');
|
|
36
16
|
return home;
|
|
37
17
|
}
|
|
38
|
-
/** Run `agents daemon <args>` against an isolated HOME — no daemon process ever started. */
|
|
39
18
|
export function run(home, args) {
|
|
40
19
|
return spawnSync('node', ['--import', TSX_IMPORT, CLI_ENTRYPOINT, 'daemon', ...args], {
|
|
41
20
|
cwd: REPO_ROOT,
|
|
@@ -52,30 +31,16 @@ export function run(home, args) {
|
|
|
52
31
|
timeout: 30_000,
|
|
53
32
|
});
|
|
54
33
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Spawn a real, long-lived process whose command line ends in `__daemon-run`
|
|
57
|
-
* (so `isLiveDaemon`'s process-command check accepts it — see
|
|
58
|
-
* `lib/daemon.test.ts`'s "reaps a live __daemon-run registrant" test, same
|
|
59
|
-
* technique) and register it in `home`'s OWN instance registry, exactly the
|
|
60
|
-
* marker `registerDaemonInstance` would write. A real live process, not a
|
|
61
|
-
* mock — `agents daemon status` reads it through the actual registry +
|
|
62
|
-
* `ps`-liveness path, the same one the reaper and `stopDaemon`'s postcondition
|
|
63
|
-
* use.
|
|
64
|
-
*/
|
|
65
34
|
export async function spawnFakeRegisteredDaemon(home) {
|
|
66
35
|
const child = spawn(process.execPath, ['-e', 'setInterval(() => {}, 1e9)', '__daemon-run'], {
|
|
67
36
|
stdio: 'ignore',
|
|
68
37
|
});
|
|
69
|
-
// Give the exec a moment to land before `ps` (read by the status command's
|
|
70
|
-
// isLiveDaemon check) is asked to see its real argv — mirrors
|
|
71
|
-
// lib/daemon.test.ts's identical fake-daemon technique.
|
|
72
38
|
await new Promise((r) => setTimeout(r, 150));
|
|
73
39
|
const instancesDir = path.join(home, '.agents', '.cache', 'helpers', 'daemon', 'instances');
|
|
74
40
|
fs.mkdirSync(instancesDir, { recursive: true });
|
|
75
41
|
fs.writeFileSync(path.join(instancesDir, String(child.pid)), '__daemon-run', 'utf-8');
|
|
76
42
|
return child;
|
|
77
43
|
}
|
|
78
|
-
/** Register a pid in `home`'s instance registry — the scope stale/duplicate reporting uses. */
|
|
79
44
|
export function registerInstance(home, pid) {
|
|
80
45
|
const dir = path.join(home, '.agents', '.cache', 'helpers', 'daemon', 'instances');
|
|
81
46
|
fs.mkdirSync(dir, { recursive: true });
|
|
@@ -86,5 +51,5 @@ export function killFakeDaemon(child) {
|
|
|
86
51
|
if (child.pid)
|
|
87
52
|
process.kill(child.pid, 'SIGKILL');
|
|
88
53
|
}
|
|
89
|
-
catch {
|
|
54
|
+
catch { }
|
|
90
55
|
}
|
|
@@ -1,59 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents daemon` — runtime, hosted services, and failure visibility for the
|
|
3
|
-
* always-on daemon (RUSH-2354).
|
|
4
|
-
*
|
|
5
|
-
* The daemon holds the routines scheduler, the session/usage sync, and the
|
|
6
|
-
* watchdog pass — but until this command group existed it had no user-facing
|
|
7
|
-
* surface: no way to see it, restart it, or turn it off. The secrets broker
|
|
8
|
-
* moved out of this daemon entirely with the standalone `secrets` engine
|
|
9
|
-
* (PHNX-3989 OWN-1), and the browser IPC server with the standalone `browser`
|
|
10
|
-
* CLI (PHNX-4101); `agents daemon status` only probes the broker's reachability.
|
|
11
|
-
* `daemon.ts` (the runtime) has always implemented every mechanism this file
|
|
12
|
-
* wires up; nothing here is new machinery, only the missing CLI surface.
|
|
13
|
-
*
|
|
14
|
-
* There is deliberately no `agents daemon jobs` — scheduled work is
|
|
15
|
-
* `agents routines`, always (see RUSH-2353, which migrates the daemon's
|
|
16
|
-
* hardcoded timers onto routines). `status`/`services` point at
|
|
17
|
-
* `agents routines stats` for per-routine failure detail instead of
|
|
18
|
-
* duplicating it.
|
|
19
|
-
*/
|
|
20
1
|
import type { Command } from 'commander';
|
|
21
2
|
import { type SubsystemHealth } from '../lib/daemon-health.js';
|
|
22
|
-
/** Elapsed wall-clock seconds since `pid` started, or null if unavailable (best-effort, POSIX only). */
|
|
23
3
|
export declare function uptimeSeconds(pid: number): number | null;
|
|
24
4
|
interface SecretsBrokerHealth {
|
|
25
5
|
reachable: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* True when this box routes `keychain`-backend items to the standalone's
|
|
28
|
-
* encrypted file store (a headless worker with no reachable keyring). The
|
|
29
|
-
* broker exists only to hold an UNLOCKED keychain across reads without a
|
|
30
|
-
* Touch ID prompt — a file-backed box reads every secret one-shot with no
|
|
31
|
-
* broker at all, so an absent broker there is normal, not a fault (PHNX-4116).
|
|
32
|
-
*/
|
|
33
6
|
fileBacked: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Always `null` — the broker's socket now lives entirely inside the
|
|
36
|
-
* standalone `secrets` engine's own process (PHNX-3989 OWN-1); the daemon
|
|
37
|
-
* neither hosts it nor knows its transport details. Kept in the shape for
|
|
38
|
-
* `--json` compatibility.
|
|
39
|
-
*/
|
|
40
7
|
socketPath: string | null;
|
|
41
8
|
heldBundles: number | null;
|
|
42
|
-
/**
|
|
43
|
-
* Always `null` — no daemon service writes a health record for the broker
|
|
44
|
-
* anymore (the daemon does not host or supervise it). Kept in the shape for
|
|
45
|
-
* `--json` compatibility.
|
|
46
|
-
*/
|
|
47
9
|
record: SubsystemHealth | null;
|
|
48
10
|
}
|
|
49
|
-
/**
|
|
50
|
-
* The `secrets broker` health line. Reachable → healthy. Unreachable is a FAULT
|
|
51
|
-
* (`down`) only when the store is keychain-backed — there the broker is what
|
|
52
|
-
* holds the unlocked keychain across reads. On a file-backed box (every
|
|
53
|
-
* headless worker) no broker is needed: secrets read one-shot, so an absent
|
|
54
|
-
* broker is expected and reads as INFO, not `down` (PHNX-4116). Pure, so the
|
|
55
|
-
* three cases are unit-tested with no live daemon.
|
|
56
|
-
*/
|
|
57
11
|
export declare function secretsBrokerHealthLine(secrets: SecretsBrokerHealth): string;
|
|
58
12
|
export declare function registerDaemonCommand(program: Command): void;
|
|
59
13
|
export {};
|
package/dist/commands/daemon.js
CHANGED
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `agents daemon` — runtime, hosted services, and failure visibility for the
|
|
3
|
-
* always-on daemon (RUSH-2354).
|
|
4
|
-
*
|
|
5
|
-
* The daemon holds the routines scheduler, the session/usage sync, and the
|
|
6
|
-
* watchdog pass — but until this command group existed it had no user-facing
|
|
7
|
-
* surface: no way to see it, restart it, or turn it off. The secrets broker
|
|
8
|
-
* moved out of this daemon entirely with the standalone `secrets` engine
|
|
9
|
-
* (PHNX-3989 OWN-1), and the browser IPC server with the standalone `browser`
|
|
10
|
-
* CLI (PHNX-4101); `agents daemon status` only probes the broker's reachability.
|
|
11
|
-
* `daemon.ts` (the runtime) has always implemented every mechanism this file
|
|
12
|
-
* wires up; nothing here is new machinery, only the missing CLI surface.
|
|
13
|
-
*
|
|
14
|
-
* There is deliberately no `agents daemon jobs` — scheduled work is
|
|
15
|
-
* `agents routines`, always (see RUSH-2353, which migrates the daemon's
|
|
16
|
-
* hardcoded timers onto routines). `status`/`services` point at
|
|
17
|
-
* `agents routines stats` for per-routine failure detail instead of
|
|
18
|
-
* duplicating it.
|
|
19
|
-
*/
|
|
20
1
|
import chalk from 'chalk';
|
|
21
2
|
import { execFileSync } from 'child_process';
|
|
22
3
|
import * as fs from 'fs';
|
|
@@ -34,15 +15,6 @@ import { parseDuration } from '../lib/hooks/cache.js';
|
|
|
34
15
|
import { registerFunnelCommand } from './funnel.js';
|
|
35
16
|
import { DEFAULT_WEBHOOK_PORT, DEFAULT_WEBHOOK_RATE_LIMIT, addHostedReceiver, getDaemonWebhooksConfigPath, hostedReceiverPort, readDaemonWebhooksConfig, removeHostedReceiver, } from '../lib/daemon-webhooks.js';
|
|
36
17
|
import { parseFunnelPort } from '../lib/funnel.js';
|
|
37
|
-
// ─── Process scanning — which install owns the pid, and every duplicate ──────
|
|
38
|
-
/**
|
|
39
|
-
* startDaemon for the explicit start/restart commands: the redirected-HOME
|
|
40
|
-
* refusal (W4, PHNX-3736) is user-actionable, not an engineering bug, so it
|
|
41
|
-
* prints without a stack and exits 1. Anything else (a genuinely unspawnable
|
|
42
|
-
* binary) still throws. Kept local to this command rather than in bootstrap's
|
|
43
|
-
* catch list — a bootstrap.ts edit selects the 54s non-interactive suite into
|
|
44
|
-
* the required impact gate, and this change's budget cannot carry it.
|
|
45
|
-
*/
|
|
46
18
|
function startDaemonClean() {
|
|
47
19
|
try {
|
|
48
20
|
return startDaemon();
|
|
@@ -55,20 +27,6 @@ function startDaemonClean() {
|
|
|
55
27
|
throw err;
|
|
56
28
|
}
|
|
57
29
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Provably absent, or null when unknowable.
|
|
60
|
-
*
|
|
61
|
-
* `fs.existsSync` cannot express the difference: it returns false for ANY failed
|
|
62
|
-
* stat, so `EACCES` on a parent directory is indistinguishable from deletion.
|
|
63
|
-
* The feeding scan is box-wide `ps` with no uid filter, so that gap is reachable
|
|
64
|
-
* on any shared box — `/root` is mode 700, and a stat of a root-owned daemon's
|
|
65
|
-
* entry from an ordinary uid returns false while the file is perfectly present.
|
|
66
|
-
* Reporting that would tell the user to `kill` a healthy daemon they do not own,
|
|
67
|
-
* with a command that would `EPERM` anyway.
|
|
68
|
-
*
|
|
69
|
-
* `statSync(p, { throwIfNoEntry: false })` returns `undefined` only for `ENOENT`
|
|
70
|
-
* and throws for everything else, which is exactly the distinction needed.
|
|
71
|
-
*/
|
|
72
30
|
function entryAbsent(p) {
|
|
73
31
|
try {
|
|
74
32
|
return fs.statSync(p, { throwIfNoEntry: false }) === undefined;
|
|
@@ -77,65 +35,9 @@ function entryAbsent(p) {
|
|
|
77
35
|
return null;
|
|
78
36
|
}
|
|
79
37
|
}
|
|
80
|
-
/**
|
|
81
|
-
* A daemon whose launch entry is provably gone from disk (RUSH-2493).
|
|
82
|
-
*
|
|
83
|
-
* This predicate answers only "is this one's code gone?". WHO may be told about
|
|
84
|
-
* it, and whether that report is actionable, is {@link staleDaemons}'s job — a
|
|
85
|
-
* separation reached the hard way: an early revision reported every box-wide
|
|
86
|
-
* `ps` match as actionable (re-opening RUSH-2368), and the correction then
|
|
87
|
-
* over-swung to registry-only, which silently excluded the very incident below.
|
|
88
|
-
*
|
|
89
|
-
* Observed 2026-08-10 on yosemite-s0: a daemon ran for 4h14m from
|
|
90
|
-
* `.agents/worktrees/rush-2431-binary-shadow/apps/cli/dist/index.js` after that
|
|
91
|
-
* worktree was deleted. `systemctl --user is-active` said `active`,
|
|
92
|
-
* `agents daemon status` reported healthy, and nothing anywhere named it —
|
|
93
|
-
* while it held a second routine scheduler, the double-fire class the
|
|
94
|
-
* one-scheduler-one-executor rule exists to prevent. A restart would also have
|
|
95
|
-
* failed, since the manifest pointed at the same missing path.
|
|
96
|
-
*
|
|
97
|
-
* ABSOLUTE PATHS ONLY. `entryFromTokens` returns the second-to-last argv token,
|
|
98
|
-
* which is the entry for a real daemon (`getDaemonLaunch` always spawns an
|
|
99
|
-
* absolute one) but is arbitrary text for anything else — `node -e '<code>'
|
|
100
|
-
* __daemon-run` yields the code blob, which of course does not exist on disk.
|
|
101
|
-
* Requiring absoluteness keeps a non-path token from being reported as deleted
|
|
102
|
-
* code, the same false-positive class RUSH-2368 had to correct for duplicates.
|
|
103
|
-
*
|
|
104
|
-
* That guard also covers an entry path containing SPACES, which `ps` renders
|
|
105
|
-
* unquoted and the tokenizer therefore splits: `/tmp/ghost space/sub/index.js`
|
|
106
|
-
* yields `space/sub/index.js`, not absolute, so a healthy daemon on such a path
|
|
107
|
-
* is never accused (verified live). The cost is a false NEGATIVE — a genuinely
|
|
108
|
-
* deleted entry containing a space is not reported either. That is the safe
|
|
109
|
-
* direction to fail: missing one detection is a silence we already lived with,
|
|
110
|
-
* whereas telling someone to `kill` a healthy shared daemon is a new harm.
|
|
111
|
-
*/
|
|
112
38
|
function entryIsGone(p) {
|
|
113
39
|
return p.entry !== null && path.isAbsolute(p.entry) && p.entryMissing === true;
|
|
114
40
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Stale daemons split into two tiers, because DETECTION and ACCUSATION are
|
|
117
|
-
* different acts with different blast radii.
|
|
118
|
-
*
|
|
119
|
-
* RUSH-2368's harm was the accusation, not the sighting: a leaked fixture "was
|
|
120
|
-
* reported as a stray to `kill`". So the narrow registry scope is what gates
|
|
121
|
-
* anything actionable — a `doctor` problem, a non-zero exit, a `kill` — while a
|
|
122
|
-
* same-uid sighting is merely shown.
|
|
123
|
-
*
|
|
124
|
-
* That split is not academic. The incident this feature exists to catch was
|
|
125
|
-
* neither the tracked pid nor in the registry: it ran under an ephemeral `/tmp`
|
|
126
|
-
* cwd from a deleted worktree, and `lib/daemon/daemon.ts` documents that such a process
|
|
127
|
-
* "registers under its own state dir and is invisible here" BY DESIGN. Gating
|
|
128
|
-
* the display on the registry too would have made this command silent on the
|
|
129
|
-
* exact 4h14m ghost that motivated it.
|
|
130
|
-
*
|
|
131
|
-
* `actionable` — this device's daemon, or this install's registry. Drives
|
|
132
|
-
* `doctor` problems and the `kill`/`restart` remediation.
|
|
133
|
-
* `visible` — additionally any daemon running as THIS uid. Shown in
|
|
134
|
-
* `status`, never exits non-zero, never told to kill.
|
|
135
|
-
*
|
|
136
|
-
* A different uid is never named at all: we cannot reliably stat its entry
|
|
137
|
-
* ({@link entryAbsent}), and we could not signal it if we tried.
|
|
138
|
-
*/
|
|
139
41
|
function staleDaemons(processes, ownerPid, registered) {
|
|
140
42
|
const isOurs = (p) => p.pid === ownerPid || registered.has(p.pid);
|
|
141
43
|
const myUid = typeof process.getuid === 'function' ? process.getuid() : null;
|
|
@@ -145,11 +47,6 @@ function staleDaemons(processes, ownerPid, registered) {
|
|
|
145
47
|
visible: gone.filter((p) => isOurs(p) || (myUid !== null && p.uid === myUid)),
|
|
146
48
|
};
|
|
147
49
|
}
|
|
148
|
-
/**
|
|
149
|
-
* Resolve the working directory a live process was started from, or null if
|
|
150
|
-
* unavailable. Linux only (`/proc/<pid>/cwd`) — there is no equivalent
|
|
151
|
-
* zero-dependency primitive on macOS/BSD.
|
|
152
|
-
*/
|
|
153
50
|
function processCwd(pid) {
|
|
154
51
|
try {
|
|
155
52
|
return fs.realpathSync(`/proc/${pid}/cwd`);
|
|
@@ -158,30 +55,18 @@ function processCwd(pid) {
|
|
|
158
55
|
return null;
|
|
159
56
|
}
|
|
160
57
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Walk up from `entryPath` looking for the nearest `package.json` and read its
|
|
163
|
-
* version. A relative `entryPath` (the common shape for a dev `node --import
|
|
164
|
-
* tsx <entry> __daemon-run` invocation) is meaningless resolved against the
|
|
165
|
-
* CALLING process's cwd — it must be anchored to the OWNING process's own cwd
|
|
166
|
-
* instead, via `processCwd(pid)`. Getting this wrong silently reports another
|
|
167
|
-
* process's version as this one's (observed live: a relative `src/index.ts`
|
|
168
|
-
* resolved against the caller's cwd instead of the stray daemon's actual
|
|
169
|
-
* ephemeral `/tmp` cwd, reporting a version that process was not running).
|
|
170
|
-
* Absolute entries (every production launch — `getAgentsBinPath()` always
|
|
171
|
-
* returns one) need no anchoring and resolve the same either way.
|
|
172
|
-
*/
|
|
173
58
|
function resolveVersionNear(entryPath, pid) {
|
|
174
59
|
let resolved = entryPath;
|
|
175
60
|
if (!path.isAbsolute(resolved)) {
|
|
176
61
|
const cwd = processCwd(pid);
|
|
177
62
|
if (!cwd)
|
|
178
|
-
return null;
|
|
63
|
+
return null;
|
|
179
64
|
resolved = path.join(cwd, resolved);
|
|
180
65
|
}
|
|
181
66
|
try {
|
|
182
67
|
resolved = fs.realpathSync(resolved);
|
|
183
68
|
}
|
|
184
|
-
catch {
|
|
69
|
+
catch { }
|
|
185
70
|
let dir = path.dirname(resolved);
|
|
186
71
|
for (let i = 0; i < 6; i++) {
|
|
187
72
|
const candidate = path.join(dir, 'package.json');
|
|
@@ -190,7 +75,7 @@ function resolveVersionNear(entryPath, pid) {
|
|
|
190
75
|
if (typeof pkg.version === 'string')
|
|
191
76
|
return pkg.version;
|
|
192
77
|
}
|
|
193
|
-
catch {
|
|
78
|
+
catch { }
|
|
194
79
|
const parent = path.dirname(dir);
|
|
195
80
|
if (parent === dir)
|
|
196
81
|
break;
|
|
@@ -198,55 +83,19 @@ function resolveVersionNear(entryPath, pid) {
|
|
|
198
83
|
}
|
|
199
84
|
return null;
|
|
200
85
|
}
|
|
201
|
-
/**
|
|
202
|
-
* Extract the launch entry from a tokenized `ps` args line ending in
|
|
203
|
-
* `__daemon-run`: the token immediately before it is always the entry —
|
|
204
|
-
* `<node> [node flags...] <entry> __daemon-run` (a dev `node --import tsx
|
|
205
|
-
* <entry> __daemon-run` or the production `node <entry> __daemon-run`) or a
|
|
206
|
-
* compiled standalone binary (`<binary> __daemon-run`, 2 tokens). Reading the
|
|
207
|
-
* second-to-last token is robust to however many node flags precede the entry,
|
|
208
|
-
* unlike guessing a fixed position from the front.
|
|
209
|
-
*/
|
|
210
86
|
function entryFromTokens(tokens) {
|
|
211
87
|
return tokens.length >= 2 ? tokens[tokens.length - 2] : null;
|
|
212
88
|
}
|
|
213
|
-
/**
|
|
214
|
-
* Every live `__daemon-run` process on this box, enriched with display
|
|
215
|
-
* metadata (entry/version/entryMissing). The raw `ps` scan and its
|
|
216
|
-
* last-token `__daemon-run` invariant live in
|
|
217
|
-
* `lib/daemon/leaked-daemons.ts` (`listDaemonRunProcesses`) — shared with the
|
|
218
|
-
* doctor's leaked-daemon detection so the two can never disagree on what a
|
|
219
|
-
* daemon process is.
|
|
220
|
-
*
|
|
221
|
-
* This box-wide scan is deliberately NOT the duplicate-detection scope
|
|
222
|
-
* (RUSH-2368): a `__daemon-run` under a different HOME serves a different
|
|
223
|
-
* `getDaemonDir()` and is not a duplicate of THIS device's daemon, however
|
|
224
|
-
* `ps` sees it — a leaked vitest fixture under its own `/tmp` HOME matched
|
|
225
|
-
* this scan and was reported as a stray to `kill`. It is used only to attach
|
|
226
|
-
* display metadata (entry/version) to pids the registry-scoped
|
|
227
|
-
* `findSurvivingStateDirDaemons` has already confirmed as real duplicates.
|
|
228
|
-
*/
|
|
229
89
|
function scanDaemonProcesses() {
|
|
230
90
|
const found = [];
|
|
231
91
|
for (const p of listDaemonRunProcesses()) {
|
|
232
92
|
const entry = entryFromTokens(p.tokens);
|
|
233
93
|
const version = entry ? resolveVersionNear(entry, p.pid) : null;
|
|
234
|
-
// Asks whether the code is on disk for the NEXT launch -- what a restart and
|
|
235
|
-
// every other reader will see -- not what this pid currently has mapped.
|
|
236
94
|
const entryMissing = entry ? entryAbsent(entry) : false;
|
|
237
95
|
found.push({ pid: p.pid, entry, version, entryMissing, uid: p.uid });
|
|
238
96
|
}
|
|
239
97
|
return found;
|
|
240
98
|
}
|
|
241
|
-
/**
|
|
242
|
-
* Duplicates of THIS device's daemon, scoped to the same instance registry the
|
|
243
|
-
* reaper and the stop postcondition use (RUSH-2368) — never a raw `ps` match.
|
|
244
|
-
* `processes` (from `scanDaemonProcesses`) supplies display metadata
|
|
245
|
-
* (entry/version); `findSurvivingStateDirDaemons` supplies the actual scope, so
|
|
246
|
-
* a `__daemon-run` under a different HOME (a different `getDaemonDir()`) —
|
|
247
|
-
* whether a leaked test fixture or a genuinely separate install — never shows
|
|
248
|
-
* up here even though it is visible to the box-wide `ps` scan.
|
|
249
|
-
*/
|
|
250
99
|
function registryScopedDuplicates(processes, ownerPid) {
|
|
251
100
|
const exclude = new Set();
|
|
252
101
|
if (ownerPid)
|
|
@@ -254,7 +103,6 @@ function registryScopedDuplicates(processes, ownerPid) {
|
|
|
254
103
|
const registered = new Set(findSurvivingStateDirDaemons(exclude));
|
|
255
104
|
return processes.filter((p) => registered.has(p.pid));
|
|
256
105
|
}
|
|
257
|
-
/** Parse a `ps -o etime=` value (`[[dd-]hh:]mm:ss`) into elapsed seconds. */
|
|
258
106
|
function parseEtimeToSeconds(raw) {
|
|
259
107
|
const m = raw.match(/^(?:(\d+)-)?(?:(\d+):)?(\d+):(\d+)$/);
|
|
260
108
|
if (!m)
|
|
@@ -267,15 +115,10 @@ function parseEtimeToSeconds(raw) {
|
|
|
267
115
|
return null;
|
|
268
116
|
return ((days * 24 + hours) * 60 + mins) * 60 + secs;
|
|
269
117
|
}
|
|
270
|
-
/** Elapsed wall-clock seconds since `pid` started, or null if unavailable (best-effort, POSIX only). */
|
|
271
118
|
export function uptimeSeconds(pid) {
|
|
272
119
|
if (process.platform === 'win32')
|
|
273
120
|
return null;
|
|
274
121
|
try {
|
|
275
|
-
// `-o etimes=` is a GNU/procps keyword macOS/BSD `ps` rejects with a
|
|
276
|
-
// non-zero exit (`ps: etimes: keyword not found`), so `agents daemon status`
|
|
277
|
-
// errored out entirely on macOS. `etime` (`[[dd-]hh:]mm:ss`) is the portable
|
|
278
|
-
// POSIX field; `parseEtimeToSeconds` above parses it.
|
|
279
122
|
const out = execFileSync('ps', ['-o', 'etime=', '-p', String(pid)], { encoding: 'utf-8' }).trim();
|
|
280
123
|
return parseEtimeToSeconds(out);
|
|
281
124
|
}
|
|
@@ -292,7 +135,6 @@ function humanDuration(seconds) {
|
|
|
292
135
|
return `${Math.round(seconds / 3600)}h`;
|
|
293
136
|
return `${Math.round(seconds / 86400)}d`;
|
|
294
137
|
}
|
|
295
|
-
/** Reachability probe only — the daemon does not host, supervise, or take over the broker (OWN-1). */
|
|
296
138
|
async function probeSecretsBroker() {
|
|
297
139
|
const { agentPing, agentStatus, keychainUsesFileFallback } = await import('../lib/secrets-client.js');
|
|
298
140
|
try {
|
|
@@ -302,15 +144,12 @@ async function probeSecretsBroker() {
|
|
|
302
144
|
return { reachable: true, fileBacked: false, socketPath: null, heldBundles: entries.length, record: null };
|
|
303
145
|
}
|
|
304
146
|
}
|
|
305
|
-
catch {
|
|
306
|
-
// Unreachable: distinguish "broker needed and absent" (a keychain-backed box)
|
|
307
|
-
// from "no broker needed" (a file-backed worker reads secrets one-shot). An
|
|
308
|
-
// unknown store defaults to broker-needed, the louder verdict.
|
|
147
|
+
catch { }
|
|
309
148
|
let fileBacked = false;
|
|
310
149
|
try {
|
|
311
150
|
fileBacked = await keychainUsesFileFallback();
|
|
312
151
|
}
|
|
313
|
-
catch {
|
|
152
|
+
catch { }
|
|
314
153
|
return { reachable: false, fileBacked, socketPath: null, heldBundles: null, record: null };
|
|
315
154
|
}
|
|
316
155
|
function schedulerSummary() {
|
|
@@ -326,25 +165,13 @@ function schedulerSummary() {
|
|
|
326
165
|
}
|
|
327
166
|
scheduler.stopAll();
|
|
328
167
|
}
|
|
329
|
-
catch {
|
|
168
|
+
catch { }
|
|
330
169
|
const failingCount = enabled.filter((j) => {
|
|
331
170
|
const last = getLatestRun(j.name);
|
|
332
171
|
return last?.status === 'failed' || last?.status === 'timeout';
|
|
333
172
|
}).length;
|
|
334
173
|
return { routineCount: jobs.length, enabledCount: enabled.length, nextFire, failingCount };
|
|
335
174
|
}
|
|
336
|
-
// ─── Rendering ────────────────────────────────────────────────────────────
|
|
337
|
-
/**
|
|
338
|
-
* Render one service's health line. `live` is the verdict — a probe run RIGHT
|
|
339
|
-
* NOW against the actual socket/binding — and is the only thing allowed to say
|
|
340
|
-
* `healthy` (RUSH-2368). `record` is the daemon's persisted last-ok/last-error
|
|
341
|
-
* history: supporting context, never the verdict. Before this fix the verdict
|
|
342
|
-
* came from `record.consecutiveFailures`, which the daemon only updates at its
|
|
343
|
-
* own startup (`recordSubsystemOk`/`recordSubsystemError` in daemon.ts) — a
|
|
344
|
-
* broker that went unreachable hours into a still-running daemon rendered
|
|
345
|
-
* `healthy (unreachable)` on one line, a contradiction that is exactly the
|
|
346
|
-
* silent-success pattern this command exists to remove.
|
|
347
|
-
*/
|
|
348
175
|
function healthLine(label, live, record) {
|
|
349
176
|
if (live) {
|
|
350
177
|
const ok = record?.lastOkAt ? chalk.gray(`(last ok ${record.lastOkAt})`) : '';
|
|
@@ -357,14 +184,6 @@ function healthLine(label, live, record) {
|
|
|
357
184
|
: '';
|
|
358
185
|
return ` ${chalk.red('down')} ${label} ${detail}`;
|
|
359
186
|
}
|
|
360
|
-
/**
|
|
361
|
-
* The `secrets broker` health line. Reachable → healthy. Unreachable is a FAULT
|
|
362
|
-
* (`down`) only when the store is keychain-backed — there the broker is what
|
|
363
|
-
* holds the unlocked keychain across reads. On a file-backed box (every
|
|
364
|
-
* headless worker) no broker is needed: secrets read one-shot, so an absent
|
|
365
|
-
* broker is expected and reads as INFO, not `down` (PHNX-4116). Pure, so the
|
|
366
|
-
* three cases are unit-tested with no live daemon.
|
|
367
|
-
*/
|
|
368
187
|
export function secretsBrokerHealthLine(secrets) {
|
|
369
188
|
if (secrets.reachable) {
|
|
370
189
|
return healthLine(`secrets broker (${secrets.socketPath}, ${secrets.heldBundles} bundle(s) held)`, true, secrets.record);
|
|
@@ -384,13 +203,6 @@ async function runStatus(opts) {
|
|
|
384
203
|
const processes = scanDaemonProcesses();
|
|
385
204
|
const owner = pid ? processes.find((p) => p.pid === pid) : undefined;
|
|
386
205
|
const duplicates = registryScopedDuplicates(processes, pid ?? null);
|
|
387
|
-
// Every daemon whose code is gone from disk, including this device's own if
|
|
388
|
-
// it is one. Not filtered by the duplicate scope — see entryIsGone.
|
|
389
|
-
// Deliberately its own read, NOT shared with registryScopedDuplicates above.
|
|
390
|
-
// That one passes `exclude` INTO findSurvivingStateDirDaemons to drop the
|
|
391
|
-
// owner, so handing it a shared empty-exclude snapshot would put ownerPid back
|
|
392
|
-
// in the set and report this device's daemon as its own duplicate. The saving
|
|
393
|
-
// would be one `ps` spawn per registered pid, at the 1-3 that actually run.
|
|
394
206
|
const registeredPids = new Set(findSurvivingStateDirDaemons(new Set()));
|
|
395
207
|
const staleTiers = staleDaemons(processes, pid ?? null, registeredPids);
|
|
396
208
|
const stale = staleTiers.visible;
|
|
@@ -411,10 +223,6 @@ async function runStatus(opts) {
|
|
|
411
223
|
binaryVersion: owner?.version ?? null,
|
|
412
224
|
binaryMissing: ownerEntryGone,
|
|
413
225
|
duplicates: duplicates.map((d) => ({ pid: d.pid, entry: d.entry, version: d.version })),
|
|
414
|
-
// `actionable` is part of the contract, not decoration: a routine or
|
|
415
|
-
// monitor reading this must be able to tell a ghost it may act on from one
|
|
416
|
-
// that is merely visible. Without it the machine surface re-opens exactly
|
|
417
|
-
// what the two-tier split closed for the text surface.
|
|
418
226
|
staleBinaries: stale.map((d) => ({
|
|
419
227
|
pid: d.pid,
|
|
420
228
|
entry: d.entry,
|
|
@@ -475,10 +283,6 @@ async function runStatus(opts) {
|
|
|
475
283
|
'\n These run code that no longer exists on disk, so a restart fails and their',
|
|
476
284
|
' behaviour is whatever was loaded when the file was deleted.',
|
|
477
285
|
];
|
|
478
|
-
// Only offer a remedy when a row here is one we may act on. Printing
|
|
479
|
-
// `kill <pid>` under a section whose only rows are visibility-tier is
|
|
480
|
-
// RUSH-2368's harm re-entering through the render layer after the data
|
|
481
|
-
// layer stopped producing it.
|
|
482
286
|
if (staleTiers.actionable.length > 0) {
|
|
483
287
|
advice.push(` Yours: ${chalk.white('agents daemon restart')} A stray this install owns: ${chalk.white('kill <pid>')}`);
|
|
484
288
|
}
|
|
@@ -503,23 +307,12 @@ async function runStatus(opts) {
|
|
|
503
307
|
console.log(chalk.red(` ${scheduler.failingCount} routine(s) failing their last run — see: agents routines stats`));
|
|
504
308
|
}
|
|
505
309
|
}
|
|
506
|
-
/**
|
|
507
|
-
* Combine the persisted enable/disable toggles with whatever health the
|
|
508
|
-
* `ServiceSupervisor` (or a legacy subsystem) has reported. Pure — reads two
|
|
509
|
-
* on-disk files, makes no probes — so it's cheap to call from both the
|
|
510
|
-
* non-interactive renderer and the interactive picker's refresh tick.
|
|
511
|
-
*/
|
|
512
310
|
function buildServiceRows(daemonRunning) {
|
|
513
311
|
const states = listDaemonServiceStates();
|
|
514
312
|
const healthById = new Map(readAllSubsystemHealth().map((h) => [h.subsystem, h]));
|
|
515
313
|
return states.map((s) => {
|
|
516
314
|
const h = healthById.get(s.id);
|
|
517
315
|
const supervised = h?.state !== undefined;
|
|
518
|
-
// A persisted supervisor state (health.json) is only trustworthy while the
|
|
519
|
-
// daemon is actually up. If it is not running (crash / kill -9 / never
|
|
520
|
-
// started), every service is stopped no matter what the last-written record
|
|
521
|
-
// says — trusting a stale 'running'/'idle' here would print a report that
|
|
522
|
-
// contradicts the live-probed socket rows below (RUSH-2368).
|
|
523
316
|
const state = daemonRunning
|
|
524
317
|
? (h?.state ?? (s.enabled ? 'running (unsupervised)' : 'stopped'))
|
|
525
318
|
: 'stopped';
|
|
@@ -543,16 +336,14 @@ function serviceStateLabel(state) {
|
|
|
543
336
|
return chalk.gray('stopped');
|
|
544
337
|
if (state === 'idle')
|
|
545
338
|
return chalk.gray('idle');
|
|
546
|
-
return chalk.yellow(state);
|
|
339
|
+
return chalk.yellow(state);
|
|
547
340
|
}
|
|
548
341
|
async function runServices(opts) {
|
|
549
342
|
const secrets = await probeSecretsBroker();
|
|
550
343
|
const rows = buildServiceRows(isDaemonRunning());
|
|
551
344
|
if (opts.json) {
|
|
552
345
|
console.log(JSON.stringify({
|
|
553
|
-
// Existing fields — unchanged shape, agents/CI consume these directly.
|
|
554
346
|
secretsBroker: { reachable: secrets.reachable, socketPath: secrets.socketPath, heldBundles: secrets.heldBundles, health: secrets.record },
|
|
555
|
-
// Additive: every registered service, supervised or legacy.
|
|
556
347
|
services: rows,
|
|
557
348
|
}, null, 2));
|
|
558
349
|
return;
|
|
@@ -580,7 +371,7 @@ function parseLogLines(raw) {
|
|
|
580
371
|
if (entry && typeof entry.ts === 'string' && typeof entry.level === 'string')
|
|
581
372
|
out.push(entry);
|
|
582
373
|
}
|
|
583
|
-
catch {
|
|
374
|
+
catch { }
|
|
584
375
|
}
|
|
585
376
|
return out;
|
|
586
377
|
}
|
|
@@ -637,29 +428,18 @@ async function runLogs(opts) {
|
|
|
637
428
|
for (const entry of entries)
|
|
638
429
|
printLogEntry(entry);
|
|
639
430
|
}
|
|
640
|
-
// ─── Doctor ──────────────────────────────────────────────────────────────
|
|
641
431
|
async function runDoctor(opts) {
|
|
642
432
|
const status = getDaemonStatus();
|
|
643
433
|
const enabled = isDaemonEnabled();
|
|
644
434
|
const problems = [];
|
|
645
435
|
if (!status.running && enabled)
|
|
646
436
|
problems.push('Daemon is not running. Start it: agents daemon start');
|
|
647
|
-
// RUSH-2418: an open auto-start circuit breaker is the FIRST thing to report
|
|
648
|
-
// for a stopped daemon — otherwise the only advice is "agents daemon start",
|
|
649
|
-
// which is the exact action the breaker just refused, with no hint that a
|
|
650
|
-
// breaker exists or what the underlying failure was. This is where the
|
|
651
|
-
// breaker's own message sends the operator, so it has to answer them.
|
|
652
437
|
const startHealth = readSubsystemHealth(SUBSYSTEM_DAEMON_START);
|
|
653
438
|
if (isDaemonAutostartCircuitOpen()) {
|
|
654
439
|
problems.push(`Daemon auto-start is disabled after ${startHealth?.consecutiveFailures ?? 0} consecutive starts that never reported healthy: ` +
|
|
655
440
|
`${startHealth?.lastError ?? 'no reason recorded'}. Fix the cause, then retry with: agents daemon start`);
|
|
656
441
|
}
|
|
657
442
|
else if (!status.running && startHealth && startHealth.consecutiveFailures > 0) {
|
|
658
|
-
// Only while the daemon is DOWN. A start is marked as failed the moment it
|
|
659
|
-
// is issued and cleared once the daemon finishes booting, so a running
|
|
660
|
-
// daemon with a non-zero streak is just the boot window (or a daemon
|
|
661
|
-
// launched outside startDaemon) — reporting it there is a false alarm that
|
|
662
|
-
// clears itself a second later.
|
|
663
443
|
problems.push(`Daemon start has ${startHealth.consecutiveFailures} consecutive failure(s): ${startHealth.lastError}`);
|
|
664
444
|
}
|
|
665
445
|
const healthProcesses = scanDaemonProcesses();
|
|
@@ -667,9 +447,6 @@ async function runDoctor(opts) {
|
|
|
667
447
|
if (duplicates.length > 0) {
|
|
668
448
|
problems.push(`${duplicates.length} duplicate daemon process(es) running: ${duplicates.map((d) => d.pid).join(', ')}. Stop the stray(s).`);
|
|
669
449
|
}
|
|
670
|
-
// A daemon whose entry is gone from disk is a problem even when it answers
|
|
671
|
-
// every probe: it cannot restart, and it is running whatever was loaded
|
|
672
|
-
// before the file was deleted (RUSH-2493).
|
|
673
450
|
for (const p of staleDaemons(healthProcesses, status.pid, new Set(findSurvivingStateDirDaemons(new Set()))).actionable) {
|
|
674
451
|
const own = status.pid !== null && p.pid === status.pid;
|
|
675
452
|
problems.push(`Daemon pid ${p.pid} runs code deleted from disk (${p.entry}). ` +
|
|
@@ -700,8 +477,6 @@ async function runDoctor(opts) {
|
|
|
700
477
|
console.log(` ${chalk.red('✗')} ${p}`);
|
|
701
478
|
process.exitCode = 1;
|
|
702
479
|
}
|
|
703
|
-
// ─── Hosted webhook receivers ────────────────────────────────────────────
|
|
704
|
-
/** Parse a positive-integer option, failing loud rather than silently defaulting. */
|
|
705
480
|
function requirePositiveInt(raw, label) {
|
|
706
481
|
const parsed = Number.parseInt(raw, 10);
|
|
707
482
|
if (!Number.isInteger(parsed) || parsed <= 0) {
|
|
@@ -710,13 +485,6 @@ function requirePositiveInt(raw, label) {
|
|
|
710
485
|
}
|
|
711
486
|
return parsed;
|
|
712
487
|
}
|
|
713
|
-
/**
|
|
714
|
-
* `agents daemon webhooks` — which signed receivers THIS box hosts (RUSH-2548).
|
|
715
|
-
*
|
|
716
|
-
* The entries land in `daemon/webhooks.yaml`, which the daemon's
|
|
717
|
-
* `webhook-receiver` service reads at start; nothing binds until the daemon
|
|
718
|
-
* picks the change up, so every mutation says how to apply it.
|
|
719
|
-
*/
|
|
720
488
|
function registerWebhooksSubcommand(parent) {
|
|
721
489
|
const webhooks = parent
|
|
722
490
|
.command('webhooks')
|
|
@@ -804,9 +572,6 @@ function registerWebhooksSubcommand(parent) {
|
|
|
804
572
|
}
|
|
805
573
|
console.log(chalk.green(`Removed the webhook receiver on port ${port}.`));
|
|
806
574
|
if (removed.funnel) {
|
|
807
|
-
// Leaving the Funnel up would keep a public HTTPS route pointed at a port
|
|
808
|
-
// nothing serves, so say what to run — this box may not be the tailnet
|
|
809
|
-
// node, and `funnel down` names the host explicitly.
|
|
810
575
|
console.log(chalk.yellow(` public ingress is still up on :${removed.funnel.publicPort} — take it down:`));
|
|
811
576
|
console.log(chalk.gray(` agents daemon funnel down <host> --port ${removed.funnel.publicPort}`));
|
|
812
577
|
}
|
|
@@ -840,7 +605,6 @@ function runWebhooksList(json) {
|
|
|
840
605
|
console.log(chalk.gray(`\nConfig: ${getDaemonWebhooksConfigPath()}`));
|
|
841
606
|
console.log(chalk.gray('Changes take effect on the next daemon restart.'));
|
|
842
607
|
}
|
|
843
|
-
// ─── Command registration ────────────────────────────────────────────────
|
|
844
608
|
export function registerDaemonCommand(program) {
|
|
845
609
|
const cmd = program
|
|
846
610
|
.command('daemon')
|
|
@@ -955,8 +719,6 @@ export function registerDaemonCommand(program) {
|
|
|
955
719
|
}
|
|
956
720
|
return;
|
|
957
721
|
}
|
|
958
|
-
// SING-12 / RUSH-2355: stop asserts its postcondition and returns what
|
|
959
|
-
// released vs survived — surface it and exit non-zero on an unclean stop.
|
|
960
722
|
const result = stopDaemon();
|
|
961
723
|
if (asJson) {
|
|
962
724
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1073,15 +835,6 @@ export function registerDaemonCommand(program) {
|
|
|
1073
835
|
console.log(chalk.gray(`\nConfig: ${getDaemonServicesConfigPath()}`));
|
|
1074
836
|
console.log(chalk.gray('Changes take effect on the next daemon reload or restart.'));
|
|
1075
837
|
});
|
|
1076
|
-
/**
|
|
1077
|
-
* Apply an enable/disable toggle live (RUSH-3193 P4): persist it, then signal
|
|
1078
|
-
* the running daemon to reload — its handler diffs the toggle and drives
|
|
1079
|
-
* `supervisor.start/stop(id)` for a supervised service, so no restart is
|
|
1080
|
-
* needed for supervisor-managed services registered at boot. The inline
|
|
1081
|
-
* scheduler re-evaluates its toggle on reload. webhook-receiver,
|
|
1082
|
-
* monitors' on-transition, and other boot-disabled services still need a
|
|
1083
|
-
* deliberate operator restart — the daemon's own reload log says so.
|
|
1084
|
-
*/
|
|
1085
838
|
function applyServiceToggleLive(service) {
|
|
1086
839
|
if (!isDaemonRunning())
|
|
1087
840
|
return;
|