@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -5,45 +5,11 @@ import { bundleBackendSync, bundleExistsSync, isSecretsClientError, readAndResol
|
|
|
5
5
|
import { AUTH_STORE_ALIAS, ReservedBundleWrongBackendError, assertReservedAuthBackend, isReservedBundleBackendError, isReservedStoreName, } from './reserved-stores.js';
|
|
6
6
|
import { ensureSlot, recordSlot } from './accounts/slots.js';
|
|
7
7
|
import { harnessWorkerKinds } from './harness-auth-capabilities.js';
|
|
8
|
-
/**
|
|
9
|
-
* Reserved FILE-BASED secrets bundle holding long-lived, non-rotating Claude
|
|
10
|
-
* setup-tokens. Usage/probe reads authenticate with these instead of Claude
|
|
11
|
-
* Code's ACL-bound login item, so they never pop Touch ID. Keyed strictly
|
|
12
|
-
* per-account (`CLAUDE_CODE_OAUTH_TOKEN_<slug>` from the account email) — never a
|
|
13
|
-
* bare key, so one account's token can't be misapplied to another in a
|
|
14
|
-
* multi-account fleet.
|
|
15
|
-
*/
|
|
16
|
-
/** Alias of the reserved-store name so mint/seed shares one source of truth. */
|
|
17
8
|
export const AUTH_BUNDLE = AUTH_STORE_ALIAS;
|
|
18
9
|
export { ReservedBundleWrongBackendError };
|
|
19
|
-
/**
|
|
20
|
-
* A well-formed Claude OAuth setup-token: the `sk-ant-oat01-` prefix followed by
|
|
21
|
-
* token-safe characters only, on a single line. `claude setup-token` mints exactly
|
|
22
|
-
* this; nothing else is a token.
|
|
23
|
-
*
|
|
24
|
-
* The provisioning capture bug behind #1767 stored the raw `claude setup-token`
|
|
25
|
-
* TTY stream — the welcome banner, ANSI control sequences, box-drawing art, and the
|
|
26
|
-
* token buried inside — under a per-account key instead of the parsed value. That
|
|
27
|
-
* blob is not a token: injected as `Authorization: Bearer <blob>` it made Anthropic
|
|
28
|
-
* reject every request and the run crash. agents-cli only *consumes* these tokens
|
|
29
|
-
* (the mint itself is the Rush Cloud / mint-auth path), so this is the boundary
|
|
30
|
-
* where a corrupt bundle entry must be caught before it reaches the auth header.
|
|
31
|
-
*/
|
|
32
10
|
const SETUP_TOKEN_RE = /^sk-ant-oat01-[A-Za-z0-9_-]+$/;
|
|
33
|
-
/**
|
|
34
|
-
* Process-local memo of resolved setup-tokens, keyed by the caller's cache key
|
|
35
|
-
* AND the per-account token key — a version home that switches accounts must
|
|
36
|
-
* miss, never be served the previous account's token. Plaintext setup-tokens
|
|
37
|
-
* are never written to another cache. The bundle now
|
|
38
|
-
* lives behind the standalone `secrets` process (one spawn per read), so the
|
|
39
|
-
* memo is what keeps a probe loop over many accounts from re-decrypting the
|
|
40
|
-
* whole `auth` bundle per account; it is bounded by {@link SETUP_TOKEN_MEMO_TTL_MS}
|
|
41
|
-
* so a rotation performed by another process is observed within seconds, and
|
|
42
|
-
* an in-process writer clears it outright ({@link invalidateClaudeSetupTokenCache}).
|
|
43
|
-
*/
|
|
44
11
|
const setupTokenCache = new Map();
|
|
45
12
|
const SETUP_TOKEN_MEMO_TTL_MS = 10_000;
|
|
46
|
-
/** Drop every memoized setup-token; called after this process seeds or rotates one. */
|
|
47
13
|
export function invalidateClaudeSetupTokenCache() {
|
|
48
14
|
setupTokenCache.clear();
|
|
49
15
|
}
|
|
@@ -82,11 +48,9 @@ function credentialFingerprint(credentialPath) {
|
|
|
82
48
|
return 'missing';
|
|
83
49
|
}
|
|
84
50
|
}
|
|
85
|
-
/** True only for a clean, single-line `sk-ant-oat01-…` token — see {@link SETUP_TOKEN_RE}. */
|
|
86
51
|
export function isValidClaudeSetupToken(value) {
|
|
87
52
|
return SETUP_TOKEN_RE.test(value);
|
|
88
53
|
}
|
|
89
|
-
/** The per-account key an email maps to inside the `auth` bundle. */
|
|
90
54
|
export function claudeAccountTokenKey(account) {
|
|
91
55
|
const slug = account
|
|
92
56
|
.trim()
|
|
@@ -96,7 +60,6 @@ export function claudeAccountTokenKey(account) {
|
|
|
96
60
|
.replace(/[^A-Z0-9_]/g, '_');
|
|
97
61
|
return `CLAUDE_CODE_OAUTH_TOKEN_${slug}`;
|
|
98
62
|
}
|
|
99
|
-
/** Signed-in account email for a version home, from `.claude.json` (no keychain). */
|
|
100
63
|
export function readClaudeAccountEmail(home) {
|
|
101
64
|
const base = home ?? os.homedir();
|
|
102
65
|
for (const p of [path.join(base, '.claude', '.claude.json'), path.join(base, '.claude.json')]) {
|
|
@@ -106,47 +69,20 @@ export function readClaudeAccountEmail(home) {
|
|
|
106
69
|
return email.trim();
|
|
107
70
|
}
|
|
108
71
|
catch {
|
|
109
|
-
// Missing/unreadable at this location — try the next.
|
|
110
72
|
}
|
|
111
73
|
}
|
|
112
74
|
return null;
|
|
113
75
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Resolve a long-lived `claude setup-token` for the account signed into `home`
|
|
116
|
-
* from the reserved FILE-BASED `auth` bundle. Returns the token or null. Reads
|
|
117
|
-
* ONLY when the bundle is file-backed (never keychain), so this path itself can
|
|
118
|
-
* never trigger a Touch ID prompt — that is the entire point: usage/probe reads
|
|
119
|
-
* authenticate with the shareable setup-token, not the ACL-bound login item.
|
|
120
|
-
*/
|
|
121
76
|
export function resolveClaudeSetupToken(home) {
|
|
122
|
-
// Require a known account (email) up front: without it we cannot key a
|
|
123
|
-
// per-account token, and we must NOT fall back to a bare shared key that
|
|
124
|
-
// would misapply one account's setup-token to another.
|
|
125
77
|
const email = readClaudeAccountEmail(home)
|
|
126
|
-
// Self-heal (PHNX-3660): a home provisioned before seed-on-attach carries an
|
|
127
|
-
// `.oauth_token` but no identity. Recover the email from the bundle and
|
|
128
|
-
// write it back, so the home converges instead of needing a re-attach.
|
|
129
|
-
// Explicit-home only: with no home the probe targets the operator's real
|
|
130
|
-
// ~/.claude.json, which a library read must never rewrite.
|
|
131
78
|
?? (home ? discoverClaudeAccountEmailFromOauthToken(home) : null);
|
|
132
79
|
if (!email)
|
|
133
80
|
return null;
|
|
134
81
|
return resolveClaudeSetupTokenForEmail(email, home ?? os.homedir());
|
|
135
82
|
}
|
|
136
|
-
/** Negative/positive discovery cache, keyed by home + .oauth_token fingerprint (SHOULD-2). */
|
|
137
83
|
const discoveryCache = new Map();
|
|
138
|
-
/**
|
|
139
|
-
* Recover a home's account email from its `.claude/.oauth_token` by matching
|
|
140
|
-
* the token VALUE against the `auth` bundle (the slug encodes the email, and
|
|
141
|
-
* the re-encode check makes the decode lossless or fail). On a match the
|
|
142
|
-
* identity is written back via {@link seedClaudeWorkerHomeIdentity}, so this
|
|
143
|
-
* runs at most once per home. Returns null — and writes nothing — when the
|
|
144
|
-
* file is missing, malformed, or matches no bundle key: a token that no longer
|
|
145
|
-
* exists in the bundle must not resurrect an account mapping. A no-match
|
|
146
|
-
* result is cached against the token file's fingerprint so a rotated-out home
|
|
147
|
-
* does not re-decrypt the bundle on every probe.
|
|
148
|
-
*/
|
|
149
84
|
function discoverClaudeAccountEmailFromOauthToken(home) {
|
|
85
|
+
// Discovery may rewrite identity only inside the explicit worker home.
|
|
150
86
|
try {
|
|
151
87
|
const tokenPath = path.join(home, '.claude', '.oauth_token');
|
|
152
88
|
const fingerprint = credentialFingerprint(tokenPath);
|
|
@@ -189,16 +125,8 @@ function discoverEmailUncached(home, tokenPath) {
|
|
|
189
125
|
}
|
|
190
126
|
return null;
|
|
191
127
|
}
|
|
192
|
-
/**
|
|
193
|
-
* Decode the email a `CLAUDE_CODE_OAUTH_TOKEN_<slug>` key encodes — or null
|
|
194
|
-
* when the decode is ambiguous. The mapping collapses every non-alphanumeric
|
|
195
|
-
* to `_`, so a `_` surviving in the decoded address cannot be told apart from
|
|
196
|
-
* a folded `.`/`+`/etc. (`FIRST_DOT_LAST_AT_GMAIL_DOT_COM` decodes to
|
|
197
|
-
* `first_dot_last@gmail.com`, which round-trips — wrongly — under the bare
|
|
198
|
-
* re-encode check; review BLOCKER 1). Only a fully unambiguous decode — local
|
|
199
|
-
* and domain pure `[a-z0-9]`, dots in the domain only — is trusted.
|
|
200
|
-
*/
|
|
201
128
|
function emailFromTokenKey(key) {
|
|
129
|
+
// Trust only an unambiguous, losslessly round-tripping token-key slug for identity recovery; underscore ambiguity returns null.
|
|
202
130
|
const prefix = 'CLAUDE_CODE_OAUTH_TOKEN_';
|
|
203
131
|
if (!key.startsWith(prefix))
|
|
204
132
|
return null;
|
|
@@ -213,21 +141,8 @@ function emailFromTokenKey(key) {
|
|
|
213
141
|
return null;
|
|
214
142
|
return email;
|
|
215
143
|
}
|
|
216
|
-
/**
|
|
217
|
-
* Resolve a long-lived setup-token for an EXPLICIT account email, independent of
|
|
218
|
-
* any version home's `.claude.json`. This is what lets worker-slot provisioning
|
|
219
|
-
* seed a headless worker home that has never had an interactive login: the
|
|
220
|
-
* account's non-rotating setup-token is already fleet-synced in the file-based
|
|
221
|
-
* `auth` bundle, keyed by email ({@link claudeAccountTokenKey}), so we can write
|
|
222
|
-
* the home's `.oauth_token` from it without the circular
|
|
223
|
-
* "read the home's email to resolve the home's token" dependency that
|
|
224
|
-
* {@link resolveClaudeSetupToken} has. Same file-backed-only, fail-closed,
|
|
225
|
-
* fingerprint-stable read as the home-keyed path — it is the shared core.
|
|
226
|
-
*
|
|
227
|
-
* `cacheKey` scopes the process-local token cache; callers pass a version home
|
|
228
|
-
* so a home-keyed and email-keyed read of the same account share nothing stale.
|
|
229
|
-
*/
|
|
230
144
|
export function resolveClaudeSetupTokenForEmail(email, cacheKey) {
|
|
145
|
+
// Memoization includes both caller/home and account so tokens cannot cross identities.
|
|
231
146
|
try {
|
|
232
147
|
const trimmed = email.trim();
|
|
233
148
|
if (!trimmed)
|
|
@@ -237,10 +152,6 @@ export function resolveClaudeSetupTokenForEmail(email, cacheKey) {
|
|
|
237
152
|
const cached = setupTokenCache.get(ck);
|
|
238
153
|
if (cached && Date.now() - cached.readAt < SETUP_TOKEN_MEMO_TTL_MS)
|
|
239
154
|
return cached.token;
|
|
240
|
-
// SEC-GAP-3: a keychain/vault-backed `auth` used to return null here, so
|
|
241
|
-
// usage/probe fell through to the interactive login (Touch ID) with no
|
|
242
|
-
// hint that the seeded setup-token was being ignored. readReservedAuthBundle
|
|
243
|
-
// throws ReservedBundleWrongBackendError instead, which propagates.
|
|
244
155
|
const resolved = readReservedAuthBundle('usage');
|
|
245
156
|
const v = (resolved?.env[key] ?? '').trim();
|
|
246
157
|
const token = v.length > 0 && isValidClaudeSetupToken(v) ? v : null;
|
|
@@ -253,23 +164,6 @@ export function resolveClaudeSetupTokenForEmail(email, cacheKey) {
|
|
|
253
164
|
return null;
|
|
254
165
|
}
|
|
255
166
|
}
|
|
256
|
-
/**
|
|
257
|
-
* Seed a keychain-less Linux worker's Claude version-home identity so an account's
|
|
258
|
-
* fleet-synced setup-token resolves for it. A worker home never had an interactive
|
|
259
|
-
* browser login, so its `.claude.json` carries no `oauthAccount.emailAddress` and
|
|
260
|
-
* the account reads "signed out" even though its non-rotating setup-token is present
|
|
261
|
-
* in the `auth` bundle. This writes ONLY the descriptive identity (the email), merged
|
|
262
|
-
* into both `.claude.json` locations Claude Code reads, preserving every other field.
|
|
263
|
-
* It never copies a rotating OAuth credential (`.credentials.json`) — the setup-token
|
|
264
|
-
* stays the credential of record.
|
|
265
|
-
*/
|
|
266
|
-
/**
|
|
267
|
-
* Write a Claude worker slot's `.oauth_token` (0600) from a durable setup-token,
|
|
268
|
-
* the way the pre-slot worker home was provisioned. Refuses a malformed token so
|
|
269
|
-
* a corrupt bundle entry can never reach the auth header (see {@link SETUP_TOKEN_RE}).
|
|
270
|
-
* `home` is the slot dir; the claude adapter shim reads `$CLAUDE_CONFIG_DIR/.oauth_token`
|
|
271
|
-
* where `CLAUDE_CONFIG_DIR` is `<home>/.claude`. Returns the written path.
|
|
272
|
-
*/
|
|
273
167
|
export function writeClaudeWorkerOauthToken(home, token) {
|
|
274
168
|
if (!isValidClaudeSetupToken(token)) {
|
|
275
169
|
throw new Error('Refusing to write a malformed Claude setup-token to a worker slot.');
|
|
@@ -279,18 +173,6 @@ export function writeClaudeWorkerOauthToken(home, token) {
|
|
|
279
173
|
fs.writeFileSync(tokenPath, token, { mode: 0o600 });
|
|
280
174
|
return tokenPath;
|
|
281
175
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Read one non-rotating credential value from a reserved store by its storage
|
|
284
|
-
* key. Returns null when the bundle or key is absent. Used to materialize a
|
|
285
|
-
* worker slot from a synced durable credential (setup-token / API key).
|
|
286
|
-
*
|
|
287
|
-
* A reserved `__<harness>__` store is file-backed by design (headless, fleet-
|
|
288
|
-
* shareable) and its item is read directly, symmetric with how it is written —
|
|
289
|
-
* `readAndResolveBundleEnv`'s name validation does not yet accept a reserved
|
|
290
|
-
* name on the READ path (a secrets-track seam; see the PR body). A non-reserved
|
|
291
|
-
* bundle (the legacy `auth` alias, a provider bundle) goes through the normal
|
|
292
|
-
* resolver so refs/expiry/lease gates still apply.
|
|
293
|
-
*/
|
|
294
176
|
export function readReservedCredential(bundle, key) {
|
|
295
177
|
try {
|
|
296
178
|
if (isReservedStoreName(bundle) && bundle.startsWith('__')) {
|
|
@@ -315,39 +197,22 @@ export function readReservedCredential(bundle, key) {
|
|
|
315
197
|
return null;
|
|
316
198
|
}
|
|
317
199
|
}
|
|
318
|
-
/**
|
|
319
|
-
* Materialize a worker slot for a portable account from its synced durable
|
|
320
|
-
* credential (PHNX-3940 T6 — the generalization of the pre-slot Claude worker-home
|
|
321
|
-
* provisioning). Creates the HOME-shaped slot dir (T1 `ensureSlot`), then, for a
|
|
322
|
-
* durable harness, writes the credential into it the way the Claude worker home is
|
|
323
|
-
* provisioned today: for `claude`, the setup-token → `.oauth_token` (0600) + the
|
|
324
|
-
* seeded identity email (the read-side join in agent-spec then completes the uuids
|
|
325
|
-
* from the registry row). API-key harnesses need no file — the key is injected at
|
|
326
|
-
* spawn from the reserved store (T5) — so their slot is created and recorded
|
|
327
|
-
* `durable` with no write. A per-device harness (`worker: 'none'`) gets a
|
|
328
|
-
* `per-device` slot and no credential — it logs in per box.
|
|
329
|
-
*
|
|
330
|
-
* This is worker-side reconciliation: it runs on the box where the key landed and
|
|
331
|
-
* NEVER transports anything (the SSH push that delivered the key is the daemon's
|
|
332
|
-
* job — invariant 1). Fails loud when a durable claude account has no resolvable
|
|
333
|
-
* token on this device rather than recording a slot that cannot authenticate.
|
|
334
|
-
*/
|
|
335
200
|
export function provisionWorkerSlot(account) {
|
|
336
201
|
const harness = account.agent;
|
|
337
202
|
const durable = harnessWorkerKinds(harness).some((kind) => kind === 'setup-token' || kind.startsWith('api-key'));
|
|
338
203
|
const slot = ensureSlot(harness, account.id);
|
|
339
204
|
const checkedAt = new Date().toISOString();
|
|
340
205
|
if (!durable) {
|
|
206
|
+
// Per-device harnesses keep an explicit unconfigured slot until that worker performs its own login.
|
|
341
207
|
const record = { ...slot, authMode: 'per-device', verdict: 'unconfigured', checkedAt };
|
|
342
208
|
recordSlot(account.id, record);
|
|
343
209
|
return record;
|
|
344
210
|
}
|
|
345
211
|
if (harness === 'claude') {
|
|
346
212
|
const cred = account.workerCredential;
|
|
213
|
+
// Pre-T1 rows lack workerCredential, so retain the legacy email-keyed auth-bundle lookup.
|
|
347
214
|
const token = cred
|
|
348
215
|
? readReservedCredential(cred.bundle, cred.key)
|
|
349
|
-
// Claude row predating T1 (no workerCredential): the legacy `auth` bundle
|
|
350
|
-
// keys the token by the account email.
|
|
351
216
|
: account.identityLabel
|
|
352
217
|
? resolveClaudeSetupTokenForEmail(account.identityLabel, slot.slotDir)
|
|
353
218
|
: null;
|
|
@@ -360,17 +225,10 @@ export function provisionWorkerSlot(account) {
|
|
|
360
225
|
if (account.identityLabel)
|
|
361
226
|
seedClaudeWorkerHomeIdentity(slot.slotDir, account.identityLabel);
|
|
362
227
|
}
|
|
363
|
-
// API-key harnesses: the key rides the reserved store and is injected at spawn
|
|
364
|
-
// (T5); nothing is written into the slot here.
|
|
365
228
|
const record = { ...slot, authMode: 'durable', verdict: 'unverified', checkedAt };
|
|
366
229
|
recordSlot(account.id, record);
|
|
367
230
|
return record;
|
|
368
231
|
}
|
|
369
|
-
/**
|
|
370
|
-
* True when a claude worker slot carries everything provisioning seeds: the
|
|
371
|
-
* identity email AND the completed-onboarding flag. A slot provisioned before
|
|
372
|
-
* onboarding was seeded answers false, so the daemon's reconcile re-seeds it.
|
|
373
|
-
*/
|
|
374
232
|
export function isClaudeWorkerHomeSeeded(home) {
|
|
375
233
|
for (const p of [path.join(home, '.claude', '.claude.json'), path.join(home, '.claude.json')]) {
|
|
376
234
|
try {
|
|
@@ -387,24 +245,9 @@ export function isClaudeWorkerHomeSeeded(home) {
|
|
|
387
245
|
}
|
|
388
246
|
return true;
|
|
389
247
|
}
|
|
390
|
-
/**
|
|
391
|
-
* Seed a worker slot's `.claude.json` (both locations Claude Code reads) with
|
|
392
|
-
* the account identity AND `hasCompletedOnboarding`. A worker never has a human
|
|
393
|
-
* at it, so nothing else can complete Claude Code's first-run onboarding (theme
|
|
394
|
-
* picker, "Let's get started"); without the flag every slot launch re-onboarded.
|
|
395
|
-
* Everything else in the document is preserved.
|
|
396
|
-
*
|
|
397
|
-
* Without an email only the onboarding flag is seeded: a provider (setup-token)
|
|
398
|
-
* launch runs in the shared version home, whose identity belongs to whatever
|
|
399
|
-
* native login lives there, so it must not be rewritten. A document already
|
|
400
|
-
* carrying the requested state is left untouched, so a launch never rewrites a
|
|
401
|
-
* config Claude Code is using.
|
|
402
|
-
*/
|
|
403
248
|
export function seedClaudeWorkerHomeIdentity(versionHome, email) {
|
|
249
|
+
// Follow an existing config symlink; replacing it would split Claude's configuration.
|
|
404
250
|
const trimmed = email?.trim() || undefined;
|
|
405
|
-
// A version home usually links `.claude/.claude.json -> ../.claude.json`. The
|
|
406
|
-
// temp-write + rename below would replace that link with a regular file and
|
|
407
|
-
// split one config into two, so write through a link to the file it names.
|
|
408
251
|
const targets = new Set();
|
|
409
252
|
for (const p of [
|
|
410
253
|
path.join(versionHome, '.claude', '.claude.json'),
|
|
@@ -416,7 +259,6 @@ export function seedClaudeWorkerHomeIdentity(versionHome, email) {
|
|
|
416
259
|
target = path.resolve(path.dirname(p), fs.readlinkSync(p));
|
|
417
260
|
}
|
|
418
261
|
catch {
|
|
419
|
-
// Missing: written fresh below.
|
|
420
262
|
}
|
|
421
263
|
targets.add(target);
|
|
422
264
|
}
|
|
@@ -426,9 +268,6 @@ export function seedClaudeWorkerHomeIdentity(versionHome, email) {
|
|
|
426
268
|
doc = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
427
269
|
}
|
|
428
270
|
catch (err) {
|
|
429
|
-
// Missing file → write a fresh minimal document. A file that EXISTS but
|
|
430
|
-
// does not parse is being concurrently rewritten by Claude Code itself —
|
|
431
|
-
// skip it rather than overwrite a live config with the minimal doc.
|
|
432
271
|
if (err.code !== 'ENOENT')
|
|
433
272
|
continue;
|
|
434
273
|
}
|
|
@@ -441,7 +280,6 @@ export function seedClaudeWorkerHomeIdentity(versionHome, email) {
|
|
|
441
280
|
doc.oauthAccount = { ...existing, emailAddress: trimmed };
|
|
442
281
|
doc.hasCompletedOnboarding = true;
|
|
443
282
|
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
444
|
-
// Temp-write + rename: a reader mid-write never sees a truncated doc.
|
|
445
283
|
const tmp = `${p}.agents-${process.pid}.tmp`;
|
|
446
284
|
try {
|
|
447
285
|
fs.writeFileSync(tmp, JSON.stringify(doc));
|
|
@@ -451,7 +289,7 @@ export function seedClaudeWorkerHomeIdentity(versionHome, email) {
|
|
|
451
289
|
try {
|
|
452
290
|
fs.rmSync(tmp, { force: true });
|
|
453
291
|
}
|
|
454
|
-
catch {
|
|
292
|
+
catch { }
|
|
455
293
|
}
|
|
456
294
|
}
|
|
457
295
|
}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { type ClaudeHomeIdentity } from './agent-spec/agents.js';
|
|
2
2
|
import { type NativeAccount } from './account-registry.js';
|
|
3
3
|
export declare const CLAUDE_STATUSLINE_COMMAND = "agents __claude-statusline";
|
|
4
|
-
/**
|
|
5
|
-
* True when `command` re-invokes THIS status-line producer (our private
|
|
6
|
-
* `__claude-statusline` subcommand) under any binary name or path. Delegating to
|
|
7
|
-
* such a command is the fork bomb, so both the read side (renderDelegate) and the
|
|
8
|
-
* write side (installClaudeStatusLine) treat it as "not a real external
|
|
9
|
-
* producer" and never chain to it.
|
|
10
|
-
*/
|
|
11
4
|
export declare function isStatusLineSelfReference(command: string): boolean;
|
|
12
5
|
interface ClaudeStatusLinePayload {
|
|
13
6
|
cwd?: string;
|
|
@@ -31,47 +24,13 @@ interface ClaudeStatusLinePayload {
|
|
|
31
24
|
};
|
|
32
25
|
}
|
|
33
26
|
export declare function ingestClaudeStatusLineUsage(payload: ClaudeStatusLinePayload, identity: ClaudeHomeIdentity | null, versionHome?: string | null): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Where the running Claude keeps the config this render attributes to: the version
|
|
36
|
-
* home when the launch shim set CLAUDE_CONFIG_DIR, otherwise the real HOME — the
|
|
37
|
-
* same resolution Claude Code applies, so a Claude launched without the shim (IDE
|
|
38
|
-
* extension, direct binary) still shows the account it is actually signed into.
|
|
39
|
-
*/
|
|
40
27
|
export declare function claudeHomeFromEnv(env: NodeJS.ProcessEnv): string;
|
|
41
|
-
/**
|
|
42
|
-
* The identity of the running Claude, read ONCE per render from the `.claude.json`
|
|
43
|
-
* of the home it is actually running with: it keys the usage ingest above and
|
|
44
|
-
* names the account part below. Null when the home has never signed in. Sync and
|
|
45
|
-
* file-only on purpose — this runs on every status-line refresh.
|
|
46
|
-
*/
|
|
47
28
|
export declare function readClaudeIdentity(claudeHome: string): ClaudeHomeIdentity | null;
|
|
48
|
-
/**
|
|
49
|
-
* The registered native account for the running Claude's identity (`agents
|
|
50
|
-
* accounts` — `work`, `dev`, …), or null when that login is unnamed.
|
|
51
|
-
*/
|
|
52
29
|
export declare function resolveNativeAccount(identity: ClaudeHomeIdentity | null): NativeAccount | null;
|
|
53
|
-
/**
|
|
54
|
-
* Format the signed-in account as a statusline part ('' when never signed in).
|
|
55
|
-
* A named login renders its registered NAME — the short handle the owner chose
|
|
56
|
-
* (`work`, `dev`), which is what tells eight same-harness logins apart at a
|
|
57
|
-
* glance. An unnamed login renders the label every other account-aware surface
|
|
58
|
-
* (`agents view`, `agents accounts`) uses: the email, plus the org name for a
|
|
59
|
-
* multi-seat Team/Enterprise seat.
|
|
60
|
-
*/
|
|
61
30
|
export declare function formatAccountPart(identity: ClaudeHomeIdentity | null, account: NativeAccount | null): string;
|
|
62
31
|
export declare function renderDelegate(payload: string, versionHome: string): string;
|
|
63
|
-
/**
|
|
64
|
-
* Format a reminder as a dimmed statusline part (empty string when none). The
|
|
65
|
-
* ◆ marker distinguishes it from the host/model/usage parts, and the ANSI dim
|
|
66
|
-
* keeps it quiet next to the live figures.
|
|
67
|
-
*/
|
|
68
32
|
export declare function formatReminderPart(short: string | undefined): string;
|
|
69
33
|
export declare function renderClaudeStatusLine(payload: ClaudeStatusLinePayload, host?: string, delegated?: string, reminder?: string, account?: string): string;
|
|
70
|
-
/**
|
|
71
|
-
* Resolve the per-session reminder for the statusline, or '' when none is
|
|
72
|
-
* configured. A malformed reminders file is swallowed here on purpose — a broken
|
|
73
|
-
* prompt is worse than a missing reminder — while `agents reminders` surfaces it.
|
|
74
|
-
*/
|
|
75
34
|
export declare function resolveReminderPart(sessionId?: string): string;
|
|
76
35
|
export declare function runClaudeStatusLine(): Promise<number>;
|
|
77
36
|
export declare function installClaudeStatusLine(versionHome: string): {
|
|
@@ -12,31 +12,9 @@ import { machineId } from './machine-id.js';
|
|
|
12
12
|
import { recordRunAuthOutcome } from './auth-health.js';
|
|
13
13
|
export const CLAUDE_STATUSLINE_COMMAND = 'agents __claude-statusline';
|
|
14
14
|
const DELEGATE_FILE = path.join('.agents', 'claude-statusline-delegate');
|
|
15
|
-
// The private subcommand this feature runs. It is only ever invoked internally,
|
|
16
|
-
// so ANY command that contains it — under any binary name or path (`agents`,
|
|
17
|
-
// `agents-dev`, `ag`, an absolute path, a wrapper) — IS this status-line
|
|
18
|
-
// producer, and delegating to it recurses without bound. Match the subcommand,
|
|
19
|
-
// not the exact `agents __claude-statusline` string, or a delegate seeded with a
|
|
20
|
-
// differently-named binary (e.g. `agents-dev __claude-statusline`) fork-bombs the
|
|
21
|
-
// machine: each render spawns a copy that reads the same delegate and spawns
|
|
22
|
-
// another, forever.
|
|
23
15
|
const STATUSLINE_SUBCOMMAND = '__claude-statusline';
|
|
24
|
-
// Set on the child env before spawning a delegate. If it is already present we
|
|
25
|
-
// are ourselves running as someone's delegate, so we refuse to delegate again —
|
|
26
|
-
// a hard depth-1 backstop that bounds the blast radius even if a self-reference
|
|
27
|
-
// somehow slips past isStatusLineSelfReference(). One hop is the contract:
|
|
28
|
-
// installClaudeStatusLine only ever preserves a single prior command.
|
|
29
16
|
const DELEGATE_GUARD_ENV = 'AGENTS_CLAUDE_STATUSLINE_DELEGATED';
|
|
30
|
-
// A hung or slow delegate must never pin a status-line render open — the render
|
|
31
|
-
// is re-invoked on every refresh, so an unbounded delegate accumulates processes.
|
|
32
17
|
const DELEGATE_TIMEOUT_MS = 5_000;
|
|
33
|
-
/**
|
|
34
|
-
* True when `command` re-invokes THIS status-line producer (our private
|
|
35
|
-
* `__claude-statusline` subcommand) under any binary name or path. Delegating to
|
|
36
|
-
* such a command is the fork bomb, so both the read side (renderDelegate) and the
|
|
37
|
-
* write side (installClaudeStatusLine) treat it as "not a real external
|
|
38
|
-
* producer" and never chain to it.
|
|
39
|
-
*/
|
|
40
18
|
export function isStatusLineSelfReference(command) {
|
|
41
19
|
const trimmed = command.trim();
|
|
42
20
|
if (!trimmed)
|
|
@@ -81,55 +59,26 @@ export function ingestClaudeStatusLineUsage(payload, identity, versionHome) {
|
|
|
81
59
|
windows,
|
|
82
60
|
freshness: { source: 'statusline', poller: machineId() },
|
|
83
61
|
});
|
|
84
|
-
// A status-line payload with rate_limits IS a real inference response — the
|
|
85
|
-
// token authenticated moments ago. Record that as the per-account auth FACT
|
|
86
|
-
// (`last used ok`), keyed to the account this box actually ran (PHNX-4116).
|
|
87
62
|
recordRunAuthOutcome({
|
|
88
63
|
agent: 'claude',
|
|
89
64
|
accountId: resolveNativeAccount(identity)?.id ?? null,
|
|
90
65
|
home: versionHome ?? null,
|
|
91
66
|
outcome: { ok: true },
|
|
92
67
|
});
|
|
93
|
-
// Keep this box's own state file current so the next placement probe or
|
|
94
|
-
// usage-sync fan-out carries this reading; the file is local, no transport.
|
|
95
68
|
void import('./accounting/usage-sync.js')
|
|
96
69
|
.then((mod) => mod.publishUsageSnapshotToSharedStore())
|
|
97
70
|
.catch(() => { });
|
|
98
71
|
return true;
|
|
99
72
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Where the running Claude keeps the config this render attributes to: the version
|
|
102
|
-
* home when the launch shim set CLAUDE_CONFIG_DIR, otherwise the real HOME — the
|
|
103
|
-
* same resolution Claude Code applies, so a Claude launched without the shim (IDE
|
|
104
|
-
* extension, direct binary) still shows the account it is actually signed into.
|
|
105
|
-
*/
|
|
106
73
|
export function claudeHomeFromEnv(env) {
|
|
107
74
|
return versionHomeFromEnv(env) ?? os.homedir();
|
|
108
75
|
}
|
|
109
|
-
/**
|
|
110
|
-
* The identity of the running Claude, read ONCE per render from the `.claude.json`
|
|
111
|
-
* of the home it is actually running with: it keys the usage ingest above and
|
|
112
|
-
* names the account part below. Null when the home has never signed in. Sync and
|
|
113
|
-
* file-only on purpose — this runs on every status-line refresh.
|
|
114
|
-
*/
|
|
115
76
|
export function readClaudeIdentity(claudeHome) {
|
|
116
77
|
return readClaudeHomeConfig(claudeHome)?.identity ?? null;
|
|
117
78
|
}
|
|
118
|
-
/**
|
|
119
|
-
* The registered native account for the running Claude's identity (`agents
|
|
120
|
-
* accounts` — `work`, `dev`, …), or null when that login is unnamed.
|
|
121
|
-
*/
|
|
122
79
|
export function resolveNativeAccount(identity) {
|
|
123
80
|
return identity ? findNativeAccountByIdentity(readMeta(), 'claude', identity) : null;
|
|
124
81
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Format the signed-in account as a statusline part ('' when never signed in).
|
|
127
|
-
* A named login renders its registered NAME — the short handle the owner chose
|
|
128
|
-
* (`work`, `dev`), which is what tells eight same-harness logins apart at a
|
|
129
|
-
* glance. An unnamed login renders the label every other account-aware surface
|
|
130
|
-
* (`agents view`, `agents accounts`) uses: the email, plus the org name for a
|
|
131
|
-
* multi-seat Team/Enterprise seat.
|
|
132
|
-
*/
|
|
133
82
|
export function formatAccountPart(identity, account) {
|
|
134
83
|
if (!identity)
|
|
135
84
|
return '';
|
|
@@ -141,7 +90,6 @@ function delegatePath(versionHome) {
|
|
|
141
90
|
return path.join(versionHome, DELEGATE_FILE);
|
|
142
91
|
}
|
|
143
92
|
export function renderDelegate(payload, versionHome) {
|
|
144
|
-
// Already running as a delegate hop — never spawn another. Hard recursion stop.
|
|
145
93
|
if (process.env[DELEGATE_GUARD_ENV])
|
|
146
94
|
return '';
|
|
147
95
|
let command = '';
|
|
@@ -162,19 +110,12 @@ export function renderDelegate(payload, versionHome) {
|
|
|
162
110
|
});
|
|
163
111
|
return result.status === 0 ? result.stdout.trim() : '';
|
|
164
112
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Format a reminder as a dimmed statusline part (empty string when none). The
|
|
167
|
-
* ◆ marker distinguishes it from the host/model/usage parts, and the ANSI dim
|
|
168
|
-
* keeps it quiet next to the live figures.
|
|
169
|
-
*/
|
|
170
113
|
export function formatReminderPart(short) {
|
|
171
114
|
const text = short?.trim();
|
|
172
115
|
return text ? `\x1b[2m◆ ${text}\x1b[22m` : '';
|
|
173
116
|
}
|
|
174
117
|
export function renderClaudeStatusLine(payload, host = os.hostname().split('.')[0] || os.hostname(), delegated = '', reminder = '', account = '') {
|
|
175
118
|
const model = payload.model?.display_name?.trim() || payload.model?.id?.trim() || 'model pending';
|
|
176
|
-
// host · account · model: who is running, as which account, on which model —
|
|
177
|
-
// the account sits before the model so a glance answers "whose quota is this".
|
|
178
119
|
const parts = [host];
|
|
179
120
|
if (account)
|
|
180
121
|
parts.push(account);
|
|
@@ -191,11 +132,6 @@ export function renderClaudeStatusLine(payload, host = os.hostname().split('.')[
|
|
|
191
132
|
parts.push(reminder);
|
|
192
133
|
return parts.join(' · ');
|
|
193
134
|
}
|
|
194
|
-
/**
|
|
195
|
-
* Resolve the per-session reminder for the statusline, or '' when none is
|
|
196
|
-
* configured. A malformed reminders file is swallowed here on purpose — a broken
|
|
197
|
-
* prompt is worse than a missing reminder — while `agents reminders` surfaces it.
|
|
198
|
-
*/
|
|
199
135
|
export function resolveReminderPart(sessionId) {
|
|
200
136
|
try {
|
|
201
137
|
return formatReminderPart(pickReminderForSession(loadReminders(), sessionId)?.short);
|
|
@@ -244,14 +180,10 @@ export function installClaudeStatusLine(versionHome) {
|
|
|
244
180
|
if (existing === CLAUDE_STATUSLINE_COMMAND)
|
|
245
181
|
return { changed: false };
|
|
246
182
|
if (existing && !isStatusLineSelfReference(existing)) {
|
|
247
|
-
// A genuine third-party status-line command → preserve it as a delegate.
|
|
248
183
|
fs.mkdirSync(path.dirname(delegatePath(versionHome)), { recursive: true });
|
|
249
184
|
atomicWriteFileSync(delegatePath(versionHome), `${existing}\n`);
|
|
250
185
|
}
|
|
251
186
|
else {
|
|
252
|
-
// Empty, or our own subcommand under a different binary name
|
|
253
|
-
// (`agents-dev __claude-statusline`, an absolute path, …). Saving that as a
|
|
254
|
-
// delegate is the fork bomb — never persist it. Drop any prior delegate.
|
|
255
187
|
fs.rmSync(delegatePath(versionHome), { force: true });
|
|
256
188
|
}
|
|
257
189
|
settings.statusLine = {
|
package/dist/lib/cli-entry.d.ts
CHANGED
|
@@ -1,33 +1,7 @@
|
|
|
1
1
|
export declare const BUN_VIRTUAL_ROOT: RegExp;
|
|
2
2
|
export declare function getAgentsBinPath(argv1?: string | undefined, execPath?: string): string;
|
|
3
|
-
/**
|
|
4
|
-
* Directory that contains the `agents` launcher usable for PATH resolution.
|
|
5
|
-
*
|
|
6
|
-
* When the running entry IS the launcher (a compiled binary or an extension-less
|
|
7
|
-
* shim named `agents`), this is just `dirname(getAgentsBinPath())`. When the
|
|
8
|
-
* running entry is a script inside `dist/` reached via a symlink/shim elsewhere
|
|
9
|
-
* (the npm global-install shape), we look for a launcher whose realpath points at
|
|
10
|
-
* the same entry and return that launcher's directory. Falls back to the entry's
|
|
11
|
-
* own directory when no launcher is found.
|
|
12
|
-
*/
|
|
13
3
|
export declare function getAgentsBinDir(): string;
|
|
14
|
-
/**
|
|
15
|
-
* A CLI entry must be launched through the Node runtime when it is a Node
|
|
16
|
-
* script — a `.js`/`.cjs`/`.mjs` file, OR a symlink/extension-less shim whose
|
|
17
|
-
* shebang names `node`. Package installs link `bin/agents` to a `dist/index.js`
|
|
18
|
-
* (a symlink) or drop an extension-less `#!/usr/bin/env node` shim, so an
|
|
19
|
-
* extension check alone misses them and they get run directly. A real compiled
|
|
20
|
-
* binary (Mach-O/ELF/PE) has no `#!node` shebang, so it takes the direct branch
|
|
21
|
-
* and owns its own runtime resolution.
|
|
22
|
-
*/
|
|
23
4
|
export declare function isNodeScriptEntry(agentsBin: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Build the `{ command, args }` to re-invoke this CLI with `sub` as its argv,
|
|
26
|
-
* resolving the JS-vs-standalone shape above. This is the single primitive behind
|
|
27
|
-
* both the daemon launch and the secrets-broker spawn — never hand-roll
|
|
28
|
-
* `[process.execPath, process.argv[1], …]`, which appends the bun virtual entry
|
|
29
|
-
* as a bogus subcommand on standalone builds.
|
|
30
|
-
*/
|
|
31
5
|
export declare function getCliLaunch(sub: string[], agentsBin?: string): {
|
|
32
6
|
command: string;
|
|
33
7
|
args: string[];
|
package/dist/lib/cli-entry.js
CHANGED
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve how to re-invoke THIS `agents` CLI as a child process, correctly across
|
|
3
|
-
* both install shapes:
|
|
4
|
-
*
|
|
5
|
-
* 1. **JS install** — `agents` is a `dist/index.js` (or a symlink / `#!node`
|
|
6
|
-
* shim to it). `process.execPath` is `node`, `process.argv[1]` is the script.
|
|
7
|
-
* Relaunch as `node <entry> <sub…>`.
|
|
8
|
-
* 2. **Bun standalone binary** (#315) — `agents` is a compiled Mach-O/ELF/PE.
|
|
9
|
-
* `process.execPath` is the physical signed binary, and `process.argv[1]` is
|
|
10
|
-
* the *virtual* embedded entry `/$bunfs/root/agents`, which Bun reports as an
|
|
11
|
-
* existing path. Passing that virtual path as an argv element makes the CLI
|
|
12
|
-
* receive it as a subcommand and die with `unknown command '/$bunfs/root/agents'`.
|
|
13
|
-
* Relaunch by executing the physical binary directly: `<binary> <sub…>`.
|
|
14
|
-
*
|
|
15
|
-
* Both `getDaemonLaunch` (daemon.ts) and the secrets-broker `cliSpawn`
|
|
16
|
-
* (secrets/agent.ts) route through here so the two never drift. This module is a
|
|
17
|
-
* leaf — it imports nothing from `lib/` — so it can be pulled into either without
|
|
18
|
-
* an import cycle (daemon.ts ↔ secrets/agent.ts already form one).
|
|
19
|
-
*/
|
|
20
1
|
import { execFileSync } from 'child_process';
|
|
21
2
|
import * as fs from 'fs';
|
|
22
3
|
import * as os from 'os';
|
|
@@ -31,18 +12,8 @@ function resolveBunStandaloneEntry(entry, execPath) {
|
|
|
31
12
|
return execPath;
|
|
32
13
|
}
|
|
33
14
|
export function getAgentsBinPath(argv1 = process.argv[1], execPath = process.execPath) {
|
|
34
|
-
// Prefer the binary actively executing this code. `which agents` returns
|
|
35
|
-
// whatever happens to be first on PATH, which means a side-by-side dev
|
|
36
|
-
// build at ~/.local/bin would silently spawn the registry-installed
|
|
37
|
-
// daemon and run stale code. For a JS install, process.argv[1] is the
|
|
38
|
-
// absolute entrypoint the user actually invoked. A Bun standalone instead
|
|
39
|
-
// exposes its embedded /$bunfs/root entry at argv[1] and its physical signed
|
|
40
|
-
// executable at process.execPath; Bun reports both as existing paths.
|
|
41
15
|
const runningEntry = argv1 ? resolveBunStandaloneEntry(argv1, execPath) : undefined;
|
|
42
16
|
if (runningEntry && fs.existsSync(runningEntry)) {
|
|
43
|
-
// The package's browser/computer entrypoints are sibling shims without a
|
|
44
|
-
// `daemon` command. A daemon started as their IPC side effect must launch
|
|
45
|
-
// through the main agents entrypoint instead of replaying the shim path.
|
|
46
17
|
const entryName = path.basename(runningEntry);
|
|
47
18
|
const compiledShim = /^(browser|computer)\.(c|m)?js$/.test(entryName);
|
|
48
19
|
const installedShim = /^(browser|computer)$/.test(entryName);
|
|
@@ -62,16 +33,6 @@ export function getAgentsBinPath(argv1 = process.argv[1], execPath = process.exe
|
|
|
62
33
|
return 'agents';
|
|
63
34
|
}
|
|
64
35
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Directory that contains the `agents` launcher usable for PATH resolution.
|
|
67
|
-
*
|
|
68
|
-
* When the running entry IS the launcher (a compiled binary or an extension-less
|
|
69
|
-
* shim named `agents`), this is just `dirname(getAgentsBinPath())`. When the
|
|
70
|
-
* running entry is a script inside `dist/` reached via a symlink/shim elsewhere
|
|
71
|
-
* (the npm global-install shape), we look for a launcher whose realpath points at
|
|
72
|
-
* the same entry and return that launcher's directory. Falls back to the entry's
|
|
73
|
-
* own directory when no launcher is found.
|
|
74
|
-
*/
|
|
75
36
|
export function getAgentsBinDir() {
|
|
76
37
|
const bin = getAgentsBinPath();
|
|
77
38
|
const base = path.basename(bin);
|
|
@@ -102,28 +63,17 @@ export function getAgentsBinDir() {
|
|
|
102
63
|
if (fs.realpathSync(launcher) === realBin)
|
|
103
64
|
return dir;
|
|
104
65
|
}
|
|
105
|
-
catch {
|
|
66
|
+
catch { }
|
|
106
67
|
}
|
|
107
68
|
}
|
|
108
69
|
return path.dirname(bin);
|
|
109
70
|
}
|
|
110
|
-
/**
|
|
111
|
-
* A CLI entry must be launched through the Node runtime when it is a Node
|
|
112
|
-
* script — a `.js`/`.cjs`/`.mjs` file, OR a symlink/extension-less shim whose
|
|
113
|
-
* shebang names `node`. Package installs link `bin/agents` to a `dist/index.js`
|
|
114
|
-
* (a symlink) or drop an extension-less `#!/usr/bin/env node` shim, so an
|
|
115
|
-
* extension check alone misses them and they get run directly. A real compiled
|
|
116
|
-
* binary (Mach-O/ELF/PE) has no `#!node` shebang, so it takes the direct branch
|
|
117
|
-
* and owns its own runtime resolution.
|
|
118
|
-
*/
|
|
119
71
|
export function isNodeScriptEntry(agentsBin) {
|
|
120
72
|
let resolved = agentsBin;
|
|
121
73
|
try {
|
|
122
74
|
resolved = fs.realpathSync(agentsBin);
|
|
123
75
|
}
|
|
124
76
|
catch {
|
|
125
|
-
// Unresolvable (e.g. a template path that does not exist on this box): fall
|
|
126
|
-
// back to the extension check on the path as given.
|
|
127
77
|
}
|
|
128
78
|
if (/\.(c|m)?js$/.test(resolved))
|
|
129
79
|
return true;
|
|
@@ -143,17 +93,7 @@ export function isNodeScriptEntry(agentsBin) {
|
|
|
143
93
|
return false;
|
|
144
94
|
}
|
|
145
95
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Build the `{ command, args }` to re-invoke this CLI with `sub` as its argv,
|
|
148
|
-
* resolving the JS-vs-standalone shape above. This is the single primitive behind
|
|
149
|
-
* both the daemon launch and the secrets-broker spawn — never hand-roll
|
|
150
|
-
* `[process.execPath, process.argv[1], …]`, which appends the bun virtual entry
|
|
151
|
-
* as a bogus subcommand on standalone builds.
|
|
152
|
-
*/
|
|
153
96
|
export function getCliLaunch(sub, agentsBin = getAgentsBinPath()) {
|
|
154
|
-
// Resolve a bun virtual entry to the physical executable even when a caller
|
|
155
|
-
// passes agentsBin explicitly (getAgentsBinPath already does this for the
|
|
156
|
-
// default), so a `/$bunfs/root/agents` never becomes the command or an argv.
|
|
157
97
|
const bin = resolveBunStandaloneEntry(agentsBin, process.execPath);
|
|
158
98
|
if (isNodeScriptEntry(bin)) {
|
|
159
99
|
return { command: process.execPath, args: [bin, ...sub] };
|