@phnx-labs/agents-cli 1.22.119 → 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 +236 -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 +20 -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,38 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Daemon self-update service (PHNX-3695, "Fix 2").
|
|
3
|
-
*
|
|
4
|
-
* The daemon (`agents __daemon-run`) is a long-running background process that
|
|
5
|
-
* historically opted OUT of the CLI's interactive auto-update: `bootstrap.ts`
|
|
6
|
-
* force-sets `AGENTS_CLI_DISABLE_AUTO_UPDATE=1` for `__daemon-run`, so a
|
|
7
|
-
* running daemon never picked up new agents-cli code until a human ran
|
|
8
|
-
* `agents daemon restart`. R5 in the root CLAUDE.md ("An installed CLI and its
|
|
9
|
-
* installed helpers auto-update from the public channel") is binding for the
|
|
10
|
-
* interactive CLI path (`self-update.ts` / `agents upgrade`) but was silently
|
|
11
|
-
* NOT held for the one process that runs unattended for days. This service
|
|
12
|
-
* closes that gap for the daemon specifically, reusing the exact same
|
|
13
|
-
* verified-install primitives `agents upgrade` already uses — it does not
|
|
14
|
-
* fork or reimplement them.
|
|
15
|
-
*
|
|
16
|
-
* Model: verify-then-exit, not swap-in-place. A daemon cannot safely hot-swap
|
|
17
|
-
* its own loaded JS mid-process (in-flight ticks, open sockets, a live
|
|
18
|
-
* ServiceSupervisor). Instead this tick installs + BYTE-VERIFIES the new
|
|
19
|
-
* package on disk, and only once that succeeds does it `process.exit(0)` —
|
|
20
|
-
* the OS supervisor (launchd `KeepAlive` / systemd `Restart=always`, see
|
|
21
|
-
* `daemon/AGENTS.md`'s crash-recovery model) relaunches the daemon, which
|
|
22
|
-
* then boots the new code. Clients do not need to be told anything: a socket
|
|
23
|
-
* client re-probes and reconnects when the daemon relaunches, and the
|
|
24
|
-
* scheduler's atomic `(routine, scheduledFor)` claim (see
|
|
25
|
-
* `docs/specifications.md` §Scheduling & execution singularity) means a routine
|
|
26
|
-
* mid-fire at the moment of exit is deduped safely across the restart rather
|
|
27
|
-
* than double-fired.
|
|
28
|
-
*
|
|
29
|
-
* Fail-closed is the whole point: every step below that can fail — the
|
|
30
|
-
* registry check, the install, the post-install verify — leaves the OLD
|
|
31
|
-
* daemon running untouched and logs a WARN/ERROR for the next tick to retry.
|
|
32
|
-
* The daemon must never exit into code it has not proven is the real,
|
|
33
|
-
* verified, requested version; an unverified exit would let the OS supervisor
|
|
34
|
-
* relaunch-loop on a broken install.
|
|
35
|
-
*/
|
|
36
1
|
import { BasePeriodicService } from './service.js';
|
|
37
2
|
import { getCliVersion, getCliVersionFresh } from '../version.js';
|
|
38
3
|
import { isDevVersionStamp } from '../startup/dev-build.js';
|
|
@@ -42,33 +7,13 @@ import { NPM_PACKAGE_NAME, deriveGlobalPrefix, detectPackageManager, downloadVer
|
|
|
42
7
|
import { tryAutoPullSystemRepo } from '../git.js';
|
|
43
8
|
import { getSystemAgentsDir } from '../state.js';
|
|
44
9
|
import { runUmbrellaSync } from '../sync-umbrella.js';
|
|
10
|
+
import { upgradeOutdatedClis } from '../cli-resources.js';
|
|
45
11
|
import * as fs from 'fs';
|
|
46
12
|
import * as path from 'path';
|
|
47
13
|
import { fileURLToPath } from 'url';
|
|
48
14
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
49
|
-
/** Runs roughly every 75 minutes — self-update is not urgent (unlike self-heal's 6h drift repair, it changes running code, so it stays well under a day but still infrequent). */
|
|
50
15
|
const SELF_UPDATE_TICK_MS = 75 * 60_000;
|
|
51
|
-
/**
|
|
52
|
-
* Hard cap per tick: a real download + npm/bun install + verify can
|
|
53
|
-
* legitimately take minutes on a slow link. 15 minutes matches the task's
|
|
54
|
-
* stated budget and is short relative to the ~75min cadence. Exported so an
|
|
55
|
-
* on-demand self-update trigger ({@link triggerSelfUpdateInBackground}) can bound
|
|
56
|
-
* its own `AbortController` on the SAME budget the periodic tick runs under —
|
|
57
|
-
* one deadline, not two independently-tuned numbers that could drift apart.
|
|
58
|
-
* (Its former transport, the `request-self-update` verb on the daemon's browser
|
|
59
|
-
* IPC socket, left with the standalone `browser` CLI in PHNX-4101; the mechanism
|
|
60
|
-
* stays for a future on-demand caller.)
|
|
61
|
-
*/
|
|
62
16
|
const SELF_UPDATE_DEADLINE_MS = 15 * 60_000;
|
|
63
|
-
/**
|
|
64
|
-
* First tick fires 5 minutes after daemon boot — deliberately longer than
|
|
65
|
-
* self-heal's 30s stagger (`self-heal-service.ts`): self-heal repairs local
|
|
66
|
-
* drift and is cheap/safe to run immediately, while self-update can replace
|
|
67
|
-
* the running package and exit the process, which should never be the very
|
|
68
|
-
* first thing a freshly-started daemon does (give the box a moment to finish
|
|
69
|
-
* settling — shims, PATH, other services' startup ticks — before considering
|
|
70
|
-
* a restart). Every later tick still fires on the normal cadence.
|
|
71
|
-
*/
|
|
72
17
|
const SELF_UPDATE_STARTUP_DELAY_MS = 5 * 60_000;
|
|
73
18
|
async function fetchLatestNpmMetadata(signal) {
|
|
74
19
|
const response = await fetch(`https://registry.npmjs.org/${NPM_PACKAGE_NAME}/latest`, { signal });
|
|
@@ -83,30 +28,7 @@ async function fetchLatestNpmMetadata(signal) {
|
|
|
83
28
|
}
|
|
84
29
|
return { version: data.version, integrity: data.dist.integrity, tarball: data.dist.tarball };
|
|
85
30
|
}
|
|
86
|
-
|
|
87
|
-
* Install + byte-verify `metadata` into `packageRoot`'s install, exactly the
|
|
88
|
-
* sequence `bootstrap.ts`'s `installResolvedPackage` runs for `agents
|
|
89
|
-
* upgrade` (download+integrity-verify -> sweep stale staging -> package-
|
|
90
|
-
* manager install -> verify installed version -> refresh alias shims).
|
|
91
|
-
* `bootstrap.ts` cannot be imported here — it runs side-effecting top-level
|
|
92
|
-
* code (argv parsing, command registration) on import, which the daemon must
|
|
93
|
-
* never trigger — so this is the same primitives from `self-update.ts`
|
|
94
|
-
* composed directly, not a fork of the upgrade logic.
|
|
95
|
-
*
|
|
96
|
-
* `signal` is threaded into EVERY step's own `signal` option
|
|
97
|
-
* (`downloadVerifiedTarball` / `installPackageIntoPrefix` /
|
|
98
|
-
* `installPackageWithBun`, all in `self-update.ts`) rather than raced against
|
|
99
|
-
* from the outside: those primitives kill the underlying fetch/child process
|
|
100
|
-
* on abort and their promise rejects only once that real cancellation has
|
|
101
|
-
* happened. A wrapper that merely stopped AWAITING an unkillable operation
|
|
102
|
-
* (the prior approach here) left an orphaned `npm install -g`/`bun add -g`
|
|
103
|
-
* writing into the shared global prefix — which the very next tick's fresh
|
|
104
|
-
* install (started as soon as the supervisor's backoff fires, seconds later)
|
|
105
|
-
* would then race into the same directory. Real cancellation is what makes
|
|
106
|
-
* `attemptSelfUpdateAndExit`'s `inFlightAttempt` dedupe (below) an actual
|
|
107
|
-
* guarantee instead of a guard whose lifetime is shorter than the operation
|
|
108
|
-
* it's guarding (found in review, PHNX-3695).
|
|
109
|
-
*/
|
|
31
|
+
// Exit is allowed only after tarball, installed version, shims, and global bin links are verified.
|
|
110
32
|
export async function installAndVerifyDefault(metadata, packageRoot, signal) {
|
|
111
33
|
const tarball = await downloadVerifiedTarball(metadata.tarball, metadata.integrity, 60_000, signal);
|
|
112
34
|
try {
|
|
@@ -123,19 +45,10 @@ export async function installAndVerifyDefault(metadata, packageRoot, signal) {
|
|
|
123
45
|
await fs.promises.rm(path.dirname(tarball), { recursive: true, force: true });
|
|
124
46
|
}
|
|
125
47
|
catch {
|
|
126
|
-
/* leave it for the OS temp sweep */
|
|
127
48
|
}
|
|
128
49
|
}
|
|
129
50
|
await verifyInstalledVersion(packageRoot, metadata.version);
|
|
130
51
|
await refreshAliasShims(packageRoot, signal);
|
|
131
|
-
// PHNX-2768: mirror `bootstrap.ts`'s `installResolvedPackage` — an
|
|
132
|
-
// `--ignore-scripts` install (both package-manager paths above) can leave
|
|
133
|
-
// the package.json at the new version but the global bin links
|
|
134
|
-
// (agents/ag/browser/computer) GONE. Without this, a self-update tick could
|
|
135
|
-
// exit `updated: true` while every operator-typed `agents` command on that
|
|
136
|
-
// box now reads "command not found," with no signal anywhere pointing at
|
|
137
|
-
// why. Same fail-loud contract as the interactive path: a link that cannot
|
|
138
|
-
// be made to resolve fails the whole attempt rather than reporting success.
|
|
139
52
|
if (detectPackageManager(packageRoot) !== 'bun' && process.platform !== 'win32') {
|
|
140
53
|
const prefix = deriveGlobalPrefix(packageRoot);
|
|
141
54
|
const repairs = await ensureGlobalBinLinks(packageRoot, prefix);
|
|
@@ -171,9 +84,6 @@ function defaultSelfUpdateDeps() {
|
|
|
171
84
|
}
|
|
172
85
|
},
|
|
173
86
|
syncLocal: async () => {
|
|
174
|
-
// Reconcile-only (no fetch — the .system pull above already fetched);
|
|
175
|
-
// best-effort, same as the system-repo pull: a declined resource here
|
|
176
|
-
// is not a self-update failure.
|
|
177
87
|
await runUmbrellaSync({
|
|
178
88
|
flags: { local: true },
|
|
179
89
|
log: () => { },
|
|
@@ -183,28 +93,8 @@ function defaultSelfUpdateDeps() {
|
|
|
183
93
|
},
|
|
184
94
|
};
|
|
185
95
|
}
|
|
186
|
-
|
|
187
|
-
* Dedupes concurrent callers onto ONE in-flight attempt. The periodic tick
|
|
188
|
-
* and an on-demand `request-self-update` IPC call (possibly several, if more
|
|
189
|
-
* than one version-skewed client reconnects at once) can overlap in the same
|
|
190
|
-
* process — without this, two concurrent `installAndVerify` calls race on the
|
|
191
|
-
* same package-manager install directory. Keyed process-wide (not per-deps)
|
|
192
|
-
* since production always shares one `defaultSelfUpdateDeps()` install target;
|
|
193
|
-
* tests inject distinct `deps` per case and don't run concurrently with each
|
|
194
|
-
* other, so this never cross-contaminates test outcomes.
|
|
195
|
-
*/
|
|
96
|
+
// Periodic and on-demand triggers share the actual in-flight install, not merely its caller's wait.
|
|
196
97
|
let inFlightAttempt = null;
|
|
197
|
-
/**
|
|
198
|
-
* Core self-update decision + action, shared by the periodic tick
|
|
199
|
-
* ({@link SelfUpdateService.onTick}) and the on-demand trigger
|
|
200
|
-
* ({@link triggerSelfUpdateInBackground}) — one implementation, so a
|
|
201
|
-
* version-skew "update now" caller runs exactly the same fail-closed logic as the
|
|
202
|
-
* scheduled sweep. Returns rather than throws so callers decide their own exit
|
|
203
|
-
* timing (the periodic service exits immediately; an on-demand caller that must
|
|
204
|
-
* respond to a client BEFORE exiting delays via {@link scheduleSelfUpdateExit}).
|
|
205
|
-
* Concurrent callers share one in-flight attempt rather than racing separate
|
|
206
|
-
* installs.
|
|
207
|
-
*/
|
|
208
98
|
export async function attemptSelfUpdateAndExit(ctx, signal, deps = defaultSelfUpdateDeps()) {
|
|
209
99
|
if (inFlightAttempt)
|
|
210
100
|
return inFlightAttempt;
|
|
@@ -219,24 +109,12 @@ export async function attemptSelfUpdateAndExit(ctx, signal, deps = defaultSelfUp
|
|
|
219
109
|
}
|
|
220
110
|
}
|
|
221
111
|
async function runSelfUpdateAttempt(ctx, signal, deps) {
|
|
222
|
-
// One decline source for the periodic tick and the on-demand IPC path
|
|
223
|
-
// (`selfUpdateSyncDeclineReason`): dev build; shadowed install — except when
|
|
224
|
-
// the install on disk is already newer than the running code, because a
|
|
225
|
-
// relaunch installs nothing and a second `agents` on the box is irrelevant to
|
|
226
|
-
// it (otherwise a shadowed worker never leaves the release it booted on).
|
|
227
112
|
const syncDecline = selfUpdateSyncDeclineReason(deps);
|
|
228
113
|
if (syncDecline)
|
|
229
114
|
return { updated: false, reason: syncDecline };
|
|
230
|
-
// Another agents process (an operator's `agents` command auto-updating, an
|
|
231
|
-
// `agents upgrade`, the installer) may already have replaced the install
|
|
232
|
-
// under this daemon. The code on disk is then newer than the code in memory
|
|
233
|
-
// and there is nothing to download — that path verified its install before
|
|
234
|
-
// it returned. Exit for the OS-supervisor relaunch, once the install has
|
|
235
|
-
// settled: npm's reify is atomic but bun's is not, so a version bump alone
|
|
236
|
-
// could be bun mid-extraction (`installLooksSettled`). Waiting one tick is
|
|
237
|
-
// cheap; relaunching into a half-written tree is a supervisor crash-loop.
|
|
238
115
|
const current = deps.currentVersion();
|
|
239
116
|
const installed = deps.installedVersion();
|
|
117
|
+
// Bun writes incrementally, so a newer on-disk version is trusted only after the install settles.
|
|
240
118
|
if (installedIsNewerThanRunning(installed, current)) {
|
|
241
119
|
if (!deps.installedIsSettled()) {
|
|
242
120
|
ctx.log('INFO', `self-update: the install on disk is ${installed} (this daemon is running ${current}) but it is still settling; relaunch deferred to the next tick`);
|
|
@@ -267,11 +145,7 @@ async function runSelfUpdateAttempt(ctx, signal, deps) {
|
|
|
267
145
|
ctx.log('ERROR', `self-update: install/verify of ${metadata.version} failed, staying on ${current}: ${message}`);
|
|
268
146
|
return { updated: false, reason: 'install or verify failed' };
|
|
269
147
|
}
|
|
270
|
-
//
|
|
271
|
-
// byte-verified, so a failure pulling the companion .system repo or
|
|
272
|
-
// reconciling resources must not undo a good CLI upgrade or block the exit
|
|
273
|
-
// that lets the OS supervisor relaunch onto it — it is logged and left for
|
|
274
|
-
// the NEXT tick (which runs on the new code) to retry.
|
|
148
|
+
// Post-install repo and local reconciliation is best-effort after install verification succeeds.
|
|
275
149
|
try {
|
|
276
150
|
await deps.syncSystemRepo();
|
|
277
151
|
}
|
|
@@ -289,53 +163,15 @@ async function runSelfUpdateAttempt(ctx, signal, deps) {
|
|
|
289
163
|
ctx.log('INFO', `self-update: verified ${current} -> ${metadata.version}; exiting for OS-supervisor relaunch`);
|
|
290
164
|
return { updated: true };
|
|
291
165
|
}
|
|
292
|
-
|
|
166
|
+
// Give an on-demand caller's IPC response time to flush before the supervised process exits.
|
|
293
167
|
const SELF_UPDATE_EXIT_DELAY_MS = 250;
|
|
294
168
|
let exitScheduled = false;
|
|
295
|
-
/**
|
|
296
|
-
* Schedule the process exit for a verified self-update, exactly once, no
|
|
297
|
-
* matter how many callers observe `outcome.updated` on the shared
|
|
298
|
-
* `inFlightAttempt` promise. The periodic tick and an on-demand caller can both
|
|
299
|
-
* be awaiting that SAME promise — if the tick's continuation ran an immediate
|
|
300
|
-
* `process.exit(0)` while an on-demand caller's continuation had not yet flushed
|
|
301
|
-
* its response to a client, the tick's exit could win the race and the client
|
|
302
|
-
* would see a closed socket before any response (found in review, PHNX-3695).
|
|
303
|
-
* Routing every caller through this one guarded, always-delayed scheduling point
|
|
304
|
-
* means the delay protects EVERY caller's in-flight response.
|
|
305
|
-
*/
|
|
306
169
|
export function scheduleSelfUpdateExit() {
|
|
307
170
|
if (exitScheduled)
|
|
308
171
|
return;
|
|
309
172
|
exitScheduled = true;
|
|
310
173
|
setTimeout(() => process.exit(0), SELF_UPDATE_EXIT_DELAY_MS);
|
|
311
174
|
}
|
|
312
|
-
/**
|
|
313
|
-
* Fire an on-demand self-update in the BACKGROUND and return its (bounded)
|
|
314
|
-
* promise WITHOUT the caller having to await it — the reusable primitive for a
|
|
315
|
-
* "update now" trigger that must respond to a client before the daemon exits.
|
|
316
|
-
* Awaiting the full check→download→install→verify inline would park the caller
|
|
317
|
-
* for tens of seconds (worst case ~15 min), the client-stall PHNX-3605 was
|
|
318
|
-
* written to prevent; instead a trigger responds "triggered" immediately and
|
|
319
|
-
* lets this run in the background — the daemon does install→verify→exit(0) on its
|
|
320
|
-
* own, the OS supervisor relaunches it, and the client reconnects.
|
|
321
|
-
*
|
|
322
|
-
* (Its one former production caller was the `request-self-update` verb on the
|
|
323
|
-
* daemon's browser IPC socket, removed with the standalone `browser` CLI in
|
|
324
|
-
* PHNX-4101. The primitive stays — tested and reusable — for a future on-demand
|
|
325
|
-
* trigger; the periodic tick does not use it, exiting inline instead.)
|
|
326
|
-
*
|
|
327
|
-
* The work still shares the module-level {@link attemptSelfUpdateAndExit}
|
|
328
|
-
* `inFlightAttempt` guard, so a concurrent trigger (or the periodic tick) can't
|
|
329
|
-
* race a second install into the same prefix. It is bounded by
|
|
330
|
-
* {@link SELF_UPDATE_DEADLINE_MS} via an `AbortController` nobody awaits (the
|
|
331
|
-
* timer is `unref`'d so it never keeps the daemon alive on its own and never
|
|
332
|
-
* dangles in a test). Fail-closed is preserved end to end:
|
|
333
|
-
* `runSelfUpdateAttempt` already turns an install/verify failure into a
|
|
334
|
-
* not-updated outcome that leaves the running daemon untouched. The caller
|
|
335
|
-
* schedules the one decoupled {@link scheduleSelfUpdateExit} off the returned
|
|
336
|
-
* promise once `updated` is true, so the exit still fires after the caller's
|
|
337
|
-
* response has flushed.
|
|
338
|
-
*/
|
|
339
175
|
export function triggerSelfUpdateInBackground(ctx, deps = defaultSelfUpdateDeps()) {
|
|
340
176
|
const controller = new AbortController();
|
|
341
177
|
const timeout = setTimeout(() => controller.abort(), SELF_UPDATE_DEADLINE_MS);
|
|
@@ -343,24 +179,9 @@ export function triggerSelfUpdateInBackground(ctx, deps = defaultSelfUpdateDeps(
|
|
|
343
179
|
timeout.unref();
|
|
344
180
|
return attemptSelfUpdateAndExit(ctx, controller.signal, deps).finally(() => clearTimeout(timeout));
|
|
345
181
|
}
|
|
346
|
-
/**
|
|
347
|
-
* The subset of self-update decline checks that are INSTANT and network-free —
|
|
348
|
-
* a dev build, or a shadowed install. The on-demand IPC handler
|
|
349
|
-
* (`request-self-update`) runs these SYNCHRONOUSLY so a version-skewed browser
|
|
350
|
-
* client gets the PHNX-3605 "nothing changed, not evicting" advisory
|
|
351
|
-
* immediately, instead of a "triggered" it would never act on. The remaining
|
|
352
|
-
* checks (registry probe, already-current, install/verify) stay inside the
|
|
353
|
-
* backgrounded {@link attemptSelfUpdateAndExit} so the handler never blocks on
|
|
354
|
-
* the network or the install. This is the single source of the two instant
|
|
355
|
-
* decline reasons — {@link runSelfUpdateAttempt} calls it too, so the on-demand
|
|
356
|
-
* decline text can never drift from the periodic tick's. Returns the decline
|
|
357
|
-
* reason, or `null` to proceed to the (backgrounded) install path.
|
|
358
|
-
*/
|
|
359
182
|
export function selfUpdateSyncDeclineReason(deps = defaultSelfUpdateDeps()) {
|
|
360
183
|
if (deps.isDevBuild())
|
|
361
184
|
return DEV_BUILD_DECLINE;
|
|
362
|
-
// A stale install is never declined by a shadow: the relaunch installs nothing.
|
|
363
|
-
// (Whether that install has SETTLED is the attempt's call, not a decline.)
|
|
364
185
|
if (deps.detectShadow() && !installedIsNewerThanRunning(deps.installedVersion(), deps.currentVersion())) {
|
|
365
186
|
return SHADOW_DECLINE;
|
|
366
187
|
}
|
|
@@ -368,13 +189,11 @@ export function selfUpdateSyncDeclineReason(deps = defaultSelfUpdateDeps()) {
|
|
|
368
189
|
}
|
|
369
190
|
const DEV_BUILD_DECLINE = 'dev build — self-update is a no-op';
|
|
370
191
|
const SHADOW_DECLINE = 'another agents binary shadows this install — self-update is a no-op';
|
|
371
|
-
/** True when the package on disk is a strictly newer release than the one this process booted with. */
|
|
372
192
|
function installedIsNewerThanRunning(installed, running) {
|
|
373
193
|
if (installed === 'unknown' || running === 'unknown')
|
|
374
194
|
return false;
|
|
375
195
|
return compareVersions(installed, running) > 0;
|
|
376
196
|
}
|
|
377
|
-
/** The shadow decline is logged once per daemon process — a silent permanent no-op is how eight workers sat on stale code unnoticed (2026-09-07). */
|
|
378
197
|
let shadowDeclineLogged = false;
|
|
379
198
|
export class SelfUpdateService extends BasePeriodicService {
|
|
380
199
|
id = 'self-update';
|
|
@@ -382,12 +201,11 @@ export class SelfUpdateService extends BasePeriodicService {
|
|
|
382
201
|
deadlineMs = SELF_UPDATE_DEADLINE_MS;
|
|
383
202
|
startupDelayMs = SELF_UPDATE_STARTUP_DELAY_MS;
|
|
384
203
|
async onStart(_ctx) {
|
|
385
|
-
// No connections/handles to open — each tick checks the registry fresh.
|
|
386
204
|
}
|
|
387
205
|
async onStop() {
|
|
388
|
-
// Nothing to release — the supervisor's timer teardown is the only cleanup needed.
|
|
389
206
|
}
|
|
390
207
|
async onTick(ctx, signal) {
|
|
208
|
+
const deadlineAt = Date.now() + this.deadlineMs;
|
|
391
209
|
const outcome = await attemptSelfUpdateAndExit(ctx, signal);
|
|
392
210
|
if (outcome.updated) {
|
|
393
211
|
scheduleSelfUpdateExit();
|
|
@@ -398,5 +216,24 @@ export class SelfUpdateService extends BasePeriodicService {
|
|
|
398
216
|
ctx.log('WARN', `self-update: ${outcome.reason}; this daemon will only move to a new release after another agents ` +
|
|
399
217
|
'process upgrades the install (`agents doctor` lists the shadow copy)');
|
|
400
218
|
}
|
|
219
|
+
await upgradeHostClis(ctx, signal, deadlineAt);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
export async function upgradeHostClis(ctx, signal, deadlineAt, cwd) {
|
|
223
|
+
let results;
|
|
224
|
+
try {
|
|
225
|
+
results = await upgradeOutdatedClis({ signal, deadlineAt, cwd });
|
|
226
|
+
}
|
|
227
|
+
catch (err) {
|
|
228
|
+
ctx.log('WARN', `host-cli upgrade: could not read CLI manifests: ${err.message}`);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
for (const r of results) {
|
|
232
|
+
if (r.status === 'upgraded')
|
|
233
|
+
ctx.log('INFO', `host-cli upgrade: ${r.name} ${r.from} -> ${r.to}`);
|
|
234
|
+
else if (r.status === 'failed')
|
|
235
|
+
ctx.log('WARN', `host-cli upgrade: ${r.name} failed, left as is: ${r.reason}`);
|
|
236
|
+
else if (r.status === 'skipped' && r.reason.startsWith('outdated'))
|
|
237
|
+
ctx.log('WARN', `host-cli upgrade: ${r.name} ${r.reason}`);
|
|
401
238
|
}
|
|
402
239
|
}
|
|
@@ -1,89 +1,28 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DaemonService contract (RUSH-3193 P1).
|
|
3
|
-
*
|
|
4
|
-
* Historically the daemon's background services were bare `setInterval` closures
|
|
5
|
-
* inside one long `runDaemon()` (daemon.ts), sharing one event loop with no
|
|
6
|
-
* per-service error boundary or deadline. A throw escaping a tick's local
|
|
7
|
-
* try/catch hits the process-wide handler and kills every service; a tick that
|
|
8
|
-
* hangs on an unbounded await latches its in-flight guard `true` forever and
|
|
9
|
-
* silently freezes that service for the daemon's life.
|
|
10
|
-
*
|
|
11
|
-
* This module defines the service shape a `ServiceSupervisor` (supervisor.ts)
|
|
12
|
-
* drives instead: one contract per service, owned timer, per-tick deadline,
|
|
13
|
-
* and a health record the supervisor can report without the service having to
|
|
14
|
-
* know it is being supervised.
|
|
15
|
-
*/
|
|
16
1
|
import type { DaemonServiceId } from '../daemon-services.js';
|
|
17
|
-
/**
|
|
18
|
-
* Lifecycle state a supervised service can be in. There is no `parked` state:
|
|
19
|
-
* a throw keeps the service `running` (it retries on the next tick) and a
|
|
20
|
-
* deadline breach exits the whole daemon for a supervised OS restart (PHNX-4116).
|
|
21
|
-
*/
|
|
22
2
|
export type ServiceState = 'idle' | 'running' | 'stopped';
|
|
23
|
-
/** A service's most recently observed health, as reported by the supervisor. */
|
|
24
3
|
export interface ServiceHealth {
|
|
25
4
|
state: ServiceState;
|
|
26
|
-
/** `Date.now()` of the last tick that completed without throwing or timing out. */
|
|
27
5
|
lastRunMs: number;
|
|
28
6
|
lastError?: string;
|
|
29
|
-
/** Consecutive failed/timed-out ticks since the last success. */
|
|
30
7
|
consecutiveFailures: number;
|
|
31
8
|
}
|
|
32
|
-
/** Shared context every service receives at start/tick time. */
|
|
33
9
|
export interface DaemonContext {
|
|
34
10
|
log: (level: string, message: string) => void;
|
|
35
11
|
}
|
|
36
|
-
/** Base contract every supervised daemon service implements. */
|
|
37
12
|
export interface DaemonService {
|
|
38
13
|
readonly id: DaemonServiceId;
|
|
39
14
|
start(ctx: DaemonContext): Promise<void>;
|
|
40
15
|
stop(): Promise<void>;
|
|
41
|
-
/** `stop()` then `start()` — used by the supervisor's circuit-breaker (and, in future, an on-demand `daemon services restart <id>` command — not wired up yet). */
|
|
42
16
|
restart(): Promise<void>;
|
|
43
17
|
health(): ServiceHealth;
|
|
44
18
|
}
|
|
45
|
-
/** A service the supervisor ticks on a fixed interval, under a hard per-tick deadline. */
|
|
46
19
|
export interface PeriodicService extends DaemonService {
|
|
47
20
|
readonly intervalMs: number;
|
|
48
|
-
/**
|
|
49
|
-
* Hard cap per tick. An over-budget tick is a HANG that cannot be retried
|
|
50
|
-
* in-process (its promise may never settle), so the supervisor aborts the
|
|
51
|
-
* tick's {@link AbortSignal} and EXITS the daemon (code 70) for a supervised
|
|
52
|
-
* systemd/launchd restart (PHNX-4116) — there is no park or in-process backoff.
|
|
53
|
-
* A tick that awaits `signal` (or forwards it to its I/O) can observe the
|
|
54
|
-
* deadline and unwind cleanly before the process exits.
|
|
55
|
-
*/
|
|
56
21
|
readonly deadlineMs: number;
|
|
57
|
-
/**
|
|
58
|
-
* Delay before the FIRST tick after `start()`, in ms. Every later tick
|
|
59
|
-
* still fires on the normal `intervalMs` cadence — this only staggers the
|
|
60
|
-
* boot-time tick. Default (omitted) is 0, the supervisor's baseline
|
|
61
|
-
* immediate-first-tick behavior. Set this when a service's first-boot work
|
|
62
|
-
* needs something else (shims, PATH) to settle before it runs, rather than
|
|
63
|
-
* firing at daemon startup.
|
|
64
|
-
*/
|
|
65
22
|
readonly startupDelayMs?: number;
|
|
66
|
-
/**
|
|
67
|
-
* Run one tick. `signal` aborts when the supervisor's {@link deadlineMs}
|
|
68
|
-
* elapses (or the service is being stopped), so a well-behaved tick threads it
|
|
69
|
-
* into its awaits — `fetch(url, { signal })`, an ssh/exec spawn, a
|
|
70
|
-
* cancellable sleep — to bound its own I/O instead of leaking a runaway await.
|
|
71
|
-
*/
|
|
72
23
|
tick(ctx: DaemonContext, signal: AbortSignal): Promise<void>;
|
|
73
24
|
}
|
|
74
25
|
export declare function isPeriodicService(service: DaemonService): service is PeriodicService;
|
|
75
|
-
/**
|
|
76
|
-
* Convenience base for a lifecycle-only (non-periodic) daemon service.
|
|
77
|
-
*
|
|
78
|
-
* Concrete subclasses implement `onStart` and `onStop`; the base owns the
|
|
79
|
-
* `ServiceHealth` record and the `restart()` default (`stop` + `start`).
|
|
80
|
-
* Unlike `BasePeriodicService` there is no tick — the supervisor just calls
|
|
81
|
-
* `start()` once at boot, keeps the service marked `running`, and calls
|
|
82
|
-
* `stop()` at shutdown.
|
|
83
|
-
*
|
|
84
|
-
* `lastRunMs` is set to the time `start()` completed, so `supervisor.health()`
|
|
85
|
-
* carries a meaningful "last known healthy" timestamp even with no periodic ticks.
|
|
86
|
-
*/
|
|
87
26
|
export declare abstract class BaseDaemonService implements DaemonService {
|
|
88
27
|
abstract readonly id: DaemonServiceId;
|
|
89
28
|
protected ctx: DaemonContext | null;
|
|
@@ -95,13 +34,6 @@ export declare abstract class BaseDaemonService implements DaemonService {
|
|
|
95
34
|
restart(): Promise<void>;
|
|
96
35
|
health(): ServiceHealth;
|
|
97
36
|
}
|
|
98
|
-
/**
|
|
99
|
-
* Convenience base for a periodic service: owns the `ServiceHealth` record so
|
|
100
|
-
* concrete services only implement the three lifecycle hooks. `restart()`
|
|
101
|
-
* defaults to `stop()` then `start()` against the last context passed to
|
|
102
|
-
* `start()`, which is what every current-generation service needs — a
|
|
103
|
-
* concrete service overrides it only if it must reuse state across a restart.
|
|
104
|
-
*/
|
|
105
37
|
export declare abstract class BasePeriodicService implements PeriodicService {
|
|
106
38
|
abstract readonly id: DaemonServiceId;
|
|
107
39
|
abstract readonly intervalMs: number;
|
|
@@ -110,11 +42,6 @@ export declare abstract class BasePeriodicService implements PeriodicService {
|
|
|
110
42
|
private healthRecord;
|
|
111
43
|
protected abstract onStart(ctx: DaemonContext): Promise<void>;
|
|
112
44
|
protected abstract onStop(): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Run one tick. `signal` aborts at the supervisor's deadline (or on stop);
|
|
115
|
-
* thread it into the tick's own awaits to bound its I/O. A subclass that does
|
|
116
|
-
* no cancellable work may implement `onTick(ctx)` and ignore the second arg.
|
|
117
|
-
*/
|
|
118
45
|
protected abstract onTick(ctx: DaemonContext, signal: AbortSignal): Promise<void>;
|
|
119
46
|
start(ctx: DaemonContext): Promise<void>;
|
|
120
47
|
stop(): Promise<void>;
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DaemonService contract (RUSH-3193 P1).
|
|
3
|
-
*
|
|
4
|
-
* Historically the daemon's background services were bare `setInterval` closures
|
|
5
|
-
* inside one long `runDaemon()` (daemon.ts), sharing one event loop with no
|
|
6
|
-
* per-service error boundary or deadline. A throw escaping a tick's local
|
|
7
|
-
* try/catch hits the process-wide handler and kills every service; a tick that
|
|
8
|
-
* hangs on an unbounded await latches its in-flight guard `true` forever and
|
|
9
|
-
* silently freezes that service for the daemon's life.
|
|
10
|
-
*
|
|
11
|
-
* This module defines the service shape a `ServiceSupervisor` (supervisor.ts)
|
|
12
|
-
* drives instead: one contract per service, owned timer, per-tick deadline,
|
|
13
|
-
* and a health record the supervisor can report without the service having to
|
|
14
|
-
* know it is being supervised.
|
|
15
|
-
*/
|
|
16
1
|
export function isPeriodicService(service) {
|
|
17
2
|
const candidate = service;
|
|
18
3
|
return typeof candidate.tick === 'function' && typeof candidate.intervalMs === 'number' && typeof candidate.deadlineMs === 'number';
|
|
@@ -20,18 +5,6 @@ export function isPeriodicService(service) {
|
|
|
20
5
|
function blankHealth() {
|
|
21
6
|
return { state: 'idle', lastRunMs: 0, consecutiveFailures: 0 };
|
|
22
7
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Convenience base for a lifecycle-only (non-periodic) daemon service.
|
|
25
|
-
*
|
|
26
|
-
* Concrete subclasses implement `onStart` and `onStop`; the base owns the
|
|
27
|
-
* `ServiceHealth` record and the `restart()` default (`stop` + `start`).
|
|
28
|
-
* Unlike `BasePeriodicService` there is no tick — the supervisor just calls
|
|
29
|
-
* `start()` once at boot, keeps the service marked `running`, and calls
|
|
30
|
-
* `stop()` at shutdown.
|
|
31
|
-
*
|
|
32
|
-
* `lastRunMs` is set to the time `start()` completed, so `supervisor.health()`
|
|
33
|
-
* carries a meaningful "last known healthy" timestamp even with no periodic ticks.
|
|
34
|
-
*/
|
|
35
8
|
export class BaseDaemonService {
|
|
36
9
|
ctx = null;
|
|
37
10
|
healthRecord = blankHealth();
|
|
@@ -55,13 +28,6 @@ export class BaseDaemonService {
|
|
|
55
28
|
return { ...this.healthRecord };
|
|
56
29
|
}
|
|
57
30
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Convenience base for a periodic service: owns the `ServiceHealth` record so
|
|
60
|
-
* concrete services only implement the three lifecycle hooks. `restart()`
|
|
61
|
-
* defaults to `stop()` then `start()` against the last context passed to
|
|
62
|
-
* `start()`, which is what every current-generation service needs — a
|
|
63
|
-
* concrete service overrides it only if it must reuse state across a restart.
|
|
64
|
-
*/
|
|
65
31
|
export class BasePeriodicService {
|
|
66
32
|
ctx = null;
|
|
67
33
|
healthRecord = blankHealth();
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-index warm service (RUSH-2682), migrated onto `ServiceSupervisor`
|
|
3
|
-
* (RUSH-3193 P1) as the proof-of-concept periodic service.
|
|
4
|
-
*
|
|
5
|
-
* Incrementally scans this host's transcript dirs into the local index so a
|
|
6
|
-
* locally-started session is discoverable within seconds, not on the next
|
|
7
|
-
* unrelated `agents sessions*` call. Single-flight via the DB scan claim in
|
|
8
|
-
* `scanSessionsIncremental` — a concurrent foreground scan is a skip, not a
|
|
9
|
-
* failure. Previously a bare `setInterval` in `runDaemon()`
|
|
10
|
-
* (daemon.ts:1118-1137); the supervisor now owns its timer, error boundary,
|
|
11
|
-
* and deadline instead.
|
|
12
|
-
*/
|
|
13
1
|
import { BasePeriodicService, type DaemonContext } from './service.js';
|
|
14
2
|
import type { DaemonServiceId } from '../daemon-services.js';
|
|
15
3
|
export declare class SessionIndexService extends BasePeriodicService {
|
|
@@ -1,44 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-index warm service (RUSH-2682), migrated onto `ServiceSupervisor`
|
|
3
|
-
* (RUSH-3193 P1) as the proof-of-concept periodic service.
|
|
4
|
-
*
|
|
5
|
-
* Incrementally scans this host's transcript dirs into the local index so a
|
|
6
|
-
* locally-started session is discoverable within seconds, not on the next
|
|
7
|
-
* unrelated `agents sessions*` call. Single-flight via the DB scan claim in
|
|
8
|
-
* `scanSessionsIncremental` — a concurrent foreground scan is a skip, not a
|
|
9
|
-
* failure. Previously a bare `setInterval` in `runDaemon()`
|
|
10
|
-
* (daemon.ts:1118-1137); the supervisor now owns its timer, error boundary,
|
|
11
|
-
* and deadline instead.
|
|
12
|
-
*/
|
|
13
1
|
import { BasePeriodicService } from './service.js';
|
|
14
2
|
import { runDeferredToolIndex, runSessionIndexWarmTick } from '../daemon-ticks.js';
|
|
15
|
-
/** Matches the historical inline interval (daemon.ts SESSION_INDEX_WARM_TICK_MS). */
|
|
16
3
|
const SESSION_INDEX_WARM_TICK_MS = 20_000;
|
|
17
|
-
/** Hard cap per tick — well above a healthy incremental scan, short enough that a hang never freezes the service for long. */
|
|
18
4
|
const SESSION_INDEX_WARM_DEADLINE_MS = 60_000;
|
|
19
5
|
export class SessionIndexService extends BasePeriodicService {
|
|
20
6
|
id = 'session-index';
|
|
21
7
|
intervalMs = SESSION_INDEX_WARM_TICK_MS;
|
|
22
8
|
deadlineMs = SESSION_INDEX_WARM_DEADLINE_MS;
|
|
23
9
|
async onStart(_ctx) {
|
|
24
|
-
// No connections/handles to open — the scan claim itself is per-tick state.
|
|
25
10
|
}
|
|
26
11
|
async onStop() {
|
|
27
|
-
// Nothing to release — the supervisor's timer teardown is the only cleanup needed.
|
|
28
12
|
}
|
|
29
13
|
async onTick(ctx) {
|
|
30
14
|
const { indexed, claimed } = await runSessionIndexWarmTick();
|
|
31
|
-
// Log only when the tick did something. A silent tick is what let it
|
|
32
|
-
// report 0 forever unnoticed (RUSH-2691); a line on every idle 20s tick
|
|
33
|
-
// would drown the log, so the steady state (claimed, nothing changed)
|
|
34
|
-
// stays quiet and both interesting outcomes are visible.
|
|
35
15
|
if (!claimed)
|
|
36
16
|
ctx.log('INFO', 'session-index warm: skipped, another process holds the scan claim');
|
|
37
17
|
else if (indexed > 0)
|
|
38
18
|
ctx.log('INFO', `session-index warm: indexed ${indexed} transcript(s)`);
|
|
39
|
-
// Deferred tool-index pass (PHNX-3411): fill tool_scan_ledger rows for
|
|
40
|
-
// harnesses whose scanner produces no events. Runs only when the warm tick
|
|
41
|
-
// claimed the scan lock (i.e. we are the active indexer this tick).
|
|
42
19
|
if (claimed) {
|
|
43
20
|
const { indexed: toolIndexed } = await runDeferredToolIndex();
|
|
44
21
|
if (toolIndexed > 0)
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Live-session metadata publisher as a supervised periodic service.
|
|
3
|
-
*
|
|
4
|
-
* This is the single daemon-owned writer behind `sessions watch`: consumers
|
|
5
|
-
* announce reader presence, and the service publishes an incremental journal
|
|
6
|
-
* snapshot immediately on the idle->active edge and every 15 seconds while a
|
|
7
|
-
* reader remains. Callers consume the row; they do not run their own gather.
|
|
8
|
-
*/
|
|
9
1
|
import type { DaemonServiceId } from '../daemon-services.js';
|
|
10
2
|
import { BasePeriodicService, type DaemonContext } from './service.js';
|
|
11
3
|
export declare class SessionStateService extends BasePeriodicService {
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Live-session metadata publisher as a supervised periodic service.
|
|
3
|
-
*
|
|
4
|
-
* This is the single daemon-owned writer behind `sessions watch`: consumers
|
|
5
|
-
* announce reader presence, and the service publishes an incremental journal
|
|
6
|
-
* snapshot immediately on the idle->active edge and every 15 seconds while a
|
|
7
|
-
* reader remains. Callers consume the row; they do not run their own gather.
|
|
8
|
-
*/
|
|
9
1
|
import { runActiveSessionsWarmTick } from '../daemon-ticks.js';
|
|
10
2
|
import { watchActiveSessionsReaderPresence } from '../session/session-cache.js';
|
|
11
3
|
import { BasePeriodicService } from './service.js';
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-summarizer service (PHNX-3939).
|
|
3
|
-
*
|
|
4
|
-
* The single daemon-owned executor that computes a per-session goal / progress
|
|
5
|
-
* checkpoints / checklist and writes them to the transcript-keyed
|
|
6
|
-
* `session_summaries` cache, from which the display/merge path serves them onto
|
|
7
|
-
* the `sessions watch` stream. It NEVER runs on a request path.
|
|
8
|
-
*
|
|
9
|
-
* Off by default: `runSummarizerPass` no-ops unless `summarizer.enabled` and a
|
|
10
|
-
* model endpoint (`summarizer.baseUrl` + `summarizer.model`) are configured, so a
|
|
11
|
-
* daemon with the feature unconfigured makes zero model calls. Reader-gated and
|
|
12
|
-
* bounded per tick like the other session services, so it costs nothing while no
|
|
13
|
-
* one is watching.
|
|
14
|
-
*/
|
|
15
1
|
import { BasePeriodicService, type DaemonContext } from './service.js';
|
|
16
2
|
import type { DaemonServiceId } from '../daemon-services.js';
|
|
17
3
|
export declare class SessionSummarizerService extends BasePeriodicService {
|
|
@@ -1,37 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session-summarizer service (PHNX-3939).
|
|
3
|
-
*
|
|
4
|
-
* The single daemon-owned executor that computes a per-session goal / progress
|
|
5
|
-
* checkpoints / checklist and writes them to the transcript-keyed
|
|
6
|
-
* `session_summaries` cache, from which the display/merge path serves them onto
|
|
7
|
-
* the `sessions watch` stream. It NEVER runs on a request path.
|
|
8
|
-
*
|
|
9
|
-
* Off by default: `runSummarizerPass` no-ops unless `summarizer.enabled` and a
|
|
10
|
-
* model endpoint (`summarizer.baseUrl` + `summarizer.model`) are configured, so a
|
|
11
|
-
* daemon with the feature unconfigured makes zero model calls. Reader-gated and
|
|
12
|
-
* bounded per tick like the other session services, so it costs nothing while no
|
|
13
|
-
* one is watching.
|
|
14
|
-
*/
|
|
15
1
|
import { BasePeriodicService } from './service.js';
|
|
16
2
|
import { runSummarizerPass } from '../summarizer/pass.js';
|
|
17
|
-
/** Slower than the state tick — a summary is a coarse signal, not live status. */
|
|
18
3
|
const SESSION_SUMMARIZER_TICK_MS = 20_000;
|
|
19
|
-
/** Hard cap per tick; a local model call is bounded, this leaves generous headroom. */
|
|
20
4
|
const SESSION_SUMMARIZER_DEADLINE_MS = 60_000;
|
|
21
5
|
export class SessionSummarizerService extends BasePeriodicService {
|
|
22
6
|
id = 'session-summarizer';
|
|
23
7
|
intervalMs = SESSION_SUMMARIZER_TICK_MS;
|
|
24
8
|
deadlineMs = SESSION_SUMMARIZER_DEADLINE_MS;
|
|
25
9
|
async onStart(_ctx) {
|
|
26
|
-
// No handles to open — each tick reads config + the warm session cache fresh.
|
|
27
10
|
}
|
|
28
11
|
async onStop() {
|
|
29
|
-
// Nothing to release.
|
|
30
12
|
}
|
|
31
13
|
async onTick(ctx, signal) {
|
|
32
14
|
const r = await runSummarizerPass({ signal });
|
|
33
15
|
if (r.disabled)
|
|
34
|
-
return;
|
|
16
|
+
return;
|
|
35
17
|
if (r.computed > 0 || r.skipped > 0) {
|
|
36
18
|
ctx.log('INFO', `session-summarizer: computed ${r.computed}, skipped ${r.skipped}, reused ${r.reused}`);
|
|
37
19
|
}
|