@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
|
@@ -226,7 +226,7 @@ export declare function linkCwdCell(s: Pick<SessionMeta, 'cwd' | '_remote'>, lab
|
|
|
226
226
|
* session from an orphaned one (its terminal died, the agent is still running)
|
|
227
227
|
* without re-implementing the tmux client lookup.
|
|
228
228
|
*/
|
|
229
|
-
|
|
229
|
+
interface SessionPickerJsonRow extends SessionMeta {
|
|
230
230
|
state: ActiveSession['status'] | 'inactive';
|
|
231
231
|
resumable: boolean;
|
|
232
232
|
unwatched: boolean;
|
|
@@ -267,7 +267,7 @@ export declare function renderActiveRowLines(s: ActiveSession, indent: string, t
|
|
|
267
267
|
*/
|
|
268
268
|
export declare function ownerLabel(s: ActiveSession): string;
|
|
269
269
|
/** Grouped + sorted view of active sessions for the --active renderer. */
|
|
270
|
-
|
|
270
|
+
interface ActiveSessionsLayout {
|
|
271
271
|
workspaces: Array<{
|
|
272
272
|
/** Internal grouping key — `__cloud__`, `__unknown__`, or the cwd. */
|
|
273
273
|
key: string;
|
|
@@ -294,7 +294,7 @@ export interface ActiveSessionsLayout {
|
|
|
294
294
|
*/
|
|
295
295
|
export declare function groupActiveSessions(sessions: ActiveSession[]): ActiveSessionsLayout;
|
|
296
296
|
/** One machine's active sessions, keeping the within-machine workspace layout. */
|
|
297
|
-
|
|
297
|
+
interface MachineGroup {
|
|
298
298
|
/** Normalized device id (machineId() form). */
|
|
299
299
|
machine: string;
|
|
300
300
|
/** The machine this command is running on — pinned first and marked. */
|
|
@@ -303,7 +303,7 @@ export interface MachineGroup {
|
|
|
303
303
|
layout: ActiveSessionsLayout;
|
|
304
304
|
}
|
|
305
305
|
/** Active sessions grouped by the machine they run on. */
|
|
306
|
-
|
|
306
|
+
interface MachineGroupedLayout {
|
|
307
307
|
machines: MachineGroup[];
|
|
308
308
|
}
|
|
309
309
|
/**
|
|
@@ -356,10 +356,6 @@ export declare function serializeResolvedSessionsJson(sessions: SessionMeta[]):
|
|
|
356
356
|
* JSON. The fan-out boundary supplies the machine name when an older peer row
|
|
357
357
|
* omitted it. */
|
|
358
358
|
export declare function parseRemoteComputerSessionRows(stdout: string, machine: string): RemoteAgentsJsonParseResult<ComputerRunRow>;
|
|
359
|
-
/** Collect computer history from named peers, or every automatic peer when
|
|
360
|
-
* hosts is omitted. Every peer is forced to JSON and receives the recursion
|
|
361
|
-
* guard through the shared fleet transport. */
|
|
362
|
-
export declare function gatherRemoteComputerSessionRows(hosts?: string[]): Promise<ComputerRunRow[]>;
|
|
363
359
|
/**
|
|
364
360
|
* Whether the local machine's sessions belong in an `--active` view. Local is
|
|
365
361
|
* included by default; an explicit `--device` list scopes the view to
|
|
@@ -414,14 +410,6 @@ export type LiveStatusFilter = 'working' | 'idle' | 'waiting' | 'orphaned' | 'cr
|
|
|
414
410
|
export declare function matchesLiveStatus(session: ActiveSession, status: LiveStatusFilter): boolean;
|
|
415
411
|
/** Resolve convenience flags once. Multiple flags intentionally form a union. */
|
|
416
412
|
export declare function requestedLiveStatuses(options: SessionsOptions): LiveStatusFilter[];
|
|
417
|
-
/**
|
|
418
|
-
* A bare interactive fleet listing — no query, no render/filter flag — that the
|
|
419
|
-
* `runSessionBrowser` picker can represent. The single predicate shared by the
|
|
420
|
-
* bare-browser branch and the `--device` early-return guard so they can't drift:
|
|
421
|
-
* when this holds, an explicit `--device` scope is folded into the
|
|
422
|
-
* browser (preview-rich, selectable) instead of the legacy per-host raw stream.
|
|
423
|
-
*/
|
|
424
|
-
export declare function isBareBrowserListing(options: SessionsOptions, query: string | undefined): boolean;
|
|
425
413
|
/**
|
|
426
414
|
* Pure flag-gate half of {@link isBareBrowserListing} (TTY-independent, so it is
|
|
427
415
|
* unit-testable): true when no query, render, or filter flag is present that the
|
|
@@ -435,7 +423,7 @@ export interface RoutineRunGroup {
|
|
|
435
423
|
timestamp: string;
|
|
436
424
|
sessions: SessionMeta[];
|
|
437
425
|
}
|
|
438
|
-
|
|
426
|
+
interface RoutineChoice {
|
|
439
427
|
name: string;
|
|
440
428
|
lastRunAt: string;
|
|
441
429
|
runCount: number;
|
|
@@ -443,23 +431,9 @@ export interface RoutineChoice {
|
|
|
443
431
|
}
|
|
444
432
|
export declare function buildRoutineRunGroups(sessions: SessionMeta[]): RoutineRunGroup[];
|
|
445
433
|
export declare function buildRoutineChoices(sessions: SessionMeta[], runOnlyNames?: string[]): RoutineChoice[];
|
|
446
|
-
/**
|
|
447
|
-
* Resolve which routine the user is targeting for `--routine`. Returns `null` to
|
|
448
|
-
* ABORT the command (a bad `--routine <name>` printed an error, or the user
|
|
449
|
-
* cancelled the interactive pick). `{ name: null }` means "no routine was
|
|
450
|
-
* selected, don't filter" — the degenerate bare `--routine` piped to a
|
|
451
|
-
* non-interactive sink. `{ name }` is a chosen routine.
|
|
452
|
-
*
|
|
453
|
-
* The name universe is transcripts UNION every routine with a definition or a
|
|
454
|
-
* run record (`safeListJobsWithRuns`), so a command-only or never-ran routine —
|
|
455
|
-
* which produces no `SessionMeta` — still resolves and drills down.
|
|
456
|
-
*/
|
|
457
|
-
export declare function selectRoutineTarget(sessions: SessionMeta[], routine: boolean | string, interactive: boolean): Promise<{
|
|
458
|
-
name: string | null;
|
|
459
|
-
} | null>;
|
|
460
434
|
export declare function filterSessionsByRoutine(sessions: SessionMeta[], routine: boolean | string, interactive: boolean): Promise<SessionMeta[] | null>;
|
|
461
435
|
/** How a run executed — decides whether an agent session is even expected. */
|
|
462
|
-
|
|
436
|
+
type RoutineExecutionKind = 'agent' | 'command' | 'workflow';
|
|
463
437
|
export declare function executionKind(meta: RunMeta): RoutineExecutionKind;
|
|
464
438
|
/** One canonical run record plus the indexed sessions linked to it by run id. */
|
|
465
439
|
export interface RoutineRunEntry {
|
|
@@ -482,11 +456,6 @@ export interface RoutineDrilldown {
|
|
|
482
456
|
* routine. False for a pure command routine, where no session is expected. */
|
|
483
457
|
isAgentRoutine: boolean;
|
|
484
458
|
}
|
|
485
|
-
/**
|
|
486
|
-
* Reconcile a routine's canonical run records (`listRuns`, local disk) with the
|
|
487
|
-
* indexed sessions for that routine (fleet-wide, keyed by `routineRunId`).
|
|
488
|
-
*/
|
|
489
|
-
export declare function buildRoutineDrilldown(name: string, sessions: SessionMeta[]): RoutineDrilldown;
|
|
490
459
|
/**
|
|
491
460
|
* Render the routine drilldown: canonical run history first, each run linked to
|
|
492
461
|
* its indexed agent session(s). This is the run/session seam made visible — a
|
|
@@ -522,10 +491,7 @@ export declare function mergeToolSearchEnvelopes(local: ToolSearchEnvelope, remo
|
|
|
522
491
|
export declare function mergeToolProgramCountEnvelopes(local: ToolProgramCountEnvelope, remotes: ToolProgramCountEnvelope[]): ToolProgramCountEnvelope;
|
|
523
492
|
/** Partition a fleet query by transcript origin so synced mirrors cannot duplicate results. */
|
|
524
493
|
export declare function toolOriginSessions(sessions: SessionMeta[], machine: string, originOnly: boolean): SessionMeta[];
|
|
525
|
-
export declare function printToolProgramCount(envelope: ToolProgramCountEnvelope): void;
|
|
526
494
|
export declare function toolSearchFleetSortError(sort: string | undefined, spansDevices: boolean): string | undefined;
|
|
527
|
-
/** Compact grouped evidence for humans; JSON retains every bounded field. */
|
|
528
|
-
export declare function printToolSearch(envelope: ToolSearchEnvelope): void;
|
|
529
495
|
/**
|
|
530
496
|
* Whether a session belongs to `team`, from either end: it spawned the team, or
|
|
531
497
|
* it is one of the team's teammates. Case-insensitive, matching the SQL
|
|
@@ -571,7 +537,7 @@ export declare function maybeLiveIndex(options: SessionsOptions): Promise<Map<st
|
|
|
571
537
|
* machine cannot see still folds by basename through the same resolver.
|
|
572
538
|
*/
|
|
573
539
|
export declare function overviewProjectKey(s: Pick<SessionMeta, 'project' | 'cwd'>, defs?: ProjectDef[]): string;
|
|
574
|
-
|
|
540
|
+
interface OverviewGroup {
|
|
575
541
|
key: string;
|
|
576
542
|
total: number;
|
|
577
543
|
shown: SessionMeta[];
|
|
@@ -685,18 +651,7 @@ export declare function pickSessionInteractive(sessions: SessionMeta[], message?
|
|
|
685
651
|
* pick handler checks before trying to read or resume one.
|
|
686
652
|
*/
|
|
687
653
|
export declare const LIVE_ROW_PREFIX = "live:";
|
|
688
|
-
export declare function isIdlessLiveRow(s: SessionMeta): boolean;
|
|
689
654
|
export declare function handlePickedSession(picked: PickedSession): Promise<void>;
|
|
690
|
-
/**
|
|
691
|
-
* Resume `session` on the machine that owns it, when that is not this one.
|
|
692
|
-
* Returns true when it handled the resume (hopped, or reported an unreachable
|
|
693
|
-
* owner), false when the session is local and the caller should take over here.
|
|
694
|
-
*
|
|
695
|
-
* The one hop for a foreground, one-session-at-a-time resume — shared by the
|
|
696
|
-
* `agents sessions` picker and by `sessions resume`'s no-tab-backend path, which
|
|
697
|
-
* would otherwise reach `resumeSessionInPlace` and be refused (RUSH-2022).
|
|
698
|
-
*/
|
|
699
|
-
export declare function resumeOnOwnerIfRemote(session: SessionMeta): Promise<boolean>;
|
|
700
655
|
/**
|
|
701
656
|
* Resume a session in the current terminal — a foreground takeover of this
|
|
702
657
|
* process. Used by the single-select picker and by `sessions resume` when the
|
|
@@ -742,7 +697,7 @@ export declare function parseAgentFilter(agentName?: string): AgentFilter;
|
|
|
742
697
|
* listing pool (cwd-scoped, default-capped) that PHNX-2767 hydrates past:
|
|
743
698
|
* these flags MUST still exclude FTS hits after that union.
|
|
744
699
|
*/
|
|
745
|
-
|
|
700
|
+
type SessionSearchScope = {
|
|
746
701
|
agent?: string;
|
|
747
702
|
project?: string;
|
|
748
703
|
routine?: boolean | string;
|
|
@@ -755,7 +710,7 @@ export type SessionSearchScope = {
|
|
|
755
710
|
* the query was a whole session id: it is unique by construction, so a miss is
|
|
756
711
|
* final and must NOT widen into a text/content search.
|
|
757
712
|
*/
|
|
758
|
-
|
|
713
|
+
interface SessionQueryResolution {
|
|
759
714
|
matches: SessionMeta[];
|
|
760
715
|
byId: boolean;
|
|
761
716
|
completeId: boolean;
|
|
@@ -791,23 +746,9 @@ export declare function filterSessionsByQuery(sessions: SessionMeta[], query: st
|
|
|
791
746
|
*/
|
|
792
747
|
export declare function applyScopeFilters(sessions: SessionMeta[], scope: SessionSearchScope): SessionMeta[];
|
|
793
748
|
export declare function artifactLookupScope(agent?: string, project?: string, routine?: boolean | string): SessionSearchScope;
|
|
794
|
-
/**
|
|
795
|
-
* Whether a missed local id lookup should widen to a cross-machine sweep.
|
|
796
|
-
*
|
|
797
|
-
* Gate (all must hold):
|
|
798
|
-
* - the query is id-shaped (`looksLikeSessionId`) — only an identifier resolves
|
|
799
|
-
* across the fleet; a search phrase never does.
|
|
800
|
-
* - not `--local` — the caller opted out of cross-machine lookup (deterministic
|
|
801
|
-
* local behavior for scripts, RUSH-2024 acceptance: "--local still restricts").
|
|
802
|
-
* - `AGENTS_SESSIONS_LOCAL` is unset — we are not ourselves a peer answering a
|
|
803
|
-
* parent's sweep, so a locate can never recurse (RUSH-2024: avoid double-fan-out).
|
|
804
|
-
*
|
|
805
|
-
* Pure + exported so the gate is unit-tested without driving discovery / SSH.
|
|
806
|
-
*/
|
|
807
|
-
export declare function shouldFanOutForId(query: string, local: boolean | undefined): boolean;
|
|
808
749
|
/** Injectable SSH/peer boundary so the fleet-resolve logic is unit-testable
|
|
809
750
|
* without a live tailnet. Production wires these to the real remote-list infra. */
|
|
810
|
-
|
|
751
|
+
interface FleetResolveDeps {
|
|
811
752
|
gatherRemoteList: typeof gatherRemoteList;
|
|
812
753
|
runOnPeer: typeof runOnPeer;
|
|
813
754
|
}
|
|
@@ -817,11 +758,11 @@ interface FleetHit {
|
|
|
817
758
|
session: SessionMeta;
|
|
818
759
|
}
|
|
819
760
|
/** One logical session returned by the fleet, including every machine holding a copy. */
|
|
820
|
-
|
|
761
|
+
interface FleetSessionCandidate {
|
|
821
762
|
id: string;
|
|
822
763
|
hits: FleetHit[];
|
|
823
764
|
}
|
|
824
|
-
|
|
765
|
+
type MetadataResolveOutcome = {
|
|
825
766
|
kind: 'resolved';
|
|
826
767
|
session: SessionMeta;
|
|
827
768
|
} | {
|
|
@@ -943,7 +884,7 @@ export declare function isLocallyDefinitiveMatch(session: SessionMeta, self: str
|
|
|
943
884
|
export declare function preferOwnerAttribution(localMatches: SessionMeta[], remoteSessions: SessionMeta[], self: string): SessionMeta[];
|
|
944
885
|
/** Injectable dependencies for the live-registry cold-miss fallback (RUSH-2682)
|
|
945
886
|
* and the fleet-attribution reconciliation (PHNX-3890). */
|
|
946
|
-
|
|
887
|
+
type LiveMetadataDeps = {
|
|
947
888
|
loadActive?: typeof loadLocalActiveSessions;
|
|
948
889
|
/** The fleet-active snapshot rows used to attribute a self-defaulted launcher
|
|
949
890
|
* shim to its true execution host. Defaults to the cached fleet snapshot; the
|
|
@@ -1003,37 +944,5 @@ export declare function resolveSessionMetadata(selector: string, scope: {
|
|
|
1003
944
|
local?: boolean;
|
|
1004
945
|
hosts?: string[];
|
|
1005
946
|
}, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'> & LiveMetadataDeps): Promise<void>;
|
|
1006
|
-
/**
|
|
1007
|
-
* Locate a full session id or short id prefix across the online fleet and render it from the machine
|
|
1008
|
-
* that holds it. The local disk already missed; this fans `sessions <id> --json
|
|
1009
|
-
* --all` out to every registered online peer (or the explicit `hosts` set),
|
|
1010
|
-
* groups the rows to distinct machines, then:
|
|
1011
|
-
*
|
|
1012
|
-
* - exactly one logical session → delegate rendering to one peer via `runOnPeer`
|
|
1013
|
-
* (its transcript and agent binary live there — a local `--device` hop would
|
|
1014
|
-
* re-discover locally and dead-end), returning `'rendered'`.
|
|
1015
|
-
* - more than one logical session → print every full-id candidate with its
|
|
1016
|
-
* machine labels, returning `{ kind: 'conflict' }`.
|
|
1017
|
-
* - none → `{ kind: 'not-found', deviceCount, unreachable }`,
|
|
1018
|
-
* letting the caller print an honest sweep-aware message.
|
|
1019
|
-
*
|
|
1020
|
-
* A full-UUID query opts into early-exit: the first peer holding it resolves the
|
|
1021
|
-
* sweep and cancels the rest, so a fast peer is not bounded by the slowest one.
|
|
1022
|
-
* A short-id prefix stays all-settle — its ambiguity is only known once every
|
|
1023
|
-
* peer has answered, so it must wait to surface a conflict.
|
|
1024
|
-
*
|
|
1025
|
-
* No fuzzy/content fallback: the sweep forwards the id selector and every result
|
|
1026
|
-
* is resolved through `resolveSessionQuery`, the same id-only resolver used locally.
|
|
1027
|
-
*/
|
|
1028
|
-
export type FleetResolveResult = {
|
|
1029
|
-
kind: 'rendered';
|
|
1030
|
-
} | {
|
|
1031
|
-
kind: 'conflict';
|
|
1032
|
-
} | {
|
|
1033
|
-
kind: 'not-found';
|
|
1034
|
-
deviceCount: number;
|
|
1035
|
-
unreachable: string[];
|
|
1036
|
-
};
|
|
1037
|
-
export declare function resolveSessionAcrossFleet(query: string, mode: ViewMode, hosts?: string[], deps?: FleetResolveDeps): Promise<FleetResolveResult>;
|
|
1038
947
|
/** Register the `agents sessions` command with all its options and help text. */
|
|
1039
948
|
export declare function registerSessionsCommands(program: Command): void;
|
|
@@ -1087,7 +1087,7 @@ export function parseRemoteComputerSessionRows(stdout, machine) {
|
|
|
1087
1087
|
/** Collect computer history from named peers, or every automatic peer when
|
|
1088
1088
|
* hosts is omitted. Every peer is forced to JSON and receives the recursion
|
|
1089
1089
|
* guard through the shared fleet transport. */
|
|
1090
|
-
|
|
1090
|
+
async function gatherRemoteComputerSessionRows(hosts) {
|
|
1091
1091
|
const hostSet = new Set(hosts ?? []);
|
|
1092
1092
|
const forwarded = buildForwardedArgs(process.argv, hostSet);
|
|
1093
1093
|
if (!forwarded.includes('--json'))
|
|
@@ -1552,7 +1552,7 @@ function useInteractiveBrowser(options) {
|
|
|
1552
1552
|
* when this holds, an explicit `--device` scope is folded into the
|
|
1553
1553
|
* browser (preview-rich, selectable) instead of the legacy per-host raw stream.
|
|
1554
1554
|
*/
|
|
1555
|
-
|
|
1555
|
+
function isBareBrowserListing(options, query) {
|
|
1556
1556
|
return (useInteractiveBrowser(options) &&
|
|
1557
1557
|
// A peer answering a fan-out must never open a TUI. It has no TTY either, so
|
|
1558
1558
|
// this is the explicit half of a guard that otherwise rests on the implicit
|
|
@@ -1704,7 +1704,7 @@ function safeListJobsWithRuns() {
|
|
|
1704
1704
|
* run record (`safeListJobsWithRuns`), so a command-only or never-ran routine —
|
|
1705
1705
|
* which produces no `SessionMeta` — still resolves and drills down.
|
|
1706
1706
|
*/
|
|
1707
|
-
|
|
1707
|
+
async function selectRoutineTarget(sessions, routine, interactive) {
|
|
1708
1708
|
const routineNames = [...new Set([
|
|
1709
1709
|
...sessions.map((session) => session.routineName).filter((name) => !!name),
|
|
1710
1710
|
...safeListJobsWithRuns(),
|
|
@@ -1747,7 +1747,7 @@ export function executionKind(meta) {
|
|
|
1747
1747
|
* Reconcile a routine's canonical run records (`listRuns`, local disk) with the
|
|
1748
1748
|
* indexed sessions for that routine (fleet-wide, keyed by `routineRunId`).
|
|
1749
1749
|
*/
|
|
1750
|
-
|
|
1750
|
+
function buildRoutineDrilldown(name, sessions) {
|
|
1751
1751
|
const runs = listRuns(name);
|
|
1752
1752
|
const forRoutine = sessions.filter((s) => s.routineName === name);
|
|
1753
1753
|
const byRun = new Map();
|
|
@@ -2196,7 +2196,7 @@ export function toolOriginSessions(sessions, machine, originOnly) {
|
|
|
2196
2196
|
? sessions.filter((session) => (session.machine ?? machine) === machine)
|
|
2197
2197
|
: sessions;
|
|
2198
2198
|
}
|
|
2199
|
-
|
|
2199
|
+
function printToolProgramCount(envelope) {
|
|
2200
2200
|
const { totals } = envelope;
|
|
2201
2201
|
const qualifier = envelope.coverage.complete ? '' : 'at least ';
|
|
2202
2202
|
console.log(`${envelope.query.program}: ${qualifier}${totals.occurrences.toLocaleString()} static occurrence${totals.occurrences === 1 ? '' : 's'} `
|
|
@@ -2213,7 +2213,7 @@ export function toolSearchFleetSortError(sort, spansDevices) {
|
|
|
2213
2213
|
return 'Tool search across devices supports only --sort recent; cost and duration are local-only.';
|
|
2214
2214
|
}
|
|
2215
2215
|
/** Compact grouped evidence for humans; JSON retains every bounded field. */
|
|
2216
|
-
|
|
2216
|
+
function printToolSearch(envelope) {
|
|
2217
2217
|
for (const session of envelope.sessions) {
|
|
2218
2218
|
const machineName = session.machine
|
|
2219
2219
|
? truncate(sanitizeForTerminal(session.machine).replace(/\s+/g, ' '), 80)
|
|
@@ -3896,7 +3896,7 @@ function warnNoPeerTarget(machine, session) {
|
|
|
3896
3896
|
* pick handler checks before trying to read or resume one.
|
|
3897
3897
|
*/
|
|
3898
3898
|
export const LIVE_ROW_PREFIX = 'live:';
|
|
3899
|
-
|
|
3899
|
+
function isIdlessLiveRow(s) {
|
|
3900
3900
|
return s.id.startsWith(LIVE_ROW_PREFIX);
|
|
3901
3901
|
}
|
|
3902
3902
|
export async function handlePickedSession(picked) {
|
|
@@ -3937,7 +3937,7 @@ export async function handlePickedSession(picked) {
|
|
|
3937
3937
|
* `agents sessions` picker and by `sessions resume`'s no-tab-backend path, which
|
|
3938
3938
|
* would otherwise reach `resumeSessionInPlace` and be refused (RUSH-2022).
|
|
3939
3939
|
*/
|
|
3940
|
-
|
|
3940
|
+
async function resumeOnOwnerIfRemote(session) {
|
|
3941
3941
|
const owner = sessionOwnerDevice(session);
|
|
3942
3942
|
if (!owner)
|
|
3943
3943
|
return false;
|
|
@@ -4681,7 +4681,7 @@ async function renderOneSession(query, mode, scope) {
|
|
|
4681
4681
|
*
|
|
4682
4682
|
* Pure + exported so the gate is unit-tested without driving discovery / SSH.
|
|
4683
4683
|
*/
|
|
4684
|
-
|
|
4684
|
+
function shouldFanOutForId(query, local) {
|
|
4685
4685
|
if (local === true)
|
|
4686
4686
|
return false;
|
|
4687
4687
|
if (process.env[NO_FANOUT_ENV] === '1')
|
|
@@ -5105,7 +5105,7 @@ export async function resolveSessionMetadata(selector, scope, deps = { gatherRem
|
|
|
5105
5105
|
}
|
|
5106
5106
|
process.stdout.write(serializeResolvedSessionsJson([outcome.session]));
|
|
5107
5107
|
}
|
|
5108
|
-
|
|
5108
|
+
async function resolveSessionAcrossFleet(query, mode, hosts, deps = { gatherRemoteList, runOnPeer }) {
|
|
5109
5109
|
const spinner = isInteractiveTerminal() ? interruptibleSpinner('Searching the fleet...').start() : null;
|
|
5110
5110
|
let candidates = [];
|
|
5111
5111
|
let deviceCount = 0;
|
|
@@ -9,12 +9,6 @@
|
|
|
9
9
|
* Bare `agents setup mine` (no subcommand) runs the wizard.
|
|
10
10
|
*/
|
|
11
11
|
import type { Command } from 'commander';
|
|
12
|
-
/**
|
|
13
|
-
* Interactive white-label setup. Returns true when a brand exists afterward,
|
|
14
|
-
* false if the user backed out. Never throws on cancel — the `agents setup` hub
|
|
15
|
-
* relies on that.
|
|
16
|
-
*/
|
|
17
|
-
export declare function runMineWizard(): Promise<boolean>;
|
|
18
12
|
/**
|
|
19
13
|
* Register `agents setup mine` under the parent `setup` command.
|
|
20
14
|
* Bare invocation runs the wizard; init/list/toggle/remove manage brands.
|
|
@@ -32,7 +32,7 @@ const DISABLEABLE_FEATURES = [
|
|
|
32
32
|
* false if the user backed out. Never throws on cancel — the `agents setup` hub
|
|
33
33
|
* relies on that.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
async function runMineWizard() {
|
|
36
36
|
if (!isInteractiveTerminal()) {
|
|
37
37
|
console.log(chalk.dim('Non-interactive shell. Create a brand directly, e.g.:\n') +
|
|
38
38
|
chalk.cyan(' agents setup mine init jack --disable teams cloud'));
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -31,15 +31,14 @@ export declare function ensureInitialized(program: Command): Promise<void>;
|
|
|
31
31
|
* wizard. Never throws — a cancel or an optional wizard's error just skips the
|
|
32
32
|
* rest and lets core setup complete.
|
|
33
33
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
type SetupPhase = 'browser' | 'computer' | 'share' | 'secrets' | 'accounts' | 'fleet' | 'watchdog' | 'preferences';
|
|
35
|
+
type SetupStatusState = 'ready' | 'missing' | 'n/a';
|
|
36
|
+
interface SetupStatusRow {
|
|
37
37
|
phase: 'core' | SetupPhase;
|
|
38
38
|
state: SetupStatusState;
|
|
39
39
|
detail: string;
|
|
40
40
|
}
|
|
41
41
|
export declare function getSetupStatus(): Promise<SetupStatusRow[]>;
|
|
42
|
-
export declare function renderSetupStatus(rows: SetupStatusRow[]): void;
|
|
43
42
|
export declare function runSetupHub(deps?: {
|
|
44
43
|
interactive?: boolean;
|
|
45
44
|
selectPhase?: (rows: SetupStatusRow[]) => Promise<SetupPhase | 'exit'>;
|
package/dist/commands/setup.js
CHANGED
|
@@ -296,7 +296,7 @@ export async function getSetupStatus() {
|
|
|
296
296
|
{ phase: 'preferences', state: interactiveHost || defaultBrowser ? 'ready' : 'missing', detail: [interactiveHost && `host ${interactiveHost}`, defaultBrowser && `browser ${defaultBrowser}`].filter(Boolean).join(' · ') || 'interactive host and browser unset' },
|
|
297
297
|
];
|
|
298
298
|
}
|
|
299
|
-
|
|
299
|
+
function renderSetupStatus(rows) {
|
|
300
300
|
console.log(chalk.bold('\nagents setup — onboarding\n'));
|
|
301
301
|
for (const row of rows) {
|
|
302
302
|
const marker = row.state === 'ready' ? chalk.green('[x]') : row.state === 'n/a' ? chalk.gray('[-]') : chalk.yellow('[ ]');
|
package/dist/commands/share.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare function formatSharePublishResult(result: PublishResult, json?: b
|
|
|
11
11
|
* never "current" or "outdated", since there is nothing to compare against. */
|
|
12
12
|
export declare function shareTemplateStatus(cfg: ShareConfig): 'current' | 'outdated' | 'unknown';
|
|
13
13
|
/** One published object as reported by the Worker's `?format=json` listing route. */
|
|
14
|
-
|
|
14
|
+
interface ShareListItem {
|
|
15
15
|
slug: string;
|
|
16
16
|
url: string;
|
|
17
17
|
/** Object size in bytes. */
|
|
@@ -44,7 +44,7 @@ export interface ShareListItem {
|
|
|
44
44
|
* were set, or when the deployed Worker predates this field. */
|
|
45
45
|
meta: Record<string, string>;
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
interface ShareListResult {
|
|
48
48
|
/** The namespace listed. */
|
|
49
49
|
user: string;
|
|
50
50
|
count: number;
|
|
@@ -52,12 +52,12 @@ export interface ShareListResult {
|
|
|
52
52
|
}
|
|
53
53
|
/** DI seam for tests — override the real HTTP GET of the JSON listing route.
|
|
54
54
|
* The optional `headers` carry the owner bearer for hidden-visibility listings. */
|
|
55
|
-
|
|
55
|
+
type ListingFetchFn = (url: string, headers?: Record<string, string>) => Promise<{
|
|
56
56
|
status: number;
|
|
57
57
|
contentType: string;
|
|
58
58
|
body: string;
|
|
59
59
|
}>;
|
|
60
|
-
|
|
60
|
+
interface ShareEditResult {
|
|
61
61
|
ok: true;
|
|
62
62
|
url: string;
|
|
63
63
|
label: string | null;
|
|
@@ -134,7 +134,7 @@ export declare function applyShareListFilters(result: ShareListResult, filters:
|
|
|
134
134
|
export declare function formatShareList(result: ShareListResult, json?: boolean): string;
|
|
135
135
|
/** One retained prior version of a slug, as reported by the Worker's
|
|
136
136
|
* `?revisions=json` route. */
|
|
137
|
-
|
|
137
|
+
interface ShareRevisionItem {
|
|
138
138
|
/** R2 object key, `<user>/<slug>/rev-<ts>-<rand>`. */
|
|
139
139
|
key: string;
|
|
140
140
|
url: string;
|
|
@@ -153,7 +153,7 @@ export interface ShareRevisionItem {
|
|
|
153
153
|
* were set, or when the deployed Worker predates this field. */
|
|
154
154
|
meta: Record<string, string>;
|
|
155
155
|
}
|
|
156
|
-
|
|
156
|
+
interface ShareRevisionsResult {
|
|
157
157
|
/** The canonical `<user>/<slug>` key these are revisions of. */
|
|
158
158
|
key: string;
|
|
159
159
|
count: number;
|
|
@@ -177,7 +177,7 @@ export declare function runShareRevisions(target: string, opts?: {
|
|
|
177
177
|
/** The resolved page URL plus a signed-in-owner URL that carries a one-time
|
|
178
178
|
* login ticket, so opening it activates the shared page's inline visibility
|
|
179
179
|
* control (PHNX-3370). */
|
|
180
|
-
|
|
180
|
+
interface ShareOpenResult {
|
|
181
181
|
/** `<user>/<slug>` key of the target page. */
|
|
182
182
|
key: string;
|
|
183
183
|
/** The plain page URL (no ticket). */
|
|
@@ -247,7 +247,7 @@ export declare function runShareProvision(opts: {
|
|
|
247
247
|
/** Bind PHOENIX_ID_BASE even when the mapped hostname is not the managed domain. */
|
|
248
248
|
managed?: boolean;
|
|
249
249
|
}): Promise<void>;
|
|
250
|
-
|
|
250
|
+
interface ShareUpdateResult {
|
|
251
251
|
updated: boolean;
|
|
252
252
|
templateHash: string;
|
|
253
253
|
baseUrl: string;
|
|
@@ -6,14 +6,11 @@ export interface TeamRow {
|
|
|
6
6
|
/** Short id of the session that spawned this team, when the index knows it. */
|
|
7
7
|
spawnedBy?: string;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
interface PickedTeam {
|
|
10
10
|
team: string;
|
|
11
11
|
}
|
|
12
|
-
/** Format a single team as a one-line row for the list table or picker label. */
|
|
13
|
-
export declare function formatTeamRow(row: TeamRow, nameWidth: number, compositionWidth: number): string;
|
|
14
|
-
/** Build a multi-line preview string for the picker's detail pane. */
|
|
15
|
-
export declare function buildTeamPreview(row: TeamRow): string;
|
|
16
12
|
/** Print a non-interactive team table to stdout (used when output is piped). */
|
|
17
13
|
export declare function printTeamTable(rows: TeamRow[]): void;
|
|
18
14
|
/** Show an interactive team picker with fuzzy search and return the selected team name. */
|
|
19
15
|
export declare function teamPicker(rows: TeamRow[], initialSearch?: string): Promise<PickedTeam | null>;
|
|
16
|
+
export {};
|
|
@@ -131,7 +131,7 @@ function workCell(agents) {
|
|
|
131
131
|
return '';
|
|
132
132
|
}
|
|
133
133
|
/** Format a single team as a one-line row for the list table or picker label. */
|
|
134
|
-
|
|
134
|
+
function formatTeamRow(row, nameWidth, compositionWidth) {
|
|
135
135
|
const t = row.team;
|
|
136
136
|
const name = chalk.cyan(t.task_name.padEnd(nameWidth));
|
|
137
137
|
const composition = chalk.white(formatComposition(row.agents).padEnd(compositionWidth));
|
|
@@ -154,7 +154,7 @@ function displayHandle(a) {
|
|
|
154
154
|
return a.name || a.session_label || a.agent_id.slice(0, 8);
|
|
155
155
|
}
|
|
156
156
|
/** Build a multi-line preview string for the picker's detail pane. */
|
|
157
|
-
|
|
157
|
+
function buildTeamPreview(row) {
|
|
158
158
|
const t = row.team;
|
|
159
159
|
const lines = [];
|
|
160
160
|
const head = [];
|
package/dist/commands/teams.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export interface TeamListAgentSnapshot {
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function printFeedHint(team: string): void;
|
|
45
45
|
/** Where `teams message`/`teams resume` routes a follow-up, by teammate status. */
|
|
46
|
-
|
|
46
|
+
type TeamMessageRoute = {
|
|
47
47
|
kind: 'steer';
|
|
48
48
|
} | {
|
|
49
49
|
kind: 'resume';
|
|
@@ -102,12 +102,6 @@ export declare function staleRepoError(params: {
|
|
|
102
102
|
base: string;
|
|
103
103
|
sync: string;
|
|
104
104
|
}): string;
|
|
105
|
-
/**
|
|
106
|
-
* Register the generic cloud dispatcher — staged cloud teammates get
|
|
107
|
-
* dispatched when their --after deps resolve, using repo/branch stored on
|
|
108
|
-
* the teammate itself so we don't need the original --cloud CLI args.
|
|
109
|
-
*/
|
|
110
|
-
export declare function wireCloudDispatcher(mgr: AgentManager): void;
|
|
111
105
|
export declare function cloudDispatchOptions(agent: Pick<AgentProcess, 'prompt' | 'agentType' | 'cloudRepo' | 'cloudBranch' | 'model' | 'mode'>): DispatchOptions;
|
|
112
106
|
/**
|
|
113
107
|
* Single-wave start used by `teams start` without --watch. startReady()
|
package/dist/commands/teams.js
CHANGED
|
@@ -360,7 +360,7 @@ async function assertRepoFreshOrConfirm(params) {
|
|
|
360
360
|
* dispatched when their --after deps resolve, using repo/branch stored on
|
|
361
361
|
* the teammate itself so we don't need the original --cloud CLI args.
|
|
362
362
|
*/
|
|
363
|
-
|
|
363
|
+
function wireCloudDispatcher(mgr) {
|
|
364
364
|
mgr.setCloudDispatcher(async (a) => {
|
|
365
365
|
if (!a.cloudProvider) {
|
|
366
366
|
throw new Error(`Teammate ${a.agentId} has no cloud provider set`);
|
package/dist/commands/tmux.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* extension, raw shells, `agents teams`, routines, and the Swarm MCP can all
|
|
8
8
|
* call into.
|
|
9
9
|
*
|
|
10
|
-
* Surface mirrors `
|
|
10
|
+
* Surface mirrors the standalone `term` CLI's:
|
|
11
11
|
* agents tmux check
|
|
12
12
|
* agents tmux new <name> [--cmd ...] [--cwd DIR] [--replace] [--attach-existing] [--source S]
|
|
13
13
|
* agents tmux attach <name>
|
package/dist/commands/tmux.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* extension, raw shells, `agents teams`, routines, and the Swarm MCP can all
|
|
8
8
|
* call into.
|
|
9
9
|
*
|
|
10
|
-
* Surface mirrors `
|
|
10
|
+
* Surface mirrors the standalone `term` CLI's:
|
|
11
11
|
* agents tmux check
|
|
12
12
|
* agents tmux new <name> [--cmd ...] [--cwd DIR] [--replace] [--attach-existing] [--source S]
|
|
13
13
|
* agents tmux attach <name>
|
|
@@ -2,6 +2,7 @@ import type { Command } from 'commander';
|
|
|
2
2
|
export interface UpgradeOptions {
|
|
3
3
|
yes?: boolean;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
type UpgradeAction = (version: string | undefined, options: UpgradeOptions) => Promise<void>;
|
|
6
6
|
/** Register the public self-upgrade surface; the entry point supplies its runtime action. */
|
|
7
7
|
export declare function registerUpgradeCommand(program: Command, action?: UpgradeAction): Command;
|
|
8
|
+
export {};
|
package/dist/commands/utils.d.ts
CHANGED
|
@@ -119,7 +119,7 @@ export declare function resolveAgentTargetsAutoInstalling(value: string, availab
|
|
|
119
119
|
/**
|
|
120
120
|
* Same as resolveAgentTargetsAutoInstalling but returns the broader
|
|
121
121
|
* InstalledAgentTargetResult that includes `directAgents` (for paths like
|
|
122
|
-
* `agents install` and `mcp
|
|
122
|
+
* `agents install` and `sync --mcp` that fall through to unmanaged homes
|
|
123
123
|
* when no managed version is installed).
|
|
124
124
|
*/
|
|
125
125
|
export declare function resolveInstalledAgentTargetsAutoInstalling(value: string, availableAgents: readonly AgentId[], options?: {
|
package/dist/commands/utils.js
CHANGED
|
@@ -303,7 +303,7 @@ export async function resolveAgentTargetsAutoInstalling(value, availableAgents,
|
|
|
303
303
|
/**
|
|
304
304
|
* Same as resolveAgentTargetsAutoInstalling but returns the broader
|
|
305
305
|
* InstalledAgentTargetResult that includes `directAgents` (for paths like
|
|
306
|
-
* `agents install` and `mcp
|
|
306
|
+
* `agents install` and `sync --mcp` that fall through to unmanaged homes
|
|
307
307
|
* when no managed version is installed).
|
|
308
308
|
*/
|
|
309
309
|
export async function resolveInstalledAgentTargetsAutoInstalling(value, availableAgents, options = {}) {
|
|
@@ -14,7 +14,7 @@ import type { AgentId } from './types.js';
|
|
|
14
14
|
* when the weaker (email) identity is present; `discovery-only` = shown in the
|
|
15
15
|
* list but not nameable; `unsupported` = neither.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
interface NativeAccountCapability {
|
|
18
18
|
inspection: 'strong' | 'email' | 'opaque' | 'none';
|
|
19
19
|
scope: 'version' | 'device' | 'unsupported';
|
|
20
20
|
status: 'supported' | 'conditional' | 'discovery-only' | 'unsupported';
|
|
@@ -51,3 +51,4 @@ export declare function nativeIdentityKey(info: {
|
|
|
51
51
|
email?: string | null;
|
|
52
52
|
accountKey?: string | null;
|
|
53
53
|
}, capability: NativeAccountCapability): string | null;
|
|
54
|
+
export {};
|
|
@@ -16,7 +16,7 @@ export { applyUsageHonesty };
|
|
|
16
16
|
* is nothing stricter to check.
|
|
17
17
|
*/
|
|
18
18
|
export declare function isLaunchableSignedIn(agent: AgentId, versionHome: string, info: Pick<AccountInfo, 'signedIn'>): boolean;
|
|
19
|
-
|
|
19
|
+
interface NativeAccountCatalogEntry {
|
|
20
20
|
kind: 'native';
|
|
21
21
|
id: string;
|
|
22
22
|
agent: AgentId;
|
|
@@ -114,8 +114,7 @@ export interface ProviderAccountCatalogRow {
|
|
|
114
114
|
verdict: Extract<AccountVerdict, 'ready' | 'missing'>;
|
|
115
115
|
fix: string | null;
|
|
116
116
|
}
|
|
117
|
-
|
|
118
|
-
export interface AccountCatalog {
|
|
117
|
+
interface AccountCatalog {
|
|
119
118
|
native: NativeAccountCatalogRow[];
|
|
120
119
|
provider: ProviderAccountCatalogRow[];
|
|
121
120
|
/**
|
|
@@ -158,7 +157,7 @@ export interface AccountListEntryJson {
|
|
|
158
157
|
usageError?: string | null;
|
|
159
158
|
fix: string | null;
|
|
160
159
|
}
|
|
161
|
-
|
|
160
|
+
interface AccountListJson {
|
|
162
161
|
version: 2;
|
|
163
162
|
accounts: AccountListEntryJson[];
|
|
164
163
|
}
|
|
@@ -201,14 +200,6 @@ export declare function loadAccountCatalog(): Promise<AccountCatalog>;
|
|
|
201
200
|
*/
|
|
202
201
|
export declare function secretsUnavailableNote(catalog: Pick<AccountCatalog, 'secretsUnavailable'>): string | null;
|
|
203
202
|
export declare function accountListJson(native: NativeAccountCatalogRow[], providers?: ProviderAccountCatalogRow[], harness?: AgentId): AccountListJson;
|
|
204
|
-
/**
|
|
205
|
-
* A state worth an operator's attention, rendered at the END of the row.
|
|
206
|
-
* `live`, `ready`, `unverified` and `per-device` are the ordinary cases: they
|
|
207
|
-
* were on every row of the old table and pushed it past the terminal width
|
|
208
|
-
* without telling anyone anything. They stay in `accounts list --fleet`,
|
|
209
|
-
* `accounts view <name>` and `--json`.
|
|
210
|
-
*/
|
|
211
|
-
export declare function verdictNote(verdict: AccountVerdict): string | null;
|
|
212
203
|
/**
|
|
213
204
|
* Device coverage, but only when it SPLITS the fleet: some boxes can use the
|
|
214
205
|
* account and some cannot. Full coverage is the ordinary case, and "none of
|
|
@@ -252,7 +243,7 @@ export declare function readSharedAccountVerdicts(userAgentsDir?: string): Map<s
|
|
|
252
243
|
*/
|
|
253
244
|
export declare function listDevicesWithoutAccountVerdicts(userAgentsDir?: string): string[];
|
|
254
245
|
/** The T1 slot store's per-account observation of the local verdict. */
|
|
255
|
-
|
|
246
|
+
interface LocalSlotObservation {
|
|
256
247
|
authMode: AccountDeviceVerdict['authMode'];
|
|
257
248
|
verdict: AuthVerdict;
|
|
258
249
|
checkedAt?: string;
|
|
@@ -374,7 +374,7 @@ export function accountListJson(native, providers = [], harness) {
|
|
|
374
374
|
* without telling anyone anything. They stay in `accounts list --fleet`,
|
|
375
375
|
* `accounts view <name>` and `--json`.
|
|
376
376
|
*/
|
|
377
|
-
|
|
377
|
+
function verdictNote(verdict) {
|
|
378
378
|
if (verdict === 'rate_limited')
|
|
379
379
|
return chalk.yellow('rate-limited');
|
|
380
380
|
if (verdict === 'expired' || verdict === 'revoked' || verdict === 'missing') {
|