@phnx-labs/agents-cli 1.22.113 → 1.22.114
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 +29 -0
- package/README.md +10 -11
- package/dist/cli/command-registry.d.ts +0 -60
- package/dist/cli/command-registry.js +59 -61
- package/dist/commands/apply.d.ts +0 -4
- package/dist/commands/apply.js +3 -3
- package/dist/commands/browser-picker.d.ts +3 -6
- package/dist/commands/browser-picker.js +2 -2
- package/dist/commands/browser-sessions-picker.d.ts +2 -1
- package/dist/commands/computer-sessions-picker.d.ts +2 -1
- package/dist/commands/computer.d.ts +14 -19
- package/dist/commands/computer.js +65 -10
- package/dist/commands/config.js +46 -2
- package/dist/commands/daemon.d.ts +0 -23
- package/dist/commands/daemon.js +1 -1
- package/dist/commands/detach-core.d.ts +2 -1
- package/dist/commands/detach.d.ts +0 -3
- package/dist/commands/detach.js +3 -3
- package/dist/commands/feed.d.ts +3 -3
- package/dist/commands/feed.js +1 -1
- package/dist/commands/focus.d.ts +4 -4
- package/dist/commands/harness-hooks.d.ts +0 -7
- package/dist/commands/harness-hooks.js +1 -1
- package/dist/commands/harness-wizard.d.ts +2 -2
- package/dist/commands/harness.d.ts +3 -8
- package/dist/commands/harness.js +1 -1
- package/dist/commands/inspect.d.ts +2 -3
- package/dist/commands/inspect.js +1 -1
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +3 -3
- package/dist/commands/projects.d.ts +2 -18
- package/dist/commands/projects.js +89 -3
- package/dist/commands/resource-view.d.ts +3 -2
- package/dist/commands/resume.d.ts +0 -1
- package/dist/commands/resume.js +1 -1
- package/dist/commands/routines.d.ts +1 -3
- package/dist/commands/routines.js +1 -1
- package/dist/commands/run-account-picker.d.ts +2 -1
- package/dist/commands/run-broadcast.d.ts +2 -1
- package/dist/commands/run-device-picker.d.ts +2 -1
- package/dist/commands/secrets-passthrough.d.ts +14 -0
- package/dist/commands/secrets-passthrough.js +21 -2
- package/dist/commands/sessions-backfill.d.ts +2 -35
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-bookmark.d.ts +0 -10
- package/dist/commands/sessions-bookmark.js +1 -1
- package/dist/commands/sessions-inject.d.ts +2 -3
- package/dist/commands/sessions-inject.js +8 -17
- package/dist/commands/sessions-picker-factory.d.ts +4 -14
- package/dist/commands/sessions-picker-factory.js +2 -2
- package/dist/commands/sessions-picker.d.ts +3 -9
- package/dist/commands/sessions-picker.js +2 -2
- package/dist/commands/sessions-resume.d.ts +2 -4
- package/dist/commands/sessions-resume.js +0 -5
- package/dist/commands/sessions-stats.d.ts +2 -1
- package/dist/commands/sessions-stop.d.ts +0 -3
- package/dist/commands/sessions-stop.js +1 -1
- package/dist/commands/sessions-tail.d.ts +2 -1
- package/dist/commands/sessions-trace.d.ts +4 -6
- package/dist/commands/sessions-trace.js +1 -1
- package/dist/commands/sessions.d.ts +13 -104
- package/dist/commands/sessions.js +10 -10
- package/dist/commands/setup-mine.d.ts +0 -6
- package/dist/commands/setup-mine.js +1 -1
- package/dist/commands/setup.d.ts +3 -4
- package/dist/commands/setup.js +1 -1
- package/dist/commands/share.d.ts +8 -8
- package/dist/commands/teams-picker.d.ts +2 -5
- package/dist/commands/teams-picker.js +2 -2
- package/dist/commands/teams.d.ts +1 -7
- package/dist/commands/teams.js +1 -1
- package/dist/commands/tmux.d.ts +1 -1
- package/dist/commands/tmux.js +1 -1
- package/dist/commands/upgrade.d.ts +2 -1
- package/dist/commands/utils.d.ts +1 -1
- package/dist/commands/utils.js +1 -1
- package/dist/lib/account-capabilities.d.ts +2 -1
- package/dist/lib/account-catalog.d.ts +4 -13
- package/dist/lib/account-catalog.js +1 -1
- package/dist/lib/account-registry.d.ts +3 -4
- package/dist/lib/account-registry.js +1 -1
- package/dist/lib/accounting/account-launch.d.ts +4 -3
- package/dist/lib/accounting/account-pool.d.ts +2 -1
- package/dist/lib/accounting/rotate.d.ts +3 -9
- package/dist/lib/accounting/rotate.js +2 -14
- package/dist/lib/accounting/usage-sync.d.ts +5 -4
- package/dist/lib/accounting/usage.d.ts +7 -31
- package/dist/lib/accounting/usage.js +4 -4
- package/dist/lib/accounts/migrate.d.ts +8 -8
- package/dist/lib/accounts/migrate.js +1 -1
- package/dist/lib/acp/client.d.ts +3 -2
- package/dist/lib/acp/harnesses.d.ts +2 -2
- package/dist/lib/acp/harnesses.js +1 -1
- package/dist/lib/acp/run.d.ts +2 -1
- package/dist/lib/actor.d.ts +3 -2
- package/dist/lib/add-dir.d.ts +2 -17
- package/dist/lib/add-dir.js +2 -6
- package/dist/lib/address.d.ts +56 -0
- package/dist/lib/address.js +143 -0
- package/dist/lib/agent-spec/agents.d.ts +12 -28
- package/dist/lib/agent-spec/agents.js +2 -6
- package/dist/lib/agent-spec/primitives.d.ts +0 -7
- package/dist/lib/agent-spec/primitives.js +0 -6
- package/dist/lib/agent-spec/types.d.ts +2 -1
- package/dist/lib/analytics/dashboard.d.ts +1 -5
- package/dist/lib/analytics/dashboard.js +0 -2
- package/dist/lib/analytics/mix-commands.d.ts +0 -7
- package/dist/lib/analytics/mix-commands.js +3 -3
- package/dist/lib/analytics/recipes.d.ts +0 -12
- package/dist/lib/analytics/recipes.js +7 -31
- package/dist/lib/analytics/usage-db.d.ts +5 -32
- package/dist/lib/analytics/usage-db.js +1 -70
- package/dist/lib/answer-router.d.ts +7 -6
- package/dist/lib/answer-router.js +5 -11
- package/dist/lib/artifact-actions.d.ts +0 -4
- package/dist/lib/ask-classifier.d.ts +3 -4
- package/dist/lib/ask-classifier.js +0 -7
- package/dist/lib/auth-health.d.ts +3 -46
- package/dist/lib/auth-health.js +3 -3
- package/dist/lib/auth-mint.d.ts +6 -6
- package/dist/lib/auth-mint.js +5 -5
- package/dist/lib/bench/runner.d.ts +2 -2
- package/dist/lib/bench/runner.js +1 -1
- package/dist/lib/bench/storage.d.ts +0 -1
- package/dist/lib/bench/storage.js +1 -1
- package/dist/lib/boot-profile.d.ts +0 -2
- package/dist/lib/boot-profile.js +0 -4
- package/dist/lib/brand.d.ts +0 -6
- package/dist/lib/brand.js +1 -1
- package/dist/lib/browser/arc-discovery.d.ts +4 -12
- package/dist/lib/browser/arc-discovery.js +1 -1
- package/dist/lib/browser/cdp.d.ts +1 -1
- package/dist/lib/browser/chrome.d.ts +2 -2
- package/dist/lib/browser/chrome.js +0 -4
- package/dist/lib/browser/chromium-discovery.d.ts +3 -2
- package/dist/lib/browser/drivers/arc.d.ts +3 -20
- package/dist/lib/browser/drivers/arc.js +2 -7
- package/dist/lib/browser/drivers/firefox.d.ts +2 -6
- package/dist/lib/browser/drivers/firefox.js +1 -1
- package/dist/lib/browser/drivers/local.d.ts +2 -1
- package/dist/lib/browser/drivers/ssh.d.ts +2 -3
- package/dist/lib/browser/drivers/ssh.js +0 -7
- package/dist/lib/browser/firefox-discovery.d.ts +4 -3
- package/dist/lib/browser/har.d.ts +8 -7
- package/dist/lib/browser/hygiene.d.ts +2 -3
- package/dist/lib/browser/hygiene.js +1 -1
- package/dist/lib/browser/ipc.d.ts +4 -3
- package/dist/lib/browser/ipc.js +1 -1
- package/dist/lib/browser/login-detection.d.ts +1 -8
- package/dist/lib/browser/registry.d.ts +2 -1
- package/dist/lib/browser/remote-control.d.ts +0 -7
- package/dist/lib/browser/remote-control.js +2 -2
- package/dist/lib/browser/resolve-target.d.ts +2 -6
- package/dist/lib/browser/resolve-target.js +3 -3
- package/dist/lib/browser/runtime-state.d.ts +4 -4
- package/dist/lib/browser/service.d.ts +4 -4
- package/dist/lib/browser/sessions-list.d.ts +0 -10
- package/dist/lib/browser/sessions-list.js +3 -3
- package/dist/lib/browser/stream.d.ts +2 -1
- package/dist/lib/browser/task-index.d.ts +4 -4
- package/dist/lib/browser/task-index.js +1 -1
- package/dist/lib/browser/types.d.ts +0 -20
- package/dist/lib/browser/types.js +1 -34
- package/dist/lib/browser/upload.d.ts +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -2
- package/dist/lib/budget/ledger.js +1 -1
- package/dist/lib/budget/live-cloud.d.ts +2 -1
- package/dist/lib/budget/preflight.d.ts +3 -5
- package/dist/lib/budget/preflight.js +1 -1
- package/dist/lib/catchup.d.ts +2 -1
- package/dist/lib/channels/owner-forward.d.ts +5 -4
- package/dist/lib/channels/owner-sink.js +2 -2
- package/dist/lib/channels/providers/desktop.js +1 -1
- package/dist/lib/channels/providers/rush.d.ts +2 -1
- package/dist/lib/channels/registry.d.ts +1 -1
- package/dist/lib/channels/registry.js +1 -1
- package/dist/lib/channels/resolve.d.ts +3 -2
- package/dist/lib/channels/send.d.ts +5 -4
- package/dist/lib/cli-resources.d.ts +3 -9
- package/dist/lib/cli-resources.js +1 -1
- package/dist/lib/cloud/cursor.d.ts +1 -2
- package/dist/lib/cloud/cursor.js +1 -1
- package/dist/lib/cloud/dispatch.d.ts +2 -1
- package/dist/lib/cloud/factory.d.ts +0 -2
- package/dist/lib/cloud/factory.js +1 -1
- package/dist/lib/cloud/rush.d.ts +3 -11
- package/dist/lib/cloud/rush.js +1 -1
- package/dist/lib/cloud/session-index.d.ts +2 -1
- package/dist/lib/cloud/types.d.ts +2 -1
- package/dist/lib/codex-policy.d.ts +2 -1
- package/dist/lib/commands.d.ts +7 -7
- package/dist/lib/commands.js +1 -1
- package/dist/lib/comms-render.d.ts +1 -1
- package/dist/lib/computer/context.d.ts +11 -3
- package/dist/lib/computer/context.js +2 -2
- package/dist/lib/computer/policy.d.ts +0 -12
- package/dist/lib/computer/policy.js +1 -1
- package/dist/lib/computer-client.d.ts +3 -3
- package/dist/lib/computer-client.js +0 -1
- package/dist/lib/concurrency.d.ts +2 -1
- package/dist/lib/config-keys.d.ts +16 -3
- package/dist/lib/config-keys.js +47 -2
- package/dist/lib/convert.d.ts +0 -12
- package/dist/lib/convert.js +1 -12
- package/dist/lib/crabbox/cli.d.ts +6 -24
- package/dist/lib/crabbox/cli.js +2 -28
- package/dist/lib/crabbox/lease.d.ts +5 -6
- package/dist/lib/crabbox/lease.js +1 -1
- package/dist/lib/crabbox/progress.d.ts +2 -1
- package/dist/lib/crabbox/setup-copy.d.ts +2 -3
- package/dist/lib/crabbox/setup-copy.js +1 -1
- package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
- package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
- package/dist/lib/daemon/catchup-service.d.ts +2 -1
- package/dist/lib/daemon/daemon.d.ts +4 -4
- package/dist/lib/daemon/daemon.js +1 -1
- package/dist/lib/daemon/harness-update-service.d.ts +2 -19
- package/dist/lib/daemon/harness-update-service.js +3 -3
- package/dist/lib/daemon/runner.d.ts +3 -3
- package/dist/lib/daemon/self-update-service.d.ts +1 -16
- package/dist/lib/daemon/self-update-service.js +6 -6
- package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
- package/dist/lib/daemon/supervisor.d.ts +3 -2
- package/dist/lib/daemon-services.d.ts +2 -1
- package/dist/lib/daemon-webhooks.d.ts +1 -1
- package/dist/lib/deeplink/register.d.ts +3 -13
- package/dist/lib/deeplink/register.js +3 -3
- package/dist/lib/deeplink/url.d.ts +3 -2
- package/dist/lib/device-config.d.ts +4 -15
- package/dist/lib/device-config.js +164 -8
- package/dist/lib/devices/connect.d.ts +2 -1
- package/dist/lib/devices/discovery-policy.d.ts +3 -2
- package/dist/lib/devices/doctor-findings.js +1 -1
- package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
- package/dist/lib/devices/fleet-divergence.d.ts +2 -1
- package/dist/lib/devices/fleet.d.ts +3 -4
- package/dist/lib/devices/fleet.js +1 -1
- package/dist/lib/devices/harness-inventory.d.ts +3 -2
- package/dist/lib/devices/health-report.d.ts +3 -2
- package/dist/lib/devices/health.d.ts +1 -8
- package/dist/lib/devices/health.js +1 -1
- package/dist/lib/devices/interactive-host.d.ts +0 -2
- package/dist/lib/devices/interactive-host.js +1 -1
- package/dist/lib/devices/known-hosts.d.ts +2 -20
- package/dist/lib/devices/known-hosts.js +2 -2
- package/dist/lib/devices/pool.d.ts +2 -1
- package/dist/lib/devices/resolve-target.d.ts +2 -2
- package/dist/lib/devices/rollout-verify.d.ts +3 -2
- package/dist/lib/devices/stats-cache.d.ts +3 -2
- package/dist/lib/devices/sync.d.ts +6 -5
- package/dist/lib/devices/worker-pick.d.ts +3 -12
- package/dist/lib/devices/worker-pick.js +1 -1
- package/dist/lib/diff-text.d.ts +2 -1
- package/dist/lib/doctor-diff.d.ts +2 -1
- package/dist/lib/drift-sync.d.ts +3 -2
- package/dist/lib/drift.d.ts +3 -3
- package/dist/lib/drift.js +1 -1
- package/dist/lib/event-families.d.ts +0 -6
- package/dist/lib/event-families.js +3 -3
- package/dist/lib/event-provenance.d.ts +2 -1
- package/dist/lib/events-ingest.d.ts +4 -3
- package/dist/lib/exec-account-home.d.ts +2 -4
- package/dist/lib/exec-account-home.js +1 -1
- package/dist/lib/exec-bounded.d.ts +3 -4
- package/dist/lib/exec-bounded.js +1 -1
- package/dist/lib/exec.d.ts +6 -18
- package/dist/lib/exec.js +1 -1
- package/dist/lib/factory/snapshot.d.ts +2 -2
- package/dist/lib/factory/snapshot.js +1 -1
- package/dist/lib/feed/activity-stream.d.ts +2 -5
- package/dist/lib/feed/activity-stream.js +2 -2
- package/dist/lib/feed/activity.d.ts +8 -33
- package/dist/lib/feed/activity.js +8 -8
- package/dist/lib/feed/answer.d.ts +3 -2
- package/dist/lib/feed/attention.js +5 -1
- package/dist/lib/feed/events.d.ts +2 -47
- package/dist/lib/feed/events.js +1 -141
- package/dist/lib/feed/feed.d.ts +9 -42
- package/dist/lib/feed/feed.js +1 -60
- package/dist/lib/feed/pr-status.d.ts +0 -2
- package/dist/lib/feed/pr-status.js +1 -5
- package/dist/lib/feed/watch.d.ts +1 -2
- package/dist/lib/feed/watch.js +0 -1
- package/dist/lib/feed-broadcast.d.ts +5 -47
- package/dist/lib/feed-broadcast.js +9 -9
- package/dist/lib/feed-outcome.d.ts +3 -6
- package/dist/lib/feed-outcome.js +2 -2
- package/dist/lib/feed-policy.d.ts +5 -6
- package/dist/lib/feed-policy.js +2 -2
- package/dist/lib/feed-post.d.ts +3 -4
- package/dist/lib/feed-post.js +1 -1
- package/dist/lib/feed-ranking.d.ts +2 -2
- package/dist/lib/feed-ranking.js +1 -1
- package/dist/lib/fleet/apply.d.ts +5 -6
- package/dist/lib/fleet/apply.js +4 -4
- package/dist/lib/fleet/manifest.d.ts +2 -1
- package/dist/lib/fleet/remote-login.d.ts +18 -36
- package/dist/lib/fleet/remote-login.js +20 -19
- package/dist/lib/fleet/types.d.ts +0 -8
- package/dist/lib/fleet-cache.d.ts +1 -18
- package/dist/lib/fleet-cache.js +0 -5
- package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
- package/dist/lib/fleet-shared-repo-sync.js +1 -1
- package/dist/lib/fleet-shared-state.d.ts +3 -2
- package/dist/lib/format.d.ts +2 -1
- package/dist/lib/friction-heuristics.d.ts +2 -1
- package/dist/lib/fs-walk.d.ts +2 -1
- package/dist/lib/fuzzy.d.ts +2 -1
- package/dist/lib/gemini-settings.d.ts +0 -1
- package/dist/lib/gemini-settings.js +1 -1
- package/dist/lib/git.d.ts +7 -65
- package/dist/lib/git.js +3 -142
- package/dist/lib/github/gh-overload.d.ts +0 -4
- package/dist/lib/github/gh-overload.js +2 -2
- package/dist/lib/github/project-prs.d.ts +118 -0
- package/dist/lib/github/project-prs.js +173 -0
- package/dist/lib/github/rest.d.ts +2 -1
- package/dist/lib/harness/exec-config-version.d.ts +2 -1
- package/dist/lib/harness-auth-capabilities.d.ts +5 -4
- package/dist/lib/harness-connection-test.d.ts +2 -1
- package/dist/lib/heal.d.ts +3 -20
- package/dist/lib/heal.js +2 -39
- package/dist/lib/help.d.ts +3 -2
- package/dist/lib/helper-download.d.ts +0 -12
- package/dist/lib/helper-download.js +2 -2
- package/dist/lib/helper-versions.d.ts +2 -1
- package/dist/lib/helper-versions.js +1 -1
- package/dist/lib/hooks/install.d.ts +8 -49
- package/dist/lib/hooks/install.js +2 -96
- package/dist/lib/hooks/match.d.ts +2 -1
- package/dist/lib/hosts/credential-transport.d.ts +0 -2
- package/dist/lib/hosts/credential-transport.js +1 -1
- package/dist/lib/hosts/dispatch.d.ts +2 -24
- package/dist/lib/hosts/dispatch.js +2 -2
- package/dist/lib/hosts/logs.d.ts +2 -1
- package/dist/lib/hosts/passthrough.d.ts +1 -1
- package/dist/lib/hosts/passthrough.js +0 -1
- package/dist/lib/hosts/progress.d.ts +0 -5
- package/dist/lib/hosts/progress.js +1 -1
- package/dist/lib/hosts/ready.d.ts +3 -4
- package/dist/lib/hosts/ready.js +0 -8
- package/dist/lib/hosts/reconcile.d.ts +2 -8
- package/dist/lib/hosts/reconcile.js +1 -1
- package/dist/lib/hosts/reconnect.d.ts +4 -11
- package/dist/lib/hosts/reconnect.js +2 -2
- package/dist/lib/hosts/registry.d.ts +1 -1
- package/dist/lib/hosts/remote-cmd.d.ts +4 -3
- package/dist/lib/hosts/session-index.d.ts +3 -2
- package/dist/lib/hosts/ssh-config.d.ts +2 -3
- package/dist/lib/hosts/ssh-config.js +0 -10
- package/dist/lib/humans.d.ts +0 -2
- package/dist/lib/humans.js +2 -2
- package/dist/lib/import.d.ts +4 -3
- package/dist/lib/installations/installation-lock.d.ts +0 -2
- package/dist/lib/installations/installation-lock.js +2 -2
- package/dist/lib/installations/launch-gate.d.ts +0 -9
- package/dist/lib/installations/launch-gate.js +1 -1
- package/dist/lib/installations/migrate.d.ts +0 -11
- package/dist/lib/installations/migrate.js +1 -1
- package/dist/lib/installations/shims.d.ts +1 -1
- package/dist/lib/installations/shims.js +2 -2
- package/dist/lib/installations/update-runtime.js +1 -1
- package/dist/lib/linear-cache.d.ts +2 -1
- package/dist/lib/linux-userns.d.ts +2 -3
- package/dist/lib/linux-userns.js +0 -4
- package/dist/lib/loop.d.ts +2 -1
- package/dist/lib/mailbox-gc.d.ts +2 -1
- package/dist/lib/mailbox-target.d.ts +2 -1
- package/dist/lib/mailbox.d.ts +0 -6
- package/dist/lib/mailbox.js +1 -1
- package/dist/lib/manifest.d.ts +0 -14
- package/dist/lib/manifest.js +2 -2
- package/dist/lib/mcp-registry.d.ts +2 -1
- package/dist/lib/memory.d.ts +2 -13
- package/dist/lib/memory.js +4 -4
- package/dist/lib/menubar/download-menubar.d.ts +0 -2
- package/dist/lib/menubar/download-menubar.js +1 -5
- package/dist/lib/menubar/install-menubar.d.ts +3 -14
- package/dist/lib/menubar/install-menubar.js +3 -3
- package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
- package/dist/lib/menubar/migrate-prefs.js +168 -0
- package/dist/lib/menubar/resolve-version.d.ts +1 -9
- package/dist/lib/menubar/resolve-version.js +4 -4
- package/dist/lib/menubar/snapshot.d.ts +24 -2
- package/dist/lib/menubar/snapshot.js +26 -0
- package/dist/lib/model-tier-overrides.d.ts +3 -2
- package/dist/lib/monitors/config.d.ts +0 -2
- package/dist/lib/monitors/config.js +0 -4
- package/dist/lib/monitors/engine.d.ts +1 -1
- package/dist/lib/monitors/remote.d.ts +3 -2
- package/dist/lib/monitors/sources/webhook.d.ts +2 -15
- package/dist/lib/monitors/sources/webhook.js +1 -38
- package/dist/lib/monitors/state.d.ts +4 -7
- package/dist/lib/monitors/state.js +2 -2
- package/dist/lib/notify.d.ts +1 -1
- package/dist/lib/notify.js +1 -1
- package/dist/lib/onepassword.d.ts +5 -14
- package/dist/lib/onepassword.js +0 -64
- package/dist/lib/open-url.d.ts +3 -2
- package/dist/lib/openclaw-keychain.d.ts +4 -17
- package/dist/lib/openclaw-keychain.js +3 -33
- package/dist/lib/operator.d.ts +2 -2
- package/dist/lib/operator.js +1 -1
- package/dist/lib/output/git-output.d.ts +4 -14
- package/dist/lib/output/git-output.js +1 -1
- package/dist/lib/owner-message.d.ts +3 -29
- package/dist/lib/owner-message.js +3 -3
- package/dist/lib/packages/output-home.d.ts +2 -4
- package/dist/lib/packages/output-home.js +2 -2
- package/dist/lib/perf/db.d.ts +0 -2
- package/dist/lib/perf/db.js +2 -7
- package/dist/lib/permissions-registry.d.ts +2 -3
- package/dist/lib/permissions-registry.js +0 -4
- package/dist/lib/permissions.d.ts +6 -16
- package/dist/lib/permissions.js +2 -15
- package/dist/lib/picker.d.ts +6 -5
- package/dist/lib/placement.d.ts +3 -6
- package/dist/lib/placement.js +0 -17
- package/dist/lib/platform/posixpath.d.ts +2 -1
- package/dist/lib/platform/winpath.d.ts +2 -1
- package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
- package/dist/lib/plugins/plugin-marketplace.js +1 -1
- package/dist/lib/pr-land-detach.d.ts +2 -1
- package/dist/lib/profiles-presets.d.ts +2 -1
- package/dist/lib/profiles.d.ts +3 -9
- package/dist/lib/profiles.js +1 -9
- package/dist/lib/project-doctor.d.ts +2 -1
- package/dist/lib/project-launch.d.ts +2 -2
- package/dist/lib/project-probe.d.ts +4 -3
- package/dist/lib/project-pull.d.ts +2 -1
- package/dist/lib/project-resources.d.ts +2 -2
- package/dist/lib/project-resources.js +1 -1
- package/dist/lib/project-root.d.ts +2 -6
- package/dist/lib/project-root.js +1 -1
- package/dist/lib/project-schedule.d.ts +2 -1
- package/dist/lib/project-status.d.ts +2 -16
- package/dist/lib/project-status.js +3 -3
- package/dist/lib/reconcile-and-repair.d.ts +5 -4
- package/dist/lib/redact.d.ts +7 -1
- package/dist/lib/redact.js +94 -3
- package/dist/lib/refresh-coordinator.d.ts +2 -1
- package/dist/lib/refresh.d.ts +3 -2
- package/dist/lib/remote-agents-json.d.ts +3 -2
- package/dist/lib/reserved-stores.d.ts +0 -2
- package/dist/lib/reserved-stores.js +3 -5
- package/dist/lib/resource-content-diff.d.ts +0 -2
- package/dist/lib/resource-content-diff.js +1 -1
- package/dist/lib/resource-patterns.d.ts +2 -1
- package/dist/lib/resource-profiles.d.ts +2 -8
- package/dist/lib/resource-profiles.js +3 -27
- package/dist/lib/resources/workflows.d.ts +1 -1
- package/dist/lib/resources.d.ts +4 -9
- package/dist/lib/resources.js +1 -1
- package/dist/lib/routine-context.d.ts +2 -5
- package/dist/lib/routine-context.js +2 -2
- package/dist/lib/routine-notify-owner.d.ts +8 -7
- package/dist/lib/routine-notify-owner.js +5 -5
- package/dist/lib/routine-process-cleanup.d.ts +2 -1
- package/dist/lib/routine-readiness.d.ts +0 -2
- package/dist/lib/routine-readiness.js +0 -7
- package/dist/lib/routines-project.d.ts +3 -4
- package/dist/lib/routines-project.js +1 -1
- package/dist/lib/rules/compile.d.ts +3 -25
- package/dist/lib/rules/compile.js +1 -1
- package/dist/lib/rules/compose.d.ts +3 -9
- package/dist/lib/rules/rules.d.ts +4 -15
- package/dist/lib/rules/rules.js +1 -64
- package/dist/lib/run-defaults.d.ts +1 -1
- package/dist/lib/run-notify.d.ts +2 -1
- package/dist/lib/run-trace-sync.d.ts +1 -1
- package/dist/lib/run-trace-sync.js +1 -1
- package/dist/lib/scheduler.d.ts +2 -1
- package/dist/lib/scheduling/routines.d.ts +9 -21
- package/dist/lib/scheduling/routines.js +3 -46
- package/dist/lib/secrets-client.d.ts +0 -17
- package/dist/lib/secrets-client.js +4 -26
- package/dist/lib/secrets-policy.d.ts +12 -17
- package/dist/lib/secrets-policy.js +5 -5
- package/dist/lib/secrets-types.d.ts +3 -2
- package/dist/lib/secrets-types.js +2 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -1
- package/dist/lib/self-heal/registry.d.ts +3 -2
- package/dist/lib/self-heal/types.d.ts +1 -1
- package/dist/lib/self-heal/types.js +1 -1
- package/dist/lib/self-update.d.ts +5 -5
- package/dist/lib/self-update.js +4 -4
- package/dist/lib/session/actor-sidecar.d.ts +3 -2
- package/dist/lib/session/artifacts.d.ts +0 -2
- package/dist/lib/session/artifacts.js +1 -1
- package/dist/lib/session/bash-command.d.ts +2 -7
- package/dist/lib/session/bundle.d.ts +4 -6
- package/dist/lib/session/bundle.js +1 -5
- package/dist/lib/session/cloud.d.ts +0 -4
- package/dist/lib/session/cloud.js +2 -15
- package/dist/lib/session/detached.d.ts +2 -1
- package/dist/lib/session/detached.js +2 -2
- package/dist/lib/session/digest.d.ts +2 -2
- package/dist/lib/session/digest.js +1 -1
- package/dist/lib/session/fork.d.ts +3 -2
- package/dist/lib/session/highlights.d.ts +6 -5
- package/dist/lib/session/hook-sessions.d.ts +2 -1
- package/dist/lib/session/host-link.d.ts +2 -1
- package/dist/lib/session/inject.d.ts +1 -1
- package/dist/lib/session/inject.js +1 -1
- package/dist/lib/session/insights.d.ts +3 -15
- package/dist/lib/session/insights.js +2 -2
- package/dist/lib/session/local-tmux-attach.d.ts +2 -18
- package/dist/lib/session/local-tmux-attach.js +1 -1
- package/dist/lib/session/migrations.d.ts +0 -1
- package/dist/lib/session/migrations.js +1 -1
- package/dist/lib/session/mirror.d.ts +5 -8
- package/dist/lib/session/mirror.js +2 -2
- package/dist/lib/session/parse.d.ts +1 -32
- package/dist/lib/session/parse.js +4 -4
- package/dist/lib/session/presence.d.ts +2 -1
- package/dist/lib/session/prompt.d.ts +3 -2
- package/dist/lib/session/prompt.js +38 -1
- package/dist/lib/session/recovery.d.ts +3 -2
- package/dist/lib/session/remote/peer-stream.d.ts +2 -5
- package/dist/lib/session/remote/peer-stream.js +2 -2
- package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
- package/dist/lib/session/remote/remote-list.d.ts +5 -5
- package/dist/lib/session/remote/remote.d.ts +4 -3
- package/dist/lib/session/remote/watch.d.ts +2 -7
- package/dist/lib/session/remote/watch.js +3 -3
- package/dist/lib/session/remote-active.d.ts +2 -1
- package/dist/lib/session/render.d.ts +2 -2
- package/dist/lib/session/render.js +1 -1
- package/dist/lib/session/resume-owner.d.ts +1 -1
- package/dist/lib/session/resume-owner.js +1 -1
- package/dist/lib/session/run-names.d.ts +2 -1
- package/dist/lib/session/session-cache.d.ts +7 -26
- package/dist/lib/session/session-cache.js +2 -8
- package/dist/lib/session/share-html.d.ts +1 -21
- package/dist/lib/session/share-html.js +1 -1
- package/dist/lib/session/shell-programs.d.ts +2 -1
- package/dist/lib/session/state.d.ts +41 -8
- package/dist/lib/session/state.js +112 -11
- package/dist/lib/session/stream-render.d.ts +2 -1
- package/dist/lib/session/sync/agents.d.ts +0 -4
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +5 -5
- package/dist/lib/session/sync/managed-config.d.ts +0 -8
- package/dist/lib/session/sync/managed-key.d.ts +0 -2
- package/dist/lib/session/sync/managed-key.js +1 -1
- package/dist/lib/session/sync/r2.d.ts +4 -1
- package/dist/lib/session/sync/r2.js +4 -7
- package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
- package/dist/lib/session/tail.d.ts +2 -1
- package/dist/lib/session/team-filter.d.ts +1 -1
- package/dist/lib/session/throughput.d.ts +2 -3
- package/dist/lib/session/throughput.js +1 -1
- package/dist/lib/session/timeline-pass.d.ts +3 -42
- package/dist/lib/session/timeline-pass.js +4 -4
- package/dist/lib/session/timeline.d.ts +3 -13
- package/dist/lib/session/timeline.js +3 -3
- package/dist/lib/session/tool-calls.d.ts +2 -2
- package/dist/lib/session/tool-calls.js +1 -1
- package/dist/lib/session/tool-index.d.ts +0 -8
- package/dist/lib/session/tool-index.js +2 -2
- package/dist/lib/session/tool-store.d.ts +2 -1
- package/dist/lib/session/trajectory-compare.d.ts +2 -1
- package/dist/lib/session/trajectory-lineage.d.ts +2 -1
- package/dist/lib/session/trajectory-text.d.ts +3 -2
- package/dist/lib/session/trajectory.d.ts +2 -1
- package/dist/lib/session/viewing-in.d.ts +2 -1
- package/dist/lib/settings-manifest.d.ts +2 -1
- package/dist/lib/share/delete.d.ts +5 -4
- package/dist/lib/share/html.d.ts +0 -2
- package/dist/lib/share/html.js +9 -9
- package/dist/lib/share/http-error.d.ts +3 -2
- package/dist/lib/share/og.d.ts +2 -1
- package/dist/lib/share/provision.d.ts +2 -2
- package/dist/lib/share/publish.d.ts +4 -13
- package/dist/lib/share/publish.js +2 -2
- package/dist/lib/shim-heal.d.ts +1 -5
- package/dist/lib/shim-heal.js +0 -6
- package/dist/lib/smart-launch.d.ts +4 -5
- package/dist/lib/smart-launch.js +1 -1
- package/dist/lib/snapshot.d.ts +3 -2
- package/dist/lib/ssh-exec.d.ts +5 -4
- package/dist/lib/ssh-tunnel.d.ts +3 -2
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
- package/dist/lib/staleness/checkers/permissions.js +1 -1
- package/dist/lib/staleness/fingerprint.d.ts +0 -7
- package/dist/lib/staleness/fingerprint.js +1 -1
- package/dist/lib/staleness/prune.d.ts +3 -2
- package/dist/lib/staleness/registry.d.ts +1 -1
- package/dist/lib/staleness/writers/sources.d.ts +0 -8
- package/dist/lib/staleness/writers/sources.js +1 -1
- package/dist/lib/startup/command-registry.js +1 -1
- package/dist/lib/state.d.ts +1 -3
- package/dist/lib/state.js +1 -4
- package/dist/lib/subagents-registry.d.ts +4 -3
- package/dist/lib/subagents.d.ts +2 -1
- package/dist/lib/subagents.js +3 -2
- package/dist/lib/summarizer/pass.d.ts +3 -6
- package/dist/lib/summarizer/pass.js +2 -2
- package/dist/lib/summarizer/summarize.d.ts +4 -3
- package/dist/lib/sync-passphrase.d.ts +3 -2
- package/dist/lib/sync-status.d.ts +3 -16
- package/dist/lib/sync-status.js +2 -2
- package/dist/lib/sync-umbrella.d.ts +4 -3
- package/dist/lib/system-run-sync.d.ts +2 -1
- package/dist/lib/teams/agents.d.ts +2 -4
- package/dist/lib/teams/agents.js +1 -1
- package/dist/lib/teams/forEach.d.ts +3 -2
- package/dist/lib/teams/pr-watch.d.ts +4 -11
- package/dist/lib/teams/pr-watch.js +4 -4
- package/dist/lib/teams/registry.d.ts +2 -3
- package/dist/lib/teams/registry.js +1 -1
- package/dist/lib/teams/remoteWorktree.d.ts +0 -16
- package/dist/lib/teams/remoteWorktree.js +3 -3
- package/dist/lib/teams/scheduler.d.ts +6 -5
- package/dist/lib/teams/scheduler.js +1 -1
- package/dist/lib/teams/supervisor.d.ts +4 -3
- package/dist/lib/teams/worktree.d.ts +0 -9
- package/dist/lib/teams/worktree.js +0 -32
- package/dist/lib/term-client.d.ts +44 -0
- package/dist/lib/term-client.js +117 -0
- package/dist/lib/terminal/inject.d.ts +3 -16
- package/dist/lib/terminal/inject.js +1 -29
- package/dist/lib/terminal/resolve.d.ts +3 -9
- package/dist/lib/terminal/resolve.js +3 -7
- package/dist/lib/tmux/binary.d.ts +2 -1
- package/dist/lib/tmux/orphan-reap.d.ts +6 -7
- package/dist/lib/tmux/orphan-reap.js +1 -1
- package/dist/lib/tmux/session.d.ts +4 -3
- package/dist/lib/traces/classify.d.ts +3 -2
- package/dist/lib/traces/config.d.ts +0 -8
- package/dist/lib/traces/insights.d.ts +2 -1
- package/dist/lib/traces/phenotype.d.ts +3 -3
- package/dist/lib/traces/provision.d.ts +1 -3
- package/dist/lib/traces/provision.js +1 -1
- package/dist/lib/traces/schema2-build.d.ts +1 -1
- package/dist/lib/traces/schema2-danger.d.ts +2 -1
- package/dist/lib/traces/schema2.d.ts +5 -4
- package/dist/lib/traces/segments.d.ts +4 -20
- package/dist/lib/traces/segments.js +3 -3
- package/dist/lib/traces/sync.d.ts +2 -3
- package/dist/lib/traces/sync.js +1 -1
- package/dist/lib/triggers/handlers.d.ts +4 -13
- package/dist/lib/triggers/handlers.js +1 -1
- package/dist/lib/triggers/webhook.d.ts +5 -27
- package/dist/lib/triggers/webhook.js +4 -4
- package/dist/lib/types.d.ts +3 -3
- package/dist/lib/usage-refresh.d.ts +4 -10
- package/dist/lib/usage-refresh.js +3 -8
- package/dist/lib/verbs.d.ts +2 -1
- package/dist/lib/version-duplicates.d.ts +2 -3
- package/dist/lib/version-duplicates.js +3 -33
- package/dist/lib/version.d.ts +2 -1
- package/dist/lib/warn-unpushed.d.ts +2 -1
- package/dist/lib/watchdog/history.d.ts +3 -2
- package/dist/lib/watchdog/log.d.ts +0 -6
- package/dist/lib/watchdog/log.js +1 -1
- package/dist/lib/watchdog/rotate.d.ts +2 -26
- package/dist/lib/watchdog/rotate.js +4 -12
- package/dist/lib/watchdog/runner.d.ts +0 -7
- package/dist/lib/watchdog/runner.js +4 -4
- package/dist/lib/watchdog/service.d.ts +2 -2
- package/dist/lib/watchdog/service.js +1 -1
- package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
- package/dist/lib/watchdog/watchdog.d.ts +2 -1
- package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
- package/dist/lib/workflows-registry.d.ts +3 -2
- package/dist/lib/workflows.d.ts +4 -7
- package/dist/lib/workflows.js +1 -1
- package/dist/lib/worktree/held.d.ts +4 -28
- package/dist/lib/worktree/held.js +3 -3
- package/package.json +2 -3
- package/scripts/postinstall.js +5 -4
- package/dist/commands/pty.d.ts +0 -20
- package/dist/commands/pty.js +0 -404
- package/dist/lib/config-machine-keys.d.ts +0 -14
- package/dist/lib/config-machine-keys.js +0 -21
- package/dist/lib/pty-client.d.ts +0 -49
- package/dist/lib/pty-client.js +0 -315
- package/dist/lib/pty-server.d.ts +0 -59
- package/dist/lib/pty-server.js +0 -653
|
@@ -12,7 +12,7 @@ export interface AccountRegistryDocument {
|
|
|
12
12
|
version: 2;
|
|
13
13
|
accounts: Record<string, CredentialAccount>;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
interface ResolvedCredentialAccount {
|
|
16
16
|
id: string;
|
|
17
17
|
name: string;
|
|
18
18
|
provider: string;
|
|
@@ -27,7 +27,6 @@ export { registeredNativeAccountForEmail, parseNativeIdentityKey } from './nativ
|
|
|
27
27
|
export type UnifiedAccount = (CredentialAccount & {
|
|
28
28
|
kind: 'provider';
|
|
29
29
|
}) | NativeAccount;
|
|
30
|
-
export declare function accountRegistryPath(base?: string): string;
|
|
31
30
|
export declare function readAccountRegistry(base?: string): AccountRegistryDocument;
|
|
32
31
|
export declare function findAccount(name: string, doc?: AccountRegistryDocument): CredentialAccount | null;
|
|
33
32
|
/**
|
|
@@ -113,7 +112,7 @@ export declare function unbindAccount(nameOrId: string, target: string, preferAg
|
|
|
113
112
|
/** Every target bound to `accountId`: this box's device-doc bindings merged over
|
|
114
113
|
* the fleet-shared central bindings (PHNX-3315). */
|
|
115
114
|
export declare function accountBindings(accountId: string, meta: Pick<Meta, 'accounts' | 'deviceAccounts'>): string[];
|
|
116
|
-
|
|
115
|
+
interface AccountSelection {
|
|
117
116
|
id: string;
|
|
118
117
|
source: 'explicit' | 'binding' | 'default';
|
|
119
118
|
}
|
|
@@ -122,7 +121,7 @@ export declare function resolveAccountSelection(explicit: string | undefined, ag
|
|
|
122
121
|
useDefault?: boolean;
|
|
123
122
|
target?: string;
|
|
124
123
|
}): AccountSelection | undefined;
|
|
125
|
-
|
|
124
|
+
interface AddAccountOptions {
|
|
126
125
|
baseUrl?: string;
|
|
127
126
|
}
|
|
128
127
|
export declare function addAccount(name: string, provider: string, auth: AccountAuthKind, secret: string, base?: string, opts?: AddAccountOptions): CredentialAccount;
|
|
@@ -32,7 +32,7 @@ export { registeredNativeAccountForEmail, parseNativeIdentityKey } from './nativ
|
|
|
32
32
|
const NAME = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
|
|
33
33
|
const NATIVE_LABEL = /^[a-zA-Z0-9][a-zA-Z0-9@._+-]*$/;
|
|
34
34
|
const AUTH_KINDS = ['api-key', 'setup-token', 'bearer-token'];
|
|
35
|
-
|
|
35
|
+
function accountRegistryPath(base = getUserAgentsDir()) { return path.join(base, 'accounts.yaml'); }
|
|
36
36
|
function assertName(name) {
|
|
37
37
|
if (!NAME.test(name))
|
|
38
38
|
throw new Error('Account name must start with a letter or number and contain only letters, numbers, dot, underscore, or dash.');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { AgentId, Meta } from '../types.js';
|
|
2
2
|
import { type RotateCandidate } from './rotate.js';
|
|
3
|
-
|
|
3
|
+
type ResolvedLaunchAccountKind = 'native' | 'provider' | 'legacy-native';
|
|
4
4
|
/** Safe account identity that may be passed between launch consumers. */
|
|
5
|
-
|
|
5
|
+
interface ResolvedLaunchAccount {
|
|
6
6
|
kind: ResolvedLaunchAccountKind;
|
|
7
7
|
/** Stable registry id, or the durable identity key for an unmigrated login. */
|
|
8
8
|
id: string;
|
|
@@ -29,7 +29,7 @@ export interface ResolvedLocalAccountLaunch {
|
|
|
29
29
|
signedIn: boolean | null;
|
|
30
30
|
email: string | null;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
interface ResolveLocalAccountLaunchOptions {
|
|
33
33
|
agent: AgentId;
|
|
34
34
|
/** Selects the executable only. It never chooses account state. */
|
|
35
35
|
executableVersion: string;
|
|
@@ -52,3 +52,4 @@ export interface ResolveLocalAccountLaunchOptions {
|
|
|
52
52
|
* never rediscovered by scanning homes for identity.
|
|
53
53
|
*/
|
|
54
54
|
export declare function resolveLocalAccountLaunch(options: ResolveLocalAccountLaunchOptions): Promise<ResolvedLocalAccountLaunch>;
|
|
55
|
+
export {};
|
|
@@ -29,7 +29,7 @@ export interface RegistryAccountRecord {
|
|
|
29
29
|
secretPresent: boolean;
|
|
30
30
|
}
|
|
31
31
|
/** A registry account eligible to run one harness, ready to map to a candidate. */
|
|
32
|
-
|
|
32
|
+
interface RegistryAccountInput {
|
|
33
33
|
id?: string;
|
|
34
34
|
/** Agent-scoped key so `(claude, X)` and `(codex, X)` stay distinct. */
|
|
35
35
|
accountKey: string;
|
|
@@ -58,3 +58,4 @@ export interface RegistryAccountInput {
|
|
|
58
58
|
* candidate, never excluded.
|
|
59
59
|
*/
|
|
60
60
|
export declare function registryPoolCandidates(records: RegistryAccountRecord[], agent: AgentId): RegistryAccountInput[];
|
|
61
|
+
export {};
|
|
@@ -116,8 +116,6 @@ export declare const RUN_STRATEGIES: RunStrategy[];
|
|
|
116
116
|
* normalizes to `'balanced'` and uses the weighted-random algorithm.
|
|
117
117
|
*/
|
|
118
118
|
export declare function normalizeRunStrategy(value: unknown): RunStrategy | null;
|
|
119
|
-
/** Read project-local run strategy from the nearest agents.yaml, if present. */
|
|
120
|
-
export declare function getProjectRunStrategy(agent: AgentId, startPath: string): RunStrategy | null;
|
|
121
119
|
/**
|
|
122
120
|
* Resolve the configured strategy. Lookup order:
|
|
123
121
|
* 1. project-local agents.yaml (nearest to `startPath`)
|
|
@@ -129,8 +127,6 @@ export declare function getProjectRunStrategy(agent: AgentId, startPath: string)
|
|
|
129
127
|
* than stick to the pinned default even when it's maxed.
|
|
130
128
|
*/
|
|
131
129
|
export declare function getConfiguredRunStrategy(agent: AgentId, startPath?: string): RunStrategy;
|
|
132
|
-
/** Persist the global run strategy used by bare `agents run <agent>`. */
|
|
133
|
-
export declare function setGlobalRunStrategy(agent: AgentId, strategy: RunStrategy): void;
|
|
134
130
|
/**
|
|
135
131
|
* Whether a version home can actually authenticate a launch.
|
|
136
132
|
*
|
|
@@ -147,7 +143,7 @@ export declare function setGlobalRunStrategy(agent: AgentId, strategy: RunStrate
|
|
|
147
143
|
*/
|
|
148
144
|
export declare function isLaunchableSignedIn(signedIn: boolean, presence: Pick<CredentialPresence, 'knownLocation' | 'perVersion'>): boolean;
|
|
149
145
|
/** Launchable-signed-in verdict for ONE specific version on THIS device. */
|
|
150
|
-
|
|
146
|
+
interface VersionLaunchState {
|
|
151
147
|
/** True iff this exact version home can spawn a signed-in agent right now. */
|
|
152
148
|
launchable: boolean;
|
|
153
149
|
/** The version home's account email when launchable, else null. */
|
|
@@ -359,7 +355,7 @@ export declare function pickAvailableCandidate(candidates: RotateCandidate[], pr
|
|
|
359
355
|
* Per-harness routing summary for `agents run auto` — the cross-harness layer
|
|
360
356
|
* that sits above `pickBalancedCandidate` (which is strictly per-harness).
|
|
361
357
|
*/
|
|
362
|
-
|
|
358
|
+
interface HarnessSummary {
|
|
363
359
|
agent: AgentId;
|
|
364
360
|
/** Every installed account slot probed for this harness. */
|
|
365
361
|
candidates: RotateCandidate[];
|
|
@@ -372,7 +368,7 @@ export interface HarnessSummary {
|
|
|
372
368
|
/** Why the harness was excluded, e.g. ['2 rate_limited', '1 signed_out']. Empty when healthy. */
|
|
373
369
|
exclusionReasons: string[];
|
|
374
370
|
}
|
|
375
|
-
|
|
371
|
+
interface HarnessPickResult {
|
|
376
372
|
/** The harness picked for this run. */
|
|
377
373
|
picked: HarnessSummary;
|
|
378
374
|
/** Harnesses with ≥1 healthy account (including the picked one). */
|
|
@@ -473,8 +469,6 @@ export declare function resolveAccountVersion(agent: AgentId, account: string, p
|
|
|
473
469
|
* global default so behavior stays predictable — we never refuse to run.
|
|
474
470
|
*/
|
|
475
471
|
export declare function selectBalancedVersion(agent: AgentId): Promise<RotateResult | null>;
|
|
476
|
-
/** Select the configured version if available, otherwise another available version. */
|
|
477
|
-
export declare function selectAvailableVersion(agent: AgentId, preferredVersion?: string | null): Promise<RotateResult | null>;
|
|
478
472
|
/**
|
|
479
473
|
* Build the enriched `rotation.resolved`/`rotation.unresolved` event payload:
|
|
480
474
|
* the full candidate pool as the router saw it, the pick and WHY, and a
|
|
@@ -8,7 +8,7 @@ import * as fs from 'fs';
|
|
|
8
8
|
import * as path from 'path';
|
|
9
9
|
import { PROJECTION_HORIZON_MIN, capacityWeight } from './capacity.js';
|
|
10
10
|
import { accountDisplayLabel, getAccountInfo, credentialPresence, ALL_AGENT_IDS, } from '../agents.js';
|
|
11
|
-
import { readMeta,
|
|
11
|
+
import { readMeta, getHelpersDir } from '../state.js';
|
|
12
12
|
import { resolveConfiguredModel } from '../models.js';
|
|
13
13
|
import { isTierToken, resolveTier } from '../model-tiers.js';
|
|
14
14
|
import { listInstalledVersions, getVersionHomePath, resolveVersion } from '../installations/versions.js';
|
|
@@ -42,7 +42,7 @@ export function normalizeRunStrategy(value) {
|
|
|
42
42
|
return RUN_STRATEGIES.includes(value) ? value : null;
|
|
43
43
|
}
|
|
44
44
|
/** Read project-local run strategy from the nearest agents.yaml, if present. */
|
|
45
|
-
|
|
45
|
+
function getProjectRunStrategy(agent, startPath) {
|
|
46
46
|
for (const runConfig of getProjectRunConfigs(startPath)) {
|
|
47
47
|
const strategy = normalizeRunStrategy(runConfig[agent]?.strategy);
|
|
48
48
|
if (strategy)
|
|
@@ -65,14 +65,6 @@ export function getConfiguredRunStrategy(agent, startPath = process.cwd()) {
|
|
|
65
65
|
?? normalizeRunStrategy(readMeta().run?.[agent]?.strategy)
|
|
66
66
|
?? 'balanced';
|
|
67
67
|
}
|
|
68
|
-
/** Persist the global run strategy used by bare `agents run <agent>`. */
|
|
69
|
-
export function setGlobalRunStrategy(agent, strategy) {
|
|
70
|
-
const meta = readMeta();
|
|
71
|
-
if (!meta.run)
|
|
72
|
-
meta.run = {};
|
|
73
|
-
meta.run[agent] = { ...(meta.run[agent] ?? {}), strategy };
|
|
74
|
-
writeMeta(meta);
|
|
75
|
-
}
|
|
76
68
|
/**
|
|
77
69
|
* Whether an account may be rotated INTO right now. Defined in terms of
|
|
78
70
|
* {@link readinessFromCandidate} so the router's pick gate and the pre-flight
|
|
@@ -928,10 +920,6 @@ export async function resolveAccountVersion(agent, account, preferredLabel) {
|
|
|
928
920
|
export async function selectBalancedVersion(agent) {
|
|
929
921
|
return pickBalancedCandidate(await collectRunCandidates(agent));
|
|
930
922
|
}
|
|
931
|
-
/** Select the configured version if available, otherwise another available version. */
|
|
932
|
-
export async function selectAvailableVersion(agent, preferredVersion) {
|
|
933
|
-
return pickAvailableCandidate(await collectRunCandidates(agent), preferredVersion);
|
|
934
|
-
}
|
|
935
923
|
/**
|
|
936
924
|
* Record a rotation pick so parallel callers see it as recently-used.
|
|
937
925
|
* Writes a stamp file per agent — lightweight, no locking needed since
|
|
@@ -24,13 +24,13 @@ export interface UsageSyncPayload {
|
|
|
24
24
|
v: 1;
|
|
25
25
|
rows: Record<string, CachedUsageSnapshot>;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
interface PublishUsageSnapshotOptions {
|
|
28
28
|
userAgentsDir?: string;
|
|
29
29
|
cachePath?: string;
|
|
30
30
|
role?: ConfiguredDeviceRole;
|
|
31
31
|
device?: string;
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
interface PublishUsageSnapshotResult {
|
|
34
34
|
published: boolean;
|
|
35
35
|
changed: boolean;
|
|
36
36
|
skipped: string | null;
|
|
@@ -51,14 +51,14 @@ export declare function pushUsageSnapshotNow(options?: PublishUsageSnapshotOptio
|
|
|
51
51
|
published: PublishUsageSnapshotResult;
|
|
52
52
|
transport?: import('../fleet-shared-repo-sync.js').FleetSharedRepoSyncResult;
|
|
53
53
|
}>;
|
|
54
|
-
|
|
54
|
+
interface ConsumeUsageSnapshotsOptions {
|
|
55
55
|
userAgentsDir?: string;
|
|
56
56
|
cachePath?: string;
|
|
57
57
|
role?: ConfiguredDeviceRole;
|
|
58
58
|
device?: string;
|
|
59
59
|
roles?: Record<string, ConfiguredDeviceRole>;
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
interface ConsumeUsageSnapshotsResult {
|
|
62
62
|
sources: string[];
|
|
63
63
|
merged: number;
|
|
64
64
|
skipped: string | null;
|
|
@@ -72,3 +72,4 @@ export interface ConsumeUsageSnapshotsResult {
|
|
|
72
72
|
* newest-wins batch into the worker cache. No network or subprocess is touched.
|
|
73
73
|
*/
|
|
74
74
|
export declare function consumeUsageSnapshotsFromSharedStore(options?: ConsumeUsageSnapshotsOptions): ConsumeUsageSnapshotsResult;
|
|
75
|
+
export {};
|
|
@@ -63,8 +63,6 @@ export declare const USAGE_NO_USAGE_CREDENTIAL_MARKER = "usage unavailable (no u
|
|
|
63
63
|
* this message states both constraints and that the account still runs.
|
|
64
64
|
*/
|
|
65
65
|
export declare function usageNoClaudeUsageCredentialError(): string;
|
|
66
|
-
/** True when an error string is the Claude no-usage-credential state (#2987). */
|
|
67
|
-
export declare function isUsageNoUsageCredentialError(error: string | null | undefined): boolean;
|
|
68
66
|
/**
|
|
69
67
|
* Detect Anthropic's usage-endpoint scope denial: HTTP 403 whose body names
|
|
70
68
|
* `user:profile` (or "scope requirement"). A bare 403 without that body stays
|
|
@@ -86,16 +84,6 @@ export declare function isClaudeUsageScopeDenied(status: number, bodyText: strin
|
|
|
86
84
|
*/
|
|
87
85
|
export declare function usageThrottledError(agent: string, untilMs: number): string;
|
|
88
86
|
export declare function usageUnreachableError(agent: string, cause?: unknown): string;
|
|
89
|
-
/**
|
|
90
|
-
* Marker for a log-based (`network: false`) provider — Codex, Grok — that has
|
|
91
|
-
* simply never recorded a rate-limit event on this machine yet: no session
|
|
92
|
-
* log exists, or no session in it carries usage data. Distinct on purpose from
|
|
93
|
-
* `usageUnreachableError`: that one means the local log COULDN'T be read (a
|
|
94
|
-
* real failure worth surfacing distinctly); this one means there is nothing to
|
|
95
|
-
* read because the account has not run here, which is expected for a fresh
|
|
96
|
-
* install and should render as a benign state, not an error (RUSH-3040).
|
|
97
|
-
*/
|
|
98
|
-
export declare const USAGE_NO_RECENT_USAGE_MARKER = "no usage recorded yet";
|
|
99
87
|
export declare const USAGE_BENIGN_STATE: unique symbol;
|
|
100
88
|
export type UsageBenignState = 'no-recent-usage';
|
|
101
89
|
/**
|
|
@@ -227,8 +215,6 @@ export interface UsageInfo {
|
|
|
227
215
|
/** Benign local state, symbol-backed so `--json` keeps its existing shape. */
|
|
228
216
|
[USAGE_BENIGN_STATE]?: UsageBenignState;
|
|
229
217
|
}
|
|
230
|
-
/** Construct the benign no-local-log result without overloading `error`. */
|
|
231
|
-
export declare function usageNoRecentUsageInfo(): UsageInfo;
|
|
232
218
|
/** Read a benign state for the human renderer; symbols are omitted by JSON serialization. */
|
|
233
219
|
export declare function getUsageBenignState(info: UsageInfo): UsageBenignState | null;
|
|
234
220
|
/** Input needed to identify an account for usage lookup. */
|
|
@@ -282,7 +268,7 @@ interface UsageOptions {
|
|
|
282
268
|
nativeFileLogin?: boolean;
|
|
283
269
|
}
|
|
284
270
|
/** Canonical input for a single usage fetch operation. */
|
|
285
|
-
|
|
271
|
+
interface UsageFetchInput {
|
|
286
272
|
agentId: AgentId;
|
|
287
273
|
home?: string;
|
|
288
274
|
cliVersion: string | null;
|
|
@@ -420,7 +406,7 @@ export declare const USAGE_FETCH_CONCURRENCY = 3;
|
|
|
420
406
|
* JSON export). Deduplicates by usage identity and reads the shared snapshot.
|
|
421
407
|
* Only an explicit `forceRefresh` call may collect provider or local-log state.
|
|
422
408
|
*/
|
|
423
|
-
|
|
409
|
+
interface UsageLookupOptions {
|
|
424
410
|
forceRefresh?: boolean;
|
|
425
411
|
fileOnly?: boolean;
|
|
426
412
|
/** Daemon tick deadline signal, combined with each provider fetch's own timeout (PHNX-3608). */
|
|
@@ -529,7 +515,7 @@ export declare function formatUsageSummary(plan: string | null, snapshot: UsageS
|
|
|
529
515
|
*/
|
|
530
516
|
export declare function deriveUsageStatusFromSnapshot(snapshot: UsageSnapshot | null | undefined): 'available' | 'rate_limited' | null;
|
|
531
517
|
/** A prior sample of one window's utilization, for burn-rate projection. */
|
|
532
|
-
|
|
518
|
+
interface UsagePriorSample {
|
|
533
519
|
/** Epoch ms the prior snapshot was captured. */
|
|
534
520
|
capturedAt: number;
|
|
535
521
|
/** The session window's `usedPercent` in that prior snapshot. */
|
|
@@ -749,12 +735,6 @@ export declare function loadClaudeOauth(home?: string, opts?: {
|
|
|
749
735
|
allowInteractiveLogin?: boolean;
|
|
750
736
|
nativeFileLogin?: boolean;
|
|
751
737
|
}): Promise<ClaudeOauthCredentials | null>;
|
|
752
|
-
/**
|
|
753
|
-
* Save Claude OAuth credentials to the system keychain/keyring.
|
|
754
|
-
* Reads the existing payload, merges the new OAuth fields, and writes back.
|
|
755
|
-
* Exported for regression tests; not part of the public command surface.
|
|
756
|
-
*/
|
|
757
|
-
export declare function saveClaudeOauth(home: string | undefined, credentials: ClaudeOauthCredentials): Promise<boolean>;
|
|
758
738
|
/**
|
|
759
739
|
* Derive the Keychain service name for a Claude home directory.
|
|
760
740
|
* Managed (non-default) homes get a hash suffix for isolation.
|
|
@@ -894,7 +874,7 @@ interface CursorUsageModel {
|
|
|
894
874
|
maxRequestUsage?: number | null;
|
|
895
875
|
}
|
|
896
876
|
/** Response shape from Cursor's dashboard usage endpoint. */
|
|
897
|
-
|
|
877
|
+
interface CursorUsageResponse {
|
|
898
878
|
/** The premium ("fast request") bucket the plan meters. */
|
|
899
879
|
'gpt-4'?: CursorUsageModel | null;
|
|
900
880
|
/** ISO timestamp the monthly request window resets from. */
|
|
@@ -918,13 +898,13 @@ interface CursorPlanUsage {
|
|
|
918
898
|
totalPercentUsed?: number | null;
|
|
919
899
|
}
|
|
920
900
|
/** Response shape from Cursor's dashboard current-period-usage endpoint (subset we render). */
|
|
921
|
-
|
|
901
|
+
interface CursorPeriodUsageResponse {
|
|
922
902
|
planUsage?: CursorPlanUsage | null;
|
|
923
903
|
/** ISO timestamp, or a unix-ms string, marking the end of the current billing cycle. */
|
|
924
904
|
billingCycleEnd?: string | number | null;
|
|
925
905
|
}
|
|
926
906
|
/** Response shape from Cursor's usage-summary endpoint (subset we render). */
|
|
927
|
-
|
|
907
|
+
interface CursorUsageSummaryResponse {
|
|
928
908
|
/** True on a plan with no consumption cap; only tiered self-serve plans populate the percent fields. */
|
|
929
909
|
isUnlimited?: boolean | null;
|
|
930
910
|
individualUsage?: {
|
|
@@ -980,16 +960,12 @@ interface AntigravityOauthToken {
|
|
|
980
960
|
expiry?: string | null;
|
|
981
961
|
}
|
|
982
962
|
/** One per-model quota bucket from the :retrieveUserQuota response. */
|
|
983
|
-
|
|
963
|
+
interface AntigravityQuotaBucket {
|
|
984
964
|
modelId?: string | null;
|
|
985
965
|
tokenType?: string | null;
|
|
986
966
|
remainingFraction?: number | null;
|
|
987
967
|
resetTime?: string | null;
|
|
988
968
|
}
|
|
989
|
-
/** Response shape from the Code Assist :retrieveUserQuota endpoint. */
|
|
990
|
-
export interface AntigravityQuotaResponse {
|
|
991
|
-
buckets?: AntigravityQuotaBucket[] | null;
|
|
992
|
-
}
|
|
993
969
|
/**
|
|
994
970
|
* Parse a stored `agy` OAuth payload into its token. Handles both on-disk
|
|
995
971
|
* shapes: the raw `{ token: {…} }` JSON (Linux file fallback) and the
|
|
@@ -114,7 +114,7 @@ export function usageNoClaudeUsageCredentialError() {
|
|
|
114
114
|
'(RUSH-1822); a setup-token cannot read usage (RUSH-2392). The account still runs.');
|
|
115
115
|
}
|
|
116
116
|
/** True when an error string is the Claude no-usage-credential state (#2987). */
|
|
117
|
-
|
|
117
|
+
function isUsageNoUsageCredentialError(error) {
|
|
118
118
|
return typeof error === 'string' && error.includes(USAGE_NO_USAGE_CREDENTIAL_MARKER);
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
@@ -161,7 +161,7 @@ export function usageUnreachableError(agent, cause) {
|
|
|
161
161
|
* read because the account has not run here, which is expected for a fresh
|
|
162
162
|
* install and should render as a benign state, not an error (RUSH-3040).
|
|
163
163
|
*/
|
|
164
|
-
|
|
164
|
+
const USAGE_NO_RECENT_USAGE_MARKER = 'no usage recorded yet';
|
|
165
165
|
export const USAGE_BENIGN_STATE = Symbol('usageBenignState');
|
|
166
166
|
/**
|
|
167
167
|
* Sentinel `UsageInfo.error` for a read-only lookup whose cache held nothing
|
|
@@ -291,7 +291,7 @@ const PARTIAL_BLOCKS = ['', '\u258F', '\u258E', '\u258D', '\u258C', '\u258B', '\
|
|
|
291
291
|
// alarming and looked maxed-out \u2014 so use a dashed row that says "no data".
|
|
292
292
|
const NO_DATA = '\u2504';
|
|
293
293
|
/** Construct the benign no-local-log result without overloading `error`. */
|
|
294
|
-
|
|
294
|
+
function usageNoRecentUsageInfo() {
|
|
295
295
|
return { snapshot: null, error: null, [USAGE_BENIGN_STATE]: 'no-recent-usage' };
|
|
296
296
|
}
|
|
297
297
|
/** Read a benign state for the human renderer; symbols are omitted by JSON serialization. */
|
|
@@ -1713,7 +1713,7 @@ export async function loadClaudeOauth(home, opts) {
|
|
|
1713
1713
|
* Reads the existing payload, merges the new OAuth fields, and writes back.
|
|
1714
1714
|
* Exported for regression tests; not part of the public command surface.
|
|
1715
1715
|
*/
|
|
1716
|
-
|
|
1716
|
+
async function saveClaudeOauth(home, credentials) {
|
|
1717
1717
|
// Windows not yet supported: Claude Code keeps its credential in the file
|
|
1718
1718
|
// there, so the rotated credential is written by the harness, not here.
|
|
1719
1719
|
if (process.platform !== 'darwin' && process.platform !== 'linux') {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { AgentId } from '../types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export interface InstallationInventory {
|
|
2
|
+
type MigrationActionKind = 'canonical' | 'slot' | 'trash' | 'defer' | 'skip';
|
|
3
|
+
interface InstallationInventory {
|
|
5
4
|
agent: AgentId;
|
|
6
5
|
label: string;
|
|
7
6
|
release: string;
|
|
@@ -19,7 +18,7 @@ export interface InstallationInventory {
|
|
|
19
18
|
sessionCount: number;
|
|
20
19
|
busy: boolean;
|
|
21
20
|
}
|
|
22
|
-
|
|
21
|
+
interface MigrationAction {
|
|
23
22
|
kind: MigrationActionKind;
|
|
24
23
|
label: string;
|
|
25
24
|
release: string;
|
|
@@ -63,8 +62,8 @@ export interface AccountMigrationPlan {
|
|
|
63
62
|
skipped: number;
|
|
64
63
|
};
|
|
65
64
|
}
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
type AccountMigrationManifestStatus = 'planned' | 'complete';
|
|
66
|
+
interface AccountMigrationManifest {
|
|
68
67
|
schema: number;
|
|
69
68
|
at: string;
|
|
70
69
|
dryRun: boolean;
|
|
@@ -93,7 +92,7 @@ export interface AccountMigrationManifest {
|
|
|
93
92
|
/** old `agent@label` → new slot dir (or trash path). */
|
|
94
93
|
map: Record<string, string>;
|
|
95
94
|
}
|
|
96
|
-
|
|
95
|
+
interface AccountMigrateDeps {
|
|
97
96
|
isActive?: (installation: {
|
|
98
97
|
agent: AgentId;
|
|
99
98
|
label: string;
|
|
@@ -102,7 +101,7 @@ export interface AccountMigrateDeps {
|
|
|
102
101
|
}
|
|
103
102
|
export declare function planAccountMigration(agents?: AgentId[], deps?: AccountMigrateDeps): Promise<AccountMigrationPlan>;
|
|
104
103
|
export declare function formatMigrationPlan(plan: AccountMigrationPlan): string;
|
|
105
|
-
|
|
104
|
+
interface ApplyMigrationResult {
|
|
106
105
|
plan: AccountMigrationPlan;
|
|
107
106
|
manifest: AccountMigrationManifest;
|
|
108
107
|
manifestPath: string;
|
|
@@ -115,3 +114,4 @@ export declare function applyAccountMigration(agents?: AgentId[], deps?: Account
|
|
|
115
114
|
* flag this release.
|
|
116
115
|
*/
|
|
117
116
|
export declare function reportAccountSlotMigrationOnUpgrade(): Promise<void>;
|
|
117
|
+
export {};
|
|
@@ -24,7 +24,7 @@ import { countSessionsWithFilePrefix, reindexMovedSessionPaths } from '../sessio
|
|
|
24
24
|
import { atomicWriteFileSync } from '../fs-atomic.js';
|
|
25
25
|
import { getHistoryDir, readMeta, updateMeta } from '../state.js';
|
|
26
26
|
import { recordSlot, slotDir } from './slots.js';
|
|
27
|
-
|
|
27
|
+
const ACCOUNT_MIGRATION_SCHEMA = 1;
|
|
28
28
|
const OPAQUE_LABEL = /^(?:latest|main|acct-[0-9a-f]+|\d+\.\d+.*)$/i;
|
|
29
29
|
function defaultIsActive(installation) {
|
|
30
30
|
return isInstallationLikelyActive(installation);
|
package/dist/lib/acp/client.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
import { type SessionNotification } from '@zed-industries/agent-client-protocol';
|
|
13
13
|
import type { AgentId } from '../types.js';
|
|
14
14
|
import { type ExecMode } from '../exec.js';
|
|
15
|
-
|
|
15
|
+
interface AcpRunOptions {
|
|
16
16
|
agent: AgentId;
|
|
17
17
|
prompt: string;
|
|
18
18
|
cwd: string;
|
|
@@ -20,7 +20,7 @@ export interface AcpRunOptions {
|
|
|
20
20
|
/** Optional: callback invoked for every session/update notification. */
|
|
21
21
|
onUpdate?: (n: SessionNotification) => void;
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface AcpRunResult {
|
|
24
24
|
stopReason: string;
|
|
25
25
|
sessionId: string;
|
|
26
26
|
}
|
|
@@ -29,3 +29,4 @@ export interface AcpRunResult {
|
|
|
29
29
|
* to `onUpdate`. Resolves when the turn completes (StopReason is returned).
|
|
30
30
|
*/
|
|
31
31
|
export declare function runAcp(opts: AcpRunOptions): Promise<AcpRunResult>;
|
|
32
|
+
export {};
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* Sources: https://agentclientprotocol.com/get-started/agents + vendor docs.
|
|
9
9
|
*/
|
|
10
10
|
import type { AgentId } from '../types.js';
|
|
11
|
-
|
|
11
|
+
interface AcpHarnessSpec {
|
|
12
12
|
/** Command + args to spawn the agent in ACP server mode. */
|
|
13
13
|
command: string;
|
|
14
14
|
args: string[];
|
|
@@ -19,8 +19,8 @@ export interface AcpHarnessSpec {
|
|
|
19
19
|
/** Source URL for the invocation. */
|
|
20
20
|
source: string;
|
|
21
21
|
}
|
|
22
|
-
export declare const ACP_HARNESSES: Partial<Record<AgentId, AcpHarnessSpec>>;
|
|
23
22
|
/** Returns the ACP spawn spec for an agent, or undefined if the harness does not speak ACP. */
|
|
24
23
|
export declare function getAcpSpec(agent: AgentId): AcpHarnessSpec | undefined;
|
|
25
24
|
/** True if the harness is known to support ACP (directly or via adapter). */
|
|
26
25
|
export declare function supportsAcp(agent: AgentId): boolean;
|
|
26
|
+
export {};
|
package/dist/lib/acp/run.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { AgentId } from '../types.js';
|
|
9
9
|
import type { ExecMode } from '../exec.js';
|
|
10
|
-
|
|
10
|
+
interface HeadlessAcpOptions {
|
|
11
11
|
agent: AgentId;
|
|
12
12
|
prompt: string;
|
|
13
13
|
cwd: string;
|
|
@@ -16,3 +16,4 @@ export interface HeadlessAcpOptions {
|
|
|
16
16
|
}
|
|
17
17
|
/** Runs a prompt turn over ACP, streaming output to stdout per `json` mode. */
|
|
18
18
|
export declare function runAcpHeadless(opts: HeadlessAcpOptions): Promise<number>;
|
|
19
|
+
export {};
|
package/dist/lib/actor.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export interface ResolvedActor {
|
|
|
30
30
|
avatarUrl?: string;
|
|
31
31
|
}
|
|
32
32
|
/** Result of `tailscale whois --json <ip>` we care about. */
|
|
33
|
-
|
|
33
|
+
interface WhoisIdentity {
|
|
34
34
|
login?: string;
|
|
35
35
|
displayName?: string;
|
|
36
36
|
}
|
|
@@ -55,7 +55,7 @@ export declare function actorAvatar(actor: ResolvedActor, session: PhoenixSessio
|
|
|
55
55
|
* (a dev machine that *is* on the tailnet would otherwise make the local path
|
|
56
56
|
* non-deterministic). Production callers use the defaults.
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
interface ActorResolvers {
|
|
59
59
|
whois: (ip: string) => WhoisIdentity | undefined;
|
|
60
60
|
self: () => WhoisIdentity | undefined;
|
|
61
61
|
/** The Phoenix ID session on this device (a local file read, no network). */
|
|
@@ -97,3 +97,4 @@ export declare function resetActorCache(): void;
|
|
|
97
97
|
* unresolved actor sets no git identity -- git keeps its ambient config.
|
|
98
98
|
*/
|
|
99
99
|
export declare function actorEnv(actor: ResolvedActor): Record<string, string>;
|
|
100
|
+
export {};
|
package/dist/lib/add-dir.d.ts
CHANGED
|
@@ -21,29 +21,13 @@
|
|
|
21
21
|
* support. Silent no-ops stay `none`.
|
|
22
22
|
*/
|
|
23
23
|
import type { AgentId } from './types.js';
|
|
24
|
-
|
|
24
|
+
type AddDirStrategy = 'native-flag' | 'codex-policy' | 'grok-sandbox' | 'none';
|
|
25
25
|
/** How each harness consumes directory grants. Keep in lockstep with apply* below. */
|
|
26
26
|
export declare const ADD_DIR_STRATEGY: Record<AgentId, AddDirStrategy>;
|
|
27
|
-
/** Agents whose launch command is widened by applyAddDirs (excludes codex — policy path). */
|
|
28
|
-
export declare function agentsWithNativeOrGrokAddDir(): AgentId[];
|
|
29
27
|
/** Expand `~` / `$HOME` and de-dupe, preserving order. */
|
|
30
28
|
export declare function normalizeAddDirs(dirs: string[] | undefined): string[];
|
|
31
|
-
/**
|
|
32
|
-
* Append native `--add-dir` flags for harnesses that take them (Claude, Kimi, Cursor).
|
|
33
|
-
* No-op for other strategies — call sites route by ADD_DIR_STRATEGY.
|
|
34
|
-
*/
|
|
35
|
-
export declare function appendNativeAddDirFlags(cmd: string[], dirs: string[]): void;
|
|
36
29
|
/** Profile name written into `.grok/sandbox.toml` under the run cwd. */
|
|
37
30
|
export declare const GROK_PROJECT_SANDBOX_PROFILE = "agents-project";
|
|
38
|
-
/**
|
|
39
|
-
* Active Grok sandbox profile from the env, if a non-off profile is set.
|
|
40
|
-
* Returns null when sandbox is off / unset / devbox (no widen needed).
|
|
41
|
-
*
|
|
42
|
-
* Only `GROK_SANDBOX` is consulted — a profile set only in config.toml is not
|
|
43
|
-
* visible here (Grok does not expose it on the CLI), so those runs still get
|
|
44
|
-
* the rules note but not a custom widen. Prefer env when launching sandboxed.
|
|
45
|
-
*/
|
|
46
|
-
export declare function grokActiveSandboxProfile(env?: NodeJS.ProcessEnv): string | null;
|
|
47
31
|
/** Whether Grok's active sandbox needs a custom profile with extra read_write. */
|
|
48
32
|
export declare function grokNeedsSandboxWiden(env?: NodeJS.ProcessEnv): boolean;
|
|
49
33
|
/**
|
|
@@ -78,3 +62,4 @@ export declare function applyAddDirs(agent: AgentId, cmd: string[], dirs: string
|
|
|
78
62
|
export declare function supportsAddDir(agent: AgentId): boolean;
|
|
79
63
|
/** One-line note for harnesses that ignore grants (used by callers that want to warn). */
|
|
80
64
|
export declare function addDirUnsupportedNote(agent: AgentId): string | null;
|
|
65
|
+
export {};
|
package/dist/lib/add-dir.js
CHANGED
|
@@ -43,10 +43,6 @@ export const ADD_DIR_STRATEGY = {
|
|
|
43
43
|
muse: 'none',
|
|
44
44
|
warp: 'none',
|
|
45
45
|
};
|
|
46
|
-
/** Agents whose launch command is widened by applyAddDirs (excludes codex — policy path). */
|
|
47
|
-
export function agentsWithNativeOrGrokAddDir() {
|
|
48
|
-
return Object.keys(ADD_DIR_STRATEGY).filter((id) => ADD_DIR_STRATEGY[id] === 'native-flag' || ADD_DIR_STRATEGY[id] === 'grok-sandbox');
|
|
49
|
-
}
|
|
50
46
|
/** Expand `~` / `$HOME` and de-dupe, preserving order. */
|
|
51
47
|
export function normalizeAddDirs(dirs) {
|
|
52
48
|
if (!dirs?.length)
|
|
@@ -66,7 +62,7 @@ export function normalizeAddDirs(dirs) {
|
|
|
66
62
|
* Append native `--add-dir` flags for harnesses that take them (Claude, Kimi, Cursor).
|
|
67
63
|
* No-op for other strategies — call sites route by ADD_DIR_STRATEGY.
|
|
68
64
|
*/
|
|
69
|
-
|
|
65
|
+
function appendNativeAddDirFlags(cmd, dirs) {
|
|
70
66
|
for (const dir of dirs) {
|
|
71
67
|
cmd.push('--add-dir', dir);
|
|
72
68
|
}
|
|
@@ -81,7 +77,7 @@ export const GROK_PROJECT_SANDBOX_PROFILE = 'agents-project';
|
|
|
81
77
|
* visible here (Grok does not expose it on the CLI), so those runs still get
|
|
82
78
|
* the rules note but not a custom widen. Prefer env when launching sandboxed.
|
|
83
79
|
*/
|
|
84
|
-
|
|
80
|
+
function grokActiveSandboxProfile(env = process.env) {
|
|
85
81
|
const raw = (env.GROK_SANDBOX ?? '').trim();
|
|
86
82
|
if (!raw)
|
|
87
83
|
return null;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One address grammar for every `--host` an extracted CLI accepts (PHNX-4090).
|
|
3
|
+
*
|
|
4
|
+
* This file is copied verbatim into agents-cli, computer-cli, browser-cli and
|
|
5
|
+
* secrets-cli, each with the same test vectors — deliberately not a published
|
|
6
|
+
* package, so no engine grows a runtime dependency on another. Keep the four
|
|
7
|
+
* copies identical; a change lands in all of them in the same delivery.
|
|
8
|
+
*
|
|
9
|
+
* ssh://[user@]host[:ssh-port] the authority port is the SSH port, never 9222
|
|
10
|
+
* cdp://host[:port] default 9222
|
|
11
|
+
* vnc://host[:port] default 5901
|
|
12
|
+
* tcp://host:port no default — a helper RPC endpoint needs one
|
|
13
|
+
* wss://host/path, ws://… a remote DevTools socket
|
|
14
|
+
* firefox-bidi://host[:port] the browser's BiDi endpoint
|
|
15
|
+
* [user@]host implicit ssh://
|
|
16
|
+
*
|
|
17
|
+
* A query (`?port=9222&os=windows`) is preserved for the consumer that knows
|
|
18
|
+
* what it means. Passwords never travel in an address: `user:secret@host` fails
|
|
19
|
+
* loud, and so does any scheme not listed above.
|
|
20
|
+
*/
|
|
21
|
+
export declare const ADDRESS_SCHEMES: readonly ["ssh", "cdp", "vnc", "tcp", "wss", "ws", "firefox-bidi"];
|
|
22
|
+
export type AddressScheme = (typeof ADDRESS_SCHEMES)[number];
|
|
23
|
+
/** Ports a scheme implies when the address carries none. `tcp` has no default. */
|
|
24
|
+
export declare const DEFAULT_PORTS: Readonly<Partial<Record<AddressScheme, number>>>;
|
|
25
|
+
export interface Address {
|
|
26
|
+
scheme: AddressScheme;
|
|
27
|
+
user?: string;
|
|
28
|
+
host: string;
|
|
29
|
+
/** The port written in the authority, if any. See {@link addressPort} for the default. */
|
|
30
|
+
port?: number;
|
|
31
|
+
/** A non-root path (`wss://hub/devtools` → `/devtools`). */
|
|
32
|
+
path?: string;
|
|
33
|
+
query: Record<string, string>;
|
|
34
|
+
/** The trimmed input, for messages. */
|
|
35
|
+
raw: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function parseAddress(input: string): Address;
|
|
38
|
+
/** The effective port: written, else the scheme's default, else undefined. */
|
|
39
|
+
export declare function addressPort(addr: Address): number | undefined;
|
|
40
|
+
/** `user@host` (or bare `host`) for an `ssh` address — what OpenSSH is given. */
|
|
41
|
+
export declare function sshTarget(addr: Address): string;
|
|
42
|
+
/**
|
|
43
|
+
* OpenSSH options carrying a non-default SSH port. `-o Port=N` rather than
|
|
44
|
+
* `-p`/`-P` so the same argv serves both `ssh` and `scp`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function sshPortArgs(addr: Address): string[];
|
|
47
|
+
/** `host:port` for a `vnc` address, defaulting the RFB display port. */
|
|
48
|
+
export declare function vncEndpoint(addr: Address): string;
|
|
49
|
+
/** `host:port` for a `tcp` address. A helper RPC endpoint has no default port. */
|
|
50
|
+
export declare function tcpEndpoint(addr: Address): string;
|
|
51
|
+
/**
|
|
52
|
+
* The DevTools port a browser endpoint means. On `ssh://` the authority port is
|
|
53
|
+
* the SSH port, so the DevTools port comes only from `?port=`; `cdp://` and
|
|
54
|
+
* `ssh://` default to 9222, path-addressed sockets (`wss://`) have none.
|
|
55
|
+
*/
|
|
56
|
+
export declare function browserEndpointPort(addr: Address): number | undefined;
|