@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,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Daemon account-state tick bodies.
|
|
3
|
-
*
|
|
4
|
-
* These two bodies are the `refreshUsage` / `refreshAuth` implementations the
|
|
5
|
-
* supervised `AccountStateDaemonService` (daemon/account-state-daemon-service.ts)
|
|
6
|
-
* runs on its tick, in-process (usage every tick, auth on the slower ~3 min
|
|
7
|
-
* cadence). They are NOT routines and are never fired through the scheduler — the
|
|
8
|
-
* daemon owns usage and authentication health as first-party device state
|
|
9
|
-
* (RUSH-2451); the supervisor bounds each tick with a deadline + AbortSignal so a
|
|
10
|
-
* hung refresh is abandoned and restarted instead of latching (PHNX-3608).
|
|
11
|
-
*
|
|
12
|
-
* `refreshLocalFleetAuthState` is also called by `agents fleet`/`ssh` surfaces
|
|
13
|
-
* that need a fresh local auth snapshot on demand; provider-level work is guarded
|
|
14
|
-
* by the cross-process refresh lease so an explicit CLI refresh and the daemon
|
|
15
|
-
* timer converge on the same published result.
|
|
16
|
-
*/
|
|
17
1
|
import type { FleetStatusRow } from './fleet-status.js';
|
|
18
2
|
import { type AuthProbeRow } from './auth-health.js';
|
|
19
3
|
export { AUTH_PROBE_MAX_AGE_MS } from './auth-health.js';
|
|
@@ -21,61 +5,9 @@ export declare function isFreshFleetAuthSnapshot(value: {
|
|
|
21
5
|
row: FleetStatusRow;
|
|
22
6
|
authRows: AuthProbeRow[];
|
|
23
7
|
}, minimumCapturedAt: number): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* How stale a cached auth verdict may get before the periodic tick re-probes.
|
|
26
|
-
*
|
|
27
|
-
* The auth verdict rides the same rate-limited `/api/oauth/usage` endpoint as
|
|
28
|
-
* the usage probe. Firing it every 3-minute tick on every fleet device drove one
|
|
29
|
-
* per-account request quota to a permanent 429, and the shared backoff then
|
|
30
|
-
* parked usage fleet-wide and froze the usage cache (RUSH-2998). Re-probing at
|
|
31
|
-
* most every 20 minutes cuts that endpoint traffic ~5x while still catching a
|
|
32
|
-
* revocation within one window — and every device keeps a REAL verdict (not a
|
|
33
|
-
* degraded "unverified"), so `agents devices ping --strict` and the run
|
|
34
|
-
* auth-preflight keep working on every host, unlike a publisher/subscriber split
|
|
35
|
-
* that would blind every non-primary box to revocation. Fleet status still
|
|
36
|
-
* publishes every tick — it does not ride that endpoint.
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* The cached rows still backed by a home on this device, by `authTargetKey`.
|
|
40
|
-
*
|
|
41
|
-
* A row for an uninstalled version is an ORPHAN: the probe enumerates installed
|
|
42
|
-
* homes + account slots, so nothing re-probes it and its `checkedAt` is frozen
|
|
43
|
-
* at whatever the last probe left. Pure — unit-tested.
|
|
44
|
-
*/
|
|
45
8
|
export declare function installedAuthRows(authRows: readonly AuthProbeRow[], installedTargets: ReadonlySet<string>): AuthProbeRow[];
|
|
46
|
-
/**
|
|
47
|
-
* True when every cached auth row FOR AN INSTALLED HOME was probed within
|
|
48
|
-
* {@link AUTH_PROBE_MAX_AGE_MS} — i.e. reusing them would not let a verdict get
|
|
49
|
-
* staler than one probe window. No installed row is never fresh (nothing to
|
|
50
|
-
* reuse). Pure — unit-tested.
|
|
51
|
-
*
|
|
52
|
-
* Orphan rows are excluded rather than counted stale (PHNX-4051). Counting them
|
|
53
|
-
* made this permanently false on any box that had ever uninstalled a version:
|
|
54
|
-
* the orphan can never be re-probed, so the tick live-probed the rate-limited
|
|
55
|
-
* `/api/oauth/usage` for every account every 3 minutes, re-arming the per-account
|
|
56
|
-
* 429 backoff and parking the usage refresher — the RUSH-2998 failure the reuse
|
|
57
|
-
* window exists to prevent. Observed on yosemite-m0 (rows dated Sep 2 / Sep 6 for
|
|
58
|
-
* uninstalled Claude versions).
|
|
59
|
-
*/
|
|
60
9
|
export declare function isCachedFleetAuthProbeFresh(authRows: readonly AuthProbeRow[], now: number, installedTargets: ReadonlySet<string>, maxAgeMs?: number): boolean;
|
|
61
|
-
/**
|
|
62
|
-
* Whether the tick may reuse the cached auth verdict instead of re-probing the
|
|
63
|
-
* rate-limited endpoint. `force` (an on-demand `agents devices ping`) ALWAYS
|
|
64
|
-
* re-probes — the whole point of the command is a genuinely live verdict, and
|
|
65
|
-
* missing this `!force` is exactly how a `--strict` check silently passed a
|
|
66
|
-
* revoked account (the second `runFleetPing` call site, RUSH-2998). Pure —
|
|
67
|
-
* unit-tested so that inversion cannot regress unnoticed.
|
|
68
|
-
*/
|
|
69
10
|
export declare function shouldReuseCachedAuthProbe(force: boolean, cached: readonly AuthProbeRow[], now: number, installedTargets: ReadonlySet<string>, maxAgeMs?: number): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* Fleet cache warm: publish THIS host's row for the caches `agents fleet
|
|
72
|
-
* status` / `agents devices list` read (PUBLISH-OWN / READ-UNION, RUSH-2061).
|
|
73
|
-
*
|
|
74
|
-
* `force` is set by on-demand callers (`agents devices ping`) that must return a
|
|
75
|
-
* genuinely live verdict; the periodic daemon tick leaves it unset so it reuses a
|
|
76
|
-
* recent verdict per {@link AUTH_PROBE_MAX_AGE_MS} instead of hammering the
|
|
77
|
-
* rate-limited endpoint every 3 minutes (RUSH-2998).
|
|
78
|
-
*/
|
|
79
11
|
export declare function refreshLocalFleetAuthState(opts?: {
|
|
80
12
|
force?: boolean;
|
|
81
13
|
signal?: AbortSignal;
|
|
@@ -84,75 +16,17 @@ export declare function refreshLocalFleetAuthState(opts?: {
|
|
|
84
16
|
authRows: import('./auth-health.js').AuthProbeRow[];
|
|
85
17
|
}>;
|
|
86
18
|
export declare function runFleetCacheWarmTick(signal?: AbortSignal): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* Usage refresh: keep the usage cache the `agents run` router reads
|
|
89
|
-
* (RUSH-2061, readOnly hot path) fresh, WITHOUT the hot path ever fetching.
|
|
90
|
-
* Every host is its own provider-facing writer — it refreshes only the
|
|
91
|
-
* accounts it holds credentials for, straight from the provider APIs
|
|
92
|
-
* (RUSH-3193 #15; no cross-host broadcast).
|
|
93
|
-
*/
|
|
94
19
|
export declare function runUsageRefreshTick(signal?: AbortSignal): Promise<void>;
|
|
95
|
-
/**
|
|
96
|
-
* Active-sessions warm (RUSH-2062 / RUSH-2484): publish THIS host's live session
|
|
97
|
-
* rows so `agents sessions watch` (and the extension that tails it) receive
|
|
98
|
-
* journal deltas. Publish-own only — no cross-host SSH.
|
|
99
|
-
*
|
|
100
|
-
* Cadence matches {@link DEFAULT_ACTIVE_CACHE_MAX_AGE_MS} so one-shot readers and
|
|
101
|
-
* long-lived watchers share one writer. Without this tick the journal has no
|
|
102
|
-
* continuous producer and Factory freezes after the initial cache snapshot.
|
|
103
|
-
*
|
|
104
|
-
* Gated on reader presence (RUSH-3193): when no `sessions watch` / `feed watch`
|
|
105
|
-
* consumer has checked in within {@link ACTIVE_SESSIONS_READER_IDLE_WINDOW_MS} the
|
|
106
|
-
* expensive `ps`+`lsof` gather is skipped entirely on this scheduled tick. A
|
|
107
|
-
* watcher connecting to a cold/idle daemon is NOT served by this tick alone —
|
|
108
|
-
* {@link noteActiveSessionsJournalReader} only writes a presence timestamp, with
|
|
109
|
-
* no path back to this timer — so the daemon separately runs
|
|
110
|
-
* {@link watchActiveSessionsReaderPresence} to detect that idle→recent edge and
|
|
111
|
-
* fire an out-of-band call into this same function immediately (RUSH-2484).
|
|
112
|
-
*/
|
|
113
20
|
export declare function runActiveSessionsWarmTick(opts?: {
|
|
114
21
|
gather?: () => Promise<import('./session/active.js').ActiveSession[]>;
|
|
115
22
|
nowMs?: number;
|
|
116
23
|
}): Promise<{
|
|
117
24
|
sessions: number;
|
|
118
25
|
}>;
|
|
119
|
-
/**
|
|
120
|
-
* Session-index warm (RUSH-2682): incrementally scan THIS host's transcript dirs
|
|
121
|
-
* into the local SQLite index on a timer, so a session started HERE reaches this
|
|
122
|
-
* box's index within seconds instead of on the next unrelated `agents sessions*`
|
|
123
|
-
* call. Indexing was otherwise lazy — only `discoverSessions` writes the index,
|
|
124
|
-
* and nothing scheduled it — which inverted freshness: a peer's session arrived
|
|
125
|
-
* via sync in ~0s while a locally-started one sat unindexed for minutes.
|
|
126
|
-
*
|
|
127
|
-
* The scan is incremental (only files whose mtime/size changed) and single-flight
|
|
128
|
-
* across processes via the DB scan claim, so a foreground `agents sessions*` and
|
|
129
|
-
* this tick never double-scan. The daemon is the single scheduled executor,
|
|
130
|
-
* consistent with the one-scheduler rule.
|
|
131
|
-
*
|
|
132
|
-
* Calls `scanSessionsIncremental`, NOT `discoverSessions` (RUSH-2691). A bare
|
|
133
|
-
* `discoverSessions()` ends in a listing query that defaults its cwd filter to
|
|
134
|
-
* `process.cwd()` — the daemon's, i.e. `$HOME` — and caps at 50, so its row count
|
|
135
|
-
* described "sessions whose cwd is exactly $HOME", which is 0 on a normal box no
|
|
136
|
-
* matter how much the scan indexed. The tick reported that 0 every 20s while
|
|
137
|
-
* still paying for the query's existence check and Linear fetch. Scanning
|
|
138
|
-
* directly reports what was actually parsed and skips the query entirely.
|
|
139
|
-
*/
|
|
140
26
|
export declare function runSessionIndexWarmTick(): Promise<{
|
|
141
27
|
indexed: number;
|
|
142
28
|
claimed: boolean;
|
|
143
29
|
}>;
|
|
144
|
-
/**
|
|
145
|
-
* Deferred tool-index pass for large-transcript harnesses (PHNX-3411).
|
|
146
|
-
*
|
|
147
|
-
* Kimi (wire.jsonl) and Grok (chat_history.jsonl) scanners produce only
|
|
148
|
-
* metadata — no events. Calling parseSession for those on the warm tick wedges
|
|
149
|
-
* the Node event loop when the transcript is large and active (observed: several
|
|
150
|
-
* seconds per tick on zion, causing browser IPC ECONNREFUSED). This pass fills
|
|
151
|
-
* the gap: it queries recently-active kimi/grok sessions and calls
|
|
152
|
-
* ensureToolIndex, which uses tool_scan_ledger stamps to skip already-current
|
|
153
|
-
* sessions and applies byte/file budget caps so no large transcript monopolises
|
|
154
|
-
* the tick.
|
|
155
|
-
*/
|
|
156
30
|
export declare function runDeferredToolIndex(): Promise<{
|
|
157
31
|
indexed: number;
|
|
158
32
|
}>;
|
package/dist/lib/daemon-ticks.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Daemon account-state tick bodies.
|
|
3
|
-
*
|
|
4
|
-
* These two bodies are the `refreshUsage` / `refreshAuth` implementations the
|
|
5
|
-
* supervised `AccountStateDaemonService` (daemon/account-state-daemon-service.ts)
|
|
6
|
-
* runs on its tick, in-process (usage every tick, auth on the slower ~3 min
|
|
7
|
-
* cadence). They are NOT routines and are never fired through the scheduler — the
|
|
8
|
-
* daemon owns usage and authentication health as first-party device state
|
|
9
|
-
* (RUSH-2451); the supervisor bounds each tick with a deadline + AbortSignal so a
|
|
10
|
-
* hung refresh is abandoned and restarted instead of latching (PHNX-3608).
|
|
11
|
-
*
|
|
12
|
-
* `refreshLocalFleetAuthState` is also called by `agents fleet`/`ssh` surfaces
|
|
13
|
-
* that need a fresh local auth snapshot on demand; provider-level work is guarded
|
|
14
|
-
* by the cross-process refresh lease so an explicit CLI refresh and the daemon
|
|
15
|
-
* timer converge on the same published result.
|
|
16
|
-
*/
|
|
17
1
|
import { AUTH_PROBE_MAX_AGE_MS, authTargetKey } from './auth-health.js';
|
|
18
2
|
export { AUTH_PROBE_MAX_AGE_MS } from './auth-health.js';
|
|
19
3
|
export function isFreshFleetAuthSnapshot(value, minimumCapturedAt) {
|
|
@@ -21,68 +5,16 @@ export function isFreshFleetAuthSnapshot(value, minimumCapturedAt) {
|
|
|
21
5
|
&& value.authRows.length > 0
|
|
22
6
|
&& value.authRows.every(authRow => authRow.health.checkedAt >= minimumCapturedAt);
|
|
23
7
|
}
|
|
24
|
-
/**
|
|
25
|
-
* How stale a cached auth verdict may get before the periodic tick re-probes.
|
|
26
|
-
*
|
|
27
|
-
* The auth verdict rides the same rate-limited `/api/oauth/usage` endpoint as
|
|
28
|
-
* the usage probe. Firing it every 3-minute tick on every fleet device drove one
|
|
29
|
-
* per-account request quota to a permanent 429, and the shared backoff then
|
|
30
|
-
* parked usage fleet-wide and froze the usage cache (RUSH-2998). Re-probing at
|
|
31
|
-
* most every 20 minutes cuts that endpoint traffic ~5x while still catching a
|
|
32
|
-
* revocation within one window — and every device keeps a REAL verdict (not a
|
|
33
|
-
* degraded "unverified"), so `agents devices ping --strict` and the run
|
|
34
|
-
* auth-preflight keep working on every host, unlike a publisher/subscriber split
|
|
35
|
-
* that would blind every non-primary box to revocation. Fleet status still
|
|
36
|
-
* publishes every tick — it does not ride that endpoint.
|
|
37
|
-
*/
|
|
38
|
-
/**
|
|
39
|
-
* The cached rows still backed by a home on this device, by `authTargetKey`.
|
|
40
|
-
*
|
|
41
|
-
* A row for an uninstalled version is an ORPHAN: the probe enumerates installed
|
|
42
|
-
* homes + account slots, so nothing re-probes it and its `checkedAt` is frozen
|
|
43
|
-
* at whatever the last probe left. Pure — unit-tested.
|
|
44
|
-
*/
|
|
45
8
|
export function installedAuthRows(authRows, installedTargets) {
|
|
46
9
|
return authRows.filter((r) => installedTargets.has(authTargetKey(r.agent, r.version)));
|
|
47
10
|
}
|
|
48
|
-
/**
|
|
49
|
-
* True when every cached auth row FOR AN INSTALLED HOME was probed within
|
|
50
|
-
* {@link AUTH_PROBE_MAX_AGE_MS} — i.e. reusing them would not let a verdict get
|
|
51
|
-
* staler than one probe window. No installed row is never fresh (nothing to
|
|
52
|
-
* reuse). Pure — unit-tested.
|
|
53
|
-
*
|
|
54
|
-
* Orphan rows are excluded rather than counted stale (PHNX-4051). Counting them
|
|
55
|
-
* made this permanently false on any box that had ever uninstalled a version:
|
|
56
|
-
* the orphan can never be re-probed, so the tick live-probed the rate-limited
|
|
57
|
-
* `/api/oauth/usage` for every account every 3 minutes, re-arming the per-account
|
|
58
|
-
* 429 backoff and parking the usage refresher — the RUSH-2998 failure the reuse
|
|
59
|
-
* window exists to prevent. Observed on yosemite-m0 (rows dated Sep 2 / Sep 6 for
|
|
60
|
-
* uninstalled Claude versions).
|
|
61
|
-
*/
|
|
62
11
|
export function isCachedFleetAuthProbeFresh(authRows, now, installedTargets, maxAgeMs = AUTH_PROBE_MAX_AGE_MS) {
|
|
63
12
|
const installed = installedAuthRows(authRows, installedTargets);
|
|
64
13
|
return installed.length > 0 && installed.every((r) => now - r.health.checkedAt < maxAgeMs);
|
|
65
14
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Whether the tick may reuse the cached auth verdict instead of re-probing the
|
|
68
|
-
* rate-limited endpoint. `force` (an on-demand `agents devices ping`) ALWAYS
|
|
69
|
-
* re-probes — the whole point of the command is a genuinely live verdict, and
|
|
70
|
-
* missing this `!force` is exactly how a `--strict` check silently passed a
|
|
71
|
-
* revoked account (the second `runFleetPing` call site, RUSH-2998). Pure —
|
|
72
|
-
* unit-tested so that inversion cannot regress unnoticed.
|
|
73
|
-
*/
|
|
74
15
|
export function shouldReuseCachedAuthProbe(force, cached, now, installedTargets, maxAgeMs = AUTH_PROBE_MAX_AGE_MS) {
|
|
75
16
|
return !force && isCachedFleetAuthProbeFresh(cached, now, installedTargets, maxAgeMs);
|
|
76
17
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Fleet cache warm: publish THIS host's row for the caches `agents fleet
|
|
79
|
-
* status` / `agents devices list` read (PUBLISH-OWN / READ-UNION, RUSH-2061).
|
|
80
|
-
*
|
|
81
|
-
* `force` is set by on-demand callers (`agents devices ping`) that must return a
|
|
82
|
-
* genuinely live verdict; the periodic daemon tick leaves it unset so it reuses a
|
|
83
|
-
* recent verdict per {@link AUTH_PROBE_MAX_AGE_MS} instead of hammering the
|
|
84
|
-
* rate-limited endpoint every 3 minutes (RUSH-2998).
|
|
85
|
-
*/
|
|
86
18
|
export async function refreshLocalFleetAuthState(opts) {
|
|
87
19
|
const force = opts?.force === true;
|
|
88
20
|
const signal = opts?.signal;
|
|
@@ -103,22 +35,13 @@ export async function refreshLocalFleetAuthState(opts) {
|
|
|
103
35
|
return null;
|
|
104
36
|
return { row, authRows: readFleetAuthRows(self) };
|
|
105
37
|
},
|
|
106
|
-
// A recent daemon publication is the completed result, not a reason to probe
|
|
107
|
-
// every provider a second time. An on-demand caller (force) never accepts a
|
|
108
|
-
// cached snapshot — it must return a genuinely live verdict.
|
|
109
38
|
isCompleted: (value) => !force && isFreshFleetAuthSnapshot(value, minimumCapturedAt),
|
|
110
39
|
refresh: async () => {
|
|
111
|
-
// Re-probe the rate-limited /oauth/usage endpoint at most every
|
|
112
|
-
// AUTH_PROBE_MAX_AGE_MS; reuse the last real verdict in between (RUSH-2998).
|
|
113
|
-
// Fleet status publishes every tick regardless — it does not ride that endpoint.
|
|
114
40
|
const installed = localAuthTargetKeys();
|
|
115
41
|
const cached = readFleetAuthRows(self);
|
|
116
42
|
const live = installedAuthRows(cached, installed);
|
|
117
43
|
const reuse = shouldReuseCachedAuthProbe(force, cached, requestedAt, installed);
|
|
118
44
|
const authRows = reuse ? live : await probeLocalFleetAuth({ cliVersion: getCliVersion(), forceLive: force, signal });
|
|
119
|
-
// Write when we probed, and ALSO when the cache holds orphan rows for homes
|
|
120
|
-
// that are gone: a reusing tick is the common case, so leaving the prune on
|
|
121
|
-
// the probe branch would keep them in `agents view` indefinitely (PHNX-4051).
|
|
122
45
|
if (!reuse || live.length !== cached.length)
|
|
123
46
|
writeFleetAuthRows(self, authRows, installed);
|
|
124
47
|
const row = await publishLocalFleetStatus(self);
|
|
@@ -128,19 +51,10 @@ export async function refreshLocalFleetAuthState(opts) {
|
|
|
128
51
|
}
|
|
129
52
|
export async function runFleetCacheWarmTick(signal) {
|
|
130
53
|
const result = await refreshLocalFleetAuthState({ signal });
|
|
131
|
-
// A waiter receives the already-published fleet row. The auth-row count is
|
|
132
|
-
// available only to the process that performed the provider probes.
|
|
133
54
|
const row = result.row;
|
|
134
55
|
const authCount = result.authRows.length;
|
|
135
56
|
console.log(`fleet cache warm: ${authCount} auth row(s) refreshed, ${row.agents.running} running agent(s) on ${row.host}`);
|
|
136
57
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Usage refresh: keep the usage cache the `agents run` router reads
|
|
139
|
-
* (RUSH-2061, readOnly hot path) fresh, WITHOUT the hot path ever fetching.
|
|
140
|
-
* Every host is its own provider-facing writer — it refreshes only the
|
|
141
|
-
* accounts it holds credentials for, straight from the provider APIs
|
|
142
|
-
* (RUSH-3193 #15; no cross-host broadcast).
|
|
143
|
-
*/
|
|
144
58
|
export async function runUsageRefreshTick(signal) {
|
|
145
59
|
const { runUsageRefresh, buildLocalUsageAccounts } = await import('./usage-refresh.js');
|
|
146
60
|
const { writeClaudeUsageCache, readClaudeUsageCache } = await import('./accounting/usage.js');
|
|
@@ -150,16 +64,9 @@ export async function runUsageRefreshTick(signal) {
|
|
|
150
64
|
listAccounts: buildLocalUsageAccounts,
|
|
151
65
|
writeUsageCache: writeClaudeUsageCache,
|
|
152
66
|
backoffUntil: (agentId, usageKey) => usageRateLimitedUntil(agentId, Date.now(), usageKey),
|
|
153
|
-
// The free statusline ingest of a live `agents run` writes this same cache,
|
|
154
|
-
// so a recent capture means the account is already fresh at zero API cost —
|
|
155
|
-
// the refresher re-derives headroom from it and skips the API fetch.
|
|
156
67
|
readCachedSnapshot: (usageKey) => readClaudeUsageCache(usageKey),
|
|
157
|
-
// Thread the supervisor deadline into each provider fetch so the tick's I/O
|
|
158
|
-
// is bounded by deadlineMs, not just each fetch's own 5s timeout (PHNX-3608).
|
|
159
68
|
signal,
|
|
160
69
|
pollerDevice: machineId(),
|
|
161
|
-
// A changed poll refreshes this box's own state file so the next usage-sync
|
|
162
|
-
// fan-out (or a placement probe before it) sends the new reading.
|
|
163
70
|
onSnapshotsChanged: async () => {
|
|
164
71
|
const { publishUsageSnapshotToSharedStore } = await import('./accounting/usage-sync.js');
|
|
165
72
|
await publishUsageSnapshotToSharedStore();
|
|
@@ -170,24 +77,6 @@ export async function runUsageRefreshTick(signal) {
|
|
|
170
77
|
const byok = await refreshDueByokUsage(listProfiles());
|
|
171
78
|
console.log(`usage refresh: ${r.refreshed} refreshed, ${r.failed} failed, ${r.skippedNotDue} not-due, ${r.skippedBackoff} backed-off, ${r.skippedCap} capped, ${r.skippedBudget} over-budget, ${r.skippedFresh} statusline-fresh; BYOK ${byok.refreshed} refreshed, ${byok.skipped} not-due`);
|
|
172
79
|
}
|
|
173
|
-
/**
|
|
174
|
-
* Active-sessions warm (RUSH-2062 / RUSH-2484): publish THIS host's live session
|
|
175
|
-
* rows so `agents sessions watch` (and the extension that tails it) receive
|
|
176
|
-
* journal deltas. Publish-own only — no cross-host SSH.
|
|
177
|
-
*
|
|
178
|
-
* Cadence matches {@link DEFAULT_ACTIVE_CACHE_MAX_AGE_MS} so one-shot readers and
|
|
179
|
-
* long-lived watchers share one writer. Without this tick the journal has no
|
|
180
|
-
* continuous producer and Factory freezes after the initial cache snapshot.
|
|
181
|
-
*
|
|
182
|
-
* Gated on reader presence (RUSH-3193): when no `sessions watch` / `feed watch`
|
|
183
|
-
* consumer has checked in within {@link ACTIVE_SESSIONS_READER_IDLE_WINDOW_MS} the
|
|
184
|
-
* expensive `ps`+`lsof` gather is skipped entirely on this scheduled tick. A
|
|
185
|
-
* watcher connecting to a cold/idle daemon is NOT served by this tick alone —
|
|
186
|
-
* {@link noteActiveSessionsJournalReader} only writes a presence timestamp, with
|
|
187
|
-
* no path back to this timer — so the daemon separately runs
|
|
188
|
-
* {@link watchActiveSessionsReaderPresence} to detect that idle→recent edge and
|
|
189
|
-
* fire an out-of-band call into this same function immediately (RUSH-2484).
|
|
190
|
-
*/
|
|
191
80
|
export async function runActiveSessionsWarmTick(opts = {}) {
|
|
192
81
|
const { publishLocalActiveSessions, isActiveSessionsJournalReaderRecent } = await import('./session/session-cache.js');
|
|
193
82
|
const nowMs = opts.nowMs ?? Date.now();
|
|
@@ -195,18 +84,11 @@ export async function runActiveSessionsWarmTick(opts = {}) {
|
|
|
195
84
|
console.log('active-sessions warm: idle (no recent reader), skipping gather');
|
|
196
85
|
return { sessions: 0 };
|
|
197
86
|
}
|
|
198
|
-
// ONE gather per tick, then fold, then publish. The order is load-bearing:
|
|
199
|
-
// the publish's per-row merge reads the timeline cache, so folding first is
|
|
200
|
-
// what puts a CURRENT timeline on the row this tick writes to the journal
|
|
201
|
-
// rather than the previous tick's (PHNX-3939).
|
|
202
87
|
const gather = opts.gather ?? (async () => {
|
|
203
88
|
const { getActiveSessions } = await import('./session/active.js');
|
|
204
89
|
return getActiveSessions({ localOnly: true });
|
|
205
90
|
});
|
|
206
91
|
const gathered = await gather();
|
|
207
|
-
// Bounded so it can never own the tick: at most 8 sessions, and for the
|
|
208
|
-
// resumable harnesses only the bytes each transcript grew by. A failure here
|
|
209
|
-
// must not cost the publish.
|
|
210
92
|
const { runTimelinePassSync } = await import('./session/timeline-pass.js');
|
|
211
93
|
let timeline = { computed: 0, reused: 0, skipped: 0 };
|
|
212
94
|
try {
|
|
@@ -220,59 +102,22 @@ export async function runActiveSessionsWarmTick(opts = {}) {
|
|
|
220
102
|
+ `timeline ${timeline.computed} folded, ${timeline.reused} current, ${timeline.skipped} skipped`);
|
|
221
103
|
return { sessions: r.sessions.length };
|
|
222
104
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Session-index warm (RUSH-2682): incrementally scan THIS host's transcript dirs
|
|
225
|
-
* into the local SQLite index on a timer, so a session started HERE reaches this
|
|
226
|
-
* box's index within seconds instead of on the next unrelated `agents sessions*`
|
|
227
|
-
* call. Indexing was otherwise lazy — only `discoverSessions` writes the index,
|
|
228
|
-
* and nothing scheduled it — which inverted freshness: a peer's session arrived
|
|
229
|
-
* via sync in ~0s while a locally-started one sat unindexed for minutes.
|
|
230
|
-
*
|
|
231
|
-
* The scan is incremental (only files whose mtime/size changed) and single-flight
|
|
232
|
-
* across processes via the DB scan claim, so a foreground `agents sessions*` and
|
|
233
|
-
* this tick never double-scan. The daemon is the single scheduled executor,
|
|
234
|
-
* consistent with the one-scheduler rule.
|
|
235
|
-
*
|
|
236
|
-
* Calls `scanSessionsIncremental`, NOT `discoverSessions` (RUSH-2691). A bare
|
|
237
|
-
* `discoverSessions()` ends in a listing query that defaults its cwd filter to
|
|
238
|
-
* `process.cwd()` — the daemon's, i.e. `$HOME` — and caps at 50, so its row count
|
|
239
|
-
* described "sessions whose cwd is exactly $HOME", which is 0 on a normal box no
|
|
240
|
-
* matter how much the scan indexed. The tick reported that 0 every 20s while
|
|
241
|
-
* still paying for the query's existence check and Linear fetch. Scanning
|
|
242
|
-
* directly reports what was actually parsed and skips the query entirely.
|
|
243
|
-
*/
|
|
244
105
|
export async function runSessionIndexWarmTick() {
|
|
245
106
|
const { scanSessionsIncremental } = await import('./session/discover.js');
|
|
246
107
|
const { claimed, scanned } = await scanSessionsIncremental();
|
|
247
|
-
// A skipped claim is not a failure — a foreground `agents sessions*` is
|
|
248
|
-
// scanning right now and this tick would be a duplicate.
|
|
249
108
|
if (!claimed)
|
|
250
109
|
return { indexed: 0, claimed: false };
|
|
251
110
|
return { indexed: scanned, claimed: true };
|
|
252
111
|
}
|
|
253
|
-
/**
|
|
254
|
-
* Deferred tool-index pass for large-transcript harnesses (PHNX-3411).
|
|
255
|
-
*
|
|
256
|
-
* Kimi (wire.jsonl) and Grok (chat_history.jsonl) scanners produce only
|
|
257
|
-
* metadata — no events. Calling parseSession for those on the warm tick wedges
|
|
258
|
-
* the Node event loop when the transcript is large and active (observed: several
|
|
259
|
-
* seconds per tick on zion, causing browser IPC ECONNREFUSED). This pass fills
|
|
260
|
-
* the gap: it queries recently-active kimi/grok sessions and calls
|
|
261
|
-
* ensureToolIndex, which uses tool_scan_ledger stamps to skip already-current
|
|
262
|
-
* sessions and applies byte/file budget caps so no large transcript monopolises
|
|
263
|
-
* the tick.
|
|
264
|
-
*/
|
|
265
112
|
export async function runDeferredToolIndex() {
|
|
266
113
|
const { querySessionsForDeferredToolIndex } = await import('./session/db.js');
|
|
267
114
|
const { ensureToolIndex } = await import('./session/tool-index.js');
|
|
268
|
-
// Feed the 200 most-recently-active kimi/grok sessions; ensureToolIndex skips
|
|
269
|
-
// any whose tool_scan_ledger stamp is current.
|
|
270
115
|
const sessions = querySessionsForDeferredToolIndex(200);
|
|
271
116
|
if (sessions.length === 0)
|
|
272
117
|
return { indexed: 0 };
|
|
273
118
|
const coverage = await ensureToolIndex(sessions, {
|
|
274
119
|
maxFiles: 20,
|
|
275
|
-
maxBytes: 20 * 1024 * 1024,
|
|
120
|
+
maxBytes: 20 * 1024 * 1024,
|
|
276
121
|
});
|
|
277
122
|
return { indexed: coverage.indexedFiles };
|
|
278
123
|
}
|
|
@@ -1,79 +1,28 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-box hosted webhook receivers: config + daemon host (RUSH-2548).
|
|
3
|
-
*
|
|
4
|
-
* `~/.agents/daemon/webhooks.yaml` declares which signed webhook receivers THIS
|
|
5
|
-
* box hosts — bundle, local port, rate limit, and an optional public Tailscale
|
|
6
|
-
* Funnel port. The daemon's `webhook-receiver` service reads it and binds one
|
|
7
|
-
* receiver per entry, drawing each receiver's signing secret through the
|
|
8
|
-
* standalone `secrets` CLI (an agentOnly read via secrets-client.ts — no
|
|
9
|
-
* `AGENTS_SECRETS_PASSPHRASE`, no `nohup`). An absent or empty file hosts
|
|
10
|
-
* nothing, so an unconfigured box binds nothing.
|
|
11
|
-
*
|
|
12
|
-
* This is per-box operational state (a public receiver runs on exactly one box),
|
|
13
|
-
* so it is deliberately NOT part of the fleet-synced device config — it mirrors
|
|
14
|
-
* `services.yaml` / daemon-services.ts, not `agents config`.
|
|
15
|
-
*/
|
|
16
1
|
import { type WebhookSecrets } from './triggers/webhook.js';
|
|
17
2
|
import { type FunnelPort } from './funnel.js';
|
|
18
3
|
export declare const DEFAULT_WEBHOOK_PORT = 8787;
|
|
19
4
|
export declare const DEFAULT_WEBHOOK_RATE_LIMIT = 60;
|
|
20
|
-
/** Optional public exposure for a hosted receiver via Tailscale Funnel. */
|
|
21
5
|
export interface HostedReceiverFunnel {
|
|
22
|
-
/** Public HTTPS port (Funnel allows 443 / 8443 / 10000). */
|
|
23
6
|
publicPort: FunnelPort;
|
|
24
7
|
}
|
|
25
|
-
/** One receiver this box hosts. */
|
|
26
8
|
export interface HostedReceiverConfig {
|
|
27
|
-
/** Secrets bundle holding GITHUB_WEBHOOK_SECRET, LINEAR_WEBHOOK_SECRET, and/or
|
|
28
|
-
* SLACK_SIGNING_SECRET (a Slack receiver also carries SLACK_BOT_TOKEN when the
|
|
29
|
-
* agent replies with the Slack Web API rather than `agents send`). */
|
|
30
9
|
bundle: string;
|
|
31
|
-
/** Local bind port (default 8787). */
|
|
32
10
|
port?: number;
|
|
33
|
-
/** Accepted deliveries per source per minute (default 60). */
|
|
34
11
|
rateLimit?: number;
|
|
35
|
-
/** Public Funnel exposure; omit to bind localhost only. */
|
|
36
12
|
funnel?: HostedReceiverFunnel;
|
|
37
13
|
}
|
|
38
14
|
interface DaemonWebhooksConfig {
|
|
39
15
|
receivers: HostedReceiverConfig[];
|
|
40
16
|
}
|
|
41
|
-
/** Path to `~/.agents/daemon/webhooks.yaml`. */
|
|
42
17
|
export declare function getDaemonWebhooksConfigPath(): string;
|
|
43
|
-
/**
|
|
44
|
-
* Read the hosted-receivers config. A missing or malformed file yields an empty
|
|
45
|
-
* receiver list — never throws — so a box with no config hosts nothing.
|
|
46
|
-
*/
|
|
47
18
|
export declare function readDaemonWebhooksConfig(): DaemonWebhooksConfig;
|
|
48
|
-
/** Write the hosted-receivers config, creating the daemon config dir if needed. */
|
|
49
19
|
export declare function writeDaemonWebhooksConfig(cfg: DaemonWebhooksConfig): void;
|
|
50
|
-
/** The port a receiver binds — its identity, since one port hosts one receiver. */
|
|
51
20
|
export declare function hostedReceiverPort(receiver: HostedReceiverConfig): number;
|
|
52
|
-
/**
|
|
53
|
-
* Declare a receiver on this box, replacing any existing entry on the same port.
|
|
54
|
-
* Port is the identity because two receivers cannot bind one port — a second
|
|
55
|
-
* `add` on a port is an edit, never a silently ignored duplicate.
|
|
56
|
-
*/
|
|
57
21
|
export declare function addHostedReceiver(receiver: HostedReceiverConfig): DaemonWebhooksConfig;
|
|
58
|
-
/**
|
|
59
|
-
* Drop the receiver bound to `port`. Returns the removed entry, or null when
|
|
60
|
-
* nothing was declared there. The caller is responsible for taking down any
|
|
61
|
-
* public Funnel the removed entry declared — leaving it up would keep a public
|
|
62
|
-
* `https://<host>.ts.net` route pointed at a port nothing serves.
|
|
63
|
-
*/
|
|
64
22
|
export declare function removeHostedReceiver(port: number): HostedReceiverConfig | null;
|
|
65
|
-
/**
|
|
66
|
-
* Resolve a receiver's signing secrets from its bundle. Reads `agentOnly` (no
|
|
67
|
-
* Touch ID — the daemon is a background service, SEC-13): a broker-held or
|
|
68
|
-
* file-store bundle resolves silently; a locked bundle THROWS the actionable
|
|
69
|
-
* unlock message, which fails the receiver LOUD rather than binding with no
|
|
70
|
-
* verifiable signature. Throws when neither webhook secret is present.
|
|
71
|
-
*/
|
|
72
23
|
export declare function resolveReceiverSecrets(bundle: string): WebhookSecrets;
|
|
73
24
|
export interface HostedWebhookReceivers {
|
|
74
|
-
/** Number of receivers actually bound. */
|
|
75
25
|
count: number;
|
|
76
|
-
/** Stop every hosted receiver. Idempotent. */
|
|
77
26
|
close(): Promise<void>;
|
|
78
27
|
}
|
|
79
28
|
type Logger = (level: string, message: string) => void;
|
|
@@ -94,12 +43,6 @@ type Logger = (level: string, message: string) => void;
|
|
|
94
43
|
*/
|
|
95
44
|
export declare function startHostedWebhookReceivers(opts: {
|
|
96
45
|
log: Logger;
|
|
97
|
-
/**
|
|
98
|
-
* How a receiver's signing secrets are resolved. Defaults to
|
|
99
|
-
* `resolveReceiverSecrets` (the real secrets-client read). Injectable for the same
|
|
100
|
-
* reason `FireWebhookOptions.dispatch` is — so a test can exercise the bind
|
|
101
|
-
* path against real sockets without a machine-local secrets bundle.
|
|
102
|
-
*/
|
|
103
46
|
resolveSecrets?: (bundle: string) => WebhookSecrets;
|
|
104
47
|
}): Promise<HostedWebhookReceivers>;
|
|
105
48
|
export {};
|
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-box hosted webhook receivers: config + daemon host (RUSH-2548).
|
|
3
|
-
*
|
|
4
|
-
* `~/.agents/daemon/webhooks.yaml` declares which signed webhook receivers THIS
|
|
5
|
-
* box hosts — bundle, local port, rate limit, and an optional public Tailscale
|
|
6
|
-
* Funnel port. The daemon's `webhook-receiver` service reads it and binds one
|
|
7
|
-
* receiver per entry, drawing each receiver's signing secret through the
|
|
8
|
-
* standalone `secrets` CLI (an agentOnly read via secrets-client.ts — no
|
|
9
|
-
* `AGENTS_SECRETS_PASSPHRASE`, no `nohup`). An absent or empty file hosts
|
|
10
|
-
* nothing, so an unconfigured box binds nothing.
|
|
11
|
-
*
|
|
12
|
-
* This is per-box operational state (a public receiver runs on exactly one box),
|
|
13
|
-
* so it is deliberately NOT part of the fleet-synced device config — it mirrors
|
|
14
|
-
* `services.yaml` / daemon-services.ts, not `agents config`.
|
|
15
|
-
*/
|
|
16
1
|
import * as fs from 'fs';
|
|
17
2
|
import * as path from 'path';
|
|
18
3
|
import * as yaml from 'yaml';
|
|
@@ -25,7 +10,6 @@ import { startWebhookServer, createFileDeliveryStore, waitForListening } from '.
|
|
|
25
10
|
import { buildFunnelUpCommand, FUNNEL_PORTS } from './funnel.js';
|
|
26
11
|
export const DEFAULT_WEBHOOK_PORT = 8787;
|
|
27
12
|
export const DEFAULT_WEBHOOK_RATE_LIMIT = 60;
|
|
28
|
-
/** Path to `~/.agents/daemon/webhooks.yaml`. */
|
|
29
13
|
export function getDaemonWebhooksConfigPath() {
|
|
30
14
|
return path.join(getDaemonConfigDir(), 'webhooks.yaml');
|
|
31
15
|
}
|
|
@@ -41,17 +25,11 @@ function coerceReceiver(item) {
|
|
|
41
25
|
if (typeof obj.rateLimit === 'number' && Number.isInteger(obj.rateLimit) && obj.rateLimit > 0)
|
|
42
26
|
rc.rateLimit = obj.rateLimit;
|
|
43
27
|
const funnel = obj.funnel;
|
|
44
|
-
// A publicPort Funnel cannot serve is dropped rather than carried forward — the
|
|
45
|
-
// receiver still binds localhost, and `daemon webhooks add` rejects it up front.
|
|
46
28
|
if (funnel && typeof funnel === 'object' && FUNNEL_PORTS.includes(funnel.publicPort)) {
|
|
47
29
|
rc.funnel = { publicPort: funnel.publicPort };
|
|
48
30
|
}
|
|
49
31
|
return rc;
|
|
50
32
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Read the hosted-receivers config. A missing or malformed file yields an empty
|
|
53
|
-
* receiver list — never throws — so a box with no config hosts nothing.
|
|
54
|
-
*/
|
|
55
33
|
export function readDaemonWebhooksConfig() {
|
|
56
34
|
try {
|
|
57
35
|
const raw = fs.readFileSync(getDaemonWebhooksConfigPath(), 'utf-8');
|
|
@@ -64,21 +42,14 @@ export function readDaemonWebhooksConfig() {
|
|
|
64
42
|
return { receivers: [] };
|
|
65
43
|
}
|
|
66
44
|
}
|
|
67
|
-
/** Write the hosted-receivers config, creating the daemon config dir if needed. */
|
|
68
45
|
export function writeDaemonWebhooksConfig(cfg) {
|
|
69
46
|
fs.mkdirSync(getDaemonConfigDir(), { recursive: true });
|
|
70
47
|
const out = yaml.stringify({ receivers: cfg.receivers }, { sortMapEntries: false });
|
|
71
48
|
atomicWriteFileSync(getDaemonWebhooksConfigPath(), out, 'utf-8');
|
|
72
49
|
}
|
|
73
|
-
/** The port a receiver binds — its identity, since one port hosts one receiver. */
|
|
74
50
|
export function hostedReceiverPort(receiver) {
|
|
75
51
|
return receiver.port ?? DEFAULT_WEBHOOK_PORT;
|
|
76
52
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Declare a receiver on this box, replacing any existing entry on the same port.
|
|
79
|
-
* Port is the identity because two receivers cannot bind one port — a second
|
|
80
|
-
* `add` on a port is an edit, never a silently ignored duplicate.
|
|
81
|
-
*/
|
|
82
53
|
export function addHostedReceiver(receiver) {
|
|
83
54
|
const port = hostedReceiverPort(receiver);
|
|
84
55
|
const existing = readDaemonWebhooksConfig().receivers.filter((r) => hostedReceiverPort(r) !== port);
|
|
@@ -86,12 +57,6 @@ export function addHostedReceiver(receiver) {
|
|
|
86
57
|
writeDaemonWebhooksConfig(next);
|
|
87
58
|
return next;
|
|
88
59
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Drop the receiver bound to `port`. Returns the removed entry, or null when
|
|
91
|
-
* nothing was declared there. The caller is responsible for taking down any
|
|
92
|
-
* public Funnel the removed entry declared — leaving it up would keep a public
|
|
93
|
-
* `https://<host>.ts.net` route pointed at a port nothing serves.
|
|
94
|
-
*/
|
|
95
60
|
export function removeHostedReceiver(port) {
|
|
96
61
|
const { receivers } = readDaemonWebhooksConfig();
|
|
97
62
|
const removed = receivers.find((r) => hostedReceiverPort(r) === port);
|
|
@@ -100,14 +65,8 @@ export function removeHostedReceiver(port) {
|
|
|
100
65
|
writeDaemonWebhooksConfig({ receivers: receivers.filter((r) => hostedReceiverPort(r) !== port) });
|
|
101
66
|
return removed;
|
|
102
67
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Resolve a receiver's signing secrets from its bundle. Reads `agentOnly` (no
|
|
105
|
-
* Touch ID — the daemon is a background service, SEC-13): a broker-held or
|
|
106
|
-
* file-store bundle resolves silently; a locked bundle THROWS the actionable
|
|
107
|
-
* unlock message, which fails the receiver LOUD rather than binding with no
|
|
108
|
-
* verifiable signature. Throws when neither webhook secret is present.
|
|
109
|
-
*/
|
|
110
68
|
export function resolveReceiverSecrets(bundle) {
|
|
69
|
+
// Daemon reads are broker-only; missing signing secrets fail before any public bind.
|
|
111
70
|
const { env } = readAndResolveBundleEnvSync(bundle, { caller: 'daemon webhook-receiver', agentOnly: true });
|
|
112
71
|
const secrets = {};
|
|
113
72
|
if (env.GITHUB_WEBHOOK_SECRET)
|
|
@@ -121,7 +80,6 @@ export function resolveReceiverSecrets(bundle) {
|
|
|
121
80
|
}
|
|
122
81
|
return secrets;
|
|
123
82
|
}
|
|
124
|
-
/** Best-effort funnel reconcile: bring the declared public port up, log on failure. */
|
|
125
83
|
function reconcileFunnel(publicPort, localPort, log) {
|
|
126
84
|
let command;
|
|
127
85
|
try {
|
|
@@ -156,6 +114,7 @@ function reconcileFunnel(publicPort, localPort, log) {
|
|
|
156
114
|
* skipped receiver.
|
|
157
115
|
*/
|
|
158
116
|
export async function startHostedWebhookReceivers(opts) {
|
|
117
|
+
// Receiver config is per-box; one failed bind closes its partial server without taking siblings down.
|
|
159
118
|
const { log } = opts;
|
|
160
119
|
const resolveSecrets = opts.resolveSecrets ?? resolveReceiverSecrets;
|
|
161
120
|
const { receivers } = readDaemonWebhooksConfig();
|
|
@@ -177,12 +136,7 @@ export async function startHostedWebhookReceivers(opts) {
|
|
|
177
136
|
port,
|
|
178
137
|
secrets,
|
|
179
138
|
rateLimitPerMinute: receiver.rateLimit ?? DEFAULT_WEBHOOK_RATE_LIMIT,
|
|
180
|
-
// Per-port durable delivery dedup so replays survive a daemon restart and
|
|
181
|
-
// two receivers on distinct ports never share a dedup ledger.
|
|
182
139
|
deliveryStore: createFileDeliveryStore(path.join(getRuntimeStateDir(), 'webhook', `deliveries-${port}.json`)),
|
|
183
|
-
// Logged at MATCH time, before dispatch — a `run.command` handler can
|
|
184
|
-
// block on a shelled-out agent run for minutes, and that must never
|
|
185
|
-
// delay the log that says a delivery fired (RUSH-2722).
|
|
186
140
|
onMatch: (webhook, matchedJobNames, matchedHandlerNames) => {
|
|
187
141
|
const parts = [];
|
|
188
142
|
if (matchedJobNames.length)
|
|
@@ -191,8 +145,6 @@ export async function startHostedWebhookReceivers(opts) {
|
|
|
191
145
|
parts.push(`handlers ${matchedHandlerNames.join(', ')}`);
|
|
192
146
|
log('INFO', `webhook ${webhook.source}:${webhook.event} ${parts.length ? `fired ${parts.join('; ')}` : 'no match'}`);
|
|
193
147
|
},
|
|
194
|
-
// The 202 ack means no HTTP status carries a settle failure — the daemon
|
|
195
|
-
// log is where it surfaces, so it is never swallowed.
|
|
196
148
|
onDeliveryError: (webhook, err) => {
|
|
197
149
|
log('WARN', `webhook ${webhook.source}:${webhook.event} dispatch failed after ack: ${err.message}`);
|
|
198
150
|
},
|
|
@@ -209,8 +161,6 @@ export async function startHostedWebhookReceivers(opts) {
|
|
|
209
161
|
reconcileFunnel(receiver.funnel.publicPort, port, log);
|
|
210
162
|
}
|
|
211
163
|
catch (err) {
|
|
212
|
-
// Close the half-started server so a failed bind leaks no handle, and keep
|
|
213
|
-
// going: one unusable receiver must not cost the others their ingress.
|
|
214
164
|
server?.close(() => { });
|
|
215
165
|
log('WARN', `webhook receiver on :${port} failed to bind: ${err.message}`);
|
|
216
166
|
}
|
|
@@ -218,8 +168,6 @@ export async function startHostedWebhookReceivers(opts) {
|
|
|
218
168
|
return {
|
|
219
169
|
count: servers.length,
|
|
220
170
|
close: () => Promise.all(servers.map(async ({ server, sockets }) => {
|
|
221
|
-
// Stop accepting first, then force every persistent HTTP connection
|
|
222
|
-
// closed so keep-alive cannot hold daemon shutdown open indefinitely.
|
|
223
171
|
const closing = closeServerBounded(server);
|
|
224
172
|
for (const socket of sockets)
|
|
225
173
|
socket.destroy();
|