@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
package/dist/lib/profiles.js
CHANGED
|
@@ -12,14 +12,13 @@ import * as yaml from 'yaml';
|
|
|
12
12
|
import { ALL_AGENT_IDS } from './agents.js';
|
|
13
13
|
import { getUserAgentsDir } from './state.js';
|
|
14
14
|
import { deleteKeychainTokenSync, getKeychainTokenSync, hasKeychainTokenSync, isSecretsClientError, isSecretsTransportError, profileKeychainItem, } from './secrets-client.js';
|
|
15
|
-
import { getPreset } from './profiles-presets.js';
|
|
16
15
|
import { MODEL_TIERS, isTierToken } from './model-tiers.js';
|
|
17
16
|
import { addAccount, findAccount, resolveCredentialAccount } from './account-registry.js';
|
|
18
17
|
import { atomicWriteFileSync } from './fs-atomic.js';
|
|
19
18
|
import { listAccountProviders } from './account-provider-registry.js';
|
|
20
19
|
const PROFILE_NAME_PATTERN = /^[a-z0-9][a-z0-9-_]{0,48}$/i;
|
|
21
20
|
/** Get the directory where profile YAML files are stored. */
|
|
22
|
-
|
|
21
|
+
function getProfilesDir() {
|
|
23
22
|
return path.join(getUserAgentsDir(), 'profiles');
|
|
24
23
|
}
|
|
25
24
|
function profilePath(name) {
|
|
@@ -640,10 +639,3 @@ export function resolveProfileForRun(name, requestedModel) {
|
|
|
640
639
|
}
|
|
641
640
|
return resolved;
|
|
642
641
|
}
|
|
643
|
-
/**
|
|
644
|
-
* Look up the preset a profile was created from, if any. Used by
|
|
645
|
-
* `profiles view` to show upstream metadata like signup URLs.
|
|
646
|
-
*/
|
|
647
|
-
export function getPresetForProfile(profile) {
|
|
648
|
-
return profile.preset ? getPreset(profile.preset) : undefined;
|
|
649
|
-
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import type { ProjectDef } from './projects.js';
|
|
19
19
|
/** A definition that disagrees with the machine it describes. */
|
|
20
|
-
|
|
20
|
+
interface ProjectFinding {
|
|
21
21
|
project: string;
|
|
22
22
|
/** One line naming the disagreement, both sides quoted. */
|
|
23
23
|
message: string;
|
|
@@ -34,3 +34,4 @@ export interface ProjectFinding {
|
|
|
34
34
|
* - they disagree → a finding. This is the case that silently lies.
|
|
35
35
|
*/
|
|
36
36
|
export declare function checkRepoSlug(def: ProjectDef, actualRemote: string | undefined): ProjectFinding | undefined;
|
|
37
|
+
export {};
|
|
@@ -36,12 +36,12 @@
|
|
|
36
36
|
*/
|
|
37
37
|
import type { AgentId } from './types.js';
|
|
38
38
|
import { pluginInstallDir } from './plugins/plugin-marketplace.js';
|
|
39
|
-
|
|
39
|
+
interface LaunchSyncOptions {
|
|
40
40
|
agent: AgentId;
|
|
41
41
|
version: string;
|
|
42
42
|
cwd: string;
|
|
43
43
|
}
|
|
44
|
-
|
|
44
|
+
interface LaunchSyncResult {
|
|
45
45
|
/** Project rules were re-compiled into cwd/AGENTS.md (+ per-agent symlinks). */
|
|
46
46
|
rulesCompiled: boolean;
|
|
47
47
|
/** Number of workspace resource symlinks created or refreshed. */
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { type ProjectDef } from './projects.js';
|
|
15
15
|
/** The on-disk state of one workspace repo on one machine. */
|
|
16
|
-
|
|
16
|
+
interface RepoWorkspaceStatus {
|
|
17
17
|
/** The probed path, echoed home-relative (re-roots per machine). */
|
|
18
18
|
path: string;
|
|
19
19
|
/** `.git` exists (a directory, or a FILE for a linked worktree). */
|
|
@@ -87,8 +87,8 @@ export declare function formatFleetWorkspaces(statuses: HostWorkspaceStatus[]):
|
|
|
87
87
|
*/
|
|
88
88
|
export declare function formatFleetSummary(statuses: HostWorkspaceStatus[]): string;
|
|
89
89
|
/** Severity for a workspace/repo warning on the project card. */
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
type WorkspaceWarningSeverity = 'critical' | 'continue';
|
|
91
|
+
interface WorkspaceWarning {
|
|
92
92
|
severity: WorkspaceWarningSeverity;
|
|
93
93
|
text: string;
|
|
94
94
|
remediation?: string;
|
|
@@ -113,3 +113,4 @@ export interface WorkspaceWarning {
|
|
|
113
113
|
* Caller decides whether the rows came from `--fleet` or a local probe.
|
|
114
114
|
*/
|
|
115
115
|
export declare function workspaceWarnings(statuses: HostWorkspaceStatus[]): WorkspaceWarning[];
|
|
116
|
+
export {};
|
|
@@ -37,7 +37,7 @@ export interface ProjectPullResult {
|
|
|
37
37
|
message?: string;
|
|
38
38
|
}
|
|
39
39
|
/** The wire format this machine emits for the fleet fan-out. Fail-closed on parse. */
|
|
40
|
-
|
|
40
|
+
interface ProjectPullEnvelope {
|
|
41
41
|
schemaVersion: 1;
|
|
42
42
|
kind: 'project-pull';
|
|
43
43
|
/** The emitting machine's {@link machineId} — verified by the caller. */
|
|
@@ -126,3 +126,4 @@ export declare function projectPullComplete(results: ProjectPullResult[]): boole
|
|
|
126
126
|
* one the caller turns into a non-zero exit.
|
|
127
127
|
*/
|
|
128
128
|
export declare function printProjectPullSummary(projectName: string, results: ProjectPullResult[], unavailableDevices: string[], unverifiedDevices?: string[]): void;
|
|
129
|
+
export {};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { AgentId } from './types.js';
|
|
2
|
-
|
|
2
|
+
interface ProjectResourceSyncResult {
|
|
3
3
|
synced: string[];
|
|
4
4
|
skipped: string[];
|
|
5
5
|
}
|
|
6
|
-
export declare function projectAgentRoot(projectRoot: string, agent: AgentId): string;
|
|
7
6
|
export declare function syncProjectResourcesToAgent(agent: AgentId, version: string, projectAgentsDir: string): ProjectResourceSyncResult;
|
|
8
7
|
/**
|
|
9
8
|
* Turn the manifest's managed paths (relative to agentRoot) into anchored,
|
|
@@ -52,3 +51,4 @@ export declare function detrackViaGitExclude(repoDir: string, relPath: string):
|
|
|
52
51
|
* internal "user-owned". Returns null when nothing was skipped.
|
|
53
52
|
*/
|
|
54
53
|
export declare function formatKeptProjectResources(skipped: string[]): string | null;
|
|
54
|
+
export {};
|
|
@@ -13,7 +13,7 @@ import { syncWorkflowToVersion } from './workflows-registry.js';
|
|
|
13
13
|
const MANIFEST_FILE = '.agents-managed.json';
|
|
14
14
|
const MANIFEST_VERSION = 1;
|
|
15
15
|
const COPY_IGNORE = new Set(['.DS_Store', '.git', '.gitignore', '.venv', '__pycache__', 'node_modules']);
|
|
16
|
-
|
|
16
|
+
function projectAgentRoot(projectRoot, agent) {
|
|
17
17
|
return path.join(projectRoot, agentConfigDirName(agent));
|
|
18
18
|
}
|
|
19
19
|
export function syncProjectResourcesToAgent(agent, version, projectAgentsDir) {
|
|
@@ -81,12 +81,7 @@ export declare function setProjectRoot(rootPath: string): string;
|
|
|
81
81
|
* home-relative string when under `$HOME`; undefined when `cwd` is not in a repo.
|
|
82
82
|
*/
|
|
83
83
|
export declare function inferProjectRoot(cwd: string): Promise<string | undefined>;
|
|
84
|
-
|
|
85
|
-
* Resolve the projects root, auto-inferring and caching on first use. Throws an
|
|
86
|
-
* actionable error when it is neither configured nor inferrable from `cwd`.
|
|
87
|
-
*/
|
|
88
|
-
export declare function ensureProjectRoot(cwd: string): Promise<string>;
|
|
89
|
-
export interface ProjectRef {
|
|
84
|
+
interface ProjectRef {
|
|
90
85
|
slug: string;
|
|
91
86
|
worktree?: string;
|
|
92
87
|
}
|
|
@@ -126,3 +121,4 @@ export declare function resolveProjectDirs(ref: string, opts: {
|
|
|
126
121
|
cwd: string;
|
|
127
122
|
extraDirs: string[];
|
|
128
123
|
}>;
|
|
124
|
+
export {};
|
package/dist/lib/project-root.js
CHANGED
|
@@ -149,7 +149,7 @@ export async function inferProjectRoot(cwd) {
|
|
|
149
149
|
* Resolve the projects root, auto-inferring and caching on first use. Throws an
|
|
150
150
|
* actionable error when it is neither configured nor inferrable from `cwd`.
|
|
151
151
|
*/
|
|
152
|
-
|
|
152
|
+
async function ensureProjectRoot(cwd) {
|
|
153
153
|
const existing = getProjectRoot();
|
|
154
154
|
if (existing)
|
|
155
155
|
return existing;
|
|
@@ -32,7 +32,7 @@ import type { LinearMilestone } from './linear-project-counts.js';
|
|
|
32
32
|
/** How far ahead counts as "due soon" — one sprint's notice. */
|
|
33
33
|
export declare const DUE_SOON_DAYS = 14;
|
|
34
34
|
/** A verdict about the schedule, as a tagged union so `--json` stays stable. */
|
|
35
|
-
|
|
35
|
+
type ProjectVerdict = {
|
|
36
36
|
kind: 'declared';
|
|
37
37
|
health: string;
|
|
38
38
|
} | {
|
|
@@ -73,3 +73,4 @@ export declare function formatVerdict(v: ProjectVerdict): {
|
|
|
73
73
|
text: string;
|
|
74
74
|
warn: boolean;
|
|
75
75
|
} | undefined;
|
|
76
|
+
export {};
|
|
@@ -69,7 +69,7 @@ export declare function rollupSessionsByProject(defs: ProjectDef[], sessions: Ac
|
|
|
69
69
|
*/
|
|
70
70
|
export declare function isDeadStatus(status: string): boolean;
|
|
71
71
|
/** Live vs finished sessions on a project. */
|
|
72
|
-
|
|
72
|
+
interface LiveDeadSplit {
|
|
73
73
|
live: number;
|
|
74
74
|
dead: number;
|
|
75
75
|
/** Dead broken out by status, for the card's parenthetical. */
|
|
@@ -100,19 +100,6 @@ export declare function formatDeadSummary(split: LiveDeadSplit): string;
|
|
|
100
100
|
export declare function sortProjectMembers(members: ProjectMember[]): ProjectMember[];
|
|
101
101
|
/** Cap for the members line before it collapses to `+N more`. */
|
|
102
102
|
export declare const MEMBERS_LINE_LIMIT = 6;
|
|
103
|
-
/** Cap for host groups on the multi-line agents roster. */
|
|
104
|
-
export declare const MEMBERS_HOST_LIMIT = 8;
|
|
105
|
-
/**
|
|
106
|
-
* Collapse members into distinct state cells (`agent · status · ticket[@host]`),
|
|
107
|
-
* counting duplicates as `×N`. Pure.
|
|
108
|
-
*/
|
|
109
|
-
export declare function collapseMemberCells(members: ProjectMember[], opts?: {
|
|
110
|
-
includeHostOnCell?: boolean;
|
|
111
|
-
}): Array<{
|
|
112
|
-
cell: string;
|
|
113
|
-
n: number;
|
|
114
|
-
members: number;
|
|
115
|
-
}>;
|
|
116
103
|
/**
|
|
117
104
|
* The `agents` line under `live`: one cell per DISTINCT member state —
|
|
118
105
|
* `claude · running · RUSH-2107 @zion` — with identical cells collapsed to a
|
|
@@ -151,8 +138,6 @@ export interface ProjectWarning {
|
|
|
151
138
|
* nudge (dirty tree, schedule not measurable).
|
|
152
139
|
*/
|
|
153
140
|
export declare function warningEmoji(severity: ProjectWarningSeverity): string;
|
|
154
|
-
/** Stable sort: critical first, then continue; stable within a tier. */
|
|
155
|
-
export declare function sortProjectWarnings(warnings: ProjectWarning[]): ProjectWarning[];
|
|
156
141
|
/**
|
|
157
142
|
* Format one or more warning lines for the card footer. Pure (chalk only).
|
|
158
143
|
* Returns empty when there is nothing to say.
|
|
@@ -190,3 +175,4 @@ export declare function enrichProjectSignals(def: ProjectDef, windowDays: number
|
|
|
190
175
|
activityRoot?: string;
|
|
191
176
|
skipRemote?: boolean;
|
|
192
177
|
}): Promise<ProjectRemoteSignals>;
|
|
178
|
+
export {};
|
|
@@ -171,12 +171,12 @@ export function sortProjectMembers(members) {
|
|
|
171
171
|
/** Cap for the members line before it collapses to `+N more`. */
|
|
172
172
|
export const MEMBERS_LINE_LIMIT = 6;
|
|
173
173
|
/** Cap for host groups on the multi-line agents roster. */
|
|
174
|
-
|
|
174
|
+
const MEMBERS_HOST_LIMIT = 8;
|
|
175
175
|
/**
|
|
176
176
|
* Collapse members into distinct state cells (`agent · status · ticket[@host]`),
|
|
177
177
|
* counting duplicates as `×N`. Pure.
|
|
178
178
|
*/
|
|
179
|
-
|
|
179
|
+
function collapseMemberCells(members, opts = {}) {
|
|
180
180
|
const includeHost = opts.includeHostOnCell !== false;
|
|
181
181
|
const counts = new Map();
|
|
182
182
|
for (const m of sortProjectMembers(members)) {
|
|
@@ -282,7 +282,7 @@ export function warningEmoji(severity) {
|
|
|
282
282
|
return severity === 'critical' ? '🔴' : '⚠️';
|
|
283
283
|
}
|
|
284
284
|
/** Stable sort: critical first, then continue; stable within a tier. */
|
|
285
|
-
|
|
285
|
+
function sortProjectWarnings(warnings) {
|
|
286
286
|
const rank = { critical: 0, continue: 1 };
|
|
287
287
|
return [...warnings].sort((a, b) => rank[a.severity] - rank[b.severity] || a.text.localeCompare(b.text));
|
|
288
288
|
}
|
package/dist/lib/pwsh.d.ts
CHANGED
|
@@ -9,3 +9,36 @@
|
|
|
9
9
|
* spawns powershell.exe with an argv array).
|
|
10
10
|
*/
|
|
11
11
|
export declare function encodePwshBase64(script: string): string;
|
|
12
|
+
/** Single-quote a value for PowerShell's own parser (embedded `'` doubled). */
|
|
13
|
+
export declare function pwshLiteral(value: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* PowerShell statements that run a NATIVE program with exact argv.
|
|
16
|
+
*
|
|
17
|
+
* Windows has no argv array: a process receives ONE string and splits it itself.
|
|
18
|
+
* PowerShell 5.1 rebuilds that string when it invokes a native program, and its
|
|
19
|
+
* serializer is lossy — measured on a real peer, an EMPTY argument is dropped and
|
|
20
|
+
* an embedded `"` is discarded. So the arguments are pre-escaped by the caller to
|
|
21
|
+
* the `CommandLineToArgvW` rules (`quoteWin32ExecArg`) and handed to .NET as one
|
|
22
|
+
* `Arguments` string, which `CreateProcess` receives essentially verbatim. No shell
|
|
23
|
+
* is involved, so no `%VAR%` expansion and no newline sensitivity.
|
|
24
|
+
*
|
|
25
|
+
* `UseShellExecute = $false` with no redirection leaves the child on the inherited
|
|
26
|
+
* handles, which is what lets a binary stdout stream through unchanged.
|
|
27
|
+
*
|
|
28
|
+
* `WorkingDirectory` is set explicitly from `(Get-Location).ProviderPath`, and that
|
|
29
|
+
* is not belt-and-braces: PowerShell's `Set-Location` moves the SHELL's location
|
|
30
|
+
* without updating the .NET process's OS working directory, so a child launched
|
|
31
|
+
* through `ProcessStartInfo` would otherwise start in whatever directory the
|
|
32
|
+
* process began in — silently ignoring a caller's `cwd` (`--remote-cwd`). The
|
|
33
|
+
* `ProviderPath` form is what yields a real filesystem path rather than a
|
|
34
|
+
* PowerShell provider path.
|
|
35
|
+
*
|
|
36
|
+
* @param fileNameExpr a PowerShell EXPRESSION for the executable (a quoted literal,
|
|
37
|
+
* or something like `$__c.Source`) — not a raw path, so a caller that resolved the
|
|
38
|
+
* target on the peer can pass its variable.
|
|
39
|
+
* @param argumentsExpr a PowerShell EXPRESSION producing the argument string —
|
|
40
|
+
* `pwshLiteral(line)` for a static one, or a concatenation when part of it is
|
|
41
|
+
* only known on the peer (a resolved interpreter entry, say).
|
|
42
|
+
* @param exitVar variable name for the child, so a caller can chain on it.
|
|
43
|
+
*/
|
|
44
|
+
export declare function pwshNativeExecStatements(fileNameExpr: string, argumentsExpr: string, exitVar?: string): string[];
|
package/dist/lib/pwsh.js
CHANGED
|
@@ -11,3 +11,59 @@
|
|
|
11
11
|
export function encodePwshBase64(script) {
|
|
12
12
|
return Buffer.from(script, 'utf16le').toString('base64');
|
|
13
13
|
}
|
|
14
|
+
/** Single-quote a value for PowerShell's own parser (embedded `'` doubled). */
|
|
15
|
+
export function pwshLiteral(value) {
|
|
16
|
+
return `'${value.replace(/'/g, "''")}'`;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* PowerShell statements that run a NATIVE program with exact argv.
|
|
20
|
+
*
|
|
21
|
+
* Windows has no argv array: a process receives ONE string and splits it itself.
|
|
22
|
+
* PowerShell 5.1 rebuilds that string when it invokes a native program, and its
|
|
23
|
+
* serializer is lossy — measured on a real peer, an EMPTY argument is dropped and
|
|
24
|
+
* an embedded `"` is discarded. So the arguments are pre-escaped by the caller to
|
|
25
|
+
* the `CommandLineToArgvW` rules (`quoteWin32ExecArg`) and handed to .NET as one
|
|
26
|
+
* `Arguments` string, which `CreateProcess` receives essentially verbatim. No shell
|
|
27
|
+
* is involved, so no `%VAR%` expansion and no newline sensitivity.
|
|
28
|
+
*
|
|
29
|
+
* `UseShellExecute = $false` with no redirection leaves the child on the inherited
|
|
30
|
+
* handles, which is what lets a binary stdout stream through unchanged.
|
|
31
|
+
*
|
|
32
|
+
* `WorkingDirectory` is set explicitly from `(Get-Location).ProviderPath`, and that
|
|
33
|
+
* is not belt-and-braces: PowerShell's `Set-Location` moves the SHELL's location
|
|
34
|
+
* without updating the .NET process's OS working directory, so a child launched
|
|
35
|
+
* through `ProcessStartInfo` would otherwise start in whatever directory the
|
|
36
|
+
* process began in — silently ignoring a caller's `cwd` (`--remote-cwd`). The
|
|
37
|
+
* `ProviderPath` form is what yields a real filesystem path rather than a
|
|
38
|
+
* PowerShell provider path.
|
|
39
|
+
*
|
|
40
|
+
* @param fileNameExpr a PowerShell EXPRESSION for the executable (a quoted literal,
|
|
41
|
+
* or something like `$__c.Source`) — not a raw path, so a caller that resolved the
|
|
42
|
+
* target on the peer can pass its variable.
|
|
43
|
+
* @param argumentsExpr a PowerShell EXPRESSION producing the argument string —
|
|
44
|
+
* `pwshLiteral(line)` for a static one, or a concatenation when part of it is
|
|
45
|
+
* only known on the peer (a resolved interpreter entry, say).
|
|
46
|
+
* @param exitVar variable name for the child, so a caller can chain on it.
|
|
47
|
+
*/
|
|
48
|
+
export function pwshNativeExecStatements(fileNameExpr, argumentsExpr, exitVar = '$zp') {
|
|
49
|
+
// Deliberately terse. The whole script is base64'd into ONE ssh command line,
|
|
50
|
+
// and OpenSSH-for-Windows caps that far below cmd.exe's 8191 — measured on a
|
|
51
|
+
// real peer, it fails between ~2.8k and ~4.1k characters. UTF-16LE + base64
|
|
52
|
+
// inflates by ~2.7x, so every character here costs almost three on the wire.
|
|
53
|
+
// `System.` is implicit for these types, and `-EA` is the canonical alias.
|
|
54
|
+
return [
|
|
55
|
+
`$zi=New-Object Diagnostics.ProcessStartInfo`,
|
|
56
|
+
`$zi.FileName=${fileNameExpr}`,
|
|
57
|
+
`$zi.Arguments=${argumentsExpr}`,
|
|
58
|
+
`$zi.UseShellExecute=$false`,
|
|
59
|
+
`$zi.WorkingDirectory=(Get-Location).ProviderPath`,
|
|
60
|
+
// The CALLER sets `$ErrorActionPreference='Stop'` for the whole script, so it
|
|
61
|
+
// is not repeated here — every character costs ~2.7 on the wire after base64.
|
|
62
|
+
// The null guard below is what makes a swallowed Start failure impossible to
|
|
63
|
+
// mistake for success: without it the handle is $null, the code is $null, and
|
|
64
|
+
// `exit $null` reports 0.
|
|
65
|
+
`${exitVar}=[Diagnostics.Process]::Start($zi)`,
|
|
66
|
+
`if($null -eq ${exitVar}){throw "start failed: $($zi.FileName)"}`,
|
|
67
|
+
`${exitVar}.WaitForExit()`,
|
|
68
|
+
];
|
|
69
|
+
}
|
|
@@ -21,7 +21,7 @@ import { type HealResult } from './heal.js';
|
|
|
21
21
|
import { type SlotProjection } from './accounts/slots.js';
|
|
22
22
|
import { type HookRuntimeRepairReport } from './hooks/install.js';
|
|
23
23
|
import { type RemediateStaleInstallsResult, type FindAgentsCliInstallsOptions } from './self-update.js';
|
|
24
|
-
|
|
24
|
+
interface HookRewireResult {
|
|
25
25
|
agent: AgentId;
|
|
26
26
|
version: string;
|
|
27
27
|
/** Hooks newly wired into settings.json by this pass. */
|
|
@@ -31,7 +31,7 @@ export interface HookRewireResult {
|
|
|
31
31
|
/** Stable failure class; never expose a generated temporary shim pathname. */
|
|
32
32
|
failure?: 'register-failed';
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
interface RepairAfterSyncReport {
|
|
35
35
|
heal: HealResult;
|
|
36
36
|
hookRewire: HookRewireResult[];
|
|
37
37
|
hookRuntimeRepair: HookRuntimeRepairReport;
|
|
@@ -51,14 +51,14 @@ export interface RepairAfterSyncReport {
|
|
|
51
51
|
* hard-codes `/usr/local/lib/node_modules` et al. when `globalNodeModulesDirs` is
|
|
52
52
|
* absent, so a purge is unsafe to run unscoped in a test — inject sandbox paths.
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
interface PurgeInjection {
|
|
55
55
|
runningRoot?: string;
|
|
56
56
|
runningVersion?: string;
|
|
57
57
|
pathEnv?: string;
|
|
58
58
|
findOpts?: FindAgentsCliInstallsOptions;
|
|
59
59
|
dryRun?: boolean;
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
interface RepairAfterSyncOptions {
|
|
62
62
|
/** Scope the repair to one agent; omit for the umbrella sweep across all
|
|
63
63
|
* installed agents. (The purge is NOT tied to this — see `pruneClis`.) */
|
|
64
64
|
agent?: AgentId;
|
|
@@ -115,3 +115,4 @@ export declare function repairAfterSyncJson(report: RepairAfterSyncReport): Reco
|
|
|
115
115
|
* changed, so a clean sync stays quiet.
|
|
116
116
|
*/
|
|
117
117
|
export declare function renderRepairAfterSync(report: RepairAfterSyncReport, log?: (s: string) => void): void;
|
|
118
|
+
export {};
|
package/dist/lib/redact.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared redaction helpers for text that may be exported or logged.
|
|
3
3
|
*/
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Remove terminal control sequences from untrusted text before storage or display.
|
|
6
|
+
*
|
|
7
|
+
* A single forward scan, not a regex: an OSC lookup for its terminator (BEL or
|
|
8
|
+
* ESC-\) is the classic polynomial-backtracking shape, and untrusted text can be
|
|
9
|
+
* built to trigger it. Each character is visited a bounded number of times here.
|
|
10
|
+
*/
|
|
5
11
|
export declare function sanitizeForTerminal(text: string): string;
|
|
6
12
|
/**
|
|
7
13
|
* Scrub secrets from `text`. Two passes: format-based patterns (above), then a
|
|
@@ -17,3 +23,11 @@ export declare function redactSecrets(text: string, knownValues?: readonly strin
|
|
|
17
23
|
* credential verbatim even when its format matches no pattern.
|
|
18
24
|
*/
|
|
19
25
|
export declare function knownSecretValuesFromEnv(env?: NodeJS.ProcessEnv): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Mask email addresses in already-rendered text. A published page's sensitive-
|
|
28
|
+
* content scan refuses a body containing an email (`artifacts share` does the
|
|
29
|
+
* same), and almost every real transcript carries a few — git author addresses,
|
|
30
|
+
* `gh api user`, a pasted log. Masking them here means the page genuinely does
|
|
31
|
+
* not carry them, rather than training callers to pass `--force`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function redactEmails(text: string): string;
|
package/dist/lib/redact.js
CHANGED
|
@@ -47,12 +47,103 @@ const SECRET_PATTERNS = [
|
|
|
47
47
|
[/(https?:\/\/)[^/\s:@]+:[^@\s/]+@/gi, '$1[REDACTED]@'],
|
|
48
48
|
[/\b([A-Z0-9_]*(?:TOKEN|KEY|SECRET|PASSWORD)[A-Z0-9_]*)=("[^"]*"|'[^']*'|\S+)/gi, '$1=[REDACTED]'],
|
|
49
49
|
];
|
|
50
|
-
const
|
|
51
|
-
|
|
50
|
+
const ESC = 0x1b;
|
|
51
|
+
const BEL = 0x07;
|
|
52
|
+
const CSI_8BIT = 0x9b;
|
|
53
|
+
const OSC_8BIT = 0x9d;
|
|
54
|
+
const ST_8BIT = 0x9c;
|
|
55
|
+
/** C0 controls (minus \t \n \r), DEL, and the C1 range. */
|
|
56
|
+
function isControlByte(c) {
|
|
57
|
+
return (c <= 0x08) || c === 0x0b || c === 0x0c || (c >= 0x0e && c <= 0x1f) || (c >= 0x7f && c <= 0x9f);
|
|
58
|
+
}
|
|
59
|
+
/** End (exclusive) of a CSI parameter/intermediate/final run starting at `i`, or `i` when unterminated. */
|
|
60
|
+
function csiEnd(text, i) {
|
|
61
|
+
let j = i;
|
|
62
|
+
while (j < text.length && text.charCodeAt(j) >= 0x30 && text.charCodeAt(j) <= 0x3f)
|
|
63
|
+
j++;
|
|
64
|
+
while (j < text.length && text.charCodeAt(j) >= 0x20 && text.charCodeAt(j) <= 0x2f)
|
|
65
|
+
j++;
|
|
66
|
+
if (j < text.length && text.charCodeAt(j) >= 0x40 && text.charCodeAt(j) <= 0x7e)
|
|
67
|
+
return j + 1;
|
|
68
|
+
return i;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Remove terminal control sequences from untrusted text before storage or display.
|
|
72
|
+
*
|
|
73
|
+
* A single forward scan, not a regex: an OSC lookup for its terminator (BEL or
|
|
74
|
+
* ESC-\) is the classic polynomial-backtracking shape, and untrusted text can be
|
|
75
|
+
* built to trigger it. Each character is visited a bounded number of times here.
|
|
76
|
+
*/
|
|
52
77
|
export function sanitizeForTerminal(text) {
|
|
53
78
|
if (!text)
|
|
54
79
|
return text;
|
|
55
|
-
|
|
80
|
+
let out = '';
|
|
81
|
+
let i = 0;
|
|
82
|
+
const n = text.length;
|
|
83
|
+
// Once an 8-bit OSC scan reaches the end without a terminator, no later one can find one either.
|
|
84
|
+
let noOsc8Terminator = false;
|
|
85
|
+
while (i < n) {
|
|
86
|
+
const c = text.charCodeAt(i);
|
|
87
|
+
if (c === ESC && i + 1 < n) {
|
|
88
|
+
const next = text.charCodeAt(i + 1);
|
|
89
|
+
if (next === 0x5d) {
|
|
90
|
+
// OSC: runs to BEL or ESC-\. Any other ESC aborts the sequence, so the
|
|
91
|
+
// scan never re-covers ground a later OSC start could claim.
|
|
92
|
+
let j = i + 2;
|
|
93
|
+
while (j < n && text.charCodeAt(j) !== BEL && text.charCodeAt(j) !== ESC)
|
|
94
|
+
j++;
|
|
95
|
+
if (j < n && text.charCodeAt(j) === BEL) {
|
|
96
|
+
i = j + 1;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
if (j + 1 < n && text.charCodeAt(j) === ESC && text.charCodeAt(j + 1) === 0x5c) {
|
|
100
|
+
i = j + 2;
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
i += 2;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (next === 0x5b) {
|
|
107
|
+
const end = csiEnd(text, i + 2);
|
|
108
|
+
if (end > i + 2) {
|
|
109
|
+
i = end;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
i += 2;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (next >= 0x40 && next <= 0x5f) {
|
|
116
|
+
i += 2;
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
i += 1;
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
if (c === OSC_8BIT && !noOsc8Terminator) {
|
|
123
|
+
let j = i + 1;
|
|
124
|
+
while (j < n && text.charCodeAt(j) !== BEL && text.charCodeAt(j) !== ST_8BIT)
|
|
125
|
+
j++;
|
|
126
|
+
if (j < n) {
|
|
127
|
+
i = j + 1;
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
noOsc8Terminator = true;
|
|
131
|
+
i += 1;
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (c === CSI_8BIT) {
|
|
135
|
+
const end = csiEnd(text, i + 1);
|
|
136
|
+
i = end > i + 1 ? end : i + 1;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
if (isControlByte(c)) {
|
|
140
|
+
i += 1;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
out += text[i];
|
|
144
|
+
i += 1;
|
|
145
|
+
}
|
|
146
|
+
return out;
|
|
56
147
|
}
|
|
57
148
|
/** Env vars whose NAME marks their VALUE as a credential worth masking literally. */
|
|
58
149
|
const SECRET_ENV_NAME = /(?:TOKEN|KEY|SECRET|PASSWORD)/i;
|
|
@@ -94,3 +185,14 @@ export function knownSecretValuesFromEnv(env = process.env) {
|
|
|
94
185
|
}
|
|
95
186
|
return out;
|
|
96
187
|
}
|
|
188
|
+
const EMAIL_RE = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;
|
|
189
|
+
/**
|
|
190
|
+
* Mask email addresses in already-rendered text. A published page's sensitive-
|
|
191
|
+
* content scan refuses a body containing an email (`artifacts share` does the
|
|
192
|
+
* same), and almost every real transcript carries a few — git author addresses,
|
|
193
|
+
* `gh api user`, a pasted log. Masking them here means the page genuinely does
|
|
194
|
+
* not carry them, rather than training callers to pass `--force`.
|
|
195
|
+
*/
|
|
196
|
+
export function redactEmails(text) {
|
|
197
|
+
return text.replace(EMAIL_RE, '[EMAIL]');
|
|
198
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function setRefreshLockRootForTest(root: string | null): string | null;
|
|
2
|
-
|
|
2
|
+
interface RefreshLeaseOptions<T> {
|
|
3
3
|
scope: string;
|
|
4
4
|
key: string;
|
|
5
5
|
/**
|
|
@@ -22,3 +22,4 @@ export interface RefreshLeaseOptions<T> {
|
|
|
22
22
|
* async provider request is in flight.
|
|
23
23
|
*/
|
|
24
24
|
export declare function withRefreshLease<T>(options: RefreshLeaseOptions<T>): Promise<T>;
|
|
25
|
+
export {};
|
package/dist/lib/refresh.d.ts
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* The reconcile stage behind `agents sync` (the umbrella `--local` path calls
|
|
7
7
|
* this; see sync-umbrella.ts) and any other caller that needs to re-derive local
|
|
8
8
|
* state from declared configuration. Does NOT do any git operations — that lives
|
|
9
|
-
* in `agents repo pull`.
|
|
10
|
-
* `agents repo refresh` alias.)
|
|
9
|
+
* in `agents repo pull`.
|
|
11
10
|
*/
|
|
12
11
|
import type { AgentId } from './types.js';
|
|
13
|
-
|
|
12
|
+
import { type ResourceSelection } from './installations/versions.js';
|
|
13
|
+
interface RefreshOptions {
|
|
14
14
|
/** Limit operations to a single agent (claude/codex/etc). Default: all installed. */
|
|
15
15
|
agentFilter?: AgentId;
|
|
16
16
|
/** Auto-sync everything and skip interactive prompts. */
|
|
@@ -22,6 +22,10 @@ export interface RefreshOptions {
|
|
|
22
22
|
* (`agents sync --json` / fleet fan-out) so stdout stays a single JSON object.
|
|
23
23
|
*/
|
|
24
24
|
quiet?: boolean;
|
|
25
|
+
/** Limit reconciliation to the requested resource kinds/names. */
|
|
26
|
+
selection?: ResourceSelection;
|
|
27
|
+
/** Explicit consent for selected plugins that add executable surfaces. */
|
|
28
|
+
allowExecSurfaces?: boolean;
|
|
25
29
|
}
|
|
26
30
|
/**
|
|
27
31
|
* Re-materialize local state from declared configuration: install CLI versions,
|
|
@@ -37,7 +41,7 @@ export interface RefreshOptions {
|
|
|
37
41
|
* visible only on the interactive path — `agents sync --yes` and the
|
|
38
42
|
* `--device all` fan-out reported a clean sync (RUSH-2700).
|
|
39
43
|
*/
|
|
40
|
-
|
|
44
|
+
interface RefreshResult {
|
|
41
45
|
/** User-facing sentences, one per refused resource, prefixed with the agent. */
|
|
42
46
|
declined: string[];
|
|
43
47
|
/**
|
|
@@ -51,3 +55,4 @@ export interface RefreshResult {
|
|
|
51
55
|
}>;
|
|
52
56
|
}
|
|
53
57
|
export declare function refresh(options?: RefreshOptions): Promise<RefreshResult>;
|
|
58
|
+
export {};
|