@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,40 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionsBackend — the token-source seam for `agents sessions export --to-r2` /
|
|
3
|
-
* `import --from-r2`.
|
|
4
|
-
*
|
|
5
|
-
* Two legitimate principals, picked once at backup time through the ONE shared
|
|
6
|
-
* managed-vs-BYO policy (`selectStorageBackendKind`):
|
|
7
|
-
*
|
|
8
|
-
* - **managed**: the caller is signed in to Phoenix (`readSession()`), no
|
|
9
|
-
* explicit BYO override. Token is the Phoenix access_token; endpoint is the
|
|
10
|
-
* managed `sessions.agents-cli.sh` Worker; the namespace is the verified
|
|
11
|
-
* userId. ZERO Cloudflare setup — the user never provisions an r2.backups
|
|
12
|
-
* bucket. This is the whole point of the surface (the sessions analogue of
|
|
13
|
-
* managed `agents traces sync`).
|
|
14
|
-
* - **byo**: the existing `r2.backups` secrets bundle (`loadR2Config()`).
|
|
15
|
-
* Unchanged for power users / self-hosters / a zero-knowledge backup that
|
|
16
|
-
* Phoenix can never read.
|
|
17
|
-
*
|
|
18
|
-
* MANAGED-FIRST — the mere PRESENCE of an r2.backups bundle is NOT a BYO
|
|
19
|
-
* override. A signed-in user with a stale r2.backups bundle still backs up to
|
|
20
|
-
* managed unless they opt out explicitly: `--byo`, `AGENTS_SESSIONS_BACKEND=byo`,
|
|
21
|
-
* or a DI write token. This mirrors the artifact-share backend contract (a
|
|
22
|
-
* persisted BYO config is deliberately not an override) so the product's
|
|
23
|
-
* managed-first contract is identical across surfaces.
|
|
24
|
-
*/
|
|
25
1
|
import { readSession } from '../../identity/client.js';
|
|
26
2
|
import { selectStorageBackendKind } from '../../storage/selection.js';
|
|
27
3
|
import { loadR2Config } from './config.js';
|
|
28
4
|
import { managedSessionsBaseUrl } from './managed-config.js';
|
|
29
|
-
/** Env var that forces the BYO path. Value must be exactly `byo`. */
|
|
30
5
|
export const SESSIONS_BACKEND_ENV = 'AGENTS_SESSIONS_BACKEND';
|
|
31
|
-
/**
|
|
32
|
-
* The sessions surface's BYO-override signals: an explicit `--byo`, a
|
|
33
|
-
* caller-supplied static write token, or `AGENTS_SESSIONS_BACKEND=byo`. Detecting
|
|
34
|
-
* WHICH signals count is surface-specific; the managed-vs-BYO decision itself is
|
|
35
|
-
* the shared policy. A persisted r2.backups bundle is deliberately NOT an
|
|
36
|
-
* override — a signed-in user still backs up to managed unless they opt out.
|
|
37
|
-
*/
|
|
38
6
|
function sessionsByoOverride(opts) {
|
|
39
7
|
if (opts.byo === true)
|
|
40
8
|
return true;
|
|
@@ -42,20 +10,11 @@ function sessionsByoOverride(opts) {
|
|
|
42
10
|
return true;
|
|
43
11
|
return (process.env[SESSIONS_BACKEND_ENV] ?? '').trim().toLowerCase() === 'byo';
|
|
44
12
|
}
|
|
45
|
-
/** True when the shared policy resolves to the managed principal for sessions. */
|
|
46
13
|
export function shouldUseManagedSessions(opts = {}) {
|
|
47
14
|
return (selectStorageBackendKind({ byoOverride: sessionsByoOverride(opts), session: opts.session }) ===
|
|
48
15
|
'managed');
|
|
49
16
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Resolve the backend for a session backup / restore. Managed when signed in and
|
|
52
|
-
* no explicit BYO override; otherwise BYO. Fails loud when neither principal can
|
|
53
|
-
* authenticate — the actionable message ("run auth login" or "add r2.backups")
|
|
54
|
-
* lives here, not in the shared policy.
|
|
55
|
-
*/
|
|
56
17
|
export function resolveSessionsBackend(opts = {}) {
|
|
57
|
-
// Resolve identity ONCE. Reading it for selection and then again for the
|
|
58
|
-
// backend creates a race where logout can flip the principal mid-preflight.
|
|
59
18
|
const session = opts.session === undefined ? readSession() : opts.session;
|
|
60
19
|
const explicitByo = sessionsByoOverride(opts);
|
|
61
20
|
if (selectStorageBackendKind({ byoOverride: explicitByo, session }) === 'managed') {
|
|
@@ -71,14 +30,10 @@ export function resolveSessionsBackend(opts = {}) {
|
|
|
71
30
|
}
|
|
72
31
|
return { kind: 'managed', baseUrl: managedSessionsBaseUrl(), token: session.access_token, userId };
|
|
73
32
|
}
|
|
74
|
-
// BYO: the existing r2.backups bundle. loadR2Config throws an actionable error
|
|
75
|
-
// when the bundle is missing or locked.
|
|
76
33
|
try {
|
|
77
34
|
return { kind: 'byo', r2: loadR2Config() };
|
|
78
35
|
}
|
|
79
36
|
catch (err) {
|
|
80
|
-
// A user who is simply signed out (not an explicit --byo) and has no bundle
|
|
81
|
-
// should hear about the zero-setup managed path FIRST, then the BYO one.
|
|
82
37
|
if (!explicitByo) {
|
|
83
38
|
throw new Error("Not signed in, and no r2.backups bucket is configured. Run 'agents auth login' to " +
|
|
84
39
|
'back up to the managed Phoenix store (zero setup), or add the r2.backups bundle to ' +
|
|
@@ -11,43 +11,16 @@
|
|
|
11
11
|
* background sync. Credentials come from the `r2.backups` secrets bundle (OS
|
|
12
12
|
* keychain on macOS, libsecret on Linux) — never from env or disk.
|
|
13
13
|
*/
|
|
14
|
-
/** Secrets bundle holding the R2 credentials. */
|
|
15
14
|
export declare const SYNC_BUNDLE = "r2.backups";
|
|
16
15
|
export interface R2Config {
|
|
17
16
|
accountId: string;
|
|
18
17
|
bucket: string;
|
|
19
18
|
accessKeyId: string;
|
|
20
19
|
secretAccessKey: string;
|
|
21
|
-
/** S3-compatible endpoint for the account (no bucket, no trailing slash). */
|
|
22
20
|
endpoint: string;
|
|
23
|
-
/**
|
|
24
|
-
* Shared 32-byte key (hex or base64) for client-side transcript encryption,
|
|
25
|
-
* held in the bundle as `R2_SYNC_ENC_KEY`. Optional and deliberately separate
|
|
26
|
-
* from the R2 credentials so rotating the access token never orphans already
|
|
27
|
-
* encrypted bundles. `agents sessions export --encrypt` prefers this key when
|
|
28
|
-
* present, else mints and prints an ephemeral one — see transcript-crypto.ts.
|
|
29
|
-
*/
|
|
30
21
|
syncEncKey?: string;
|
|
31
22
|
}
|
|
32
|
-
/** Drop the cached resolution so the next call reads the bundle fresh. Called on
|
|
33
|
-
* daemon SIGHUP (to pick up rotated credentials) and between tests. */
|
|
34
23
|
export declare function clearR2ConfigCache(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Resolve R2 credentials, reading the keychain at most once per process. The
|
|
37
|
-
* read is `agentOnly` (resolveR2Config), so it never prompts: a `never`/no-ACL or
|
|
38
|
-
* broker-held bundle resolves silently and is memoized; a locked `hold`/`always`
|
|
39
|
-
* bundle throws the actionable "unlock r2.backups" error. Throws (not memoized)
|
|
40
|
-
* when the bundle/keys are missing or locked — isSyncConfigured catches the throw
|
|
41
|
-
* and degrades to no-transport.
|
|
42
|
-
*/
|
|
43
24
|
export declare function loadR2Config(): R2Config;
|
|
44
|
-
/**
|
|
45
|
-
* True when the sync bundle exists and resolves, without throwing. A missing OR
|
|
46
|
-
* locked bundle resolves to false (session-sync degrades to no-transport) and,
|
|
47
|
-
* because the `agentOnly` read never prompts, it is re-checked each cycle — so a
|
|
48
|
-
* later `agents secrets add` / `agents secrets unlock r2.backups` is picked up
|
|
49
|
-
* promptly with no daemon restart. `now` is accepted for a stable test signature
|
|
50
|
-
* but no longer gates a cooldown (there is no prompt-bearing failure to back off).
|
|
51
|
-
*/
|
|
52
25
|
export declare function isSyncConfigured(_now?: number): boolean;
|
|
53
26
|
export { machineId, normalizeHost } from '../../machine-id.js';
|
|
@@ -12,24 +12,8 @@
|
|
|
12
12
|
* keychain on macOS, libsecret on Linux) — never from env or disk.
|
|
13
13
|
*/
|
|
14
14
|
import { readAndResolveBundleEnvSync } from '../../secrets-client.js';
|
|
15
|
-
/** Secrets bundle holding the R2 credentials. */
|
|
16
15
|
export const SYNC_BUNDLE = 'r2.backups';
|
|
17
|
-
/**
|
|
18
|
-
* Resolve R2 credentials from the `r2.backups` bundle. Throws a clear,
|
|
19
|
-
* actionable error if the bundle or any key is missing — sync cannot proceed
|
|
20
|
-
* without real credentials (no silent fallback).
|
|
21
|
-
*/
|
|
22
16
|
function resolveR2Config() {
|
|
23
|
-
// Session-sync is a BACKGROUND read: the daemon's ~90s cycle (and the ~2-min
|
|
24
|
-
// watchdog) resolve this on their own, never at a human's request — so it must
|
|
25
|
-
// NEVER pop a Touch ID sheet, on the interactive launcher included (SEC-13: an
|
|
26
|
-
// agent launch never raises biometry on its own). The read is always
|
|
27
|
-
// `agentOnly`: a `never`/no-ACL or broker-held `r2.backups` bundle resolves
|
|
28
|
-
// silently; a locked `hold`/`always` bundle THROWS the actionable "unlock
|
|
29
|
-
// r2.backups" message instead of prompting. isSyncConfigured catches that throw
|
|
30
|
-
// and degrades to no-transport (sync disabled) with no prompt and no crash —
|
|
31
|
-
// unlock once (`agents secrets unlock r2.backups`) or set it no-ACL
|
|
32
|
-
// (`agents secrets policy r2.backups never`) for silent zero-friction sync.
|
|
33
17
|
const { env } = readAndResolveBundleEnvSync(SYNC_BUNDLE, { caller: 'session-transport', agentOnly: true });
|
|
34
18
|
const accountId = env.R2_ACCOUNT_ID?.trim();
|
|
35
19
|
const bucket = env.R2_BUCKET_NAME?.trim();
|
|
@@ -51,55 +35,20 @@ function resolveR2Config() {
|
|
|
51
35
|
bucket: bucket,
|
|
52
36
|
accessKeyId: accessKeyId,
|
|
53
37
|
secretAccessKey: secretAccessKey,
|
|
54
|
-
// Default to the account's R2 endpoint; an explicit R2_ENDPOINT override
|
|
55
|
-
// points at any S3-compatible store (MinIO, another provider) — which is
|
|
56
|
-
// also how the feature is verified end-to-end without live R2.
|
|
57
38
|
endpoint: env.R2_ENDPOINT?.trim() || `https://${accountId}.r2.cloudflarestorage.com`,
|
|
58
39
|
syncEncKey,
|
|
59
40
|
};
|
|
60
41
|
}
|
|
61
|
-
// ── Resolution cache ────────────────────────────────────────────────────────
|
|
62
|
-
// The daemon calls isSyncConfigured() + syncSessions() every ~90s. The read is
|
|
63
|
-
// now `agentOnly` (resolveR2Config) so it can NEVER pop Touch ID — a locked bundle
|
|
64
|
-
// throws a cheap, deterministic "unlock r2.backups" error instead. We still resolve
|
|
65
|
-
// at most once per process: a success is memoized for the process lifetime (cleared
|
|
66
|
-
// on daemon SIGHUP via clearR2ConfigCache), so subsequent cycles never touch the
|
|
67
|
-
// keychain again. A failure (absent bundle, or a LOCKED `hold`/`always` bundle) is
|
|
68
|
-
// NOT memoized and never prompts, so it is re-checked each cycle — session-sync
|
|
69
|
-
// degrades to no-transport until the bundle is added / unlocked, then picks it up
|
|
70
|
-
// promptly with no restart.
|
|
71
|
-
//
|
|
72
|
-
// The historical prompt-backoff cooldown (a cancelled Touch ID sheet) is gone: with
|
|
73
|
-
// agentOnly there is no sheet to cancel, so no failure is prompt-bearing and none
|
|
74
|
-
// needs a backoff.
|
|
75
42
|
let cachedConfig = null;
|
|
76
|
-
/** Drop the cached resolution so the next call reads the bundle fresh. Called on
|
|
77
|
-
* daemon SIGHUP (to pick up rotated credentials) and between tests. */
|
|
78
43
|
export function clearR2ConfigCache() {
|
|
79
44
|
cachedConfig = null;
|
|
80
45
|
}
|
|
81
|
-
/**
|
|
82
|
-
* Resolve R2 credentials, reading the keychain at most once per process. The
|
|
83
|
-
* read is `agentOnly` (resolveR2Config), so it never prompts: a `never`/no-ACL or
|
|
84
|
-
* broker-held bundle resolves silently and is memoized; a locked `hold`/`always`
|
|
85
|
-
* bundle throws the actionable "unlock r2.backups" error. Throws (not memoized)
|
|
86
|
-
* when the bundle/keys are missing or locked — isSyncConfigured catches the throw
|
|
87
|
-
* and degrades to no-transport.
|
|
88
|
-
*/
|
|
89
46
|
export function loadR2Config() {
|
|
90
47
|
if (cachedConfig)
|
|
91
48
|
return cachedConfig;
|
|
92
49
|
cachedConfig = resolveR2Config();
|
|
93
50
|
return cachedConfig;
|
|
94
51
|
}
|
|
95
|
-
/**
|
|
96
|
-
* True when the sync bundle exists and resolves, without throwing. A missing OR
|
|
97
|
-
* locked bundle resolves to false (session-sync degrades to no-transport) and,
|
|
98
|
-
* because the `agentOnly` read never prompts, it is re-checked each cycle — so a
|
|
99
|
-
* later `agents secrets add` / `agents secrets unlock r2.backups` is picked up
|
|
100
|
-
* promptly with no daemon restart. `now` is accepted for a stable test signature
|
|
101
|
-
* but no longer gates a cooldown (there is no prompt-bearing failure to back off).
|
|
102
|
-
*/
|
|
103
52
|
export function isSyncConfigured(_now = Date.now()) {
|
|
104
53
|
if (cachedConfig)
|
|
105
54
|
return true;
|
|
@@ -108,12 +57,7 @@ export function isSyncConfigured(_now = Date.now()) {
|
|
|
108
57
|
return true;
|
|
109
58
|
}
|
|
110
59
|
catch {
|
|
111
|
-
// Absent or locked bundle — never prompted (agentOnly), so no backoff: keep
|
|
112
|
-
// re-checking each cycle for fast pickup once the bundle is added / unlocked.
|
|
113
60
|
return false;
|
|
114
61
|
}
|
|
115
62
|
}
|
|
116
|
-
// machineId() and normalizeHost() now live in the dependency-free leaf
|
|
117
|
-
// ../../machine-id.ts so low-level modules (state.ts) can use them without an
|
|
118
|
-
// import cycle. Re-exported here for existing importers.
|
|
119
63
|
export { machineId, normalizeHost } from '../../machine-id.js';
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Isolated Cloudflare resource choices for the managed session-backup store.
|
|
3
|
-
*
|
|
4
|
-
* The managed sessions backend is the Phoenix-gated, zero-setup path behind
|
|
5
|
-
* `agents sessions export --to-r2` / `import --from-r2` for a signed-in user —
|
|
6
|
-
* the sessions analogue of the managed `agents traces sync` store. A signed-in
|
|
7
|
-
* user never has to provision their own `r2.backups` bucket; the CLI talks to
|
|
8
|
-
* this already-live Worker under their Phoenix bearer.
|
|
9
|
-
*
|
|
10
|
-
* Mirrors `lib/traces/config.ts` + `managedTracesBaseUrl()`. The endpoint host
|
|
11
|
-
* is its own subdomain (a separate Worker + bucket from traces/share), so the
|
|
12
|
-
* blast radius of a bug or a quota exhaustion is one surface, not three.
|
|
13
|
-
*/
|
|
14
|
-
/** Managed sessions Worker domain — its own subdomain, separate from traces/share. */
|
|
15
1
|
export declare const DEFAULT_SESSIONS_DOMAIN = "sessions.agents-cli.sh";
|
|
16
|
-
/** Cloudflare Worker name for the managed sessions deployment. */
|
|
17
2
|
export declare const DEFAULT_SESSIONS_WORKER_NAME = "agents-sessions";
|
|
18
|
-
/** R2 bucket name backing the managed sessions Worker. */
|
|
19
3
|
export declare const DEFAULT_SESSIONS_BUCKET_NAME = "agents-sessions";
|
|
20
|
-
/** Public base URL of the managed sessions Worker, no trailing slash. */
|
|
21
4
|
export declare function managedSessionsBaseUrl(): string;
|
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Isolated Cloudflare resource choices for the managed session-backup store.
|
|
3
|
-
*
|
|
4
|
-
* The managed sessions backend is the Phoenix-gated, zero-setup path behind
|
|
5
|
-
* `agents sessions export --to-r2` / `import --from-r2` for a signed-in user —
|
|
6
|
-
* the sessions analogue of the managed `agents traces sync` store. A signed-in
|
|
7
|
-
* user never has to provision their own `r2.backups` bucket; the CLI talks to
|
|
8
|
-
* this already-live Worker under their Phoenix bearer.
|
|
9
|
-
*
|
|
10
|
-
* Mirrors `lib/traces/config.ts` + `managedTracesBaseUrl()`. The endpoint host
|
|
11
|
-
* is its own subdomain (a separate Worker + bucket from traces/share), so the
|
|
12
|
-
* blast radius of a bug or a quota exhaustion is one surface, not three.
|
|
13
|
-
*/
|
|
14
|
-
/** Managed sessions Worker domain — its own subdomain, separate from traces/share. */
|
|
15
1
|
export const DEFAULT_SESSIONS_DOMAIN = 'sessions.agents-cli.sh';
|
|
16
|
-
/** Cloudflare Worker name for the managed sessions deployment. */
|
|
17
2
|
export const DEFAULT_SESSIONS_WORKER_NAME = 'agents-sessions';
|
|
18
|
-
/** R2 bucket name backing the managed sessions Worker. */
|
|
19
3
|
export const DEFAULT_SESSIONS_BUCKET_NAME = 'agents-sessions';
|
|
20
|
-
/** Public base URL of the managed sessions Worker, no trailing slash. */
|
|
21
4
|
export function managedSessionsBaseUrl() {
|
|
22
5
|
return `https://${DEFAULT_SESSIONS_DOMAIN}`;
|
|
23
6
|
}
|
|
@@ -1,43 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Managed backup encryption key (DEK) — mint, cache, escrow, recover.
|
|
3
|
-
*
|
|
4
|
-
* On the MANAGED path, a session backup is NEVER uploaded in plaintext. Every
|
|
5
|
-
* transcript body is sealed with AES-256-GCM (the same `transcript-crypto.ts`
|
|
6
|
-
* primitives BYO uses) under a 32-byte data-encryption key (DEK) minted per
|
|
7
|
-
* Phoenix user.
|
|
8
|
-
*
|
|
9
|
-
* Where the DEK lives, and the honest trust boundary:
|
|
10
|
-
* - **Local cache** at `~/.agents/.cache/state/sessions-backup-key.json`
|
|
11
|
-
* (mode 0600), a `{ [userId]: <base64-dek> }` map so several Phoenix
|
|
12
|
-
* accounts on one box stay isolated. The Worker escrow remains authoritative.
|
|
13
|
-
* - **Escrow** at the bearer-gated Worker key `<userId>/__key/backup-dek`, so
|
|
14
|
-
* a FRESH box that signs in with the same Phoenix account recovers the DEK
|
|
15
|
-
* with zero setup and can decrypt its own prior backups.
|
|
16
|
-
*
|
|
17
|
-
* Trust boundary (documented honestly — SES-51):
|
|
18
|
-
* - Confidential vs a raw R2 / Cloudflare bucket read: objects at rest are
|
|
19
|
-
* ciphertext envelopes (SES-24 holds), and the DEK escrow object is itself
|
|
20
|
-
* only reachable with the owner's bearer.
|
|
21
|
-
* - NOT zero-knowledge vs Phoenix: the DEK is escrowed on Phoenix-operated
|
|
22
|
-
* infrastructure, so the operator *can* recover the key and read a backup.
|
|
23
|
-
* A user who needs a key Phoenix can never see uses BYO (`--byo`), which
|
|
24
|
-
* keeps the DEK only in their own `r2.backups` bundle — that is the
|
|
25
|
-
* zero-knowledge path.
|
|
26
|
-
*/
|
|
27
1
|
import type { ManagedSessionsBackupClient } from './net-client.js';
|
|
28
|
-
/** Worker key (relative to the `<userId>/` namespace prefix the client prepends). */
|
|
29
2
|
export declare const ESCROW_REL_KEY = "__key/backup-dek";
|
|
30
|
-
/** Local per-user DEK cache file — a `{ [userId]: base64 }` map, mode 0600. */
|
|
31
3
|
export declare function backupKeyCachePath(): string;
|
|
32
|
-
/** The DEK cached locally for this Phoenix user, or null. */
|
|
33
4
|
export declare function readCachedBackupKey(userId: string): Buffer | null;
|
|
34
|
-
/**
|
|
35
|
-
* Resolve the managed backup DEK for `userId`, minting + escrowing one on first
|
|
36
|
-
* use. NEVER returns null — the managed path must not upload plaintext.
|
|
37
|
-
*
|
|
38
|
-
* The escrow is authoritative. On a missing escrow, the local cache (if any) is
|
|
39
|
-
* restored with a conditional create; otherwise a new key is minted. Concurrent
|
|
40
|
-
* first-use devices race that create, then every loser reads the one winner
|
|
41
|
-
* before encrypting anything, so no backup can be orphaned under a losing DEK.
|
|
42
|
-
*/
|
|
43
5
|
export declare function resolveManagedBackupKey(client: ManagedSessionsBackupClient, userId: string): Promise<Buffer>;
|
|
@@ -1,38 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Managed backup encryption key (DEK) — mint, cache, escrow, recover.
|
|
3
|
-
*
|
|
4
|
-
* On the MANAGED path, a session backup is NEVER uploaded in plaintext. Every
|
|
5
|
-
* transcript body is sealed with AES-256-GCM (the same `transcript-crypto.ts`
|
|
6
|
-
* primitives BYO uses) under a 32-byte data-encryption key (DEK) minted per
|
|
7
|
-
* Phoenix user.
|
|
8
|
-
*
|
|
9
|
-
* Where the DEK lives, and the honest trust boundary:
|
|
10
|
-
* - **Local cache** at `~/.agents/.cache/state/sessions-backup-key.json`
|
|
11
|
-
* (mode 0600), a `{ [userId]: <base64-dek> }` map so several Phoenix
|
|
12
|
-
* accounts on one box stay isolated. The Worker escrow remains authoritative.
|
|
13
|
-
* - **Escrow** at the bearer-gated Worker key `<userId>/__key/backup-dek`, so
|
|
14
|
-
* a FRESH box that signs in with the same Phoenix account recovers the DEK
|
|
15
|
-
* with zero setup and can decrypt its own prior backups.
|
|
16
|
-
*
|
|
17
|
-
* Trust boundary (documented honestly — SES-51):
|
|
18
|
-
* - Confidential vs a raw R2 / Cloudflare bucket read: objects at rest are
|
|
19
|
-
* ciphertext envelopes (SES-24 holds), and the DEK escrow object is itself
|
|
20
|
-
* only reachable with the owner's bearer.
|
|
21
|
-
* - NOT zero-knowledge vs Phoenix: the DEK is escrowed on Phoenix-operated
|
|
22
|
-
* infrastructure, so the operator *can* recover the key and read a backup.
|
|
23
|
-
* A user who needs a key Phoenix can never see uses BYO (`--byo`), which
|
|
24
|
-
* keeps the DEK only in their own `r2.backups` bundle — that is the
|
|
25
|
-
* zero-knowledge path.
|
|
26
|
-
*/
|
|
27
1
|
import * as fs from 'fs';
|
|
28
2
|
import * as path from 'path';
|
|
29
3
|
import { atomicWriteFileSync, ensureLockTarget, withFileLock } from '../../fs-atomic.js';
|
|
30
4
|
import { getRuntimeStateDir } from '../../state.js';
|
|
31
5
|
import { generateSyncEncKey } from './transcript-crypto.js';
|
|
32
|
-
const KEY_LEN = 32;
|
|
33
|
-
/** Worker key (relative to the `<userId>/` namespace prefix the client prepends). */
|
|
6
|
+
const KEY_LEN = 32;
|
|
34
7
|
export const ESCROW_REL_KEY = '__key/backup-dek';
|
|
35
|
-
/** Local per-user DEK cache file — a `{ [userId]: base64 }` map, mode 0600. */
|
|
36
8
|
export function backupKeyCachePath() {
|
|
37
9
|
return path.join(getRuntimeStateDir(), 'sessions-backup-key.json');
|
|
38
10
|
}
|
|
@@ -53,7 +25,6 @@ function readCache() {
|
|
|
53
25
|
return Object.create(null);
|
|
54
26
|
}
|
|
55
27
|
}
|
|
56
|
-
/** Decode a base64/hex DEK into a 32-byte key, or null when it is malformed. */
|
|
57
28
|
function decodeDek(raw) {
|
|
58
29
|
const s = (raw ?? '').trim();
|
|
59
30
|
if (!s)
|
|
@@ -61,11 +32,9 @@ function decodeDek(raw) {
|
|
|
61
32
|
const key = /^[0-9a-f]{64}$/i.test(s) ? Buffer.from(s, 'hex') : Buffer.from(s, 'base64');
|
|
62
33
|
return key.length === KEY_LEN ? key : null;
|
|
63
34
|
}
|
|
64
|
-
/** The DEK cached locally for this Phoenix user, or null. */
|
|
65
35
|
export function readCachedBackupKey(userId) {
|
|
66
36
|
return decodeDek(readCache()[userId]);
|
|
67
37
|
}
|
|
68
|
-
/** Persist a DEK (base64) for this Phoenix user in the local 0600 cache. */
|
|
69
38
|
function cacheBackupKey(userId, b64) {
|
|
70
39
|
const file = backupKeyCachePath();
|
|
71
40
|
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
@@ -86,19 +55,9 @@ function parseEscrow(body, expectedUserId) {
|
|
|
86
55
|
return decodeDek(obj.dek);
|
|
87
56
|
}
|
|
88
57
|
catch {
|
|
89
|
-
/* not an escrow envelope */
|
|
90
58
|
}
|
|
91
59
|
return null;
|
|
92
60
|
}
|
|
93
|
-
/**
|
|
94
|
-
* Resolve the managed backup DEK for `userId`, minting + escrowing one on first
|
|
95
|
-
* use. NEVER returns null — the managed path must not upload plaintext.
|
|
96
|
-
*
|
|
97
|
-
* The escrow is authoritative. On a missing escrow, the local cache (if any) is
|
|
98
|
-
* restored with a conditional create; otherwise a new key is minted. Concurrent
|
|
99
|
-
* first-use devices race that create, then every loser reads the one winner
|
|
100
|
-
* before encrypting anything, so no backup can be orphaned under a losing DEK.
|
|
101
|
-
*/
|
|
102
61
|
export async function resolveManagedBackupKey(client, userId) {
|
|
103
62
|
const escrowed = await client.get(ESCROW_REL_KEY);
|
|
104
63
|
if (escrowed !== null) {
|
|
@@ -1,26 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionsHttpClient — the managed transport for `agents sessions export
|
|
3
|
-
* --to-r2` / `import --from-r2` when the caller is signed in to Phoenix.
|
|
4
|
-
*
|
|
5
|
-
* Same put / get / list / delete surface as `R2Client` (`./r2.ts`), so the
|
|
6
|
-
* export/import command drives EITHER a managed HTTP client or a BYO S3 client
|
|
7
|
-
* through the one shared {@link SessionsBackupClient} interface. The difference
|
|
8
|
-
* is only the wire: this talks to the managed sessions Worker over `fetch` with
|
|
9
|
-
* a `Authorization: Bearer <phoenix-token>` header (the same request shape as
|
|
10
|
-
* `traces/sync.ts`), instead of SigV4 against R2 directly.
|
|
11
|
-
*
|
|
12
|
-
* The userId namespace prefix is prepended INSIDE this client
|
|
13
|
-
* (`${baseUrl}/${userId}/${key}`), so the caller passes the SAME object key it
|
|
14
|
-
* passes to `R2Client` (`sessions/<machine>/<agent>/<sessionId>.jsonl`). That
|
|
15
|
-
* keeps the BYO object layout (SES-27a) byte-identical while the managed Worker
|
|
16
|
-
* gets its required `segments[0] === userId` prefix.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* The verbs the session backup/restore path needs, satisfied by BOTH the
|
|
20
|
-
* managed {@link SessionsHttpClient} and the BYO `R2Client`. `list` takes an
|
|
21
|
-
* optional prefix: BYO passes the `sessions/` prefix; managed ignores it and
|
|
22
|
-
* enumerates the whole owner namespace server-side.
|
|
23
|
-
*/
|
|
24
1
|
export interface SessionsBackupClient {
|
|
25
2
|
readonly kind: 'managed' | 'byo';
|
|
26
3
|
put(key: string, body: string | Uint8Array, contentType?: string): Promise<void>;
|
|
@@ -28,7 +5,6 @@ export interface SessionsBackupClient {
|
|
|
28
5
|
list(prefix?: string): Promise<string[]>;
|
|
29
6
|
delete(key: string): Promise<void>;
|
|
30
7
|
}
|
|
31
|
-
/** Managed-only extension used to establish an immutable escrow key. */
|
|
32
8
|
export interface ManagedSessionsBackupClient extends SessionsBackupClient {
|
|
33
9
|
readonly kind: 'managed';
|
|
34
10
|
putIfAbsent(key: string, body: string | Uint8Array, contentType?: string): Promise<boolean>;
|
|
@@ -43,23 +19,11 @@ export declare class SessionsHttpClient implements ManagedSessionsBackupClient {
|
|
|
43
19
|
userId: string;
|
|
44
20
|
token: string;
|
|
45
21
|
});
|
|
46
|
-
/** `${baseUrl}/<userId>/<key>` with every path segment percent-encoded. */
|
|
47
22
|
private objUrl;
|
|
48
23
|
private authHeaders;
|
|
49
|
-
/** Upload an object under this owner's namespace. Overwrites unconditionally. */
|
|
50
24
|
put(key: string, body: string | Uint8Array, contentType?: string): Promise<void>;
|
|
51
|
-
/** Create an object exactly once. A concurrent winner returns false. */
|
|
52
25
|
putIfAbsent(key: string, body: string | Uint8Array, contentType?: string): Promise<boolean>;
|
|
53
|
-
/** Fetch an object as text, or null if it does not exist (404). */
|
|
54
26
|
get(key: string): Promise<string | null>;
|
|
55
|
-
/**
|
|
56
|
-
* List this owner's object keys, each relative to the `<userId>/` prefix (so
|
|
57
|
-
* they feed straight back into `get`/`delete`). The `prefix` arg is accepted
|
|
58
|
-
* for interface parity with `R2Client` but ignored — the managed Worker
|
|
59
|
-
* enumerates the whole owner namespace and excludes the reserved `__` keys
|
|
60
|
-
* server-side.
|
|
61
|
-
*/
|
|
62
27
|
list(_prefix?: string): Promise<string[]>;
|
|
63
|
-
/** Delete an object (the Worker refunds its bytes to the quota ledger). */
|
|
64
28
|
delete(key: string): Promise<void>;
|
|
65
29
|
}
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionsHttpClient — the managed transport for `agents sessions export
|
|
3
|
-
* --to-r2` / `import --from-r2` when the caller is signed in to Phoenix.
|
|
4
|
-
*
|
|
5
|
-
* Same put / get / list / delete surface as `R2Client` (`./r2.ts`), so the
|
|
6
|
-
* export/import command drives EITHER a managed HTTP client or a BYO S3 client
|
|
7
|
-
* through the one shared {@link SessionsBackupClient} interface. The difference
|
|
8
|
-
* is only the wire: this talks to the managed sessions Worker over `fetch` with
|
|
9
|
-
* a `Authorization: Bearer <phoenix-token>` header (the same request shape as
|
|
10
|
-
* `traces/sync.ts`), instead of SigV4 against R2 directly.
|
|
11
|
-
*
|
|
12
|
-
* The userId namespace prefix is prepended INSIDE this client
|
|
13
|
-
* (`${baseUrl}/${userId}/${key}`), so the caller passes the SAME object key it
|
|
14
|
-
* passes to `R2Client` (`sessions/<machine>/<agent>/<sessionId>.jsonl`). That
|
|
15
|
-
* keeps the BYO object layout (SES-27a) byte-identical while the managed Worker
|
|
16
|
-
* gets its required `segments[0] === userId` prefix.
|
|
17
|
-
*/
|
|
18
1
|
export class SessionsHttpClient {
|
|
19
2
|
kind = 'managed';
|
|
20
3
|
base;
|
|
@@ -25,7 +8,6 @@ export class SessionsHttpClient {
|
|
|
25
8
|
this.userId = safeOwnerSegment(opts.userId);
|
|
26
9
|
this.token = opts.token;
|
|
27
10
|
}
|
|
28
|
-
/** `${baseUrl}/<userId>/<key>` with every path segment percent-encoded. */
|
|
29
11
|
objUrl(key) {
|
|
30
12
|
const rel = safeObjectKey(key).map(encodeURIComponent).join('/');
|
|
31
13
|
return `${this.base}/${encodeURIComponent(this.userId)}/${rel}`;
|
|
@@ -33,7 +15,6 @@ export class SessionsHttpClient {
|
|
|
33
15
|
authHeaders(extra = {}) {
|
|
34
16
|
return { authorization: `Bearer ${this.token}`, ...extra };
|
|
35
17
|
}
|
|
36
|
-
/** Upload an object under this owner's namespace. Overwrites unconditionally. */
|
|
37
18
|
async put(key, body, contentType = 'application/octet-stream') {
|
|
38
19
|
const res = await fetch(this.objUrl(key), {
|
|
39
20
|
method: 'PUT',
|
|
@@ -43,7 +24,6 @@ export class SessionsHttpClient {
|
|
|
43
24
|
if (!res.ok)
|
|
44
25
|
throw new Error(`sessions PUT ${key} failed: ${res.status} ${await safeText(res)}`);
|
|
45
26
|
}
|
|
46
|
-
/** Create an object exactly once. A concurrent winner returns false. */
|
|
47
27
|
async putIfAbsent(key, body, contentType = 'application/octet-stream') {
|
|
48
28
|
const res = await fetch(this.objUrl(key), {
|
|
49
29
|
method: 'PUT',
|
|
@@ -57,7 +37,6 @@ export class SessionsHttpClient {
|
|
|
57
37
|
}
|
|
58
38
|
return true;
|
|
59
39
|
}
|
|
60
|
-
/** Fetch an object as text, or null if it does not exist (404). */
|
|
61
40
|
async get(key) {
|
|
62
41
|
const res = await fetch(this.objUrl(key), { method: 'GET', headers: this.authHeaders() });
|
|
63
42
|
if (res.status === 404)
|
|
@@ -66,13 +45,6 @@ export class SessionsHttpClient {
|
|
|
66
45
|
throw new Error(`sessions GET ${key} failed: ${res.status} ${await safeText(res)}`);
|
|
67
46
|
return await res.text();
|
|
68
47
|
}
|
|
69
|
-
/**
|
|
70
|
-
* List this owner's object keys, each relative to the `<userId>/` prefix (so
|
|
71
|
-
* they feed straight back into `get`/`delete`). The `prefix` arg is accepted
|
|
72
|
-
* for interface parity with `R2Client` but ignored — the managed Worker
|
|
73
|
-
* enumerates the whole owner namespace and excludes the reserved `__` keys
|
|
74
|
-
* server-side.
|
|
75
|
-
*/
|
|
76
48
|
async list(_prefix) {
|
|
77
49
|
const url = `${this.base}/${encodeURIComponent(this.userId)}/?list`;
|
|
78
50
|
const res = await fetch(url, { method: 'GET', headers: this.authHeaders() });
|
|
@@ -83,7 +55,6 @@ export class SessionsHttpClient {
|
|
|
83
55
|
return [];
|
|
84
56
|
return body.keys.filter((k) => typeof k === 'string');
|
|
85
57
|
}
|
|
86
|
-
/** Delete an object (the Worker refunds its bytes to the quota ledger). */
|
|
87
58
|
async delete(key) {
|
|
88
59
|
const res = await fetch(this.objUrl(key), { method: 'DELETE', headers: this.authHeaders() });
|
|
89
60
|
if (!res.ok && res.status !== 404) {
|
|
@@ -98,7 +69,6 @@ function safeOwnerSegment(owner) {
|
|
|
98
69
|
}
|
|
99
70
|
return value;
|
|
100
71
|
}
|
|
101
|
-
/** Prevent URL dot-segment normalization from escaping the verified owner path. */
|
|
102
72
|
function safeObjectKey(key) {
|
|
103
73
|
const segments = key.split('/');
|
|
104
74
|
if (segments.length === 0 ||
|
|
@@ -2,7 +2,6 @@ import { type CloudflareRequester } from '../../cloudflare/provision.js';
|
|
|
2
2
|
interface ProvisionOptions {
|
|
3
3
|
request?: CloudflareRequester;
|
|
4
4
|
}
|
|
5
|
-
/** Bind the Phoenix identity base URL used to verify every session read and write. */
|
|
6
5
|
export declare function setPhoenixIdBaseSecret(apiToken: string, accountId: string, workerName: string, phoenixIdBase: string, opts?: ProvisionOptions): Promise<void>;
|
|
7
6
|
export interface ProvisionSessionsOptions extends ProvisionOptions {
|
|
8
7
|
apiToken: string;
|
|
@@ -12,7 +11,6 @@ export interface ProvisionSessionsOptions extends ProvisionOptions {
|
|
|
12
11
|
phoenixIdBase: string;
|
|
13
12
|
domain?: string;
|
|
14
13
|
}
|
|
15
|
-
/** Provision the complete isolated sessions deployment using the canonical Worker template. */
|
|
16
14
|
export declare function provisionSessions(opts: ProvisionSessionsOptions): Promise<{
|
|
17
15
|
baseUrl: string;
|
|
18
16
|
}>;
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
// Cloudflare orchestration for the managed session-backup store. The generic
|
|
2
|
-
// request primitives live in cloudflare/provision; only the isolated sessions
|
|
3
|
-
// resource choices and Worker template belong here. Mirrors lib/traces/provision.ts.
|
|
4
|
-
//
|
|
5
|
-
// This is the OPERATOR provisioning path — cutting the `agents-sessions` Worker +
|
|
6
|
-
// bucket + custom domain once. Product traffic never runs it; a signed-in user
|
|
7
|
-
// talks to the already-deployed Worker through `SessionsHttpClient`.
|
|
8
1
|
import { addCustomDomain, createBucket, deployWorker, enableWorkersDev, findZoneId, putWorkerSecret, } from '../../cloudflare/provision.js';
|
|
9
2
|
import { DEFAULT_SESSIONS_BUCKET_NAME, DEFAULT_SESSIONS_DOMAIN, DEFAULT_SESSIONS_WORKER_NAME, } from './managed-config.js';
|
|
10
3
|
import { renderSessionsWorkerScript } from './worker-template.js';
|
|
11
|
-
/** Bind the Phoenix identity base URL used to verify every session read and write. */
|
|
12
4
|
export async function setPhoenixIdBaseSecret(apiToken, accountId, workerName, phoenixIdBase, opts = {}) {
|
|
13
5
|
const normalized = phoenixIdBase.replace(/\/+$/, '').trim();
|
|
14
6
|
if (!normalized)
|
|
15
7
|
throw new Error('PHOENIX_ID_BASE is required to verify session requests.');
|
|
16
8
|
await putWorkerSecret(apiToken, accountId, workerName, 'PHOENIX_ID_BASE', normalized, opts);
|
|
17
9
|
}
|
|
18
|
-
/** Provision the complete isolated sessions deployment using the canonical Worker template. */
|
|
19
10
|
export async function provisionSessions(opts) {
|
|
20
11
|
const domain = opts.domain ?? DEFAULT_SESSIONS_DOMAIN;
|
|
21
12
|
const workerName = opts.workerName ?? DEFAULT_SESSIONS_WORKER_NAME;
|
|
@@ -23,10 +14,6 @@ export async function provisionSessions(opts) {
|
|
|
23
14
|
const requestOpts = opts.request ? { request: opts.request } : {};
|
|
24
15
|
await createBucket(opts.apiToken, opts.accountId, bucketName, requestOpts);
|
|
25
16
|
await deployWorker(opts.apiToken, opts.accountId, workerName, renderSessionsWorkerScript(), bucketName, requestOpts);
|
|
26
|
-
// No WRITE_TOKEN secret: the managed sessions Worker is Phoenix-only (PHNX-3726).
|
|
27
|
-
// A static token would be a Phoenix-and-quota bypass with no legitimate caller —
|
|
28
|
-
// the zero-knowledge BYO path uses the user's own R2 bucket directly, never this
|
|
29
|
-
// Worker.
|
|
30
17
|
await setPhoenixIdBaseSecret(opts.apiToken, opts.accountId, workerName, opts.phoenixIdBase, requestOpts);
|
|
31
18
|
const workersDevSubdomain = await enableWorkersDev(opts.apiToken, opts.accountId, workerName, requestOpts);
|
|
32
19
|
const zoneId = await findZoneId(opts.apiToken, domain, requestOpts);
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal S3-compatible client for Cloudflare R2, built on aws4fetch (SigV4
|
|
3
|
-
* over the platform `fetch` + WebCrypto — works identically under Bun and
|
|
4
|
-
* Node >= 22). Only the verbs the backup target needs: put / get / head / list /
|
|
5
|
-
* delete.
|
|
6
|
-
*
|
|
7
|
-
* No mounting, no FUSE: this is a plain object-store client driven on demand by
|
|
8
|
-
* `agents sessions export --to-r2` / `import --from-r2`, which is the only
|
|
9
|
-
* approach that is seamless on both macOS and Linux (Mountpoint for S3 is
|
|
10
|
-
* Linux-only; rclone-mount needs macFUSE).
|
|
11
|
-
*/
|
|
12
1
|
import type { R2Config } from './config.js';
|
|
13
2
|
interface HeadResult {
|
|
14
3
|
size: number;
|
|
@@ -20,21 +9,12 @@ export declare class R2Client {
|
|
|
20
9
|
private base;
|
|
21
10
|
constructor(cfg: R2Config);
|
|
22
11
|
private url;
|
|
23
|
-
/** Upload an object. Overwrites unconditionally. */
|
|
24
12
|
put(key: string, body: string | Uint8Array, contentType?: string): Promise<void>;
|
|
25
|
-
/** Fetch an object as text, or null if it does not exist (404). */
|
|
26
13
|
get(key: string): Promise<string | null>;
|
|
27
|
-
/** HEAD an object for size + etag, or null if it does not exist. */
|
|
28
14
|
head(key: string): Promise<HeadResult | null>;
|
|
29
|
-
/** Delete an object (no error if it is already absent). */
|
|
30
15
|
delete(key: string): Promise<void>;
|
|
31
|
-
/** List immediate sub-prefixes under a prefix (delimiter '/'), e.g. machine dirs. */
|
|
32
16
|
listPrefixes(prefix: string): Promise<string[]>;
|
|
33
|
-
/** List all object keys under a prefix (handles pagination). An empty prefix
|
|
34
|
-
* lists the whole bucket — the default so R2Client satisfies the shared
|
|
35
|
-
* {@link SessionsBackupClient} interface (managed lists with no prefix). */
|
|
36
17
|
list(prefix?: string): Promise<string[]>;
|
|
37
18
|
}
|
|
38
|
-
/** Single pass: sequential replaces would double-decode `&lt;` into `<`. */
|
|
39
19
|
export declare function decodeXml(s: string): string;
|
|
40
20
|
export {};
|