@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,52 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* browser-client.ts — the ONE process client through which agents-cli talks to
|
|
3
|
-
* the standalone `browser` CLI (@phnx-labs/browser-cli, PHNX-4101).
|
|
4
|
-
*
|
|
5
|
-
* This is the agents-owned half of the browser extraction, and it is
|
|
6
|
-
* deliberately small. agents-cli no longer carries the CDP/BiDi/Arc drivers, a
|
|
7
|
-
* browser IPC service, a chrome-data/profile store, a network-capture pipeline,
|
|
8
|
-
* or the remote SSH driving loop — the standalone engine owns all of it, exactly
|
|
9
|
-
* as `secrets` took the keychain engine (PHNX-3989), `computer` took the
|
|
10
|
-
* accessibility engine (PHNX-4075) and `sessions` took the transcript engine
|
|
11
|
-
* (PHNX-4012). What stays here is what only the fleet CLI can know: which device
|
|
12
|
-
* a `--device` name resolves to, whether this machine consents to being driven,
|
|
13
|
-
* who the acting session is, and where an action must be recorded.
|
|
14
|
-
*
|
|
15
|
-
* THERE IS NO FALLBACK. A missing executable throws `BROWSER_BIN_MISSING` with
|
|
16
|
-
* install guidance (DIST-1) rather than silently driving a bundled engine —
|
|
17
|
-
* agents-cli has none to drive, and a fallback would re-couple the two release
|
|
18
|
-
* trains this extraction exists to separate.
|
|
19
|
-
*
|
|
20
|
-
* Transport — inherited-fd passthrough, not request/response (matches
|
|
21
|
-
* browser-cli's `bin/browser.cjs` launcher, which forwards fds 3-16):
|
|
22
|
-
*
|
|
23
|
-
* - stdio 0/1/2 are INHERITED. The engine owns the user's terminal: its
|
|
24
|
-
* stdout is the command's stdout, its `--json` is the command's `--json`,
|
|
25
|
-
* its prompts reach a real tty. agents-cli never re-formats engine output,
|
|
26
|
-
* which is what keeps the surface honest as the engine evolves.
|
|
27
|
-
* - fd 3 (`BROWSER_CONTEXT_FD`) carries ONE JSON object — the consumer context
|
|
28
|
-
* built by `lib/browser/context.ts` — written and closed immediately, so the
|
|
29
|
-
* engine reads to EOF and proceeds. The document is read once, before command
|
|
30
|
-
* parsing; a malformed one is a hard error, an absent one the standalone case.
|
|
31
|
-
* - fd 4 (`BROWSER_EVENTS_FD`) carries NDJSON action events back: one JSON
|
|
32
|
-
* object per line, each an action the engine actually performed. agents-cli
|
|
33
|
-
* turns those into feed events and `sessions --browser` history
|
|
34
|
-
* (`lib/browser/record.ts`). The engine may emit none; it must never block
|
|
35
|
-
* on this pipe.
|
|
36
|
-
*
|
|
37
|
-
* Both fds are anonymous pipes on the child's side, the same shape
|
|
38
|
-
* `computer-client.ts` and `secrets-client.ts` settled on after a named FIFO
|
|
39
|
-
* wedged macOS reads. The context is pushed rather than pulled so the engine
|
|
40
|
-
* needs no callback into agents-cli — one direction each way, no reentrancy.
|
|
41
|
-
*/
|
|
42
1
|
import { spawn } from 'node:child_process';
|
|
43
2
|
import { realpathSync, existsSync } from 'node:fs';
|
|
44
3
|
import * as path from 'node:path';
|
|
45
4
|
import { findInPath } from './agent-spec/agents.js';
|
|
46
5
|
const INSTALL_HINT = 'npm i -g @phnx-labs/browser-cli';
|
|
47
|
-
/** fd the engine reads its one-shot JSON context from. */
|
|
48
6
|
export const BROWSER_CONTEXT_FD = 3;
|
|
49
|
-
/** fd the engine writes NDJSON action events to. */
|
|
50
7
|
export const BROWSER_EVENTS_FD = 4;
|
|
51
8
|
export class BrowserClientError extends Error {
|
|
52
9
|
code;
|
|
@@ -66,29 +23,14 @@ function browserEntrypoint(bin) {
|
|
|
66
23
|
const launcher = path.join(path.dirname(bin), 'node_modules', '@phnx-labs', 'browser-cli', 'bin', 'browser.cjs');
|
|
67
24
|
return existsSync(launcher) ? launcher : bin;
|
|
68
25
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Accept only the real standalone `browser` executable, never agents-cli's own
|
|
71
|
-
* `browser` command shim (`exec "$AGENTS_BIN" browser`, `installations/shims.ts`)
|
|
72
|
-
* — resolving that would recurse into this process. `findInPath` already skips
|
|
73
|
-
* `~/.agents/.cache/shims`; this guard is the second line, mirroring
|
|
74
|
-
* `isStandaloneComputer` (agents-cli never shipped a `dist/browser.js` bin, but
|
|
75
|
-
* the check stays symmetric and future-proof against one).
|
|
76
|
-
*/
|
|
77
26
|
export function isStandaloneBrowser(bin) {
|
|
78
27
|
let real = browserEntrypoint(bin);
|
|
79
28
|
try {
|
|
80
29
|
real = realpathSync(real);
|
|
81
30
|
}
|
|
82
|
-
catch {
|
|
31
|
+
catch { }
|
|
83
32
|
return !/\.(cmd|ps1)$/i.test(real) && !real.endsWith(path.join('dist', 'browser.js'));
|
|
84
33
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Resolve the standalone executable. `BROWSER_BIN` wins so a dev build can be
|
|
87
|
-
* driven without touching PATH.
|
|
88
|
-
*
|
|
89
|
-
* Resolution uses `findInPath`, which skips `~/.agents/.cache/shims` — see
|
|
90
|
-
* `isStandaloneBrowser` for why that skip is load-bearing.
|
|
91
|
-
*/
|
|
92
34
|
export function resolveBrowserBin() {
|
|
93
35
|
if (cachedBin)
|
|
94
36
|
return cachedBin;
|
|
@@ -102,8 +44,6 @@ export function resolveBrowserBin() {
|
|
|
102
44
|
cachedBin = browserEntrypoint(resolved);
|
|
103
45
|
return cachedBin;
|
|
104
46
|
}
|
|
105
|
-
/** True when the standalone `browser` CLI is resolvable — the readiness signal
|
|
106
|
-
* for `agents setup` without a spawn. Never throws. */
|
|
107
47
|
export function browserInstalled() {
|
|
108
48
|
try {
|
|
109
49
|
resolveBrowserBin();
|
|
@@ -113,22 +53,11 @@ export function browserInstalled() {
|
|
|
113
53
|
return false;
|
|
114
54
|
}
|
|
115
55
|
}
|
|
116
|
-
/** A `.js`/`.cjs`/`.mjs` bin is run through this runtime; a real executable is exec'd directly. */
|
|
117
56
|
export function invocation(bin) {
|
|
118
57
|
if (/\.[mc]?js$/.test(bin))
|
|
119
58
|
return { command: process.execPath, prefix: [bin] };
|
|
120
59
|
return { command: bin, prefix: [] };
|
|
121
60
|
}
|
|
122
|
-
/**
|
|
123
|
-
* Split a growing buffer into complete NDJSON lines. Pure so the framing rules —
|
|
124
|
-
* blank lines skipped, a non-JSON line dropped rather than crashing the CLI, a
|
|
125
|
-
* trailing partial line carried forward — are unit-testable without a spawn.
|
|
126
|
-
*
|
|
127
|
-
* A malformed line is dropped, not thrown: these events are telemetry riding
|
|
128
|
-
* alongside a user-visible action that already happened. Failing the command
|
|
129
|
-
* because its receipt was unreadable would be strictly worse than losing the
|
|
130
|
-
* receipt. The action itself already failed loud on its own channel if it failed.
|
|
131
|
-
*/
|
|
132
61
|
export function parseEventLines(buffer) {
|
|
133
62
|
const events = [];
|
|
134
63
|
const parts = buffer.split('\n');
|
|
@@ -144,19 +73,10 @@ export function parseEventLines(buffer) {
|
|
|
144
73
|
}
|
|
145
74
|
}
|
|
146
75
|
catch {
|
|
147
|
-
// Unreadable receipt — see above.
|
|
148
76
|
}
|
|
149
77
|
}
|
|
150
78
|
return { events, rest };
|
|
151
79
|
}
|
|
152
|
-
/**
|
|
153
|
-
* Run the standalone engine with the consumer context on fd 3 and the action
|
|
154
|
-
* event stream on fd 4. Resolves with the engine's exit code; the caller
|
|
155
|
-
* propagates it so `agents browser` exits exactly as the engine did.
|
|
156
|
-
*
|
|
157
|
-
* Throws `BROWSER_BIN_MISSING` when the standalone is not installed. Every other
|
|
158
|
-
* failure is the engine's own, reported on the inherited stderr.
|
|
159
|
-
*/
|
|
160
80
|
export async function runBrowser(opts) {
|
|
161
81
|
const bin = resolveBrowserBin();
|
|
162
82
|
const { command, prefix } = invocation(bin);
|
|
@@ -171,8 +91,6 @@ export async function runBrowser(opts) {
|
|
|
171
91
|
const contextPipe = child.stdio[BROWSER_CONTEXT_FD];
|
|
172
92
|
const eventsPipe = child.stdio[BROWSER_EVENTS_FD];
|
|
173
93
|
if (contextPipe) {
|
|
174
|
-
// An engine that exits before reading the context (bad argv, `--help`)
|
|
175
|
-
// closes fd 3 and we get EPIPE. That is a normal race, not a failure.
|
|
176
94
|
contextPipe.on('error', () => { });
|
|
177
95
|
contextPipe.end(JSON.stringify(opts.context) + '\n');
|
|
178
96
|
}
|
|
@@ -196,7 +114,6 @@ export async function runBrowser(opts) {
|
|
|
196
114
|
});
|
|
197
115
|
eventsPipe.on('error', () => resolve());
|
|
198
116
|
eventsPipe.on('end', () => {
|
|
199
|
-
// A final line with no trailing newline still counts.
|
|
200
117
|
const { events } = parseEventLines(pending.endsWith('\n') ? pending : pending + '\n');
|
|
201
118
|
pending = '';
|
|
202
119
|
for (const event of events)
|
|
@@ -209,8 +126,6 @@ export async function runBrowser(opts) {
|
|
|
209
126
|
reject(new BrowserClientError('BROWSER_SPAWN_FAILED', `Could not run \`${bin}\`: ${err.message}`));
|
|
210
127
|
});
|
|
211
128
|
child.on('close', (code, signal) => {
|
|
212
|
-
// A signalled child has no exit code; report the conventional 128+n so
|
|
213
|
-
// callers and shells see a non-zero status instead of a false success.
|
|
214
129
|
if (code == null)
|
|
215
130
|
return resolve(signal ? 128 + (osSignalNumber(signal) ?? 0) : 1);
|
|
216
131
|
resolve(code);
|
|
@@ -219,16 +134,12 @@ export async function runBrowser(opts) {
|
|
|
219
134
|
await drained;
|
|
220
135
|
return { exitCode, stdout };
|
|
221
136
|
}
|
|
222
|
-
/** Signal name → number for the 128+n exit convention. Only the ones a tunnelled
|
|
223
|
-
* or interrupted engine realistically dies on; anything else contributes 0 and
|
|
224
|
-
* still yields a non-zero status. */
|
|
225
137
|
function osSignalNumber(signal) {
|
|
226
138
|
const table = {
|
|
227
139
|
SIGHUP: 1, SIGINT: 2, SIGQUIT: 3, SIGKILL: 9, SIGPIPE: 13, SIGTERM: 15,
|
|
228
140
|
};
|
|
229
141
|
return table[signal];
|
|
230
142
|
}
|
|
231
|
-
/** Test seam: drop the memoized bin so PATH fixtures can re-resolve. */
|
|
232
143
|
export function _resetBrowserClientForTest() {
|
|
233
144
|
cachedBin = undefined;
|
|
234
145
|
}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
1
|
import type { BudgetConfig } from '../types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Effective budget for `cwd`: user/global base, then each project-local block
|
|
4
|
-
* from farthest ancestor to nearest, nearest winning. `on_exceed` defaults to
|
|
5
|
-
* `block` when nothing sets it (fail-closed: the safe default is to enforce).
|
|
6
|
-
*/
|
|
7
2
|
export declare function resolveBudgetConfig(cwd?: string): BudgetConfig;
|
|
8
|
-
/** True when at least one enforceable cap is set. No caps => budget feature is dormant. */
|
|
9
3
|
export declare function hasAnyCap(cfg: BudgetConfig): boolean;
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Budget config resolution (issue #346).
|
|
3
|
-
*
|
|
4
|
-
* The `budget:` block can live in the user/global agents.yaml (`readMeta().budget`)
|
|
5
|
-
* and in any project-local agents.yaml walked from cwd upward. Precedence is
|
|
6
|
-
* project > user, matching `run:` resolution (lib/run-config.ts). Caps merge
|
|
7
|
-
* field-by-field — a project that sets only `per_run` inherits the user's
|
|
8
|
-
* `per_day`/`per_project`/`per_agent` rather than wiping them.
|
|
9
|
-
*
|
|
10
|
-
* This is the single resolver the pre-flight gate, the live watcher, and the
|
|
11
|
-
* `agents config budget` command all route through, so the effective cap set is
|
|
12
|
-
* computed in exactly one place.
|
|
13
|
-
*/
|
|
14
1
|
import * as fs from 'fs';
|
|
15
2
|
import * as path from 'path';
|
|
16
3
|
import * as yaml from 'yaml';
|
|
@@ -18,12 +5,6 @@ import { getUserAgentsDir, readMeta } from '../state.js';
|
|
|
18
5
|
function isRecord(value) {
|
|
19
6
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
20
7
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Coerce a raw parsed `budget:` block into a typed BudgetConfig, dropping any
|
|
23
|
-
* field whose value is the wrong shape. Malformed entries are ignored, not
|
|
24
|
-
* thrown — a typo in one cap must never crash a run (no-fallbacks applies to
|
|
25
|
-
* the data path, not to user-typed config we choose to be lenient about).
|
|
26
|
-
*/
|
|
27
8
|
function coerceBudget(raw) {
|
|
28
9
|
if (!isRecord(raw))
|
|
29
10
|
return {};
|
|
@@ -52,7 +33,6 @@ function coerceBudget(raw) {
|
|
|
52
33
|
}
|
|
53
34
|
return out;
|
|
54
35
|
}
|
|
55
|
-
/** Merge a higher-precedence budget over a base. Set fields win; per_agent merges key-by-key. */
|
|
56
36
|
function mergeBudget(base, over) {
|
|
57
37
|
const merged = { ...base, ...stripUndefined(over) };
|
|
58
38
|
if (base.per_agent || over.per_agent) {
|
|
@@ -68,7 +48,6 @@ function stripUndefined(cfg) {
|
|
|
68
48
|
}
|
|
69
49
|
return out;
|
|
70
50
|
}
|
|
71
|
-
/** Read project-local `budget:` blocks from nearest dir upward, nearest LAST (highest precedence). */
|
|
72
51
|
function getProjectBudgets(startPath) {
|
|
73
52
|
const configs = [];
|
|
74
53
|
let dir = path.resolve(startPath);
|
|
@@ -83,19 +62,12 @@ function getProjectBudgets(startPath) {
|
|
|
83
62
|
}
|
|
84
63
|
}
|
|
85
64
|
catch {
|
|
86
|
-
// Malformed project config — ignore and keep walking.
|
|
87
65
|
}
|
|
88
66
|
}
|
|
89
67
|
dir = path.dirname(dir);
|
|
90
68
|
}
|
|
91
|
-
// configs[0] is the nearest dir. Reverse so the nearest applies LAST (wins).
|
|
92
69
|
return configs.reverse();
|
|
93
70
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Effective budget for `cwd`: user/global base, then each project-local block
|
|
96
|
-
* from farthest ancestor to nearest, nearest winning. `on_exceed` defaults to
|
|
97
|
-
* `block` when nothing sets it (fail-closed: the safe default is to enforce).
|
|
98
|
-
*/
|
|
99
71
|
export function resolveBudgetConfig(cwd = process.cwd()) {
|
|
100
72
|
const userBudget = coerceBudget(readMeta().budget);
|
|
101
73
|
let merged = userBudget;
|
|
@@ -106,7 +78,6 @@ export function resolveBudgetConfig(cwd = process.cwd()) {
|
|
|
106
78
|
merged.on_exceed = 'block';
|
|
107
79
|
return merged;
|
|
108
80
|
}
|
|
109
|
-
/** True when at least one enforceable cap is set. No caps => budget feature is dormant. */
|
|
110
81
|
export function hasAnyCap(cfg) {
|
|
111
82
|
return (cfg.per_run !== undefined ||
|
|
112
83
|
cfg.per_day !== undefined ||
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Live spend watcher + cap math (issue #346).
|
|
3
|
-
*
|
|
4
|
-
* This is the provider-agnostic shared surface the loop driver (#332) will
|
|
5
|
-
* reuse for its budget guard. It knows nothing about child processes, agents,
|
|
6
|
-
* or the ledger — it accepts parsed usage events and a caps object, accumulates
|
|
7
|
-
* cost via the canonical pricing module, and fires `onBreach` exactly once when
|
|
8
|
-
* any active cap is crossed.
|
|
9
|
-
*
|
|
10
|
-
* The accumulation is the cross-vendor primitive: feed Claude usage and Codex
|
|
11
|
-
* usage to the same watcher under one `per_project` / `per_run` cap and the
|
|
12
|
-
* spend aggregates across both — no single-vendor control can do that.
|
|
13
|
-
*/
|
|
14
1
|
import type { AgentId, BudgetConfig } from '../types.js';
|
|
15
|
-
/** A parsed usage event from any agent's stream (fields match session/parse). */
|
|
16
2
|
export interface UsageEvent {
|
|
17
3
|
agent?: AgentId | string;
|
|
18
4
|
model?: string;
|
|
@@ -21,73 +7,37 @@ export interface UsageEvent {
|
|
|
21
7
|
cacheReadTokens?: number;
|
|
22
8
|
cacheCreationTokens?: number;
|
|
23
9
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Caps the watcher enforces. `priorDaySpend` / `priorProjectSpend` seed the
|
|
26
|
-
* accumulators with spend already on the ledger BEFORE this run started, so a
|
|
27
|
-
* per_day cap counts today's earlier runs too — not just this process. Per-cap
|
|
28
|
-
* fields are USD; undefined means "not enforced".
|
|
29
|
-
*/
|
|
30
10
|
export interface LiveCaps {
|
|
31
11
|
perRun?: number;
|
|
32
12
|
perDay?: number;
|
|
33
13
|
perProject?: number;
|
|
34
|
-
/** Per-agent daily caps. Each agent's running spend is checked against its own cap. */
|
|
35
14
|
perAgent?: Partial<Record<string, number>>;
|
|
36
|
-
/** Day spend already on the ledger before this run (cross-vendor). */
|
|
37
15
|
priorDaySpend?: number;
|
|
38
|
-
/** Project spend already on the ledger before this run (cross-vendor). */
|
|
39
16
|
priorProjectSpend?: number;
|
|
40
|
-
/** Per-agent day spend already on the ledger before this run, keyed by agent. */
|
|
41
17
|
priorAgentDaySpend?: Partial<Record<string, number>>;
|
|
42
18
|
}
|
|
43
|
-
/** Which cap tripped, and the spend figures at the moment of the breach. */
|
|
44
19
|
export interface BreachInfo {
|
|
45
20
|
cap: 'per_run' | 'per_day' | 'per_project' | 'per_agent';
|
|
46
|
-
/** The configured limit that was crossed (USD). */
|
|
47
21
|
limit: number;
|
|
48
|
-
/** The spend that crossed it (USD). */
|
|
49
22
|
spend: number;
|
|
50
|
-
/** Agent attributed to the breach (only meaningful for per_agent). */
|
|
51
23
|
agent?: string;
|
|
52
|
-
/** This run's accumulated spend so far (USD). */
|
|
53
24
|
runSpend: number;
|
|
54
25
|
}
|
|
55
|
-
/** Public watcher surface. `feedUsage` is idempotent after a breach (no double-fire). */
|
|
56
26
|
export interface LiveSpendWatcher {
|
|
57
|
-
/** Feed one parsed usage event; accrues cost and may fire onBreach. */
|
|
58
27
|
feedUsage(event: UsageEvent): void;
|
|
59
|
-
/** Total USD this run has accumulated across all fed events. */
|
|
60
28
|
runSpend(): number;
|
|
61
|
-
/** True once a cap has been breached. */
|
|
62
29
|
breached(): boolean;
|
|
63
|
-
/** Stop accepting events / release references. Idempotent. */
|
|
64
30
|
dispose(): void;
|
|
65
31
|
}
|
|
66
|
-
/** Convert a resolved BudgetConfig + prior ledger spend into the caps the watcher needs. */
|
|
67
32
|
export declare function capsFromConfig(cfg: BudgetConfig, prior?: {
|
|
68
33
|
daySpend?: number;
|
|
69
34
|
projectSpend?: number;
|
|
70
35
|
agentDaySpend?: Partial<Record<string, number>>;
|
|
71
36
|
}): LiveCaps;
|
|
72
|
-
/**
|
|
73
|
-
* Create a live spend watcher. `onBreach` fires at most once, on the first
|
|
74
|
-
* event that pushes any active cap from at-or-under to over. After it fires the
|
|
75
|
-
* watcher keeps accumulating (so `runSpend()` stays accurate for the final
|
|
76
|
-
* ledger record) but never calls `onBreach` again.
|
|
77
|
-
*/
|
|
78
37
|
export declare function makeLiveSpendWatcher(args: {
|
|
79
38
|
caps: LiveCaps;
|
|
80
39
|
onBreach: (breach: BreachInfo) => void;
|
|
81
40
|
}): LiveSpendWatcher;
|
|
82
|
-
/**
|
|
83
|
-
* Incrementally extract usage events from a stream-json chunk. Buffers a partial
|
|
84
|
-
* trailing line across calls (returned in `rest`), parses each complete line,
|
|
85
|
-
* and yields one UsageEvent per line that carries token counts. Provider shapes
|
|
86
|
-
* handled: Claude/`--json` assistant turns (`message.usage` with
|
|
87
|
-
* `input_tokens`/`output_tokens`/`cache_*_input_tokens`) and the flatter
|
|
88
|
-
* `usage.record` shape (`usage.input_tokens`/`output`). Lines that aren't JSON
|
|
89
|
-
* or carry no usage are skipped — this never throws on agent output.
|
|
90
|
-
*/
|
|
91
41
|
export declare function extractUsageEvents(chunk: string, pending: string, fallbackModel?: string, fallbackAgent?: string): {
|
|
92
42
|
events: UsageEvent[];
|
|
93
43
|
rest: string;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { actualCost } from '../pricing/index.js';
|
|
2
|
-
/** Convert a resolved BudgetConfig + prior ledger spend into the caps the watcher needs. */
|
|
3
2
|
export function capsFromConfig(cfg, prior) {
|
|
4
3
|
return {
|
|
5
4
|
perRun: cfg.per_run,
|
|
@@ -11,16 +10,9 @@ export function capsFromConfig(cfg, prior) {
|
|
|
11
10
|
priorAgentDaySpend: prior?.agentDaySpend ?? {},
|
|
12
11
|
};
|
|
13
12
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Create a live spend watcher. `onBreach` fires at most once, on the first
|
|
16
|
-
* event that pushes any active cap from at-or-under to over. After it fires the
|
|
17
|
-
* watcher keeps accumulating (so `runSpend()` stays accurate for the final
|
|
18
|
-
* ledger record) but never calls `onBreach` again.
|
|
19
|
-
*/
|
|
20
13
|
export function makeLiveSpendWatcher(args) {
|
|
21
14
|
const { caps, onBreach } = args;
|
|
22
15
|
let run = 0;
|
|
23
|
-
// Cross-vendor accumulators, seeded with pre-run ledger spend.
|
|
24
16
|
let day = caps.priorDaySpend ?? 0;
|
|
25
17
|
let project = caps.priorProjectSpend ?? 0;
|
|
26
18
|
const agentDay = {};
|
|
@@ -81,15 +73,6 @@ export function makeLiveSpendWatcher(args) {
|
|
|
81
73
|
},
|
|
82
74
|
};
|
|
83
75
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Incrementally extract usage events from a stream-json chunk. Buffers a partial
|
|
86
|
-
* trailing line across calls (returned in `rest`), parses each complete line,
|
|
87
|
-
* and yields one UsageEvent per line that carries token counts. Provider shapes
|
|
88
|
-
* handled: Claude/`--json` assistant turns (`message.usage` with
|
|
89
|
-
* `input_tokens`/`output_tokens`/`cache_*_input_tokens`) and the flatter
|
|
90
|
-
* `usage.record` shape (`usage.input_tokens`/`output`). Lines that aren't JSON
|
|
91
|
-
* or carry no usage are skipped — this never throws on agent output.
|
|
92
|
-
*/
|
|
93
76
|
export function extractUsageEvents(chunk, pending, fallbackModel, fallbackAgent) {
|
|
94
77
|
const combined = pending + chunk;
|
|
95
78
|
const lines = combined.split('\n');
|
|
@@ -113,15 +96,8 @@ export function extractUsageEvents(chunk, pending, fallbackModel, fallbackAgent)
|
|
|
113
96
|
return { events, rest };
|
|
114
97
|
}
|
|
115
98
|
function usageFromObject(obj, fallbackModel, fallbackAgent) {
|
|
116
|
-
// Claude emits a final `type:"result"` event carrying a TOP-LEVEL cumulative
|
|
117
|
-
// `usage` that already sums every per-turn `message.usage`. Counting both the
|
|
118
|
-
// per-turn turns AND this cumulative total double-counts a multi-turn run
|
|
119
|
-
// (~2x). The canonical session parser (src/lib/session/parse.ts) reads usage
|
|
120
|
-
// ONLY from `message.usage` and extracts nothing from the result line — mirror
|
|
121
|
-
// that here: skip result lines entirely for usage.
|
|
122
99
|
if (obj?.type === 'result')
|
|
123
100
|
return null;
|
|
124
|
-
// Claude stream-json assistant turn.
|
|
125
101
|
const mu = obj?.message?.usage;
|
|
126
102
|
if (mu && (typeof mu.input_tokens === 'number' || typeof mu.output_tokens === 'number')) {
|
|
127
103
|
return {
|
|
@@ -133,9 +109,6 @@ function usageFromObject(obj, fallbackModel, fallbackAgent) {
|
|
|
133
109
|
cacheCreationTokens: mu.cache_creation_input_tokens,
|
|
134
110
|
};
|
|
135
111
|
}
|
|
136
|
-
// Flatter usage.record / usage shape (Codex / `usage.record`). The result-line
|
|
137
|
-
// guard above already excludes Claude's cumulative result usage, so this only
|
|
138
|
-
// matches genuine per-event usage records.
|
|
139
112
|
const u = obj?.usage;
|
|
140
113
|
if (u && (typeof u.input_tokens === 'number' || typeof u.output === 'number' || typeof u.output_tokens === 'number')) {
|
|
141
114
|
return {
|
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
/** A single spend observation. Append-only; never mutated in place. */
|
|
2
1
|
export interface SpendEntry {
|
|
3
|
-
/** Run identifier — groups multiple usage observations from one dispatch. */
|
|
4
2
|
runId: string;
|
|
5
|
-
/** Agent id (claude, codex, ...). The cross-vendor attribution key. */
|
|
6
3
|
agent: string;
|
|
7
|
-
/** Project key (absolute path or repo slug). Empty string when unknown. */
|
|
8
4
|
project: string;
|
|
9
|
-
/** Local calendar day, YYYY-MM-DD. */
|
|
10
5
|
day: string;
|
|
11
|
-
/** Model id as reported by the stream (may carry vendor prefix / date suffix). */
|
|
12
6
|
model: string;
|
|
13
7
|
inputTok: number;
|
|
14
8
|
outputTok: number;
|
|
15
|
-
/** Combined cache read + creation tokens (kept as one field for the ledger). */
|
|
16
9
|
cacheTok: number;
|
|
17
|
-
/** USD cost of THIS observation, via actualCost() at write time. */
|
|
18
10
|
costUsd: number;
|
|
19
|
-
/** Where the spend came from: local run, teams teammate, or cloud dispatch. */
|
|
20
11
|
source: 'run' | 'teams' | 'cloud';
|
|
21
|
-
/** ISO timestamp of the observation. */
|
|
22
12
|
ts: string;
|
|
23
13
|
}
|
|
24
|
-
/** Token bundle for a single observation (matches session/parse usage fields). */
|
|
25
14
|
export interface UsageObservation {
|
|
26
15
|
model?: string;
|
|
27
16
|
inputTokens?: number;
|
|
@@ -29,13 +18,7 @@ export interface UsageObservation {
|
|
|
29
18
|
cacheReadTokens?: number;
|
|
30
19
|
cacheCreationTokens?: number;
|
|
31
20
|
}
|
|
32
|
-
/** Local YYYY-MM-DD for a Date (defaults to now). Local, not UTC — caps are a human-day notion. */
|
|
33
21
|
export declare function localDay(d?: Date): string;
|
|
34
|
-
/**
|
|
35
|
-
* Append one spend observation. Computes `costUsd` from the usage via the
|
|
36
|
-
* canonical pricing module (unpriced models contribute $0). Returns the written
|
|
37
|
-
* entry. Creates the spend dir on first write.
|
|
38
|
-
*/
|
|
39
22
|
export declare function recordSpend(input: {
|
|
40
23
|
runId: string;
|
|
41
24
|
agent: string;
|
|
@@ -45,15 +28,9 @@ export declare function recordSpend(input: {
|
|
|
45
28
|
source: SpendEntry['source'];
|
|
46
29
|
ts?: Date;
|
|
47
30
|
}, ledgerPath?: string): SpendEntry;
|
|
48
|
-
/** Load every entry. Skips malformed lines (a half-written final line never breaks a rollup). */
|
|
49
31
|
export declare function loadLedger(ledgerPath?: string): SpendEntry[];
|
|
50
|
-
/** Total USD spend on a given local day across ALL agents (cross-vendor). */
|
|
51
32
|
export declare function spendForDay(day: string, ledger?: SpendEntry[]): number;
|
|
52
|
-
/** Total USD spend on a given day for ONE agent (per-agent cap accounting). */
|
|
53
33
|
export declare function spendForAgentDay(agent: string, day: string, ledger?: SpendEntry[]): number;
|
|
54
|
-
/** Total USD spend attributed to an agent across all time. */
|
|
55
34
|
export declare function spendForAgent(agent: string, ledger?: SpendEntry[]): number;
|
|
56
|
-
/** Total USD spend attributed to a project across all time (cross-vendor). */
|
|
57
35
|
export declare function spendForProject(project: string, ledger?: SpendEntry[]): number;
|
|
58
|
-
/** Total USD spend for a single run id (all of its usage observations). */
|
|
59
36
|
export declare function spendForRun(runId: string, ledger?: SpendEntry[]): number;
|
|
@@ -1,37 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Append-only spend ledger (issue #346).
|
|
3
|
-
*
|
|
4
|
-
* Every dispatched run that produces token usage records one JSONL line under
|
|
5
|
-
* `<history>/spend/ledger.jsonl`. The ledger is the shared artifact #323's
|
|
6
|
-
* `agents insights cost` can later read for $ rollups, so the entry shape stays clean
|
|
7
|
-
* and stable: one record = one usage observation attributed to a run.
|
|
8
|
-
*
|
|
9
|
-
* `costUsd` is computed at write time via the canonical pricing module
|
|
10
|
-
* (lib/pricing) so the ledger is self-contained — a reader never needs the
|
|
11
|
-
* pricing table to sum spend. Rollups (`spendForDay`/`spendForAgent`/...) are
|
|
12
|
-
* pure folds over the file; for the modest line counts a developer accrues this
|
|
13
|
-
* is plenty fast, and there's no index to corrupt.
|
|
14
|
-
*/
|
|
15
1
|
import * as fs from 'fs';
|
|
16
2
|
import * as path from 'path';
|
|
17
3
|
import { getHistoryDir } from '../state.js';
|
|
18
4
|
import { actualCost } from '../pricing/index.js';
|
|
19
|
-
/** Default ledger path: <history>/spend/ledger.jsonl. */
|
|
20
5
|
function defaultLedgerPath() {
|
|
21
6
|
return path.join(getHistoryDir(), 'spend', 'ledger.jsonl');
|
|
22
7
|
}
|
|
23
|
-
/** Local YYYY-MM-DD for a Date (defaults to now). Local, not UTC — caps are a human-day notion. */
|
|
24
8
|
export function localDay(d = new Date()) {
|
|
25
9
|
const y = d.getFullYear();
|
|
26
10
|
const m = String(d.getMonth() + 1).padStart(2, '0');
|
|
27
11
|
const day = String(d.getDate()).padStart(2, '0');
|
|
28
12
|
return `${y}-${m}-${day}`;
|
|
29
13
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Append one spend observation. Computes `costUsd` from the usage via the
|
|
32
|
-
* canonical pricing module (unpriced models contribute $0). Returns the written
|
|
33
|
-
* entry. Creates the spend dir on first write.
|
|
34
|
-
*/
|
|
35
14
|
export function recordSpend(input, ledgerPath = defaultLedgerPath()) {
|
|
36
15
|
const ts = input.ts ?? new Date();
|
|
37
16
|
const cacheTok = (input.usage.cacheReadTokens ?? 0) + (input.usage.cacheCreationTokens ?? 0);
|
|
@@ -58,7 +37,6 @@ export function recordSpend(input, ledgerPath = defaultLedgerPath()) {
|
|
|
58
37
|
fs.appendFileSync(ledgerPath, JSON.stringify(entry) + '\n');
|
|
59
38
|
return entry;
|
|
60
39
|
}
|
|
61
|
-
/** Load every entry. Skips malformed lines (a half-written final line never breaks a rollup). */
|
|
62
40
|
export function loadLedger(ledgerPath = defaultLedgerPath()) {
|
|
63
41
|
if (!fs.existsSync(ledgerPath))
|
|
64
42
|
return [];
|
|
@@ -73,7 +51,6 @@ export function loadLedger(ledgerPath = defaultLedgerPath()) {
|
|
|
73
51
|
out.push(parsed);
|
|
74
52
|
}
|
|
75
53
|
catch {
|
|
76
|
-
// Tolerate a torn final line; everything before it is intact.
|
|
77
54
|
}
|
|
78
55
|
}
|
|
79
56
|
return out;
|
|
@@ -85,23 +62,18 @@ function sum(entries, pred) {
|
|
|
85
62
|
total += e.costUsd;
|
|
86
63
|
return total;
|
|
87
64
|
}
|
|
88
|
-
/** Total USD spend on a given local day across ALL agents (cross-vendor). */
|
|
89
65
|
export function spendForDay(day, ledger = loadLedger()) {
|
|
90
66
|
return sum(ledger, (e) => e.day === day);
|
|
91
67
|
}
|
|
92
|
-
/** Total USD spend on a given day for ONE agent (per-agent cap accounting). */
|
|
93
68
|
export function spendForAgentDay(agent, day, ledger = loadLedger()) {
|
|
94
69
|
return sum(ledger, (e) => e.agent === agent && e.day === day);
|
|
95
70
|
}
|
|
96
|
-
/** Total USD spend attributed to an agent across all time. */
|
|
97
71
|
export function spendForAgent(agent, ledger = loadLedger()) {
|
|
98
72
|
return sum(ledger, (e) => e.agent === agent);
|
|
99
73
|
}
|
|
100
|
-
/** Total USD spend attributed to a project across all time (cross-vendor). */
|
|
101
74
|
export function spendForProject(project, ledger = loadLedger()) {
|
|
102
75
|
return sum(ledger, (e) => e.project === project);
|
|
103
76
|
}
|
|
104
|
-
/** Total USD spend for a single run id (all of its usage observations). */
|
|
105
77
|
export function spendForRun(runId, ledger = loadLedger()) {
|
|
106
78
|
return sum(ledger, (e) => e.runId === runId);
|
|
107
79
|
}
|
|
@@ -1,40 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Live budget kill-switch for `agents cloud` dispatch (issue #399).
|
|
3
|
-
*
|
|
4
|
-
* Follow-up to #346, which shipped a pre-flight budget gate for cloud runs but
|
|
5
|
-
* no live mid-run enforcement — a runaway cloud task would keep spending until
|
|
6
|
-
* the user hit Ctrl-C. This wires the same `makeLiveSpendWatcher` the local
|
|
7
|
-
* headless run uses (src/lib/exec.ts) into the cloud SSE stream: each `usage`
|
|
8
|
-
* event from the provider feeds the watcher, and on breach we call
|
|
9
|
-
* `provider.cancel(taskId)` to terminate server-side.
|
|
10
|
-
*
|
|
11
|
-
* Wrapper shape mirrors `renderStream`'s input — it takes an
|
|
12
|
-
* `AsyncIterable<CloudEvent>` and yields the same events downstream. Dormant
|
|
13
|
-
* (returns the source stream unchanged) when no caps are configured.
|
|
14
|
-
*/
|
|
15
1
|
import type { CloudProvider, CloudEvent } from '../cloud/types.js';
|
|
16
2
|
import { type BreachInfo } from './enforce.js';
|
|
17
|
-
/** Result surface exposed to the caller so it can act on a mid-stream breach. */
|
|
18
3
|
interface CloudBudgetGate {
|
|
19
|
-
/** True once a cap crossed and cancel() was invoked. */
|
|
20
4
|
breached(): boolean;
|
|
21
5
|
breach(): BreachInfo | null;
|
|
22
6
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Wrap a cloud event stream with a live budget watcher. On a `usage` event we
|
|
25
|
-
* feed the shared watcher; on the first breach we call `provider.cancel(taskId)`
|
|
26
|
-
* and forward a synthetic `status:'cancelled'` + `error` frame so the renderer
|
|
27
|
-
* shows why the task stopped. Returns null when no caps are configured; callers
|
|
28
|
-
* fall through to the raw stream in that case.
|
|
29
|
-
*/
|
|
30
7
|
export declare function wrapStreamWithBudgetGate(args: {
|
|
31
8
|
provider: CloudProvider;
|
|
32
9
|
taskId: string;
|
|
33
|
-
/** Project attribution key — repo slug for Rush, or cwd. */
|
|
34
10
|
project: string;
|
|
35
|
-
/** Agent the dispatch runs under (for per_agent cap accounting). */
|
|
36
11
|
agent: string;
|
|
37
|
-
/** cwd used to resolve the effective budget config. */
|
|
38
12
|
cwd?: string;
|
|
39
13
|
}): {
|
|
40
14
|
wrap: (source: AsyncIterable<CloudEvent>) => AsyncIterable<CloudEvent>;
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { capsFromConfig, makeLiveSpendWatcher, } from './enforce.js';
|
|
2
2
|
import { resolveBudgetConfig, hasAnyCap } from './config.js';
|
|
3
3
|
import { loadLedger, localDay, spendForDay, spendForProject } from './ledger.js';
|
|
4
|
-
/**
|
|
5
|
-
* Wrap a cloud event stream with a live budget watcher. On a `usage` event we
|
|
6
|
-
* feed the shared watcher; on the first breach we call `provider.cancel(taskId)`
|
|
7
|
-
* and forward a synthetic `status:'cancelled'` + `error` frame so the renderer
|
|
8
|
-
* shows why the task stopped. Returns null when no caps are configured; callers
|
|
9
|
-
* fall through to the raw stream in that case.
|
|
10
|
-
*/
|
|
11
4
|
export function wrapStreamWithBudgetGate(args) {
|
|
12
5
|
const cfg = resolveBudgetConfig(args.cwd);
|
|
13
6
|
if (!hasAnyCap(cfg))
|
|
@@ -36,15 +29,10 @@ export function wrapStreamWithBudgetGate(args) {
|
|
|
36
29
|
outputTokens: event.outputTokens ?? 0,
|
|
37
30
|
});
|
|
38
31
|
if (watcher.breached() && firstBreach) {
|
|
39
|
-
// Cancel server-side FIRST so we stop the meter; then surface the
|
|
40
|
-
// breach to the renderer as an error + cancelled status so the CLI
|
|
41
|
-
// exits with a visible reason (not a silent stream close).
|
|
42
32
|
try {
|
|
43
33
|
await args.provider.cancel(args.taskId);
|
|
44
34
|
}
|
|
45
35
|
catch (err) {
|
|
46
|
-
// Best-effort — even if cancel fails, break the stream: the
|
|
47
|
-
// caller sees the error frame and can retry manually.
|
|
48
36
|
yield {
|
|
49
37
|
type: 'error',
|
|
50
38
|
message: `[budget] cap ${firstBreach.cap} exceeded ($${firstBreach.spend.toFixed(2)} > $${firstBreach.limit.toFixed(2)}); cancel FAILED: ${err.message}`,
|
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
import type { AgentManager } from '../teams/agents.js';
|
|
2
2
|
import { type BreachInfo } from './enforce.js';
|
|
3
|
-
/** Public surface of the team-scoped budget watcher. */
|
|
4
3
|
export interface TeamBudgetWatcher {
|
|
5
|
-
/** Feed any new usage events from every running teammate's stdout.log. */
|
|
6
4
|
poll(): Promise<void>;
|
|
7
|
-
/** True once any cap has been crossed (mirrors LiveSpendWatcher). */
|
|
8
5
|
breached(): boolean;
|
|
9
|
-
/** The first breach seen, or null if none yet. */
|
|
10
6
|
breach(): BreachInfo | null;
|
|
11
|
-
/** Release references and stop tapping streams. Idempotent. */
|
|
12
7
|
dispose(): void;
|
|
13
8
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Build a team-scoped budget watcher for the given team. Returns null when the
|
|
16
|
-
* effective budget config has no caps — matching the local watcher's dormant
|
|
17
|
-
* contract so callers pay nothing when the feature is off.
|
|
18
|
-
*
|
|
19
|
-
* The watcher is seeded with prior-day and prior-project spend from the ledger
|
|
20
|
-
* so a partway-through day counts today's earlier runs against `per_day`.
|
|
21
|
-
* Each `poll()` reads new bytes from every running teammate's stdout.log and
|
|
22
|
-
* feeds parsed usage events into the shared watcher — `onBreach` fires exactly
|
|
23
|
-
* once, mirroring `makeLiveSpendWatcher`.
|
|
24
|
-
*/
|
|
25
9
|
export declare function createTeamBudgetWatcher(args: {
|
|
26
10
|
manager: AgentManager;
|
|
27
11
|
team: string;
|
|
28
|
-
/** Project/cwd used to (a) resolve budget config and (b) seed project spend. */
|
|
29
12
|
cwd: string;
|
|
30
13
|
onBreach: (breach: BreachInfo) => void;
|
|
31
14
|
}): TeamBudgetWatcher | null;
|