@phnx-labs/agents-cli 1.22.120 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -3,69 +3,31 @@ import { type NativeAccount } from '../account-registry.js';
|
|
|
3
3
|
import { LOGIN_INVOCATIONS, type LoginInvocation } from '../harness-auth-capabilities.js';
|
|
4
4
|
export type { LoginInvocation };
|
|
5
5
|
export { LOGIN_INVOCATIONS };
|
|
6
|
-
/** The env var an api-key worker credential injects as, from HARNESS_AUTH. */
|
|
7
6
|
export declare function workerApiKeyEnv(agent: AgentId): string | null;
|
|
8
|
-
/** Whether `accounts add` can drive this harness (nameable, version-scoped, a real login command). */
|
|
9
7
|
export declare function addSupported(agent: AgentId): boolean;
|
|
10
|
-
/** One-line description of how a harness's workers get their credential. */
|
|
11
8
|
export declare function workerProvisioningHint(agent: AgentId): string;
|
|
12
|
-
/**
|
|
13
|
-
* Named reason `accounts add` refuses a harness, or null when supported.
|
|
14
|
-
* Distinguishes "cannot isolate/name this login" (capability) from "no finite
|
|
15
|
-
* native login command" so the message is honest about which limit was hit.
|
|
16
|
-
*/
|
|
17
9
|
export declare function addRefusal(agent: AgentId): string | null;
|
|
18
10
|
export declare function supportedAddHarnesses(): AgentId[];
|
|
19
11
|
export declare function assertAddSupported(agent: AgentId): void;
|
|
20
|
-
/**
|
|
21
|
-
* Named reason add/login refuses on a non-headed device, or null when this box
|
|
22
|
-
* may run an interactive login. Workers never mint a native OAuth login
|
|
23
|
-
* (credential-management.md invariant 7 + Provisioning model).
|
|
24
|
-
*/
|
|
25
12
|
export declare function addWorkerRefusal(agent: AgentId, name?: string): string | null;
|
|
26
|
-
/**
|
|
27
|
-
* Refuse to mint a Claude setup-token while an ambient CLAUDE_CODE_OAUTH_TOKEN
|
|
28
|
-
* is set in this shell — the ambient token is ONE account, so minting under it
|
|
29
|
-
* would collapse every slot to that account (signin-badge.ts `ambientClaudeToken`).
|
|
30
|
-
*/
|
|
31
13
|
export declare function ambientTokenRefusal(agent: AgentId, env?: NodeJS.ProcessEnv): string | null;
|
|
32
14
|
export declare function loginInvocation(agent: AgentId): LoginInvocation;
|
|
33
|
-
/** The observed identity of a completed login. */
|
|
34
15
|
export interface ObservedIdentity {
|
|
35
16
|
identityKey: string | null;
|
|
36
17
|
email: string | null;
|
|
37
18
|
releaseVersion: string | null;
|
|
38
|
-
/** Live credential presence — proof of sign-in, not just a metadata identity claim. */
|
|
39
19
|
signedIn: boolean;
|
|
40
20
|
}
|
|
41
|
-
/**
|
|
42
|
-
* Fail-closed identity check after the login completes (pure).
|
|
43
|
-
*
|
|
44
|
-
* - Not signed in (no live credential) → the login did not complete; a metadata
|
|
45
|
-
* identity key alone is NOT proof, so `signedIn` is required.
|
|
46
|
-
* - A re-auth (`existing`) whose completed identity differs from the account's
|
|
47
|
-
* → REFUSE: the account keeps pointing at its original identity.
|
|
48
|
-
* A new add accepts whatever identity signed in (that is the account being
|
|
49
|
-
* created); the caller registers it.
|
|
50
|
-
*/
|
|
51
21
|
export declare function verifyConnectedIdentity(ctx: {
|
|
52
22
|
agent: AgentId;
|
|
53
23
|
home: string;
|
|
54
24
|
existing?: NativeAccount | null;
|
|
55
25
|
}, observed: Pick<ObservedIdentity, 'identityKey' | 'signedIn'>): void;
|
|
56
|
-
/** Resolve the existing native account a name refers to for a harness. */
|
|
57
26
|
export declare function findAddAccount(agent: AgentId, name: string | undefined, meta: Pick<Meta, 'accounts' | 'deviceAccounts'>): NativeAccount | null;
|
|
58
|
-
/**
|
|
59
|
-
* Side-effecting operations add/login need, injected so the planning and
|
|
60
|
-
* verification path is unit-testable with real meta on a real filesystem
|
|
61
|
-
* without a network install, a browser, or a TTY.
|
|
62
|
-
*/
|
|
63
27
|
export interface AddRunners {
|
|
64
|
-
/** Ensure the harness's ONE managed installation exists; resolves with its label. */
|
|
65
28
|
ensureInstallation(agent: AgentId, onProgress?: (m: string) => void): Promise<{
|
|
66
29
|
label: string;
|
|
67
30
|
}>;
|
|
68
|
-
/** Launch the harness's native login with HOME = `home` (+ slotEnv); resolves on exit. */
|
|
69
31
|
launchLogin(agent: AgentId, ctx: {
|
|
70
32
|
home: string;
|
|
71
33
|
args: string[];
|
|
@@ -75,27 +37,19 @@ export interface AddRunners {
|
|
|
75
37
|
code: number | null;
|
|
76
38
|
}>;
|
|
77
39
|
observeIdentity(agent: AgentId, home: string): Promise<ObservedIdentity>;
|
|
78
|
-
/** Claude: drive `claude setup-token` in the slot and return the captured token. */
|
|
79
40
|
mintSetupToken?(agent: AgentId, ctx: {
|
|
80
41
|
home: string;
|
|
81
42
|
}): Promise<string>;
|
|
82
|
-
/** Interactive api-key collection; null = user cancelled. Absent = non-interactive. */
|
|
83
43
|
promptApiKey?(agent: AgentId, env: string): Promise<string | null>;
|
|
84
|
-
/** Ask the daemon for one auth-sync reconcile (the daemon owns the tick). */
|
|
85
44
|
requestReconcile?(): void | Promise<void>;
|
|
86
45
|
}
|
|
87
46
|
export interface AddOptions {
|
|
88
47
|
meta: Pick<Meta, 'accounts' | 'deviceAccounts'>;
|
|
89
48
|
onProgress?: (m: string) => void;
|
|
90
|
-
/** Test-only: override the runtime-state dir for the auth-operation mutex. */
|
|
91
49
|
stateDir?: string;
|
|
92
|
-
/** Worker credential for api-key harnesses; otherwise prompted interactively. */
|
|
93
50
|
apiKey?: string;
|
|
94
|
-
/** Skip the worker-credential step (doctor-style warning is printed). */
|
|
95
51
|
noWorkerToken?: boolean;
|
|
96
|
-
/** codex: a ChatGPT-plan account — no API key; workers log in per box. */
|
|
97
52
|
perDevice?: boolean;
|
|
98
|
-
/** Overridable env for the ambient-token guard (tests). */
|
|
99
53
|
env?: NodeJS.ProcessEnv;
|
|
100
54
|
}
|
|
101
55
|
export type WorkerCredentialOutcome = 'minted' | 'stored' | 'kept' | 'per-device' | 'skipped';
|
|
@@ -108,7 +62,6 @@ export interface AddResult {
|
|
|
108
62
|
email: string | null;
|
|
109
63
|
slotDir: string;
|
|
110
64
|
releaseVersion: string | null;
|
|
111
|
-
/** True when this add became the harness's default (only set if none was configured). */
|
|
112
65
|
becameDefault: boolean;
|
|
113
66
|
provisioning: 'portable' | 'per-device';
|
|
114
67
|
workerCredential: WorkerCredentialOutcome;
|
|
@@ -118,18 +71,5 @@ export interface AddResult {
|
|
|
118
71
|
};
|
|
119
72
|
warnings: string[];
|
|
120
73
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Drive one `agents accounts add <harness> [name]`: headed gate → one managed
|
|
123
|
-
* installation → fresh slot → native login in the slot → register the row →
|
|
124
|
-
* mint/collect the worker credential → request a daemon reconcile.
|
|
125
|
-
*/
|
|
126
74
|
export declare function runAdd(agent: AgentId, name: string | undefined, opts: AddOptions, runners?: AddRunners): Promise<AddResult>;
|
|
127
|
-
/**
|
|
128
|
-
* Drive one `agents accounts login <harness>#<name>`: re-auth into the SAME
|
|
129
|
-
* slot (re-running add's steps 4–8), re-minting the worker credential and
|
|
130
|
-
* re-syncing. On a per-device harness (worker `none`) any box may run it —
|
|
131
|
-
* that IS how such a box logs in. `--per-device` extends that to a dual-path
|
|
132
|
-
* harness (codex, grok): this box signs the account's subscription seat in for
|
|
133
|
-
* itself through the device-code flow instead of using a portable key.
|
|
134
|
-
*/
|
|
135
75
|
export declare function runLogin(agent: AgentId, name: string, opts: AddOptions, runners?: AddRunners): Promise<AddResult>;
|
package/dist/lib/accounts/add.js
CHANGED
|
@@ -13,34 +13,6 @@ import { ambientClaudeToken, loginHint } from '../signin-badge.js';
|
|
|
13
13
|
import { acquireAuthOperationLock } from './auth-operation-lock.js';
|
|
14
14
|
import { ensureSlot, readSlots, recordSlot, slotDir } from './slots.js';
|
|
15
15
|
export { LOGIN_INVOCATIONS };
|
|
16
|
-
/**
|
|
17
|
-
* `agents accounts add <harness> [name]` / `agents accounts login <harness>#<name>`
|
|
18
|
-
* — the account onboarding front door (PHNX-3940, track T4).
|
|
19
|
-
*
|
|
20
|
-
* An account is a credential SLOT, not an installation: the harness has ONE
|
|
21
|
-
* managed installation (`ensureHarnessInstallation`, label `main`); every
|
|
22
|
-
* account gets a HOME-shaped slot under `~/.agents/.history/accounts/<harness>/<id>/`
|
|
23
|
-
* with no binary in it. The native login runs with HOME = slot (plus the
|
|
24
|
-
* harness's `slotEnv` pin), so the OAuth credential is minted directly into the
|
|
25
|
-
* slot and never copied.
|
|
26
|
-
*
|
|
27
|
-
* Headed devices only for harnesses with a portable worker credential
|
|
28
|
-
* (credential-management.md invariant 7): a worker is refused before any slot,
|
|
29
|
-
* install, or browser login. Per-device harnesses (worker `none`, e.g. kimi)
|
|
30
|
-
* may `accounts login` on any box — they are logged in per box by design.
|
|
31
|
-
*
|
|
32
|
-
* The worker credential is minted/collected per account id into the reserved
|
|
33
|
-
* `__<harness>__` store (claude: `setup-token` drive; api-key harnesses:
|
|
34
|
-
* `--api-key` or an interactive prompt — never derived from OAuth). The account
|
|
35
|
-
* row carries only the `{bundle, key}` pointer, never the secret.
|
|
36
|
-
*/
|
|
37
|
-
/**
|
|
38
|
-
* Ambient provider-credential env vars stripped before a native login spawn, so
|
|
39
|
-
* the OAuth flow authenticates as the human's identity rather than being
|
|
40
|
-
* short-circuited by an injected API key / setup-token that would impersonate a
|
|
41
|
-
* different account into the fresh slot. The target harness's own
|
|
42
|
-
* `api-key:<ENV>` worker env (from HARNESS_AUTH) is stripped on top of this.
|
|
43
|
-
*/
|
|
44
16
|
const PROVIDER_AUTH_ENV_KEYS = [
|
|
45
17
|
'ANTHROPIC_API_KEY',
|
|
46
18
|
'CLAUDE_CODE_OAUTH_TOKEN',
|
|
@@ -51,7 +23,6 @@ const PROVIDER_AUTH_ENV_KEYS = [
|
|
|
51
23
|
'CURSOR_API_KEY',
|
|
52
24
|
'FACTORY_API_KEY',
|
|
53
25
|
];
|
|
54
|
-
/** The env var an api-key worker credential injects as, from HARNESS_AUTH. */
|
|
55
26
|
export function workerApiKeyEnv(agent) {
|
|
56
27
|
for (const kind of harnessWorkerKinds(agent)) {
|
|
57
28
|
if (!kind.startsWith('api-key:'))
|
|
@@ -59,8 +30,6 @@ export function workerApiKeyEnv(agent) {
|
|
|
59
30
|
const env = kind.slice('api-key:'.length);
|
|
60
31
|
if (env !== 'provider')
|
|
61
32
|
return env;
|
|
62
|
-
// opencode keys are provider-specific; the provider registry's own adapter
|
|
63
|
-
// names the harness's default env (opencode → OPENCODE_API_KEY).
|
|
64
33
|
try {
|
|
65
34
|
return getAccountProvider(agent).envFor(agent, 'api-key');
|
|
66
35
|
}
|
|
@@ -79,12 +48,10 @@ function hasPerDeviceWorkerKind(agent) {
|
|
|
79
48
|
function perDeviceRefusal(agent) {
|
|
80
49
|
return `--per-device is only valid for a harness with a per-device worker path; ${agent} is provisioned from ${workerProvisioningHint(agent)}.`;
|
|
81
50
|
}
|
|
82
|
-
/** Whether `accounts add` can drive this harness (nameable, version-scoped, a real login command). */
|
|
83
51
|
export function addSupported(agent) {
|
|
84
52
|
const cap = nativeAccountCapability(agent);
|
|
85
53
|
return cap.scope === 'version' && harnessAuth(agent).login !== null;
|
|
86
54
|
}
|
|
87
|
-
/** One-line description of how a harness's workers get their credential. */
|
|
88
55
|
export function workerProvisioningHint(agent) {
|
|
89
56
|
const parts = [];
|
|
90
57
|
for (const kind of harnessWorkerKinds(agent)) {
|
|
@@ -102,11 +69,6 @@ export function workerProvisioningHint(agent) {
|
|
|
102
69
|
return `${agent} has no portable credential — it logs in per box (run \`agents run ${agent} --device <box>\` on the worker and complete its native login)`;
|
|
103
70
|
return parts.join(', or ');
|
|
104
71
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Named reason `accounts add` refuses a harness, or null when supported.
|
|
107
|
-
* Distinguishes "cannot isolate/name this login" (capability) from "no finite
|
|
108
|
-
* native login command" so the message is honest about which limit was hit.
|
|
109
|
-
*/
|
|
110
72
|
export function addRefusal(agent) {
|
|
111
73
|
const capabilityRefusal = nativeAccountNamingRefusal(agent);
|
|
112
74
|
if (capabilityRefusal)
|
|
@@ -129,11 +91,6 @@ export function assertAddSupported(agent) {
|
|
|
129
91
|
if (reason)
|
|
130
92
|
throw new Error(reason);
|
|
131
93
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Named reason add/login refuses on a non-headed device, or null when this box
|
|
134
|
-
* may run an interactive login. Workers never mint a native OAuth login
|
|
135
|
-
* (credential-management.md invariant 7 + Provisioning model).
|
|
136
|
-
*/
|
|
137
94
|
export function addWorkerRefusal(agent, name) {
|
|
138
95
|
const role = selfConfiguredDeviceRole();
|
|
139
96
|
if (isHeadedDeviceRole(role))
|
|
@@ -153,11 +110,6 @@ function assertAddAllowedOnThisDevice(agent, name) {
|
|
|
153
110
|
if (reason)
|
|
154
111
|
throw new Error(reason);
|
|
155
112
|
}
|
|
156
|
-
/**
|
|
157
|
-
* Refuse to mint a Claude setup-token while an ambient CLAUDE_CODE_OAUTH_TOKEN
|
|
158
|
-
* is set in this shell — the ambient token is ONE account, so minting under it
|
|
159
|
-
* would collapse every slot to that account (signin-badge.ts `ambientClaudeToken`).
|
|
160
|
-
*/
|
|
161
113
|
export function ambientTokenRefusal(agent, env = process.env) {
|
|
162
114
|
if (!ambientClaudeToken(agent, env))
|
|
163
115
|
return null;
|
|
@@ -173,16 +125,6 @@ export function loginInvocation(agent) {
|
|
|
173
125
|
throw new Error(`No native login command is wired for ${agent}.`);
|
|
174
126
|
return { args: login };
|
|
175
127
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Fail-closed identity check after the login completes (pure).
|
|
178
|
-
*
|
|
179
|
-
* - Not signed in (no live credential) → the login did not complete; a metadata
|
|
180
|
-
* identity key alone is NOT proof, so `signedIn` is required.
|
|
181
|
-
* - A re-auth (`existing`) whose completed identity differs from the account's
|
|
182
|
-
* → REFUSE: the account keeps pointing at its original identity.
|
|
183
|
-
* A new add accepts whatever identity signed in (that is the account being
|
|
184
|
-
* created); the caller registers it.
|
|
185
|
-
*/
|
|
186
128
|
export function verifyConnectedIdentity(ctx, observed) {
|
|
187
129
|
if (!observed.signedIn || !observed.identityKey) {
|
|
188
130
|
throw new Error(`No ${ctx.agent} login completed in the slot (no live credential). Nothing was registered.`);
|
|
@@ -193,14 +135,12 @@ export function verifyConnectedIdentity(ctx, observed) {
|
|
|
193
135
|
+ `Account '${ctx.existing.name}' still points at its original identity; nothing was changed. `);
|
|
194
136
|
}
|
|
195
137
|
}
|
|
196
|
-
/** Resolve the existing native account a name refers to for a harness. */
|
|
197
138
|
export function findAddAccount(agent, name, meta) {
|
|
198
139
|
if (!name)
|
|
199
140
|
return null;
|
|
200
141
|
const needle = name.toLowerCase();
|
|
201
142
|
return listNativeAccounts(meta).find(a => a.agent === agent && (a.id === name || a.name.toLowerCase() === needle || a.identityLabel?.toLowerCase() === needle)) ?? null;
|
|
202
143
|
}
|
|
203
|
-
/** Write account-model-v2 fields onto the just-registered row (central or device-scoped store). */
|
|
204
144
|
function patchNativeAccountRow(accountId, patch) {
|
|
205
145
|
updateMeta((current) => {
|
|
206
146
|
if (current.accounts?.native?.[accountId]) {
|
|
@@ -214,7 +154,6 @@ function patchNativeAccountRow(accountId, patch) {
|
|
|
214
154
|
throw new Error(`Account row '${accountId}' vanished before v2 fields could be recorded.`);
|
|
215
155
|
});
|
|
216
156
|
}
|
|
217
|
-
/** Derive the account name for an unnamed add from the login's email local-part. */
|
|
218
157
|
function deriveAccountName(email) {
|
|
219
158
|
if (!email)
|
|
220
159
|
return null;
|
|
@@ -224,12 +163,6 @@ function deriveAccountName(email) {
|
|
|
224
163
|
function removeSlotDir(dir) {
|
|
225
164
|
fs.rmSync(dir, { recursive: true, force: true });
|
|
226
165
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Mint or collect the worker credential for a freshly-registered account and
|
|
229
|
-
* record the `{bundle, key}` pointer on its row. Claude drives `setup-token` in
|
|
230
|
-
* the slot; api-key harnesses take `--api-key` or an interactive prompt (never
|
|
231
|
-
* derived from OAuth). Returns the outcome + provisioning for the result.
|
|
232
|
-
*/
|
|
233
166
|
async function mintWorkerCredential(agent, account, home, opts, runners, warnings) {
|
|
234
167
|
const kinds = harnessWorkerKinds(agent);
|
|
235
168
|
if (opts.noWorkerToken) {
|
|
@@ -244,8 +177,6 @@ async function mintWorkerCredential(agent, account, home, opts, runners, warning
|
|
|
244
177
|
}
|
|
245
178
|
const { seedReservedStoreKey, seedReservedAuthToken, workerCredentialStoreKey, } = await import('../auth-mint.js');
|
|
246
179
|
if (kinds.includes('setup-token')) {
|
|
247
|
-
// Claude: a second browser grant, driven in the slot so the token is minted
|
|
248
|
-
// under the account's own identity.
|
|
249
180
|
const refusal = ambientTokenRefusal(agent, opts.env ?? process.env);
|
|
250
181
|
if (refusal)
|
|
251
182
|
throw new Error(refusal);
|
|
@@ -254,8 +185,6 @@ async function mintWorkerCredential(agent, account, home, opts, runners, warning
|
|
|
254
185
|
const token = await runners.mintSetupToken(agent, { home });
|
|
255
186
|
const key = workerCredentialStoreKey(agent, account.id);
|
|
256
187
|
const ref = seedReservedStoreKey(agent, 'setup-token', key, token);
|
|
257
|
-
// Legacy `auth` bundle key for this release, so the pre-v2 usage/probe and
|
|
258
|
-
// worker-inject readers keep resolving the account.
|
|
259
188
|
if (account.identityLabel)
|
|
260
189
|
seedReservedAuthToken(account.identityLabel, token);
|
|
261
190
|
return { outcome: 'minted', ref, provisioning: 'portable' };
|
|
@@ -281,25 +210,15 @@ async function mintWorkerCredential(agent, account, home, opts, runners, warning
|
|
|
281
210
|
const ref = seedReservedStoreKey(agent, 'api-key', key, value);
|
|
282
211
|
return { outcome: 'stored', ref, provisioning: 'portable' };
|
|
283
212
|
}
|
|
284
|
-
// worker: none (kimi/antigravity shape) — nothing portable exists.
|
|
285
213
|
return { outcome: 'per-device', provisioning: 'per-device' };
|
|
286
214
|
}
|
|
287
|
-
/**
|
|
288
|
-
* Drive one `agents accounts add <harness> [name]`: headed gate → one managed
|
|
289
|
-
* installation → fresh slot → native login in the slot → register the row →
|
|
290
|
-
* mint/collect the worker credential → request a daemon reconcile.
|
|
291
|
-
*/
|
|
292
215
|
export async function runAdd(agent, name, opts, runners) {
|
|
293
216
|
assertAddSupported(agent);
|
|
294
|
-
// Owner rule (invariant 7): a worker NEVER runs an interactive login. Refuse
|
|
295
|
-
// before the lock, slot, install, or browser — no side effects on a worker.
|
|
296
217
|
assertAddAllowedOnThisDevice(agent, name);
|
|
297
218
|
const kinds = harnessWorkerKinds(agent);
|
|
298
219
|
if (opts.perDevice && !hasPerDeviceWorkerKind(agent)) {
|
|
299
220
|
throw new Error(perDeviceRefusal(agent));
|
|
300
221
|
}
|
|
301
|
-
// The ambient-token refusal is checked up front (not at the mint step) so the
|
|
302
|
-
// user doesn't complete a browser login only to be refused at the end.
|
|
303
222
|
if (!opts.noWorkerToken && !opts.perDevice && kinds.includes('setup-token')) {
|
|
304
223
|
const refusal = ambientTokenRefusal(agent, opts.env ?? process.env);
|
|
305
224
|
if (refusal)
|
|
@@ -317,25 +236,16 @@ async function _runAddLocked(agent, name, opts, lock, runners) {
|
|
|
317
236
|
const run = runners ?? await defaultAddRunners();
|
|
318
237
|
const registry = await import('../account-registry.js');
|
|
319
238
|
lock.assertHeld();
|
|
320
|
-
// Re-read meta AFTER acquiring the lock so a concurrent add committed before
|
|
321
|
-
// we were serialized past it is visible (`opts.meta` is a pre-lock snapshot).
|
|
322
239
|
const meta = readMeta();
|
|
323
|
-
// Idempotency: a name that already resolves to an account of this harness is
|
|
324
|
-
// a re-auth, not an add.
|
|
325
240
|
const existing = findAddAccount(agent, name, meta);
|
|
326
241
|
if (existing) {
|
|
327
242
|
throw new Error(`${agent}#${existing.name} is already added. Re-auth with: agents accounts login ${agent}#${existing.name}`);
|
|
328
243
|
}
|
|
329
|
-
// Validate the requested NAME before any install, slot, or login — a bad or
|
|
330
|
-
// colliding name never mints an orphan slot and drives a login that can't be
|
|
331
|
-
// recorded.
|
|
332
244
|
if (name)
|
|
333
245
|
registry.assertNativeAccountNameAvailable(name, agent);
|
|
334
246
|
opts.onProgress?.(`Ensuring the ${agent} installation…`);
|
|
335
247
|
await run.ensureInstallation(agent, opts.onProgress);
|
|
336
248
|
lock.assertHeld();
|
|
337
|
-
// The slot is keyed by the account id, which only exists after registration —
|
|
338
|
-
// mint a pending id, then rename the dir onto the real id once the row lands.
|
|
339
249
|
const pendingId = crypto.randomUUID();
|
|
340
250
|
const slot = ensureSlot(agent, pendingId);
|
|
341
251
|
const fail = (err) => {
|
|
@@ -359,8 +269,6 @@ async function _runAddLocked(agent, name, opts, lock, runners) {
|
|
|
359
269
|
fail(err);
|
|
360
270
|
}
|
|
361
271
|
const identityKey = observed.identityKey;
|
|
362
|
-
// The completed login may be an identity already registered under another
|
|
363
|
-
// name — adding it again would split one identity across two slots.
|
|
364
272
|
const duplicate = listNativeAccounts(readMeta()).find(a => a.agent === agent && a.identityKey === identityKey);
|
|
365
273
|
if (duplicate) {
|
|
366
274
|
fail(new Error(`This ${agent} login is already added as '${duplicate.name}'. Re-auth with: agents accounts login ${agent}#${duplicate.name}`));
|
|
@@ -383,7 +291,6 @@ async function _runAddLocked(agent, name, opts, lock, runners) {
|
|
|
383
291
|
checkedAt: new Date().toISOString(),
|
|
384
292
|
};
|
|
385
293
|
recordSlot(account.id, record);
|
|
386
|
-
// Select this account as the harness default ONLY if none is configured.
|
|
387
294
|
const becameDefault = registry.setDefaultAccountIfAbsent(agent, account.name);
|
|
388
295
|
const warnings = [];
|
|
389
296
|
const minted = await mintWorkerCredential(agent, account, finalDir, opts, run, warnings);
|
|
@@ -411,19 +318,7 @@ async function _runAddLocked(agent, name, opts, lock, runners) {
|
|
|
411
318
|
warnings,
|
|
412
319
|
};
|
|
413
320
|
}
|
|
414
|
-
/**
|
|
415
|
-
* Drive one `agents accounts login <harness>#<name>`: re-auth into the SAME
|
|
416
|
-
* slot (re-running add's steps 4–8), re-minting the worker credential and
|
|
417
|
-
* re-syncing. On a per-device harness (worker `none`) any box may run it —
|
|
418
|
-
* that IS how such a box logs in. `--per-device` extends that to a dual-path
|
|
419
|
-
* harness (codex, grok): this box signs the account's subscription seat in for
|
|
420
|
-
* itself through the device-code flow instead of using a portable key.
|
|
421
|
-
*/
|
|
422
321
|
export async function runLogin(agent, name, opts, runners) {
|
|
423
|
-
// A harness with a portable worker credential authenticates workers from that
|
|
424
|
-
// credential, so the interactive re-login stays headed-only. A per-device
|
|
425
|
-
// harness (kimi), or a per-device login of a dual-path harness, is logged in
|
|
426
|
-
// per box BY DESIGN — any role may run it.
|
|
427
322
|
if (opts.perDevice && !hasPerDeviceWorkerKind(agent))
|
|
428
323
|
throw new Error(perDeviceRefusal(agent));
|
|
429
324
|
if (hasPortableWorkerKind(agent) && !opts.perDevice)
|
|
@@ -455,8 +350,6 @@ async function _runLoginLocked(agent, name, opts, lock, runners) {
|
|
|
455
350
|
}
|
|
456
351
|
await run.ensureInstallation(agent, opts.onProgress);
|
|
457
352
|
lock.assertHeld();
|
|
458
|
-
// The SAME slot: the recorded one, adopted (legacy account with none yet) or
|
|
459
|
-
// re-materialized if the dir is gone from disk.
|
|
460
353
|
const recorded = readSlots(meta)[account.id];
|
|
461
354
|
const home = recorded?.slotDir ?? slotDir(agent, account.id);
|
|
462
355
|
if (!recorded || !fs.existsSync(home)) {
|
|
@@ -466,8 +359,6 @@ async function _runLoginLocked(agent, name, opts, lock, runners) {
|
|
|
466
359
|
authMode: perDevice ? 'per-device' : 'native',
|
|
467
360
|
});
|
|
468
361
|
}
|
|
469
|
-
// Pre-launch guard: refuse to launch a login into a slot signed in as a
|
|
470
|
-
// DIFFERENT identity — that would overwrite some other login's home.
|
|
471
362
|
const current = fs.existsSync(home) ? await run.observeIdentity(agent, home) : null;
|
|
472
363
|
lock.assertHeld();
|
|
473
364
|
if (current?.signedIn && current.identityKey && current.identityKey !== account.identityKey) {
|
|
@@ -477,8 +368,6 @@ async function _runLoginLocked(agent, name, opts, lock, runners) {
|
|
|
477
368
|
const cap = harnessAuth(agent);
|
|
478
369
|
const args = cap.login ?? [];
|
|
479
370
|
if (args.length === 0) {
|
|
480
|
-
// No finite login command (kimi): launch the bare harness in the slot; the
|
|
481
|
-
// human completes the in-TUI login (`kimi`, then /login).
|
|
482
371
|
opts.onProgress?.(`Launching ${loginHint(agent)} — complete the login there.`);
|
|
483
372
|
}
|
|
484
373
|
const login = await run.launchLogin(agent, { home, args, email: account.identityLabel, signal: lock.signal });
|
|
@@ -495,16 +384,12 @@ async function _runLoginLocked(agent, name, opts, lock, runners) {
|
|
|
495
384
|
let provisioning = perDevice ? 'per-device' : (account.provisioning ?? 'portable');
|
|
496
385
|
if (!perDevice) {
|
|
497
386
|
if (opts.apiKey && workerApiKeyEnv(agent)) {
|
|
498
|
-
// Explicit rotation of the stored API key.
|
|
499
387
|
const minted = await mintWorkerCredential(agent, account, home, opts, run, warnings);
|
|
500
388
|
outcome = minted.outcome;
|
|
501
389
|
ref = minted.ref;
|
|
502
390
|
provisioning = minted.provisioning;
|
|
503
391
|
}
|
|
504
392
|
else if (!account.workerCredential || harnessWorkerKinds(agent).includes('setup-token')) {
|
|
505
|
-
// Claude re-mints (the setup-token drive can always mint fresh from the
|
|
506
|
-
// live login); an api-key harness with a stored key keeps it unless
|
|
507
|
-
// --api-key rotates it.
|
|
508
393
|
const minted = await mintWorkerCredential(agent, account, home, opts, run, warnings);
|
|
509
394
|
outcome = minted.outcome;
|
|
510
395
|
ref = minted.ref;
|
|
@@ -552,7 +437,6 @@ async function _runLoginLocked(agent, name, opts, lock, runners) {
|
|
|
552
437
|
warnings,
|
|
553
438
|
};
|
|
554
439
|
}
|
|
555
|
-
/** Real runners: the install engine, an inherited-stdio login spawn, identity read, and the mint drive. */
|
|
556
440
|
async function defaultAddRunners() {
|
|
557
441
|
const [store, agentsMod, execMod] = await Promise.all([
|
|
558
442
|
import('../installations/store.js'),
|
|
@@ -563,19 +447,13 @@ async function defaultAddRunners() {
|
|
|
563
447
|
const { agentConfigDirName, getAccountInfo } = agentsMod;
|
|
564
448
|
const { buildExecEnv } = execMod;
|
|
565
449
|
const { runNativeAccountCommand } = await import('../installations/native-command.js');
|
|
566
|
-
// A slot is HOME-shaped; the harness's config dir lives directly inside it.
|
|
567
450
|
const slotConfigDir = (agent, home) => path.join(home, agentConfigDirName(agent));
|
|
568
451
|
const loginEnv = (agent, installLabel, home) => {
|
|
569
452
|
const env = buildExecEnv({ agent, version: installLabel, configVersion: installLabel, interactive: true, mode: 'auto', effort: 'auto', cwd: process.cwd() });
|
|
570
|
-
// HOME = slot; the harness's slotEnv (CLAUDE_CONFIG_DIR / CODEX_HOME / …)
|
|
571
|
-
// pins its config dir inside the slot so the login lands there.
|
|
572
453
|
env.HOME = home;
|
|
573
454
|
const pin = harnessAuth(agent).slotEnv;
|
|
574
455
|
if (pin)
|
|
575
456
|
env[pin] = slotConfigDir(agent, home);
|
|
576
|
-
// Strip any ambient provider API-key / setup-token env so the native login
|
|
577
|
-
// authenticates as the human's OAuth identity, not an injected credential
|
|
578
|
-
// that would impersonate a different account into this slot.
|
|
579
457
|
for (const key of PROVIDER_AUTH_ENV_KEYS)
|
|
580
458
|
delete env[key];
|
|
581
459
|
const workerEnv = workerApiKeyEnv(agent);
|
|
@@ -601,7 +479,6 @@ async function defaultAddRunners() {
|
|
|
601
479
|
identityKey: nativeIdentityKey(info, nativeAccountCapability(agent)),
|
|
602
480
|
email: info.email,
|
|
603
481
|
releaseVersion: readInstallation(agent, (await ensureHarnessInstallation(agent, {})).installation.label)?.releaseVersion ?? null,
|
|
604
|
-
// Strict: a live credential in THIS slot, not a bare metadata identity.
|
|
605
482
|
signedIn: isLaunchableSignedIn(agent, home, info),
|
|
606
483
|
};
|
|
607
484
|
},
|
|
@@ -635,9 +512,6 @@ async function defaultAddRunners() {
|
|
|
635
512
|
}
|
|
636
513
|
},
|
|
637
514
|
requestReconcile: async () => {
|
|
638
|
-
// The daemon owns the tick; this queues a one-shot auth-sync restart so
|
|
639
|
-
// the reconcile runs now instead of at the next 15-minute cadence. A
|
|
640
|
-
// stopped daemon is fine — its next boot reconciles.
|
|
641
515
|
try {
|
|
642
516
|
const [{ isDaemonRunning, signalDaemonReload }, { queueDaemonServiceRestart }] = await Promise.all([
|
|
643
517
|
import('../daemon/daemon.js'),
|
|
@@ -649,7 +523,6 @@ async function defaultAddRunners() {
|
|
|
649
523
|
signalDaemonReload();
|
|
650
524
|
}
|
|
651
525
|
catch {
|
|
652
|
-
// Best-effort request: the reconcile also happens on the regular cadence.
|
|
653
526
|
}
|
|
654
527
|
},
|
|
655
528
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/** Cross-process exclusion for native connect/logout, including browser waits. */
|
|
2
1
|
import * as path from 'node:path';
|
|
3
2
|
import lockfile from 'proper-lockfile';
|
|
4
3
|
import { ensureLockTarget } from '../fs-atomic.js';
|
|
@@ -9,7 +8,6 @@ export function authLockFilePath(agent, stateDir) {
|
|
|
9
8
|
throw new Error('Unknown authentication harness.');
|
|
10
9
|
return path.join(stateDir ?? getRuntimeStateDir(), `auth-op-lock-${agent}.json`);
|
|
11
10
|
}
|
|
12
|
-
/** Uses the same lock primitive as configuration writes; no fail-open fallback. */
|
|
13
11
|
export function acquireAuthOperationLock(agent, stateDir) {
|
|
14
12
|
const target = authLockFilePath(agent, stateDir);
|
|
15
13
|
ensureLockTarget(target, '{}', 0o700);
|
|
@@ -20,8 +18,6 @@ export function acquireAuthOperationLock(agent, stateDir) {
|
|
|
20
18
|
unlock = lockfile.lockSync(target, {
|
|
21
19
|
stale: 10 * 60_000,
|
|
22
20
|
update: 1_000,
|
|
23
|
-
// The primitive refreshes the lock while a browser flow awaits input.
|
|
24
|
-
// Acquisition is immediate: never silently queue native logins.
|
|
25
21
|
onCompromised: (error) => {
|
|
26
22
|
compromised = new Error(`Authentication lock was lost: ${error.message}`);
|
|
27
23
|
controller.abort(compromised);
|
|
@@ -29,7 +29,6 @@ interface MigrationAction {
|
|
|
29
29
|
identityKey?: string | null;
|
|
30
30
|
email?: string | null;
|
|
31
31
|
sessionCount: number;
|
|
32
|
-
/** Planned filesystem remap for sessions.db (from prefix → to prefix). */
|
|
33
32
|
pathMoves: Array<{
|
|
34
33
|
from: string;
|
|
35
34
|
to: string;
|
|
@@ -67,9 +66,7 @@ interface AccountMigrationManifest {
|
|
|
67
66
|
schema: number;
|
|
68
67
|
at: string;
|
|
69
68
|
dryRun: boolean;
|
|
70
|
-
/** `planned` until every irreversible step finishes; `complete` is last. */
|
|
71
69
|
status: AccountMigrationManifestStatus;
|
|
72
|
-
/** Full plan, written before the first move so a crash still names the intent. */
|
|
73
70
|
plan: AccountMigrationPlan;
|
|
74
71
|
harnesses: Record<string, {
|
|
75
72
|
canonical: string | null;
|
|
@@ -89,7 +86,6 @@ interface AccountMigrationManifest {
|
|
|
89
86
|
reason: string;
|
|
90
87
|
}>;
|
|
91
88
|
}>;
|
|
92
|
-
/** old `agent@label` → new slot dir (or trash path). */
|
|
93
89
|
map: Record<string, string>;
|
|
94
90
|
}
|
|
95
91
|
interface AccountMigrateDeps {
|
|
@@ -108,10 +104,5 @@ interface ApplyMigrationResult {
|
|
|
108
104
|
sessionsReindexed: number;
|
|
109
105
|
}
|
|
110
106
|
export declare function applyAccountMigration(agents?: AgentId[], deps?: AccountMigrateDeps): Promise<ApplyMigrationResult>;
|
|
111
|
-
/**
|
|
112
|
-
* Upgrade hook: print a dry-run report when leftover per-account installations
|
|
113
|
-
* exist. Never applies. `--apply` stays an explicit `agents accounts migrate`
|
|
114
|
-
* flag this release.
|
|
115
|
-
*/
|
|
116
107
|
export declare function reportAccountSlotMigrationOnUpgrade(): Promise<void>;
|
|
117
108
|
export {};
|
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fold N per-account installations into 1 harness install + N credential slots
|
|
3
|
-
* (PHNX-3940 T7).
|
|
4
|
-
*
|
|
5
|
-
* Homes are moved, never copied. Empty logged-out homes and duplicate identities
|
|
6
|
-
* go to `agents trash` (restore reverses). Session transcript paths are re-indexed
|
|
7
|
-
* in the same transaction as the moves. A running/leased home is deferred, never
|
|
8
|
-
* moved. `--apply` is explicit; dry-run (and the upgrade hook) touch nothing.
|
|
9
|
-
*
|
|
10
|
-
* Native OAuth files stay inside the moved home on this device. Nothing here
|
|
11
|
-
* reads or writes a reserved store, a setup-token, or a worker bundle.
|
|
12
|
-
*/
|
|
13
1
|
import * as fs from 'node:fs';
|
|
14
2
|
import * as path from 'node:path';
|
|
15
3
|
import { ALL_AGENT_IDS, credentialPresence, getAccountInfo } from '../agents.js';
|
|
@@ -163,13 +151,6 @@ async function duplicateTrashLabels(items) {
|
|
|
163
151
|
function plannedTrashPath(agent, label) {
|
|
164
152
|
return path.join(getHistoryDir(), 'trash', 'versions', agent, label, '<stamp>');
|
|
165
153
|
}
|
|
166
|
-
/**
|
|
167
|
-
* Where a canonical install's stale `home/` goes when its account already holds
|
|
168
|
-
* a slot: the binary and the (recreated, empty) home stay under `versions/`, so
|
|
169
|
-
* the old home cannot use the versions trash — `agents trash restore` would put a
|
|
170
|
-
* whole install back over a live one. Restoring is a plain move back; the
|
|
171
|
-
* migration manifest records the path under `<agent>@<label>#home`.
|
|
172
|
-
*/
|
|
173
154
|
function homeTrashDir(agent, label) {
|
|
174
155
|
return path.join(getHistoryDir(), 'trash', 'homes', agent, label);
|
|
175
156
|
}
|
|
@@ -297,14 +278,6 @@ async function planHarness(agent, deps) {
|
|
|
297
278
|
continue;
|
|
298
279
|
}
|
|
299
280
|
if (item.hasCredential && item.accountId && provisionedSlotExists(agent, item.accountId)) {
|
|
300
|
-
// The account already owns a populated slot on this device, so this
|
|
301
|
-
// per-version home is a stale copy of a credential the slot now carries.
|
|
302
|
-
// Routing it to `slot` would only trip `assertSlotAbsent` and abort the
|
|
303
|
-
// whole apply with nothing done — the state every auth-synced worker was
|
|
304
|
-
// in. Trash it instead (`agents trash restore` reverses). The canonical
|
|
305
|
-
// install keeps its binary and ends up with an empty home, exactly as it
|
|
306
|
-
// does when its home is the one that moves into the slot: two on-disk
|
|
307
|
-
// copies of one credential is not an end state the migration leaves.
|
|
308
281
|
if (canonical && item.label === canonical.label) {
|
|
309
282
|
actions.push({
|
|
310
283
|
kind: 'canonical',
|
|
@@ -375,8 +348,6 @@ async function planHarness(agent, deps) {
|
|
|
375
348
|
}
|
|
376
349
|
const counts = {
|
|
377
350
|
installations: inventory.length,
|
|
378
|
-
// A busy canonical is still the kept install — we did not move it, we
|
|
379
|
-
// deferred the fold. Counting it as 0 install is a lie.
|
|
380
351
|
keep: actions.filter((a) => a.kind === 'canonical'
|
|
381
352
|
|| ((a.kind === 'slot' || a.kind === 'defer') && a.label === canonical?.label)).length,
|
|
382
353
|
slots: actions.filter((a) => a.kind === 'slot').length,
|
|
@@ -387,6 +358,8 @@ async function planHarness(agent, deps) {
|
|
|
387
358
|
return { agent, canonical: canonical?.label ?? null, defaultBefore, inventory, actions, counts };
|
|
388
359
|
}
|
|
389
360
|
export async function planAccountMigration(agents = [...ALL_AGENT_IDS], deps = {}) {
|
|
361
|
+
// Move rather than copy credential-bearing homes, defer running/leased homes,
|
|
362
|
+
// and keep planning/upgrade probes free of migration side effects.
|
|
390
363
|
const harnesses = [];
|
|
391
364
|
for (const agent of agents) {
|
|
392
365
|
const plan = await planHarness(agent, deps);
|
|
@@ -453,8 +426,6 @@ function rewriteBindings(agent, labelToAccount, stillPresent) {
|
|
|
453
426
|
if (!row) {
|
|
454
427
|
throw new Error(`Cannot rewrite binding '${target}': account '${accountId}' is missing.`);
|
|
455
428
|
}
|
|
456
|
-
// Keep the per-target key (`agent@label` → account id). Collapsing every
|
|
457
|
-
// label onto one bare-agent binding would drop every account after the first.
|
|
458
429
|
bindAccount(row.id, target, agent);
|
|
459
430
|
}
|
|
460
431
|
}
|
|
@@ -503,6 +474,7 @@ function harnessManifest(manifest, agent, canonical) {
|
|
|
503
474
|
return created;
|
|
504
475
|
}
|
|
505
476
|
export async function applyAccountMigration(agents = [...ALL_AGENT_IDS], deps = {}) {
|
|
477
|
+
// Apply only an explicit plan; transcript-bearing homes must retain one owner.
|
|
506
478
|
const plan = await planAccountMigration(agents, deps);
|
|
507
479
|
const now = deps.now ?? (() => new Date());
|
|
508
480
|
const at = now();
|
|
@@ -572,9 +544,6 @@ export async function applyAccountMigration(agents = [...ALL_AGENT_IDS], deps =
|
|
|
572
544
|
labelToAccount.set(item.label, kept);
|
|
573
545
|
}
|
|
574
546
|
for (const action of h.actions.filter((a) => a.kind === 'canonical' && a.accountId)) {
|
|
575
|
-
// Canonical install whose account already holds a slot: hand the stale
|
|
576
|
-
// home off to the homes trash and leave an empty home behind, mirroring
|
|
577
|
-
// the slot branch's end state for a canonical home.
|
|
578
547
|
const item = byLabel.get(action.label);
|
|
579
548
|
if (!item)
|
|
580
549
|
throw new Error(`Plan named ${h.agent}@${action.label} but inventory has no such install.`);
|
|
@@ -597,9 +566,6 @@ export async function applyAccountMigration(agents = [...ALL_AGENT_IDS], deps =
|
|
|
597
566
|
remaps.push({ from: item.dir, to: trashPath });
|
|
598
567
|
stillPresent.delete(item.label);
|
|
599
568
|
if (action.accountId) {
|
|
600
|
-
// A home trashed because its account already holds a slot: anything
|
|
601
|
-
// bound to this version label follows the account, and the stale
|
|
602
|
-
// home record clears so spawn resolves through the slot alone.
|
|
603
569
|
labelToAccount.set(item.label, action.accountId);
|
|
604
570
|
movedAccountIds.push(action.accountId);
|
|
605
571
|
}
|
|
@@ -618,11 +584,6 @@ export async function applyAccountMigration(agents = [...ALL_AGENT_IDS], deps =
|
|
|
618
584
|
persistManifest(manifestPath, manifest);
|
|
619
585
|
return { plan, manifest, manifestPath, sessionsReindexed };
|
|
620
586
|
}
|
|
621
|
-
/**
|
|
622
|
-
* Upgrade hook: print a dry-run report when leftover per-account installations
|
|
623
|
-
* exist. Never applies. `--apply` stays an explicit `agents accounts migrate`
|
|
624
|
-
* flag this release.
|
|
625
|
-
*/
|
|
626
587
|
export async function reportAccountSlotMigrationOnUpgrade() {
|
|
627
588
|
const plan = await planAccountMigration();
|
|
628
589
|
const work = plan.totals.slots + plan.totals.trash + plan.totals.deferred;
|