@phnx-labs/agents-cli 1.22.113 → 1.22.115
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 +139 -0
- package/README.md +32 -113
- package/dist/browser.js +0 -0
- package/dist/cli/command-registry.d.ts +0 -60
- package/dist/cli/command-registry.js +57 -66
- package/dist/commands/accounts.d.ts +3 -77
- package/dist/commands/accounts.js +13 -366
- package/dist/commands/apply.d.ts +0 -4
- package/dist/commands/apply.js +3 -3
- package/dist/commands/audit.js +1 -1
- package/dist/commands/auth.js +0 -2
- 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/browser.d.ts +53 -0
- package/dist/commands/browser.js +199 -9
- 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/doctor.d.ts +2 -3
- package/dist/commands/doctor.js +0 -11
- package/dist/commands/events.d.ts +1 -3
- package/dist/commands/events.js +4 -7
- package/dist/commands/exec.d.ts +0 -1
- package/dist/commands/exec.js +2 -7
- package/dist/commands/feed-watch.js +52 -8
- 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/focus.js +1 -1
- package/dist/commands/go.d.ts +0 -17
- package/dist/commands/go.js +2 -19
- 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/logs.js +1 -1
- package/dist/commands/mcp.js +8 -83
- package/dist/commands/memory.js +4 -47
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +7 -7
- package/dist/commands/plugins.js +1 -93
- package/dist/commands/projects.d.ts +2 -18
- package/dist/commands/projects.js +89 -3
- package/dist/commands/repo.js +0 -44
- package/dist/commands/resource-view.d.ts +3 -2
- package/dist/commands/resume.d.ts +0 -1
- package/dist/commands/resume.js +5 -2
- 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 +23 -4
- package/dist/commands/send.d.ts +4 -4
- package/dist/commands/send.js +6 -51
- package/dist/commands/sessions-backfill.d.ts +2 -35
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-backup-setup.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 -6
- package/dist/commands/sessions-share.d.ts +5 -7
- package/dist/commands/sessions-share.js +98 -49
- 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 +11 -18
- package/dist/commands/setup-browser.js +18 -2
- package/dist/commands/setup-computer.js +20 -6
- package/dist/commands/setup-mine.d.ts +0 -6
- package/dist/commands/setup-mine.js +1 -1
- package/dist/commands/setup-secrets.js +24 -4
- package/dist/commands/setup-terminal.d.ts +3 -0
- package/dist/commands/setup-terminal.js +22 -0
- package/dist/commands/setup.d.ts +3 -4
- package/dist/commands/setup.js +21 -11
- package/dist/commands/skills.js +0 -8
- package/dist/commands/ssh.d.ts +6 -0
- package/dist/commands/ssh.js +92 -233
- package/dist/commands/sync.js +14 -5
- 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 +2 -2
- package/dist/commands/tmux.d.ts +1 -1
- package/dist/commands/tmux.js +1 -1
- package/dist/commands/traces.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/add.d.ts +0 -5
- package/dist/lib/accounts/add.js +1 -7
- 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/artifacts-client.d.ts +20 -0
- package/dist/lib/artifacts-client.js +46 -0
- 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 +7 -7
- 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 +59 -4
- package/dist/lib/browser/runtime-state.js +99 -18
- package/dist/lib/browser/service.d.ts +4 -4
- package/dist/lib/browser/service.js +21 -1
- 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 +4 -2
- 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/dispatch.js +1 -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/cloudflare/creds.d.ts +10 -0
- package/dist/lib/cloudflare/creds.js +46 -0
- package/dist/lib/cloudflare/provision.d.ts +35 -0
- package/dist/lib/cloudflare/provision.js +144 -0
- 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/sessions-list.d.ts +55 -0
- package/dist/lib/computer/sessions-list.js +168 -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 +9 -2
- package/dist/lib/daemon/feed-stream-service.d.ts +23 -0
- package/dist/lib/daemon/feed-stream-service.js +40 -0
- 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 +3 -2
- package/dist/lib/daemon-services.js +5 -0
- 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 +51 -6
- package/dist/lib/devices/connect.js +169 -21
- 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/envelope.d.ts +79 -0
- package/dist/lib/feed/envelope.js +23 -0
- package/dist/lib/feed/events.d.ts +8 -47
- package/dist/lib/feed/events.js +9 -141
- package/dist/lib/feed/feed.d.ts +9 -42
- package/dist/lib/feed/feed.js +1 -60
- package/dist/lib/feed/hub-server.d.ts +86 -0
- package/dist/lib/feed/hub-server.js +334 -0
- package/dist/lib/feed/hub.d.ts +95 -0
- package/dist/lib/feed/hub.js +255 -0
- package/dist/lib/feed/pr-status.d.ts +0 -2
- package/dist/lib/feed/pr-status.js +1 -5
- package/dist/lib/feed/tool-activity.d.ts +108 -0
- package/dist/lib/feed/tool-activity.js +313 -0
- package/dist/lib/feed/tools.d.ts +198 -0
- package/dist/lib/feed/tools.js +265 -0
- package/dist/lib/feed/watch.d.ts +51 -52
- package/dist/lib/feed/watch.js +147 -17
- 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 +3 -2
- package/dist/lib/format.js +1 -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 -81
- package/dist/lib/git.js +2 -199
- 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 +55 -4
- package/dist/lib/hosts/remote-cmd.js +125 -8
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +2 -0
- package/dist/lib/hosts/remote-cmd.test-fixture.js +22 -0
- 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/mcp.js +17 -11
- 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/probe.d.ts +4 -1
- package/dist/lib/probe.js +5 -2
- 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/pwsh.d.ts +33 -0
- package/dist/lib/pwsh.js +56 -0
- package/dist/lib/reconcile-and-repair.d.ts +5 -4
- package/dist/lib/redact.d.ts +15 -1
- package/dist/lib/redact.js +105 -3
- package/dist/lib/refresh-coordinator.d.ts +2 -1
- package/dist/lib/refresh.d.ts +9 -4
- package/dist/lib/refresh.js +92 -72
- 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-cli.d.ts +11 -0
- package/dist/lib/secrets-cli.js +30 -0
- package/dist/lib/secrets-client.d.ts +0 -17
- package/dist/lib/secrets-client.js +7 -28
- 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 +9 -1
- package/dist/lib/session/detached.js +31 -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 +26 -7
- package/dist/lib/session/remote/peer-stream.js +35 -8
- 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 +8 -8
- package/dist/lib/session/sync/backend.js +3 -3
- 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/provision.d.ts +1 -1
- package/dist/lib/session/sync/provision.js +2 -2
- 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/sessions-client.js +0 -3
- package/dist/lib/settings-manifest.d.ts +2 -1
- package/dist/lib/setup-tool-install.d.ts +3 -0
- package/dist/lib/setup-tool-install.js +26 -0
- package/dist/lib/setup-tool-status.d.ts +22 -0
- package/dist/lib/setup-tool-status.js +215 -0
- package/dist/lib/share-runtime.d.ts +11 -0
- package/dist/lib/share-runtime.js +63 -0
- package/dist/lib/shim-heal.d.ts +1 -5
- package/dist/lib/shim-heal.js +0 -6
- package/dist/lib/smart-launch.d.ts +5 -10
- package/dist/lib/smart-launch.js +4 -12
- package/dist/lib/snapshot.d.ts +3 -2
- package/dist/lib/ssh-exec.d.ts +49 -4
- package/dist/lib/ssh-exec.js +119 -0
- 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.d.ts +6 -4
- package/dist/lib/startup/command-registry.js +11 -8
- package/dist/lib/state.d.ts +1 -3
- package/dist/lib/state.js +3 -6
- package/dist/lib/storage/selection.d.ts +2 -2
- package/dist/lib/storage/selection.js +2 -2
- 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 +9 -3
- package/dist/lib/sync-umbrella.js +18 -10
- 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/backend.d.ts +1 -2
- package/dist/lib/traces/backend.js +1 -2
- 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 +2 -4
- package/dist/lib/traces/provision.js +3 -3
- 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 +11 -9
- 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 +3 -5
- package/scripts/postinstall.js +5 -4
- package/dist/commands/artifacts-setup.d.ts +0 -53
- package/dist/commands/artifacts-setup.js +0 -161
- package/dist/commands/artifacts.d.ts +0 -18
- package/dist/commands/artifacts.js +0 -58
- package/dist/commands/attach.d.ts +0 -12
- package/dist/commands/attach.js +0 -86
- package/dist/commands/auth-mint.d.ts +0 -12
- package/dist/commands/auth-mint.js +0 -108
- package/dist/commands/pty.d.ts +0 -20
- package/dist/commands/pty.js +0 -404
- package/dist/commands/reconnect.d.ts +0 -46
- package/dist/commands/reconnect.js +0 -115
- package/dist/commands/share.d.ts +0 -293
- package/dist/commands/share.js +0 -1424
- 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
- package/dist/lib/share/analytics.d.ts +0 -13
- package/dist/lib/share/analytics.js +0 -45
- package/dist/lib/share/backend.d.ts +0 -120
- package/dist/lib/share/backend.js +0 -176
- package/dist/lib/share/capture.d.ts +0 -31
- package/dist/lib/share/capture.js +0 -174
- package/dist/lib/share/config.d.ts +0 -72
- package/dist/lib/share/config.js +0 -211
- package/dist/lib/share/delete.d.ts +0 -122
- package/dist/lib/share/delete.js +0 -173
- package/dist/lib/share/html.d.ts +0 -22
- package/dist/lib/share/html.js +0 -88
- package/dist/lib/share/http-error.d.ts +0 -52
- package/dist/lib/share/http-error.js +0 -65
- package/dist/lib/share/og.d.ts +0 -25
- package/dist/lib/share/og.js +0 -84
- package/dist/lib/share/provision.d.ts +0 -127
- package/dist/lib/share/provision.js +0 -285
- package/dist/lib/share/publish.d.ts +0 -388
- package/dist/lib/share/publish.js +0 -818
- package/dist/lib/share/worker-template.d.ts +0 -27
- package/dist/lib/share/worker-template.js +0 -2424
- package/dist/lib/storage/index.d.ts +0 -14
- package/dist/lib/storage/index.js +0 -14
- package/dist/lib/storage/visibility.d.ts +0 -82
- package/dist/lib/storage/visibility.js +0 -99
|
@@ -64,12 +64,9 @@ import { registerSessionsResumeCommand } from './sessions-resume.js';
|
|
|
64
64
|
import { registerSessionsForkCommand } from './fork.js';
|
|
65
65
|
import { registerSessionsBookmarkCommand } from './sessions-bookmark.js';
|
|
66
66
|
import { isBookmarked, listBookmarks } from '../lib/session/bookmarks.js';
|
|
67
|
-
import { registerGoCommand } from './go.js';
|
|
68
67
|
import { registerFocusCommand } from './focus.js';
|
|
69
|
-
import { registerReconnectCommand } from './reconnect.js';
|
|
70
68
|
import { registerDetachCommand } from './detach.js';
|
|
71
69
|
import { registerSessionsStopCommand } from './sessions-stop.js';
|
|
72
|
-
import { registerAttachCommand } from './attach.js';
|
|
73
70
|
import { registerSessionsInjectCommand } from './sessions-inject.js';
|
|
74
71
|
import { registerSessionsExportCommand } from './sessions-export.js';
|
|
75
72
|
import { registerSessionsRenderCommand } from './sessions-render.js';
|
|
@@ -1087,7 +1084,7 @@ export function parseRemoteComputerSessionRows(stdout, machine) {
|
|
|
1087
1084
|
/** Collect computer history from named peers, or every automatic peer when
|
|
1088
1085
|
* hosts is omitted. Every peer is forced to JSON and receives the recursion
|
|
1089
1086
|
* guard through the shared fleet transport. */
|
|
1090
|
-
|
|
1087
|
+
async function gatherRemoteComputerSessionRows(hosts) {
|
|
1091
1088
|
const hostSet = new Set(hosts ?? []);
|
|
1092
1089
|
const forwarded = buildForwardedArgs(process.argv, hostSet);
|
|
1093
1090
|
if (!forwarded.includes('--json'))
|
|
@@ -1552,7 +1549,7 @@ function useInteractiveBrowser(options) {
|
|
|
1552
1549
|
* when this holds, an explicit `--device` scope is folded into the
|
|
1553
1550
|
* browser (preview-rich, selectable) instead of the legacy per-host raw stream.
|
|
1554
1551
|
*/
|
|
1555
|
-
|
|
1552
|
+
function isBareBrowserListing(options, query) {
|
|
1556
1553
|
return (useInteractiveBrowser(options) &&
|
|
1557
1554
|
// A peer answering a fan-out must never open a TUI. It has no TTY either, so
|
|
1558
1555
|
// this is the explicit half of a guard that otherwise rests on the implicit
|
|
@@ -1704,7 +1701,7 @@ function safeListJobsWithRuns() {
|
|
|
1704
1701
|
* run record (`safeListJobsWithRuns`), so a command-only or never-ran routine —
|
|
1705
1702
|
* which produces no `SessionMeta` — still resolves and drills down.
|
|
1706
1703
|
*/
|
|
1707
|
-
|
|
1704
|
+
async function selectRoutineTarget(sessions, routine, interactive) {
|
|
1708
1705
|
const routineNames = [...new Set([
|
|
1709
1706
|
...sessions.map((session) => session.routineName).filter((name) => !!name),
|
|
1710
1707
|
...safeListJobsWithRuns(),
|
|
@@ -1747,7 +1744,7 @@ export function executionKind(meta) {
|
|
|
1747
1744
|
* Reconcile a routine's canonical run records (`listRuns`, local disk) with the
|
|
1748
1745
|
* indexed sessions for that routine (fleet-wide, keyed by `routineRunId`).
|
|
1749
1746
|
*/
|
|
1750
|
-
|
|
1747
|
+
function buildRoutineDrilldown(name, sessions) {
|
|
1751
1748
|
const runs = listRuns(name);
|
|
1752
1749
|
const forRoutine = sessions.filter((s) => s.routineName === name);
|
|
1753
1750
|
const byRun = new Map();
|
|
@@ -2196,7 +2193,7 @@ export function toolOriginSessions(sessions, machine, originOnly) {
|
|
|
2196
2193
|
? sessions.filter((session) => (session.machine ?? machine) === machine)
|
|
2197
2194
|
: sessions;
|
|
2198
2195
|
}
|
|
2199
|
-
|
|
2196
|
+
function printToolProgramCount(envelope) {
|
|
2200
2197
|
const { totals } = envelope;
|
|
2201
2198
|
const qualifier = envelope.coverage.complete ? '' : 'at least ';
|
|
2202
2199
|
console.log(`${envelope.query.program}: ${qualifier}${totals.occurrences.toLocaleString()} static occurrence${totals.occurrences === 1 ? '' : 's'} `
|
|
@@ -2213,7 +2210,7 @@ export function toolSearchFleetSortError(sort, spansDevices) {
|
|
|
2213
2210
|
return 'Tool search across devices supports only --sort recent; cost and duration are local-only.';
|
|
2214
2211
|
}
|
|
2215
2212
|
/** Compact grouped evidence for humans; JSON retains every bounded field. */
|
|
2216
|
-
|
|
2213
|
+
function printToolSearch(envelope) {
|
|
2217
2214
|
for (const session of envelope.sessions) {
|
|
2218
2215
|
const machineName = session.machine
|
|
2219
2216
|
? truncate(sanitizeForTerminal(session.machine).replace(/\s+/g, ' '), 80)
|
|
@@ -3896,7 +3893,7 @@ function warnNoPeerTarget(machine, session) {
|
|
|
3896
3893
|
* pick handler checks before trying to read or resume one.
|
|
3897
3894
|
*/
|
|
3898
3895
|
export const LIVE_ROW_PREFIX = 'live:';
|
|
3899
|
-
|
|
3896
|
+
function isIdlessLiveRow(s) {
|
|
3900
3897
|
return s.id.startsWith(LIVE_ROW_PREFIX);
|
|
3901
3898
|
}
|
|
3902
3899
|
export async function handlePickedSession(picked) {
|
|
@@ -3937,7 +3934,7 @@ export async function handlePickedSession(picked) {
|
|
|
3937
3934
|
* `agents sessions` picker and by `sessions resume`'s no-tab-backend path, which
|
|
3938
3935
|
* would otherwise reach `resumeSessionInPlace` and be refused (RUSH-2022).
|
|
3939
3936
|
*/
|
|
3940
|
-
|
|
3937
|
+
async function resumeOnOwnerIfRemote(session) {
|
|
3941
3938
|
const owner = sessionOwnerDevice(session);
|
|
3942
3939
|
if (!owner)
|
|
3943
3940
|
return false;
|
|
@@ -3963,7 +3960,7 @@ export async function resumeOnOwnerIfRemote(session) {
|
|
|
3963
3960
|
export async function resumeSessionInPlace(session) {
|
|
3964
3961
|
// This function is the LOCAL takeover, and every caller is responsible for
|
|
3965
3962
|
// routing a peer-owned session before it gets here (the picker above,
|
|
3966
|
-
// `agents sessions resume
|
|
3963
|
+
// `agents sessions resume`). Reaching it with one anyway means a
|
|
3967
3964
|
// caller skipped that step, so refuse rather than start the harness against
|
|
3968
3965
|
// state this box does not have — the `fs.existsSync(session.cwd)` fallback
|
|
3969
3966
|
// just below is exactly how that used to pass unnoticed, quietly swapping in
|
|
@@ -4681,7 +4678,7 @@ async function renderOneSession(query, mode, scope) {
|
|
|
4681
4678
|
*
|
|
4682
4679
|
* Pure + exported so the gate is unit-tested without driving discovery / SSH.
|
|
4683
4680
|
*/
|
|
4684
|
-
|
|
4681
|
+
function shouldFanOutForId(query, local) {
|
|
4685
4682
|
if (local === true)
|
|
4686
4683
|
return false;
|
|
4687
4684
|
if (process.env[NO_FANOUT_ENV] === '1')
|
|
@@ -5105,7 +5102,7 @@ export async function resolveSessionMetadata(selector, scope, deps = { gatherRem
|
|
|
5105
5102
|
}
|
|
5106
5103
|
process.stdout.write(serializeResolvedSessionsJson([outcome.session]));
|
|
5107
5104
|
}
|
|
5108
|
-
|
|
5105
|
+
async function resolveSessionAcrossFleet(query, mode, hosts, deps = { gatherRemoteList, runOnPeer }) {
|
|
5109
5106
|
const spinner = isInteractiveTerminal() ? interruptibleSpinner('Searching the fleet...').start() : null;
|
|
5110
5107
|
let candidates = [];
|
|
5111
5108
|
let deviceCount = 0;
|
|
@@ -5317,7 +5314,6 @@ export function registerSessionsCommands(program) {
|
|
|
5317
5314
|
resume <id> --attach-only attach only; never fork a copy
|
|
5318
5315
|
resume multi-select history -> open tabs
|
|
5319
5316
|
detach <id> the other direction: interactive -> headless
|
|
5320
|
-
(retired, still working for one release: sessions attach, sessions go, reconnect)
|
|
5321
5317
|
- The interactive listing and every live-status flag fold in your other online machines automatically (live over SSH, no sync) — each row is labelled by host, this machine first. Use --local to skip the fan-out; single-id lookups stay local.
|
|
5322
5318
|
- --all is not a device flag: it widens historical directory and time filters. Fleet collection is already the default. A status flag (--working/--idle/--waiting/--orphan/--crashed/--closed/--abandoned/--queued/--unknown) implies --active; combine status flags for a union.
|
|
5323
5319
|
- --version <version> requires --agent and is equivalent to --agent <agent@version>.
|
|
@@ -5408,12 +5404,9 @@ export function registerSessionsCommands(program) {
|
|
|
5408
5404
|
registerSessionsResumeCommand(sessionsCmd);
|
|
5409
5405
|
registerSessionsForkCommand(sessionsCmd);
|
|
5410
5406
|
registerSessionsBookmarkCommand(sessionsCmd);
|
|
5411
|
-
registerGoCommand(sessionsCmd);
|
|
5412
5407
|
registerFocusCommand(sessionsCmd);
|
|
5413
|
-
registerReconnectCommand(sessionsCmd);
|
|
5414
5408
|
registerDetachCommand(sessionsCmd);
|
|
5415
5409
|
registerSessionsStopCommand(sessionsCmd);
|
|
5416
|
-
registerAttachCommand(sessionsCmd);
|
|
5417
5410
|
registerSessionsInjectCommand(sessionsCmd);
|
|
5418
5411
|
registerSessionsExportCommand(sessionsCmd);
|
|
5419
5412
|
registerSessionsRenderCommand(sessionsCmd);
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Idempotent: re-running shows the current default profile and offers to change
|
|
8
8
|
* the pinned browser or re-point the device default.
|
|
9
9
|
*/
|
|
10
|
+
import { openSetupTerminal } from './setup-terminal.js';
|
|
10
11
|
import chalk from 'chalk';
|
|
11
12
|
import { setConfigValue } from '../lib/device-config.js';
|
|
12
13
|
import { listInstalledBrowsers } from '../lib/browser/chrome.js';
|
|
@@ -14,6 +15,8 @@ import { DEFAULT_BROWSER_PROFILE_NAME, getAutoDetectedProfile, createProfile, fi
|
|
|
14
15
|
import { DEFAULT_VIEWPORT } from '../lib/browser/devices.js';
|
|
15
16
|
import { isInteractiveTerminal, isPromptCancelled } from './utils.js';
|
|
16
17
|
import { defaultBrowserChoice } from './setup-preferences.js';
|
|
18
|
+
import { installSetupTool } from '../lib/setup-tool-install.js';
|
|
19
|
+
import { refreshToolSetup } from '../lib/setup-tool-status.js';
|
|
17
20
|
const INSTALL_HINT = 'Install one of: Google Chrome, Brave, Microsoft Edge, Chromium, Comet, or Arc, then re-run `agents setup browser`.\n' +
|
|
18
21
|
'(This wizard picks a Chromium-family browser. An installed Firefox is not auto-picked here; its profiles are ' +
|
|
19
22
|
'discovered from profiles.ini and selected with `agents browser use firefox-<name>`. Safari is not supported.)';
|
|
@@ -116,9 +119,22 @@ export function registerSetupBrowserCommand(setupCmd) {
|
|
|
116
119
|
setupCmd
|
|
117
120
|
.command('browser')
|
|
118
121
|
.description('Set up `agents browser` — detect an installed browser and create the default profile.')
|
|
119
|
-
.
|
|
122
|
+
.option('--install-only', 'Install the standalone Browser CLI without changing profiles or starting a browser')
|
|
123
|
+
.option('--terminal [backend]', 'Open interactive setup in a detected or selected terminal')
|
|
124
|
+
.action(async (options) => {
|
|
120
125
|
try {
|
|
121
|
-
|
|
126
|
+
if (options.terminal !== undefined) {
|
|
127
|
+
await openSetupTerminal('browser', options.terminal, options.installOnly);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (options.installOnly) {
|
|
131
|
+
if (!(await installSetupTool('browser')))
|
|
132
|
+
process.exitCode = 1;
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
if (!(await runBrowserWizard()))
|
|
136
|
+
process.exitCode = 1;
|
|
137
|
+
await refreshToolSetup('browser');
|
|
122
138
|
}
|
|
123
139
|
catch (err) {
|
|
124
140
|
if (isPromptCancelled(err)) {
|
|
@@ -8,12 +8,15 @@
|
|
|
8
8
|
* this wizard chains them with the permission hand-holding a fresh machine needs.
|
|
9
9
|
* Idempotent: re-running re-installs the current helper and re-checks trust.
|
|
10
10
|
*/
|
|
11
|
+
import { openSetupTerminal } from './setup-terminal.js';
|
|
11
12
|
import os from 'node:os';
|
|
12
|
-
import { execFileSync
|
|
13
|
+
import { execFileSync } from 'node:child_process';
|
|
13
14
|
import chalk from 'chalk';
|
|
14
15
|
import { installComputerHelperMacLocal, activateComputerHelperMacLocal, probeComputerTrust, } from './computer.js';
|
|
15
16
|
import { resolveComputerBin, ComputerClientError } from '../lib/computer-client.js';
|
|
16
17
|
import { isInteractiveTerminal, isPromptCancelled } from './utils.js';
|
|
18
|
+
import { installSetupTool } from '../lib/setup-tool-install.js';
|
|
19
|
+
import { refreshToolSetup } from '../lib/setup-tool-status.js';
|
|
17
20
|
const ACCESSIBILITY_PANE = 'x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility';
|
|
18
21
|
const SCREEN_PANE = 'x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture';
|
|
19
22
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
@@ -43,9 +46,7 @@ export async function runComputerWizard() {
|
|
|
43
46
|
catch (error) {
|
|
44
47
|
if (!(error instanceof ComputerClientError) || error.code !== 'COMPUTER_BIN_MISSING')
|
|
45
48
|
throw error;
|
|
46
|
-
|
|
47
|
-
const installed = spawnSync('npm', ['install', '-g', '@phnx-labs/computer-cli@0.1.2'], { stdio: 'inherit' });
|
|
48
|
-
if (installed.status !== 0)
|
|
49
|
+
if (!(await installSetupTool('computer')))
|
|
49
50
|
return false;
|
|
50
51
|
try {
|
|
51
52
|
resolveComputerBin();
|
|
@@ -136,9 +137,22 @@ export function registerSetupComputerCommand(setupCmd) {
|
|
|
136
137
|
setupCmd
|
|
137
138
|
.command('computer')
|
|
138
139
|
.description('Set up `agents computer` (macOS) — install the signed helper and grant control permissions.')
|
|
139
|
-
.
|
|
140
|
+
.option('--install-only', 'Install the standalone Computer CLI without starting the helper or changing permissions')
|
|
141
|
+
.option('--terminal [backend]', 'Open interactive setup in a detected or selected terminal')
|
|
142
|
+
.action(async (options) => {
|
|
140
143
|
try {
|
|
141
|
-
|
|
144
|
+
if (options.terminal !== undefined) {
|
|
145
|
+
await openSetupTerminal('computer', options.terminal, options.installOnly);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (options.installOnly) {
|
|
149
|
+
if (!(await installSetupTool('computer')))
|
|
150
|
+
process.exitCode = 1;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (!(await runComputerWizard()))
|
|
154
|
+
process.exitCode = 1;
|
|
155
|
+
await refreshToolSetup('computer');
|
|
142
156
|
}
|
|
143
157
|
catch (err) {
|
|
144
158
|
if (isPromptCancelled(err)) {
|
|
@@ -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'));
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* `agents clis install secrets` (system `clis/secrets.yaml`) then a pinned
|
|
8
8
|
* `npm i -g`. Users do not set extra env vars.
|
|
9
9
|
*/
|
|
10
|
+
import { openSetupTerminal } from './setup-terminal.js';
|
|
10
11
|
import chalk from 'chalk';
|
|
11
12
|
import * as fs from 'fs';
|
|
12
13
|
import * as path from 'path';
|
|
@@ -14,7 +15,12 @@ import { spawnSync } from 'node:child_process';
|
|
|
14
15
|
import { getHistoryDir } from '../lib/state.js';
|
|
15
16
|
import { resolveSecretsBin, invocation, SecretsClientError, _resetSecretsClientForTest } from '../lib/secrets-client.js';
|
|
16
17
|
import { installCli, resolveCliManifest } from '../lib/cli-resources.js';
|
|
17
|
-
|
|
18
|
+
import { SECRETS_CLI_SPEC } from '../lib/secrets-cli.js';
|
|
19
|
+
import { refreshToolSetup } from '../lib/setup-tool-status.js';
|
|
20
|
+
import { execFileShellSpec } from '../lib/platform/exec.js';
|
|
21
|
+
// Re-exported for back-compat; the canonical pin lives in `secrets-cli.ts` so a
|
|
22
|
+
// version bump touches ONE place (PHNX-3989 consolidation).
|
|
23
|
+
export const SECRETS_CLI_PACKAGE = SECRETS_CLI_SPEC;
|
|
18
24
|
export const INSTALL_HINT = `agents clis install secrets # or: npm i -g ${SECRETS_CLI_PACKAGE}`;
|
|
19
25
|
export function setupSecretsPrefsPath() {
|
|
20
26
|
return path.join(getHistoryDir(), 'setup', 'secrets.json');
|
|
@@ -56,7 +62,8 @@ export function installSecretsCli() {
|
|
|
56
62
|
console.error(chalk.gray(result.error));
|
|
57
63
|
}
|
|
58
64
|
console.log(chalk.gray(`Installing ${SECRETS_CLI_PACKAGE}…`));
|
|
59
|
-
const
|
|
65
|
+
const npm = execFileShellSpec('npm', ['install', '-g', SECRETS_CLI_PACKAGE]);
|
|
66
|
+
const r = spawnSync(npm.command, npm.args, { stdio: 'inherit', shell: npm.shell });
|
|
60
67
|
_resetSecretsClientForTest();
|
|
61
68
|
if (r.error) {
|
|
62
69
|
console.error(chalk.red(`npm install failed: ${r.error.message}`));
|
|
@@ -93,8 +100,21 @@ export function registerSetupSecretsCommand(setupCmd) {
|
|
|
93
100
|
setupCmd
|
|
94
101
|
.command('secrets')
|
|
95
102
|
.description('Install the standalone `secrets` CLI if missing, then run its `secrets migrate` onboarding.')
|
|
96
|
-
.
|
|
97
|
-
|
|
103
|
+
.option('--install-only', 'Install the standalone Secrets CLI without migrating or unlocking secrets')
|
|
104
|
+
.option('--terminal [backend]', 'Open interactive setup in a detected or selected terminal')
|
|
105
|
+
.action(async (options) => {
|
|
106
|
+
if (options.terminal !== undefined) {
|
|
107
|
+
try {
|
|
108
|
+
await openSetupTerminal('secrets', options.terminal, options.installOnly);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
112
|
+
process.exitCode = 1;
|
|
113
|
+
}
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (!(options.installOnly ? installSecretsCli() : await runSecretsSetupWizard()))
|
|
98
117
|
process.exitCode = 1;
|
|
118
|
+
await refreshToolSetup('secrets');
|
|
99
119
|
});
|
|
100
120
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
import { currentContext, openRunInTerminal, parseTerminalFlag } from '../lib/terminal/index.js';
|
|
3
|
+
/** The GUI starts a terminal; the terminal child owns wizard completion. */
|
|
4
|
+
export async function openSetupTerminal(tool, terminal, installOnly = false) {
|
|
5
|
+
if (installOnly)
|
|
6
|
+
throw new Error('--terminal and --install-only are separate setup modes.');
|
|
7
|
+
const parsed = parseTerminalFlag(terminal);
|
|
8
|
+
if (parsed.error)
|
|
9
|
+
throw new Error(parsed.error);
|
|
10
|
+
const { readActiveSessionsCache } = await import('../lib/session/session-cache.js');
|
|
11
|
+
const sessions = parsed.backend ? [] : (readActiveSessionsCache('local')?.sessions ?? []).map(({ host, lastActivityMs, startedAtMs }) => ({ host, lastActivityMs, startedAtMs }));
|
|
12
|
+
const result = await openRunInTerminal({
|
|
13
|
+
argv: ['setup', tool],
|
|
14
|
+
forced: parsed.backend,
|
|
15
|
+
cwd: os.homedir(),
|
|
16
|
+
sessions,
|
|
17
|
+
ctx: currentContext(),
|
|
18
|
+
});
|
|
19
|
+
if (!result.ok)
|
|
20
|
+
throw new Error(result.error ?? 'Could not open a terminal for setup.');
|
|
21
|
+
console.log(result.description ?? 'Setup opened in a terminal.');
|
|
22
|
+
}
|
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' | '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
|
@@ -20,7 +20,6 @@ import { ensureShimCurrent, switchHomeFileSymlinks, isShimsInPath, addShimsToPat
|
|
|
20
20
|
import { setHelpSections } from '../lib/help.js';
|
|
21
21
|
import { registerSetupBrowserCommand, runBrowserWizard } from './setup-browser.js';
|
|
22
22
|
import { registerSetupComputerCommand, runComputerWizard } from './setup-computer.js';
|
|
23
|
-
import { runShareWizard } from './artifacts-setup.js';
|
|
24
23
|
import { registerSetupMineCommand } from './setup-mine.js';
|
|
25
24
|
import { registerSetupSecretsCommand } from './setup-secrets.js';
|
|
26
25
|
import { registerSetupFleetCommand } from './setup-fleet.js';
|
|
@@ -34,10 +33,10 @@ import { runPreferencesStep } from './setup-preferences.js';
|
|
|
34
33
|
import { getConfiguredDefaultProfileName, getProfile, getAutoDetectedProfile, isProfileLaunchableHere } from '../lib/browser/profiles.js';
|
|
35
34
|
import { listInstalledBrowsers } from '../lib/browser/chrome.js';
|
|
36
35
|
import { probeComputerTrust } from './computer.js';
|
|
37
|
-
import { readShareConfig } from '../lib/share/config.js';
|
|
38
36
|
import { loadDevices } from '../lib/devices/registry.js';
|
|
39
37
|
import { getConfigValue } from '../lib/device-config.js';
|
|
40
38
|
import { setupSecretsPrefsPath } from './setup-secrets.js';
|
|
39
|
+
import { SETUP_TOOLS, getCachedToolSetup, refreshToolSetup } from '../lib/setup-tool-status.js';
|
|
41
40
|
const HOME = os.homedir();
|
|
42
41
|
/**
|
|
43
42
|
* Import an existing unmanaged agent installation into agents-cli.
|
|
@@ -280,7 +279,6 @@ export async function getSetupStatus() {
|
|
|
280
279
|
const coreReady = isGitRepo(getAgentsDir());
|
|
281
280
|
const secretsReady = fs.existsSync(setupSecretsPrefsPath());
|
|
282
281
|
const minted = hasMintedSetupToken();
|
|
283
|
-
const shareConfig = readShareConfig();
|
|
284
282
|
const watchdogEnabled = getConfigValue('watchdog.enabled').value === true;
|
|
285
283
|
const interactiveHost = getConfigValue('interactive.host').value;
|
|
286
284
|
const defaultBrowser = getConfigValue('browser.profile').value;
|
|
@@ -291,12 +289,11 @@ export async function getSetupStatus() {
|
|
|
291
289
|
{ phase: 'secrets', state: secretsReady ? 'ready' : 'missing', detail: secretsReady ? 'defaults chosen' : 'defaults not chosen' },
|
|
292
290
|
{ phase: 'accounts', state: minted.ready ? 'ready' : 'missing', detail: minted.detail },
|
|
293
291
|
{ phase: 'fleet', state: Object.keys(devices).length ? 'ready' : 'missing', detail: Object.keys(devices).length ? `${Object.keys(devices).length} device${Object.keys(devices).length === 1 ? '' : 's'} registered` : 'no devices registered' },
|
|
294
|
-
{ phase: 'share', state: shareConfig ? 'ready' : 'missing', detail: shareConfig?.baseUrl ?? 'endpoint not configured' },
|
|
295
292
|
{ phase: 'watchdog', state: watchdogEnabled ? 'ready' : 'missing', detail: watchdogEnabled ? 'enabled on this device' : 'disabled on this device' },
|
|
296
293
|
{ phase: 'preferences', state: interactiveHost || defaultBrowser ? 'ready' : 'missing', detail: [interactiveHost && `host ${interactiveHost}`, defaultBrowser && `browser ${defaultBrowser}`].filter(Boolean).join(' · ') || 'interactive host and browser unset' },
|
|
297
294
|
];
|
|
298
295
|
}
|
|
299
|
-
|
|
296
|
+
function renderSetupStatus(rows) {
|
|
300
297
|
console.log(chalk.bold('\nagents setup — onboarding\n'));
|
|
301
298
|
for (const row of rows) {
|
|
302
299
|
const marker = row.state === 'ready' ? chalk.green('[x]') : row.state === 'n/a' ? chalk.gray('[-]') : chalk.yellow('[ ]');
|
|
@@ -309,8 +306,6 @@ async function runSetupPhase(phase) {
|
|
|
309
306
|
await runBrowserWizard();
|
|
310
307
|
else if (phase === 'computer')
|
|
311
308
|
await runComputerWizard();
|
|
312
|
-
else if (phase === 'share')
|
|
313
|
-
await runShareWizard();
|
|
314
309
|
else if (phase === 'secrets')
|
|
315
310
|
await import('./setup-secrets.js').then((m) => m.runSecretsSetupWizard());
|
|
316
311
|
else if (phase === 'accounts')
|
|
@@ -372,8 +367,8 @@ export function registerSetupCommand(program) {
|
|
|
372
367
|
.option('-f, --force', 'Re-run setup even if ~/.agents/.system/ already exists (use with caution)')
|
|
373
368
|
.option('--no-system-repo', 'Skip cloning the system repo (you must populate ~/.agents/.system/ yourself)');
|
|
374
369
|
// Capability subcommands: `agents setup browser|computer|mine|secrets|accounts|fleet|alias|beta`.
|
|
375
|
-
//
|
|
376
|
-
//
|
|
370
|
+
// Artifact publishing is no longer set up here — it lives in the standalone
|
|
371
|
+
// `artifacts` CLI (`artifacts share setup`/`join`, PHNX-3992).
|
|
377
372
|
registerSetupBrowserCommand(setupCmd);
|
|
378
373
|
registerSetupComputerCommand(setupCmd);
|
|
379
374
|
registerSetupMineCommand(setupCmd);
|
|
@@ -404,9 +399,25 @@ export function registerSetupCommand(program) {
|
|
|
404
399
|
`,
|
|
405
400
|
});
|
|
406
401
|
setupCmd.command('status')
|
|
407
|
-
.description('Show setup readiness for core, browser, computer, secrets, accounts, fleet,
|
|
402
|
+
.description('Show setup readiness for core, browser, computer, secrets, accounts, fleet, watchdog, and preferences.')
|
|
408
403
|
.option('--json', 'print machine-readable JSON')
|
|
404
|
+
.option('--tool <name>', 'Read cached standalone tool status: browser, computer, secrets, or all')
|
|
405
|
+
.option('--refresh', 'Explicitly refresh only the selected standalone tool health checks')
|
|
409
406
|
.action(async (options) => {
|
|
407
|
+
if (options.tool || options.refresh) {
|
|
408
|
+
const selected = options.tool ?? 'all';
|
|
409
|
+
if (selected !== 'all' && !SETUP_TOOLS.includes(selected))
|
|
410
|
+
throw new Error('Unknown tool. Choose browser, computer, secrets, or all.');
|
|
411
|
+
const rows = options.refresh
|
|
412
|
+
? await refreshToolSetup(selected)
|
|
413
|
+
: getCachedToolSetup().filter((row) => selected === 'all' || row.tool === selected);
|
|
414
|
+
if (options.json)
|
|
415
|
+
console.log(JSON.stringify(rows));
|
|
416
|
+
else
|
|
417
|
+
for (const row of rows)
|
|
418
|
+
console.log(`${row.tool}: ${row.installed === false ? 'not installed' : row.readiness} · ${row.detail}`);
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
410
421
|
const rows = await getSetupStatus();
|
|
411
422
|
if (options.json)
|
|
412
423
|
console.log(JSON.stringify(rows, null, 2));
|
|
@@ -443,7 +454,6 @@ export function registerSetupCommand(program) {
|
|
|
443
454
|
Capability setup can also be run any time on its own:
|
|
444
455
|
agents setup browser # detect a browser + create the default profile
|
|
445
456
|
agents setup computer # install the signed macOS helper + grant permissions
|
|
446
|
-
agents artifacts setup # provision or join a Cloudflare share endpoint
|
|
447
457
|
agents setup secrets # choose secrets backend/policy defaults + import
|
|
448
458
|
agents setup accounts # mint a Claude setup-token for unattended usage/probe
|
|
449
459
|
agents setup fleet # discover Tailscale devices + configure SSH access
|
package/dist/commands/skills.js
CHANGED
|
@@ -511,14 +511,6 @@ Examples:
|
|
|
511
511
|
const output = lines.join('\n');
|
|
512
512
|
printWithPager(output, lines.length);
|
|
513
513
|
});
|
|
514
|
-
// Deprecated alias for 'view'
|
|
515
|
-
skillsCmd
|
|
516
|
-
.command('info [name]', { hidden: true })
|
|
517
|
-
.action(async (name) => {
|
|
518
|
-
console.log(chalk.yellow('Deprecated: Use "agents skills view" instead of "agents skills info"\n'));
|
|
519
|
-
// Re-execute view command logic
|
|
520
|
-
await skillsCmd.commands.find((c) => c.name() === 'view')?.parseAsync(['view', ...(name ? [name] : [])], { from: 'user' });
|
|
521
|
-
});
|
|
522
514
|
}
|
|
523
515
|
/**
|
|
524
516
|
* Build the row data for `agents skills list`. Each row = one central skill
|
package/dist/commands/ssh.d.ts
CHANGED
|
@@ -83,5 +83,11 @@ export interface HarnessInventoryOpts {
|
|
|
83
83
|
*/
|
|
84
84
|
export declare function collectFleetHarnesses(opts: HarnessInventoryOpts): Promise<HostHarnessResult[]>;
|
|
85
85
|
export declare function runDevicesAccounts(opts: HarnessInventoryOpts): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* Parse `--argv`'s JSON array, or report exactly what was wrong and return
|
|
88
|
+
* undefined. Fails loud rather than coercing: a caller that meant to pass argv
|
|
89
|
+
* and typo'd the JSON must not silently get shell-string semantics instead.
|
|
90
|
+
*/
|
|
91
|
+
export declare function parseArgvJson(raw: string, log?: (line: string) => void): string[] | undefined;
|
|
86
92
|
/** Register both `agents ssh` and `agents devices`. */
|
|
87
93
|
export declare function registerSshCommands(program: Command): void;
|