@phnx-labs/agents-cli 1.22.112 → 1.22.114
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +10 -11
- package/dist/cli/command-registry.d.ts +0 -60
- package/dist/cli/command-registry.js +59 -61
- package/dist/commands/apply.d.ts +0 -4
- package/dist/commands/apply.js +3 -3
- package/dist/commands/browser-picker.d.ts +3 -6
- package/dist/commands/browser-picker.js +2 -2
- package/dist/commands/browser-sessions-picker.d.ts +2 -1
- package/dist/commands/computer-sessions-picker.d.ts +2 -1
- package/dist/commands/computer.d.ts +14 -19
- package/dist/commands/computer.js +65 -10
- package/dist/commands/config.js +46 -2
- package/dist/commands/daemon.d.ts +0 -23
- package/dist/commands/daemon.js +1 -1
- package/dist/commands/detach-core.d.ts +2 -1
- package/dist/commands/detach.d.ts +0 -3
- package/dist/commands/detach.js +3 -3
- package/dist/commands/feed.d.ts +3 -3
- package/dist/commands/feed.js +1 -1
- package/dist/commands/focus.d.ts +4 -4
- package/dist/commands/harness-hooks.d.ts +0 -7
- package/dist/commands/harness-hooks.js +1 -1
- package/dist/commands/harness-wizard.d.ts +2 -2
- package/dist/commands/harness.d.ts +3 -8
- package/dist/commands/harness.js +1 -1
- package/dist/commands/inspect.d.ts +2 -3
- package/dist/commands/inspect.js +1 -1
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +3 -3
- package/dist/commands/projects.d.ts +2 -18
- package/dist/commands/projects.js +89 -3
- package/dist/commands/resource-view.d.ts +3 -2
- package/dist/commands/resume.d.ts +0 -1
- package/dist/commands/resume.js +1 -1
- package/dist/commands/routines.d.ts +1 -3
- package/dist/commands/routines.js +1 -1
- package/dist/commands/run-account-picker.d.ts +2 -1
- package/dist/commands/run-broadcast.d.ts +2 -1
- package/dist/commands/run-device-picker.d.ts +2 -1
- package/dist/commands/secrets-passthrough.d.ts +14 -0
- package/dist/commands/secrets-passthrough.js +21 -2
- package/dist/commands/sessions-backfill.d.ts +2 -35
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-bookmark.d.ts +0 -10
- package/dist/commands/sessions-bookmark.js +1 -1
- package/dist/commands/sessions-inject.d.ts +2 -3
- package/dist/commands/sessions-inject.js +8 -17
- package/dist/commands/sessions-picker-factory.d.ts +4 -14
- package/dist/commands/sessions-picker-factory.js +2 -2
- package/dist/commands/sessions-picker.d.ts +3 -9
- package/dist/commands/sessions-picker.js +2 -2
- package/dist/commands/sessions-resume.d.ts +2 -4
- package/dist/commands/sessions-resume.js +0 -5
- package/dist/commands/sessions-stats.d.ts +2 -1
- package/dist/commands/sessions-stop.d.ts +0 -3
- package/dist/commands/sessions-stop.js +1 -1
- package/dist/commands/sessions-tail.d.ts +2 -1
- package/dist/commands/sessions-trace.d.ts +4 -6
- package/dist/commands/sessions-trace.js +1 -1
- package/dist/commands/sessions.d.ts +14 -104
- package/dist/commands/sessions.js +22 -10
- package/dist/commands/setup-mine.d.ts +0 -6
- package/dist/commands/setup-mine.js +1 -1
- package/dist/commands/setup.d.ts +3 -4
- package/dist/commands/setup.js +1 -1
- package/dist/commands/share.d.ts +8 -8
- package/dist/commands/teams-picker.d.ts +2 -5
- package/dist/commands/teams-picker.js +2 -2
- package/dist/commands/teams.d.ts +1 -7
- package/dist/commands/teams.js +1 -1
- package/dist/commands/tmux.d.ts +1 -1
- package/dist/commands/tmux.js +1 -1
- package/dist/commands/upgrade.d.ts +2 -1
- package/dist/commands/utils.d.ts +1 -1
- package/dist/commands/utils.js +1 -1
- package/dist/lib/account-capabilities.d.ts +2 -1
- package/dist/lib/account-catalog.d.ts +4 -13
- package/dist/lib/account-catalog.js +1 -1
- package/dist/lib/account-registry.d.ts +3 -4
- package/dist/lib/account-registry.js +1 -1
- package/dist/lib/accounting/account-launch.d.ts +4 -3
- package/dist/lib/accounting/account-pool.d.ts +2 -1
- package/dist/lib/accounting/rotate.d.ts +3 -9
- package/dist/lib/accounting/rotate.js +2 -14
- package/dist/lib/accounting/usage-sync.d.ts +5 -4
- package/dist/lib/accounting/usage.d.ts +7 -31
- package/dist/lib/accounting/usage.js +4 -4
- package/dist/lib/accounts/migrate.d.ts +8 -8
- package/dist/lib/accounts/migrate.js +1 -1
- package/dist/lib/acp/client.d.ts +3 -2
- package/dist/lib/acp/harnesses.d.ts +2 -2
- package/dist/lib/acp/harnesses.js +1 -1
- package/dist/lib/acp/run.d.ts +2 -1
- package/dist/lib/actor.d.ts +3 -2
- package/dist/lib/add-dir.d.ts +2 -17
- package/dist/lib/add-dir.js +2 -6
- package/dist/lib/address.d.ts +56 -0
- package/dist/lib/address.js +143 -0
- package/dist/lib/agent-spec/agents.d.ts +12 -28
- package/dist/lib/agent-spec/agents.js +2 -6
- package/dist/lib/agent-spec/primitives.d.ts +0 -7
- package/dist/lib/agent-spec/primitives.js +0 -6
- package/dist/lib/agent-spec/types.d.ts +2 -1
- package/dist/lib/analytics/dashboard.d.ts +1 -5
- package/dist/lib/analytics/dashboard.js +0 -2
- package/dist/lib/analytics/mix-commands.d.ts +0 -7
- package/dist/lib/analytics/mix-commands.js +3 -3
- package/dist/lib/analytics/recipes.d.ts +0 -12
- package/dist/lib/analytics/recipes.js +7 -31
- package/dist/lib/analytics/usage-db.d.ts +5 -32
- package/dist/lib/analytics/usage-db.js +1 -70
- package/dist/lib/answer-router.d.ts +7 -6
- package/dist/lib/answer-router.js +5 -11
- package/dist/lib/artifact-actions.d.ts +0 -4
- package/dist/lib/ask-classifier.d.ts +3 -4
- package/dist/lib/ask-classifier.js +0 -7
- package/dist/lib/auth-health.d.ts +3 -46
- package/dist/lib/auth-health.js +3 -3
- package/dist/lib/auth-mint.d.ts +6 -6
- package/dist/lib/auth-mint.js +5 -5
- package/dist/lib/bench/runner.d.ts +2 -2
- package/dist/lib/bench/runner.js +1 -1
- package/dist/lib/bench/storage.d.ts +0 -1
- package/dist/lib/bench/storage.js +1 -1
- package/dist/lib/boot-profile.d.ts +0 -2
- package/dist/lib/boot-profile.js +0 -4
- package/dist/lib/brand.d.ts +0 -6
- package/dist/lib/brand.js +1 -1
- package/dist/lib/browser/arc-discovery.d.ts +4 -12
- package/dist/lib/browser/arc-discovery.js +1 -1
- package/dist/lib/browser/cdp.d.ts +1 -1
- package/dist/lib/browser/chrome.d.ts +2 -2
- package/dist/lib/browser/chrome.js +0 -4
- package/dist/lib/browser/chromium-discovery.d.ts +3 -2
- package/dist/lib/browser/drivers/arc.d.ts +3 -20
- package/dist/lib/browser/drivers/arc.js +2 -7
- package/dist/lib/browser/drivers/firefox.d.ts +2 -6
- package/dist/lib/browser/drivers/firefox.js +1 -1
- package/dist/lib/browser/drivers/local.d.ts +2 -1
- package/dist/lib/browser/drivers/ssh.d.ts +2 -3
- package/dist/lib/browser/drivers/ssh.js +0 -7
- package/dist/lib/browser/firefox-discovery.d.ts +4 -3
- package/dist/lib/browser/har.d.ts +8 -7
- package/dist/lib/browser/hygiene.d.ts +2 -3
- package/dist/lib/browser/hygiene.js +1 -1
- package/dist/lib/browser/ipc.d.ts +4 -3
- package/dist/lib/browser/ipc.js +1 -1
- package/dist/lib/browser/login-detection.d.ts +1 -8
- package/dist/lib/browser/registry.d.ts +2 -1
- package/dist/lib/browser/remote-control.d.ts +0 -7
- package/dist/lib/browser/remote-control.js +2 -2
- package/dist/lib/browser/resolve-target.d.ts +2 -6
- package/dist/lib/browser/resolve-target.js +3 -3
- package/dist/lib/browser/runtime-state.d.ts +4 -4
- package/dist/lib/browser/service.d.ts +4 -4
- package/dist/lib/browser/sessions-list.d.ts +0 -10
- package/dist/lib/browser/sessions-list.js +3 -3
- package/dist/lib/browser/stream.d.ts +2 -1
- package/dist/lib/browser/task-index.d.ts +4 -4
- package/dist/lib/browser/task-index.js +1 -1
- package/dist/lib/browser/types.d.ts +0 -20
- package/dist/lib/browser/types.js +1 -34
- package/dist/lib/browser/upload.d.ts +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -2
- package/dist/lib/budget/ledger.js +1 -1
- package/dist/lib/budget/live-cloud.d.ts +2 -1
- package/dist/lib/budget/preflight.d.ts +3 -5
- package/dist/lib/budget/preflight.js +1 -1
- package/dist/lib/catchup.d.ts +2 -1
- package/dist/lib/channels/owner-forward.d.ts +5 -4
- package/dist/lib/channels/owner-sink.js +2 -2
- package/dist/lib/channels/providers/desktop.js +1 -1
- package/dist/lib/channels/providers/rush.d.ts +2 -1
- package/dist/lib/channels/registry.d.ts +1 -1
- package/dist/lib/channels/registry.js +1 -1
- package/dist/lib/channels/resolve.d.ts +3 -2
- package/dist/lib/channels/send.d.ts +5 -4
- package/dist/lib/cli-resources.d.ts +3 -9
- package/dist/lib/cli-resources.js +1 -1
- package/dist/lib/cloud/cursor.d.ts +1 -2
- package/dist/lib/cloud/cursor.js +1 -1
- package/dist/lib/cloud/dispatch.d.ts +2 -1
- package/dist/lib/cloud/factory.d.ts +0 -2
- package/dist/lib/cloud/factory.js +1 -1
- package/dist/lib/cloud/rush.d.ts +3 -11
- package/dist/lib/cloud/rush.js +1 -1
- package/dist/lib/cloud/session-index.d.ts +2 -1
- package/dist/lib/cloud/types.d.ts +2 -1
- package/dist/lib/codex-policy.d.ts +2 -1
- package/dist/lib/commands.d.ts +7 -7
- package/dist/lib/commands.js +1 -1
- package/dist/lib/comms-render.d.ts +1 -1
- package/dist/lib/computer/context.d.ts +11 -3
- package/dist/lib/computer/context.js +2 -2
- package/dist/lib/computer/policy.d.ts +0 -12
- package/dist/lib/computer/policy.js +1 -1
- package/dist/lib/computer-client.d.ts +3 -3
- package/dist/lib/computer-client.js +0 -1
- package/dist/lib/concurrency.d.ts +2 -1
- package/dist/lib/config-keys.d.ts +16 -3
- package/dist/lib/config-keys.js +47 -2
- package/dist/lib/convert.d.ts +0 -12
- package/dist/lib/convert.js +1 -12
- package/dist/lib/crabbox/cli.d.ts +6 -24
- package/dist/lib/crabbox/cli.js +2 -28
- package/dist/lib/crabbox/lease.d.ts +5 -6
- package/dist/lib/crabbox/lease.js +1 -1
- package/dist/lib/crabbox/progress.d.ts +2 -1
- package/dist/lib/crabbox/setup-copy.d.ts +2 -3
- package/dist/lib/crabbox/setup-copy.js +1 -1
- package/dist/lib/daemon/account-state-daemon-service.d.ts +1 -1
- package/dist/lib/daemon/attention-notify-service.d.ts +2 -1
- package/dist/lib/daemon/catchup-service.d.ts +2 -1
- package/dist/lib/daemon/daemon.d.ts +4 -12
- package/dist/lib/daemon/daemon.js +42 -23
- 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/testdata/process-view-daemon.d.ts +1 -0
- package/dist/lib/daemon/testdata/process-view-daemon.js +14 -0
- package/dist/lib/daemon/testdata/process-view-start.d.ts +1 -0
- package/dist/lib/daemon/testdata/process-view-start.js +43 -0
- package/dist/lib/daemon-services.d.ts +2 -1
- package/dist/lib/daemon-webhooks.d.ts +1 -1
- package/dist/lib/deeplink/register.d.ts +3 -13
- package/dist/lib/deeplink/register.js +3 -3
- package/dist/lib/deeplink/url.d.ts +3 -2
- package/dist/lib/device-config.d.ts +4 -15
- package/dist/lib/device-config.js +164 -8
- package/dist/lib/devices/connect.d.ts +2 -1
- package/dist/lib/devices/discovery-policy.d.ts +3 -2
- package/dist/lib/devices/doctor-findings.js +1 -1
- package/dist/lib/devices/doctor-overview-cache.d.ts +3 -2
- package/dist/lib/devices/fleet-divergence.d.ts +2 -1
- package/dist/lib/devices/fleet.d.ts +3 -4
- package/dist/lib/devices/fleet.js +1 -1
- package/dist/lib/devices/harness-inventory.d.ts +3 -2
- package/dist/lib/devices/health-report.d.ts +3 -2
- package/dist/lib/devices/health.d.ts +1 -8
- package/dist/lib/devices/health.js +1 -1
- package/dist/lib/devices/interactive-host.d.ts +0 -2
- package/dist/lib/devices/interactive-host.js +1 -1
- package/dist/lib/devices/known-hosts.d.ts +2 -20
- package/dist/lib/devices/known-hosts.js +2 -2
- package/dist/lib/devices/pool.d.ts +2 -1
- package/dist/lib/devices/resolve-target.d.ts +2 -2
- package/dist/lib/devices/rollout-verify.d.ts +3 -2
- package/dist/lib/devices/stats-cache.d.ts +3 -2
- package/dist/lib/devices/sync.d.ts +6 -5
- package/dist/lib/devices/worker-pick.d.ts +3 -12
- package/dist/lib/devices/worker-pick.js +1 -1
- package/dist/lib/diff-text.d.ts +2 -1
- package/dist/lib/doctor-diff.d.ts +2 -1
- package/dist/lib/drift-sync.d.ts +3 -2
- package/dist/lib/drift.d.ts +3 -3
- package/dist/lib/drift.js +1 -1
- package/dist/lib/event-families.d.ts +0 -6
- package/dist/lib/event-families.js +3 -3
- package/dist/lib/event-provenance.d.ts +4 -1
- package/dist/lib/event-provenance.js +4 -0
- 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 +28 -8
- 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 +11 -2
- package/dist/lib/feed/activity.d.ts +16 -33
- package/dist/lib/feed/activity.js +69 -26
- package/dist/lib/feed/answer.d.ts +3 -2
- package/dist/lib/feed/attention.js +5 -1
- package/dist/lib/feed/events.d.ts +2 -47
- package/dist/lib/feed/events.js +1 -141
- package/dist/lib/feed/feed.d.ts +9 -42
- package/dist/lib/feed/feed.js +1 -60
- package/dist/lib/feed/pr-status.d.ts +0 -2
- package/dist/lib/feed/pr-status.js +1 -5
- package/dist/lib/feed/watch.d.ts +10 -2
- package/dist/lib/feed/watch.js +91 -4
- 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 +2 -2
- package/dist/lib/feed-ranking.d.ts +2 -2
- package/dist/lib/feed-ranking.js +1 -1
- package/dist/lib/fleet/apply.d.ts +5 -6
- package/dist/lib/fleet/apply.js +4 -4
- package/dist/lib/fleet/manifest.d.ts +2 -1
- package/dist/lib/fleet/remote-login.d.ts +18 -36
- package/dist/lib/fleet/remote-login.js +20 -19
- package/dist/lib/fleet/types.d.ts +0 -8
- package/dist/lib/fleet-cache.d.ts +1 -18
- package/dist/lib/fleet-cache.js +0 -5
- package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
- package/dist/lib/fleet-shared-repo-sync.js +1 -1
- package/dist/lib/fleet-shared-state.d.ts +3 -2
- package/dist/lib/format.d.ts +2 -1
- package/dist/lib/friction-heuristics.d.ts +2 -1
- package/dist/lib/fs-walk.d.ts +2 -1
- package/dist/lib/fuzzy.d.ts +2 -1
- package/dist/lib/gemini-settings.d.ts +0 -1
- package/dist/lib/gemini-settings.js +1 -1
- package/dist/lib/git.d.ts +7 -65
- package/dist/lib/git.js +3 -142
- package/dist/lib/github/gh-overload.d.ts +0 -4
- package/dist/lib/github/gh-overload.js +2 -2
- package/dist/lib/github/project-prs.d.ts +118 -0
- package/dist/lib/github/project-prs.js +173 -0
- package/dist/lib/github/rest.d.ts +2 -1
- package/dist/lib/harness/exec-config-version.d.ts +2 -1
- package/dist/lib/harness-auth-capabilities.d.ts +5 -4
- package/dist/lib/harness-connection-test.d.ts +2 -1
- package/dist/lib/heal.d.ts +3 -20
- package/dist/lib/heal.js +2 -39
- package/dist/lib/help.d.ts +3 -2
- package/dist/lib/helper-download.d.ts +0 -12
- package/dist/lib/helper-download.js +2 -2
- package/dist/lib/helper-versions.d.ts +2 -1
- package/dist/lib/helper-versions.js +1 -1
- package/dist/lib/hooks/install.d.ts +8 -49
- package/dist/lib/hooks/install.js +2 -96
- package/dist/lib/hooks/match.d.ts +2 -1
- package/dist/lib/hosts/credential-transport.d.ts +0 -2
- package/dist/lib/hosts/credential-transport.js +1 -1
- package/dist/lib/hosts/dispatch.d.ts +2 -34
- package/dist/lib/hosts/dispatch.js +4 -21
- package/dist/lib/hosts/logs.d.ts +2 -1
- package/dist/lib/hosts/passthrough.d.ts +1 -1
- package/dist/lib/hosts/passthrough.js +0 -1
- package/dist/lib/hosts/progress.d.ts +0 -5
- package/dist/lib/hosts/progress.js +1 -1
- package/dist/lib/hosts/ready.d.ts +3 -4
- package/dist/lib/hosts/ready.js +0 -8
- package/dist/lib/hosts/reconcile.d.ts +2 -8
- package/dist/lib/hosts/reconcile.js +1 -1
- package/dist/lib/hosts/reconnect.d.ts +4 -11
- package/dist/lib/hosts/reconnect.js +2 -2
- package/dist/lib/hosts/registry.d.ts +1 -1
- package/dist/lib/hosts/remote-cmd.d.ts +4 -3
- package/dist/lib/hosts/remote-session-id.d.ts +5 -27
- package/dist/lib/hosts/remote-session-id.js +18 -61
- 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/launch-identity.d.ts +10 -0
- package/dist/lib/launch-identity.js +31 -0
- package/dist/lib/linear-cache.d.ts +2 -1
- package/dist/lib/linux-userns.d.ts +2 -3
- package/dist/lib/linux-userns.js +0 -4
- package/dist/lib/loop.d.ts +2 -1
- package/dist/lib/mailbox-gc.d.ts +2 -1
- package/dist/lib/mailbox-target.d.ts +2 -1
- package/dist/lib/mailbox.d.ts +0 -6
- package/dist/lib/mailbox.js +1 -1
- package/dist/lib/manifest.d.ts +0 -14
- package/dist/lib/manifest.js +2 -2
- package/dist/lib/mcp-registry.d.ts +2 -1
- package/dist/lib/memory.d.ts +2 -13
- package/dist/lib/memory.js +4 -4
- package/dist/lib/menubar/download-menubar.d.ts +0 -2
- package/dist/lib/menubar/download-menubar.js +1 -5
- package/dist/lib/menubar/install-menubar.d.ts +3 -14
- package/dist/lib/menubar/install-menubar.js +3 -3
- package/dist/lib/menubar/migrate-prefs.d.ts +53 -0
- package/dist/lib/menubar/migrate-prefs.js +168 -0
- package/dist/lib/menubar/resolve-version.d.ts +1 -9
- package/dist/lib/menubar/resolve-version.js +4 -4
- package/dist/lib/menubar/snapshot.d.ts +24 -2
- package/dist/lib/menubar/snapshot.js +26 -0
- package/dist/lib/model-tier-overrides.d.ts +3 -2
- package/dist/lib/monitors/config.d.ts +0 -2
- package/dist/lib/monitors/config.js +0 -4
- package/dist/lib/monitors/engine.d.ts +1 -1
- package/dist/lib/monitors/remote.d.ts +3 -2
- package/dist/lib/monitors/sources/webhook.d.ts +2 -15
- package/dist/lib/monitors/sources/webhook.js +1 -38
- package/dist/lib/monitors/state.d.ts +4 -7
- package/dist/lib/monitors/state.js +2 -2
- package/dist/lib/notify.d.ts +1 -1
- package/dist/lib/notify.js +1 -1
- package/dist/lib/onepassword.d.ts +5 -14
- package/dist/lib/onepassword.js +0 -64
- package/dist/lib/open-url.d.ts +3 -2
- package/dist/lib/openclaw-keychain.d.ts +4 -17
- package/dist/lib/openclaw-keychain.js +3 -33
- package/dist/lib/operator.d.ts +2 -2
- package/dist/lib/operator.js +1 -1
- package/dist/lib/output/git-output.d.ts +4 -14
- package/dist/lib/output/git-output.js +1 -1
- package/dist/lib/owner-message.d.ts +3 -29
- package/dist/lib/owner-message.js +3 -3
- package/dist/lib/packages/output-home.d.ts +2 -4
- package/dist/lib/packages/output-home.js +2 -2
- package/dist/lib/perf/db.d.ts +0 -2
- package/dist/lib/perf/db.js +2 -7
- package/dist/lib/permissions-registry.d.ts +2 -3
- package/dist/lib/permissions-registry.js +0 -4
- package/dist/lib/permissions.d.ts +6 -16
- package/dist/lib/permissions.js +2 -15
- package/dist/lib/picker.d.ts +6 -5
- package/dist/lib/placement.d.ts +3 -6
- package/dist/lib/placement.js +0 -17
- package/dist/lib/platform/posixpath.d.ts +2 -1
- package/dist/lib/platform/winpath.d.ts +2 -1
- package/dist/lib/plugins/plugin-marketplace.d.ts +2 -2
- package/dist/lib/plugins/plugin-marketplace.js +1 -1
- package/dist/lib/pr-land-detach.d.ts +2 -1
- package/dist/lib/profiles-presets.d.ts +2 -1
- package/dist/lib/profiles.d.ts +3 -9
- package/dist/lib/profiles.js +1 -9
- package/dist/lib/project-doctor.d.ts +2 -1
- package/dist/lib/project-launch.d.ts +2 -2
- package/dist/lib/project-probe.d.ts +4 -3
- package/dist/lib/project-pull.d.ts +2 -1
- package/dist/lib/project-resources.d.ts +2 -2
- package/dist/lib/project-resources.js +1 -1
- package/dist/lib/project-root.d.ts +2 -6
- package/dist/lib/project-root.js +1 -1
- package/dist/lib/project-schedule.d.ts +2 -1
- package/dist/lib/project-status.d.ts +2 -16
- package/dist/lib/project-status.js +3 -3
- package/dist/lib/reconcile-and-repair.d.ts +5 -4
- package/dist/lib/redact.d.ts +7 -1
- package/dist/lib/redact.js +94 -3
- package/dist/lib/refresh-coordinator.d.ts +2 -1
- package/dist/lib/refresh.d.ts +3 -2
- package/dist/lib/remote-agents-json.d.ts +3 -2
- package/dist/lib/reserved-stores.d.ts +0 -2
- package/dist/lib/reserved-stores.js +3 -5
- package/dist/lib/resource-content-diff.d.ts +0 -2
- package/dist/lib/resource-content-diff.js +1 -1
- package/dist/lib/resource-patterns.d.ts +2 -1
- package/dist/lib/resource-profiles.d.ts +2 -8
- package/dist/lib/resource-profiles.js +3 -27
- package/dist/lib/resources/workflows.d.ts +1 -1
- package/dist/lib/resources.d.ts +4 -9
- package/dist/lib/resources.js +1 -1
- package/dist/lib/routine-context.d.ts +2 -5
- package/dist/lib/routine-context.js +2 -2
- package/dist/lib/routine-notify-owner.d.ts +8 -7
- package/dist/lib/routine-notify-owner.js +5 -5
- package/dist/lib/routine-process-cleanup.d.ts +2 -1
- package/dist/lib/routine-readiness.d.ts +0 -2
- package/dist/lib/routine-readiness.js +0 -7
- package/dist/lib/routines-project.d.ts +3 -4
- package/dist/lib/routines-project.js +1 -1
- package/dist/lib/rules/compile.d.ts +3 -25
- package/dist/lib/rules/compile.js +1 -1
- package/dist/lib/rules/compose.d.ts +3 -9
- package/dist/lib/rules/rules.d.ts +4 -15
- package/dist/lib/rules/rules.js +1 -64
- package/dist/lib/run-defaults.d.ts +1 -1
- package/dist/lib/run-notify.d.ts +2 -1
- package/dist/lib/run-trace-sync.d.ts +1 -1
- package/dist/lib/run-trace-sync.js +1 -1
- package/dist/lib/scheduler.d.ts +2 -1
- package/dist/lib/scheduling/routines.d.ts +9 -21
- package/dist/lib/scheduling/routines.js +3 -46
- package/dist/lib/secrets-client.d.ts +0 -17
- package/dist/lib/secrets-client.js +4 -26
- package/dist/lib/secrets-policy.d.ts +12 -17
- package/dist/lib/secrets-policy.js +5 -5
- package/dist/lib/secrets-types.d.ts +3 -2
- package/dist/lib/secrets-types.js +2 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -1
- package/dist/lib/self-heal/registry.d.ts +3 -2
- package/dist/lib/self-heal/types.d.ts +1 -1
- package/dist/lib/self-heal/types.js +1 -1
- package/dist/lib/self-update.d.ts +5 -5
- package/dist/lib/self-update.js +4 -4
- package/dist/lib/session/active.js +9 -3
- 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/db.d.ts +2 -1
- package/dist/lib/session/db.js +39 -4
- package/dist/lib/session/detached.d.ts +2 -1
- package/dist/lib/session/detached.js +2 -2
- package/dist/lib/session/digest.d.ts +2 -2
- package/dist/lib/session/digest.js +1 -1
- package/dist/lib/session/discover.js +7 -2
- 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 +12 -1
- package/dist/lib/session/hook-sessions.js +139 -6
- 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/pid-registry.d.ts +18 -5
- package/dist/lib/session/pid-registry.js +164 -17
- package/dist/lib/session/presence.d.ts +2 -1
- package/dist/lib/session/process-view.d.ts +25 -0
- package/dist/lib/session/process-view.js +176 -0
- package/dist/lib/session/projection.d.ts +13 -0
- package/dist/lib/session/projection.js +101 -0
- package/dist/lib/session/prompt.d.ts +3 -2
- package/dist/lib/session/prompt.js +38 -1
- package/dist/lib/session/recovery.d.ts +3 -2
- package/dist/lib/session/remote/peer-stream.d.ts +2 -5
- package/dist/lib/session/remote/peer-stream.js +2 -2
- package/dist/lib/session/remote/remote-bundle.d.ts +2 -1
- package/dist/lib/session/remote/remote-list.d.ts +5 -5
- package/dist/lib/session/remote/remote.d.ts +4 -3
- package/dist/lib/session/remote/watch.d.ts +10 -7
- package/dist/lib/session/remote/watch.js +10 -6
- 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 +17 -8
- package/dist/lib/session/share-html.d.ts +1 -21
- package/dist/lib/session/share-html.js +1 -1
- package/dist/lib/session/shell-programs.d.ts +2 -1
- package/dist/lib/session/state.d.ts +41 -8
- package/dist/lib/session/state.js +112 -11
- package/dist/lib/session/stream-render.d.ts +2 -1
- package/dist/lib/session/sync/agents.d.ts +0 -4
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +5 -5
- package/dist/lib/session/sync/managed-config.d.ts +0 -8
- package/dist/lib/session/sync/managed-key.d.ts +0 -2
- package/dist/lib/session/sync/managed-key.js +1 -1
- package/dist/lib/session/sync/r2.d.ts +4 -1
- package/dist/lib/session/sync/r2.js +4 -7
- package/dist/lib/session/sync/transcript-crypto.d.ts +2 -1
- package/dist/lib/session/tail.d.ts +2 -1
- package/dist/lib/session/team-filter.d.ts +1 -1
- package/dist/lib/session/testdata/pid-registry-namespace.d.ts +1 -0
- package/dist/lib/session/testdata/pid-registry-namespace.js +27 -0
- package/dist/lib/session/testdata/process-view-namespace.d.ts +1 -0
- package/dist/lib/session/testdata/process-view-namespace.js +56 -0
- package/dist/lib/session/testdata/process-view-private.d.ts +1 -0
- package/dist/lib/session/testdata/process-view-private.js +12 -0
- package/dist/lib/session/throughput.d.ts +2 -3
- package/dist/lib/session/throughput.js +1 -1
- package/dist/lib/session/timeline-pass.d.ts +3 -42
- package/dist/lib/session/timeline-pass.js +4 -4
- package/dist/lib/session/timeline.d.ts +3 -13
- package/dist/lib/session/timeline.js +3 -3
- package/dist/lib/session/tool-calls.d.ts +2 -2
- package/dist/lib/session/tool-calls.js +1 -1
- package/dist/lib/session/tool-index.d.ts +0 -8
- package/dist/lib/session/tool-index.js +2 -2
- package/dist/lib/session/tool-store.d.ts +2 -1
- package/dist/lib/session/trajectory-compare.d.ts +2 -1
- package/dist/lib/session/trajectory-lineage.d.ts +2 -1
- package/dist/lib/session/trajectory-text.d.ts +3 -2
- package/dist/lib/session/trajectory.d.ts +2 -1
- package/dist/lib/session/viewing-in.d.ts +2 -1
- package/dist/lib/settings-manifest.d.ts +2 -1
- package/dist/lib/share/delete.d.ts +5 -4
- package/dist/lib/share/html.d.ts +0 -2
- package/dist/lib/share/html.js +9 -9
- package/dist/lib/share/http-error.d.ts +3 -2
- package/dist/lib/share/og.d.ts +2 -1
- package/dist/lib/share/provision.d.ts +2 -2
- package/dist/lib/share/publish.d.ts +4 -13
- package/dist/lib/share/publish.js +2 -2
- package/dist/lib/shim-heal.d.ts +1 -5
- package/dist/lib/shim-heal.js +0 -6
- package/dist/lib/smart-launch.d.ts +4 -5
- package/dist/lib/smart-launch.js +1 -1
- package/dist/lib/snapshot.d.ts +3 -2
- package/dist/lib/ssh-exec.d.ts +5 -4
- package/dist/lib/ssh-tunnel.d.ts +3 -2
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -2
- package/dist/lib/staleness/checkers/permissions.js +1 -1
- package/dist/lib/staleness/fingerprint.d.ts +0 -7
- package/dist/lib/staleness/fingerprint.js +1 -1
- package/dist/lib/staleness/prune.d.ts +3 -2
- package/dist/lib/staleness/registry.d.ts +1 -1
- package/dist/lib/staleness/writers/sources.d.ts +0 -8
- package/dist/lib/staleness/writers/sources.js +1 -1
- package/dist/lib/startup/command-registry.js +1 -1
- package/dist/lib/state.d.ts +1 -3
- package/dist/lib/state.js +1 -4
- package/dist/lib/subagents-registry.d.ts +4 -3
- package/dist/lib/subagents.d.ts +2 -1
- package/dist/lib/subagents.js +3 -2
- package/dist/lib/summarizer/pass.d.ts +3 -6
- package/dist/lib/summarizer/pass.js +2 -2
- package/dist/lib/summarizer/summarize.d.ts +4 -3
- package/dist/lib/sync-passphrase.d.ts +3 -2
- package/dist/lib/sync-status.d.ts +3 -16
- package/dist/lib/sync-status.js +2 -2
- package/dist/lib/sync-umbrella.d.ts +4 -3
- package/dist/lib/system-run-sync.d.ts +2 -1
- package/dist/lib/teams/agents.d.ts +2 -4
- package/dist/lib/teams/agents.js +1 -1
- package/dist/lib/teams/forEach.d.ts +3 -2
- package/dist/lib/teams/pr-watch.d.ts +4 -11
- package/dist/lib/teams/pr-watch.js +4 -4
- package/dist/lib/teams/registry.d.ts +2 -3
- package/dist/lib/teams/registry.js +1 -1
- package/dist/lib/teams/remoteWorktree.d.ts +0 -16
- package/dist/lib/teams/remoteWorktree.js +3 -3
- package/dist/lib/teams/scheduler.d.ts +6 -5
- package/dist/lib/teams/scheduler.js +1 -1
- package/dist/lib/teams/supervisor.d.ts +4 -3
- package/dist/lib/teams/worktree.d.ts +0 -9
- package/dist/lib/teams/worktree.js +0 -32
- package/dist/lib/term-client.d.ts +44 -0
- package/dist/lib/term-client.js +117 -0
- package/dist/lib/terminal/inject.d.ts +3 -16
- package/dist/lib/terminal/inject.js +1 -29
- package/dist/lib/terminal/resolve.d.ts +3 -9
- package/dist/lib/terminal/resolve.js +3 -7
- package/dist/lib/tmux/binary.d.ts +2 -1
- package/dist/lib/tmux/orphan-reap.d.ts +6 -7
- package/dist/lib/tmux/orphan-reap.js +1 -1
- package/dist/lib/tmux/session.d.ts +4 -3
- package/dist/lib/traces/classify.d.ts +3 -2
- package/dist/lib/traces/config.d.ts +0 -8
- package/dist/lib/traces/insights.d.ts +2 -1
- package/dist/lib/traces/phenotype.d.ts +3 -3
- package/dist/lib/traces/provision.d.ts +1 -3
- package/dist/lib/traces/provision.js +1 -1
- package/dist/lib/traces/schema2-build.d.ts +1 -1
- package/dist/lib/traces/schema2-danger.d.ts +2 -1
- package/dist/lib/traces/schema2.d.ts +5 -4
- package/dist/lib/traces/segments.d.ts +4 -20
- package/dist/lib/traces/segments.js +3 -3
- package/dist/lib/traces/sync.d.ts +2 -3
- package/dist/lib/traces/sync.js +1 -1
- package/dist/lib/triggers/handlers.d.ts +4 -13
- package/dist/lib/triggers/handlers.js +1 -1
- package/dist/lib/triggers/webhook.d.ts +5 -27
- package/dist/lib/triggers/webhook.js +4 -4
- package/dist/lib/types.d.ts +3 -3
- package/dist/lib/usage-refresh.d.ts +4 -10
- package/dist/lib/usage-refresh.js +3 -8
- package/dist/lib/verbs.d.ts +2 -1
- package/dist/lib/version-duplicates.d.ts +2 -3
- package/dist/lib/version-duplicates.js +3 -33
- package/dist/lib/version.d.ts +2 -1
- package/dist/lib/warn-unpushed.d.ts +2 -1
- package/dist/lib/watchdog/history.d.ts +3 -2
- package/dist/lib/watchdog/log.d.ts +0 -6
- package/dist/lib/watchdog/log.js +1 -1
- package/dist/lib/watchdog/rotate.d.ts +2 -26
- package/dist/lib/watchdog/rotate.js +4 -12
- package/dist/lib/watchdog/runner.d.ts +0 -7
- package/dist/lib/watchdog/runner.js +4 -4
- package/dist/lib/watchdog/service.d.ts +2 -2
- package/dist/lib/watchdog/service.js +1 -1
- package/dist/lib/watchdog/watchdog-agent.d.ts +2 -1
- package/dist/lib/watchdog/watchdog.d.ts +2 -1
- package/dist/lib/watchdog/watchdogTail.d.ts +2 -1
- package/dist/lib/workflows-registry.d.ts +3 -2
- package/dist/lib/workflows.d.ts +4 -7
- package/dist/lib/workflows.js +1 -1
- package/dist/lib/worktree/held.d.ts +4 -28
- package/dist/lib/worktree/held.js +3 -3
- package/package.json +2 -3
- package/scripts/postinstall.js +5 -4
- package/dist/commands/pty.d.ts +0 -20
- package/dist/commands/pty.js +0 -404
- package/dist/lib/config-machine-keys.d.ts +0 -14
- package/dist/lib/config-machine-keys.js +0 -21
- package/dist/lib/pty-client.d.ts +0 -49
- package/dist/lib/pty-client.js +0 -315
- package/dist/lib/pty-server.d.ts +0 -59
- package/dist/lib/pty-server.js +0 -653
|
@@ -153,7 +153,7 @@ export function isRulesStale(agentId, version) {
|
|
|
153
153
|
* Agents that natively resolve @-imports are skipped (no-op) — their sync
|
|
154
154
|
* uses the standard copyFileSync path in `syncResourcesToVersion`.
|
|
155
155
|
*/
|
|
156
|
-
|
|
156
|
+
function compileRulesForAgent(agentId, version) {
|
|
157
157
|
if (supportsRulesImports(agentId)) {
|
|
158
158
|
return { compiled: false, compiledPath: '', sources: 0 };
|
|
159
159
|
}
|
|
@@ -26,14 +26,7 @@ export interface RulesLayer {
|
|
|
26
26
|
/** Set when scope is 'extra'; undefined otherwise. */
|
|
27
27
|
alias?: string;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
/** Subrule names (without `.md`), in concatenation order. */
|
|
31
|
-
subrules: string[];
|
|
32
|
-
}
|
|
33
|
-
export interface RulesYaml {
|
|
34
|
-
presets?: Record<string, PresetDef>;
|
|
35
|
-
}
|
|
36
|
-
export interface ComposeOptions {
|
|
29
|
+
interface ComposeOptions {
|
|
37
30
|
/** Defaults to `"default"`. */
|
|
38
31
|
preset?: string;
|
|
39
32
|
/** Layers in precedence order, highest first. */
|
|
@@ -47,7 +40,7 @@ export interface ComposedSubrule {
|
|
|
47
40
|
/** Set when the subrule is dir-form (`subrules/<name>/`); the dir itself. */
|
|
48
41
|
subruleDir?: string;
|
|
49
42
|
}
|
|
50
|
-
|
|
43
|
+
interface ComposeResult {
|
|
51
44
|
/** Fully concatenated, no @-imports. */
|
|
52
45
|
content: string;
|
|
53
46
|
/** The preset name that was applied. */
|
|
@@ -98,3 +91,4 @@ export declare function collectSubruleHooksFromState(opts?: {
|
|
|
98
91
|
preset?: string;
|
|
99
92
|
cwd?: string;
|
|
100
93
|
}): Record<string, ManifestHook>;
|
|
94
|
+
export {};
|
|
@@ -7,23 +7,18 @@
|
|
|
7
7
|
* refreshing rules files across version homes.
|
|
8
8
|
*/
|
|
9
9
|
import type { AgentId } from '../types.js';
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
type InstructionsScope = 'user' | 'project';
|
|
11
|
+
interface InstalledInstructions {
|
|
12
12
|
agentId: AgentId;
|
|
13
13
|
scope: InstructionsScope;
|
|
14
14
|
path: string;
|
|
15
15
|
exists: boolean;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
interface DiscoveredInstructions {
|
|
18
18
|
agentId: AgentId;
|
|
19
19
|
sourcePath: string;
|
|
20
20
|
filename: string;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Central rules filename constant.
|
|
24
|
-
* All agents map to this file in ~/.agents/rules/, renamed per-agent when synced.
|
|
25
|
-
*/
|
|
26
|
-
export declare const CENTRAL_RULES_FILENAME = "AGENTS.md";
|
|
27
22
|
/**
|
|
28
23
|
* Get the canonical central rules filename for an agent's instructionsFile.
|
|
29
24
|
* Central storage uses AGENTS.md, which gets renamed per-agent when syncing:
|
|
@@ -36,15 +31,8 @@ export declare function getCentralRulesFileName(agentId: AgentId): string;
|
|
|
36
31
|
export declare function getInstructionsPath(agentId: AgentId, scope: InstructionsScope, cwd?: string): string;
|
|
37
32
|
export declare function instructionsExists(agentId: AgentId, scope?: InstructionsScope, cwd?: string): boolean;
|
|
38
33
|
export declare function discoverInstructionsFromRepo(repoPath: string): DiscoveredInstructions[];
|
|
39
|
-
export declare function resolveInstructionsSource(repoPath: string, agentId: AgentId): string | null;
|
|
40
34
|
export declare function discoverRuleFilesFromRepo(repoPath: string): string[];
|
|
41
|
-
export declare function installInstructions(sourcePath: string, agentId: AgentId, method?: 'symlink' | 'copy'): {
|
|
42
|
-
path: string;
|
|
43
|
-
method: 'symlink' | 'copy';
|
|
44
|
-
error?: string;
|
|
45
|
-
};
|
|
46
35
|
export declare function uninstallInstructions(agentId: AgentId): boolean;
|
|
47
|
-
export declare function instructionsContentMatches(agentId: AgentId, sourcePath: string, scope?: InstructionsScope, cwd?: string): boolean;
|
|
48
36
|
export declare function listInstalledInstructionsWithScope(agentId: AgentId, cwd?: string, options?: {
|
|
49
37
|
home?: string;
|
|
50
38
|
}): InstalledInstructions[];
|
|
@@ -61,3 +49,4 @@ export declare function installInstructionsCentrally(repoPath: string, filesToIn
|
|
|
61
49
|
* List top-level rules files from user and system dirs (user wins on collision).
|
|
62
50
|
*/
|
|
63
51
|
export declare function listCentralRules(): string[];
|
|
52
|
+
export {};
|
package/dist/lib/rules/rules.js
CHANGED
|
@@ -15,7 +15,7 @@ import { getEffectiveHome } from '../installations/store.js';
|
|
|
15
15
|
* Central rules filename constant.
|
|
16
16
|
* All agents map to this file in ~/.agents/rules/, renamed per-agent when synced.
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const CENTRAL_RULES_FILENAME = 'AGENTS.md';
|
|
19
19
|
const RULES_DOC_FILENAME = 'README.md';
|
|
20
20
|
function isSyncableRuleMarkdown(filename) {
|
|
21
21
|
return filename.endsWith('.md') && filename !== RULES_DOC_FILENAME;
|
|
@@ -57,9 +57,6 @@ export function getCentralRulesFileName(agentId) {
|
|
|
57
57
|
}
|
|
58
58
|
return filename;
|
|
59
59
|
}
|
|
60
|
-
function normalizeContent(content) {
|
|
61
|
-
return content.replace(/\r\n/g, '\n').trim();
|
|
62
|
-
}
|
|
63
60
|
/**
|
|
64
61
|
* Get the user-scope config dir for an agent (version-aware).
|
|
65
62
|
*/
|
|
@@ -124,24 +121,6 @@ export function discoverInstructionsFromRepo(repoPath) {
|
|
|
124
121
|
}
|
|
125
122
|
return instructions;
|
|
126
123
|
}
|
|
127
|
-
export function resolveInstructionsSource(repoPath, agentId) {
|
|
128
|
-
const agent = AGENTS[agentId];
|
|
129
|
-
const rulesDir = path.join(repoPath, 'rules');
|
|
130
|
-
if (!fs.existsSync(rulesDir)) {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
const possibleNames = [
|
|
134
|
-
`${agentId}.md`,
|
|
135
|
-
agent.instructionsFile,
|
|
136
|
-
].filter(name => name !== 'AGENTS.md');
|
|
137
|
-
for (const filename of possibleNames) {
|
|
138
|
-
const sourcePath = path.join(rulesDir, filename);
|
|
139
|
-
if (fs.existsSync(sourcePath)) {
|
|
140
|
-
return sourcePath;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
124
|
export function discoverRuleFilesFromRepo(repoPath) {
|
|
146
125
|
const rulesDir = path.join(repoPath, 'rules');
|
|
147
126
|
if (!fs.existsSync(rulesDir)) {
|
|
@@ -154,34 +133,6 @@ export function discoverRuleFilesFromRepo(repoPath) {
|
|
|
154
133
|
return [];
|
|
155
134
|
}
|
|
156
135
|
}
|
|
157
|
-
export function installInstructions(sourcePath, agentId, method = 'copy') {
|
|
158
|
-
const agent = AGENTS[agentId];
|
|
159
|
-
const configDir = getUserConfigDir(agentId);
|
|
160
|
-
const targetPath = path.join(configDir, agent.instructionsFile);
|
|
161
|
-
if (!fs.existsSync(configDir)) {
|
|
162
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
163
|
-
}
|
|
164
|
-
if (fs.existsSync(targetPath)) {
|
|
165
|
-
const stat = fs.lstatSync(targetPath);
|
|
166
|
-
if (stat.isSymbolicLink()) {
|
|
167
|
-
fs.unlinkSync(targetPath);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
fs.unlinkSync(targetPath);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
try {
|
|
174
|
-
if (method === 'symlink') {
|
|
175
|
-
fs.symlinkSync(sourcePath, targetPath);
|
|
176
|
-
return { path: targetPath, method: 'symlink' };
|
|
177
|
-
}
|
|
178
|
-
fs.copyFileSync(sourcePath, targetPath);
|
|
179
|
-
return { path: targetPath, method: 'copy' };
|
|
180
|
-
}
|
|
181
|
-
catch (err) {
|
|
182
|
-
return { path: '', method: 'copy', error: err.message };
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
136
|
export function uninstallInstructions(agentId) {
|
|
186
137
|
const agent = AGENTS[agentId];
|
|
187
138
|
const configDir = getUserConfigDir(agentId);
|
|
@@ -192,20 +143,6 @@ export function uninstallInstructions(agentId) {
|
|
|
192
143
|
}
|
|
193
144
|
return false;
|
|
194
145
|
}
|
|
195
|
-
export function instructionsContentMatches(agentId, sourcePath, scope = 'user', cwd = process.cwd()) {
|
|
196
|
-
const installedPath = getInstructionsPath(agentId, scope, cwd);
|
|
197
|
-
if (!fs.existsSync(installedPath) || !fs.existsSync(sourcePath)) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
try {
|
|
201
|
-
const installedContent = fs.readFileSync(installedPath, 'utf-8');
|
|
202
|
-
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
203
|
-
return normalizeContent(installedContent) === normalizeContent(sourceContent);
|
|
204
|
-
}
|
|
205
|
-
catch {
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
146
|
export function listInstalledInstructionsWithScope(agentId, cwd = process.cwd(), options) {
|
|
210
147
|
const results = [];
|
|
211
148
|
const agent = AGENTS[agentId];
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { AgentId, Mode, RunConfig, RunDefaults } from './types.js';
|
|
15
15
|
export declare const VERSION_RE: RegExp;
|
|
16
|
-
|
|
16
|
+
interface ParsedRunDefaultSelector {
|
|
17
17
|
agent: AgentId;
|
|
18
18
|
version: string;
|
|
19
19
|
selector: string;
|
package/dist/lib/run-notify.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DesktopNotification } from './menubar/notify-desktop.js';
|
|
2
|
-
|
|
2
|
+
interface RunNotifyContext {
|
|
3
3
|
/** Agent that ran, e.g. `claude`. */
|
|
4
4
|
agent: string;
|
|
5
5
|
/** `--name` slug when the caller named the run; falls back to the agent. */
|
|
@@ -29,3 +29,4 @@ export declare function buildRunFinishNotification(ctx: RunNotifyContext, exitCo
|
|
|
29
29
|
* limit, not a case to paper over.
|
|
30
30
|
*/
|
|
31
31
|
export declare function armRunFinishNotification(ctx: RunNotifyContext): void;
|
|
32
|
+
export {};
|
|
@@ -15,7 +15,7 @@ export declare function armRunFinishTraceSync(opts?: {
|
|
|
15
15
|
}): void;
|
|
16
16
|
/**
|
|
17
17
|
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
18
|
-
* owner-bound ping (`feed post --level important`, `agents
|
|
18
|
+
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
19
19
|
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
20
20
|
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
21
21
|
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
|
@@ -84,7 +84,7 @@ export function armRunFinishTraceSync(opts = {}) {
|
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
87
|
-
* owner-bound ping (`feed post --level important`, `agents
|
|
87
|
+
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
88
88
|
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
89
89
|
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
90
90
|
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
package/dist/lib/scheduler.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { Cron } from 'croner';
|
|
9
9
|
import type { JobConfig } from './scheduling/routines.js';
|
|
10
10
|
/** How a fire was triggered, carrying the scheduler's intended UTC slot time. */
|
|
11
|
-
|
|
11
|
+
interface TriggerContext {
|
|
12
12
|
/** The ALIGNED cron slot this callback fires for, for the single-fire claim
|
|
13
13
|
* keyed on (routine, scheduledFor). Derived by {@link fireSlot} — NOT croner's
|
|
14
14
|
* raw `currentRun()`, which carries wall-clock jitter. */
|
|
@@ -48,3 +48,4 @@ export declare class JobScheduler {
|
|
|
48
48
|
enabled: boolean;
|
|
49
49
|
}>;
|
|
50
50
|
}
|
|
51
|
+
export {};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* scheduling.
|
|
8
8
|
*/
|
|
9
9
|
import { Cron } from 'croner';
|
|
10
|
-
import { type ResolvedExecutionContext, type ProjectResolution, type PlacementMode, type
|
|
10
|
+
import { type ResolvedExecutionContext, type ProjectResolution, type PlacementMode, type ContextFsProbe } from '../routine-context.js';
|
|
11
11
|
import type { AgentId, RunStrategy } from '../types.js';
|
|
12
12
|
import type { LoopConfig } from '../loop.js';
|
|
13
13
|
import { JobScheduler } from '../scheduler.js';
|
|
@@ -18,7 +18,7 @@ export declare function localLatestRun(job: JobConfig): RunMeta | null;
|
|
|
18
18
|
export declare function listJobsForDisplay(cwd?: string): JobConfig[];
|
|
19
19
|
export declare function buildRoutineListJson(): Record<string, unknown>[];
|
|
20
20
|
/** One routine's live scheduler-status row for `agents routines status --json`. */
|
|
21
|
-
|
|
21
|
+
interface RoutineStatusRow {
|
|
22
22
|
name: string;
|
|
23
23
|
/** The single device this routine is pinned to fire on, or null when unpinned. */
|
|
24
24
|
ownerDevice: string | null;
|
|
@@ -99,8 +99,6 @@ export type GithubTriggerEvent = 'pull_request' | 'push' | 'issue_comment' | 'wo
|
|
|
99
99
|
export declare const GITHUB_TRIGGER_EVENTS: readonly GithubTriggerEvent[];
|
|
100
100
|
/** Linear webhook resource types a routine can be triggered by. */
|
|
101
101
|
export type LinearTriggerEvent = 'Issue' | 'IssueLabel' | 'Comment' | 'Project' | 'Cycle';
|
|
102
|
-
/** Canonical set of accepted Linear trigger events — single source for validation. */
|
|
103
|
-
export declare const LINEAR_TRIGGER_EVENTS: readonly LinearTriggerEvent[];
|
|
104
102
|
/**
|
|
105
103
|
* Map a user-facing `--on` alias to a canonical GitHub trigger event.
|
|
106
104
|
* Accepts the canonical names plus friendly shortcuts (e.g. `pr`, `pr_opened`
|
|
@@ -380,7 +378,7 @@ export declare function normalizeProjects(projects: string[] | undefined): strin
|
|
|
380
378
|
* "Cross-project" is `{ kind: 'named', name }` and can never collide with the
|
|
381
379
|
* `operations` / `cross` special buckets that happen to share those titles.
|
|
382
380
|
*/
|
|
383
|
-
|
|
381
|
+
type ProjectGroup = {
|
|
384
382
|
kind: 'named';
|
|
385
383
|
name: string;
|
|
386
384
|
} | {
|
|
@@ -431,10 +429,6 @@ export declare function projectGroupOrder(group: ProjectGroup): number;
|
|
|
431
429
|
* - `"Unknown projects"` — when any entry is no longer a defined project (stale).
|
|
432
430
|
*/
|
|
433
431
|
export declare function computeProjectGroup(projects: string[] | undefined, knownProjectNames: Set<string>): string;
|
|
434
|
-
/** A real-filesystem {@link ContextFsProbe} for readiness checks on this machine. */
|
|
435
|
-
export declare function realFsProbe(): ContextFsProbe;
|
|
436
|
-
/** Classify a routine by its body kind — governs the execution-context fallback rules. */
|
|
437
|
-
export declare function jobRoutineKind(config: Pick<JobConfig, 'agent' | 'workflow' | 'command'>): RoutineKind;
|
|
438
432
|
/**
|
|
439
433
|
* Resolve a routine's execution context (working directory + structural/fs
|
|
440
434
|
* readiness) by bridging its `project`/`cwd` fields into the pure
|
|
@@ -595,7 +589,7 @@ export declare function routineOwnerDevice(config: Pick<JobConfig, 'devices'>):
|
|
|
595
589
|
*/
|
|
596
590
|
export declare function hasAmbiguousDevicePin(config: Pick<JobConfig, 'devices'>): boolean;
|
|
597
591
|
/** One routine whose `devices` names more than one machine, with its resolved owner. */
|
|
598
|
-
|
|
592
|
+
interface AmbiguousDevicePin {
|
|
599
593
|
name: string;
|
|
600
594
|
devices: string[];
|
|
601
595
|
/** The device that now fires it — the rest are inert. */
|
|
@@ -627,7 +621,7 @@ export declare function parseHostStrategy(raw: string | undefined | null): HostS
|
|
|
627
621
|
*/
|
|
628
622
|
export declare function placementRequiresFiringPin(strategy: HostStrategy): boolean;
|
|
629
623
|
/** Human presentation of a device-affinity mismatch for commands and runner. */
|
|
630
|
-
|
|
624
|
+
interface JobEligibilityResult {
|
|
631
625
|
/** Full human message, e.g. "Job 'NAME' can only run on: a, b". */
|
|
632
626
|
message: string;
|
|
633
627
|
/** One-line copy-paste suggestion, e.g. "agents routines run NAME --device a". */
|
|
@@ -670,7 +664,7 @@ export declare function readJob(name: string, cwd?: string): JobConfig | null;
|
|
|
670
664
|
* The outcome of reading one routine file: a config, or the reason it is inert.
|
|
671
665
|
* Every `problem` here means the daemon will not run the routine.
|
|
672
666
|
*/
|
|
673
|
-
|
|
667
|
+
type RoutineReadResult = {
|
|
674
668
|
config: JobConfig;
|
|
675
669
|
problem: null;
|
|
676
670
|
} | {
|
|
@@ -721,7 +715,7 @@ export declare function validateJob(config: Partial<JobConfig>): string[];
|
|
|
721
715
|
export declare function validateTrigger(trigger: unknown): string[];
|
|
722
716
|
/** True when a job's endAt has already elapsed. False when endAt is unset or in the future. */
|
|
723
717
|
export declare function isPastEndAt(config: Pick<JobConfig, 'endAt'>, now?: Date): boolean;
|
|
724
|
-
|
|
718
|
+
interface OneShotScheduleParts {
|
|
725
719
|
minute: number;
|
|
726
720
|
hour: number;
|
|
727
721
|
day: number;
|
|
@@ -799,7 +793,7 @@ export declare function getLatestRun(jobName: string): RunMeta | null;
|
|
|
799
793
|
*/
|
|
800
794
|
export declare function getLatestCompletedRun(jobName: string): RunMeta | null;
|
|
801
795
|
/** Duration + outcome rollup for a job's run history. */
|
|
802
|
-
|
|
796
|
+
interface RoutineStats {
|
|
803
797
|
/** Total run records (any status, including `missed`). */
|
|
804
798
|
count: number;
|
|
805
799
|
failed: number;
|
|
@@ -917,13 +911,6 @@ export declare function parseAtTime(atTime: string): {
|
|
|
917
911
|
schedule: string;
|
|
918
912
|
runOnce: boolean;
|
|
919
913
|
} | null;
|
|
920
|
-
/** Check if an installed job's normalized YAML matches the source file. */
|
|
921
|
-
export declare function jobContentMatches(name: string, sourcePath: string): boolean;
|
|
922
|
-
/** Install a job by reading and validating a YAML source file. */
|
|
923
|
-
export declare function installJobFromSource(sourcePath: string, name: string): {
|
|
924
|
-
success: boolean;
|
|
925
|
-
error?: string;
|
|
926
|
-
};
|
|
927
914
|
/** List all job names that have run directories. */
|
|
928
915
|
export declare function listJobsWithRuns(): string[];
|
|
929
916
|
/** Count total runs across all jobs. */
|
|
@@ -939,3 +926,4 @@ export declare function pruneRuns(keep: number): {
|
|
|
939
926
|
deleted: number;
|
|
940
927
|
bytesFreed: number;
|
|
941
928
|
};
|
|
929
|
+
export {};
|
|
@@ -220,7 +220,7 @@ export const GITHUB_TRIGGER_EVENTS = [
|
|
|
220
220
|
'workflow_run',
|
|
221
221
|
];
|
|
222
222
|
/** Canonical set of accepted Linear trigger events — single source for validation. */
|
|
223
|
-
|
|
223
|
+
const LINEAR_TRIGGER_EVENTS = [
|
|
224
224
|
'Issue',
|
|
225
225
|
'IssueLabel',
|
|
226
226
|
'Comment',
|
|
@@ -335,7 +335,7 @@ export function computeProjectGroup(projects, knownProjectNames) {
|
|
|
335
335
|
return projectGroupTitle(computeProjectGroupKind(projects, knownProjectNames));
|
|
336
336
|
}
|
|
337
337
|
/** A real-filesystem {@link ContextFsProbe} for readiness checks on this machine. */
|
|
338
|
-
|
|
338
|
+
function realFsProbe() {
|
|
339
339
|
return {
|
|
340
340
|
exists: (p) => fs.existsSync(p),
|
|
341
341
|
isDirectory: (p) => { try {
|
|
@@ -354,7 +354,7 @@ export function realFsProbe() {
|
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
356
|
/** Classify a routine by its body kind — governs the execution-context fallback rules. */
|
|
357
|
-
|
|
357
|
+
function jobRoutineKind(config) {
|
|
358
358
|
if (config.command)
|
|
359
359
|
return 'command';
|
|
360
360
|
if (config.workflow)
|
|
@@ -1725,49 +1725,6 @@ export function parseAtTime(atTime) {
|
|
|
1725
1725
|
}
|
|
1726
1726
|
return null;
|
|
1727
1727
|
}
|
|
1728
|
-
/** Check if an installed job's normalized YAML matches the source file. */
|
|
1729
|
-
export function jobContentMatches(name, sourcePath) {
|
|
1730
|
-
const existing = readJob(name);
|
|
1731
|
-
if (!existing)
|
|
1732
|
-
return false;
|
|
1733
|
-
try {
|
|
1734
|
-
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
1735
|
-
const sourceJob = yaml.parse(sourceContent);
|
|
1736
|
-
if (!sourceJob)
|
|
1737
|
-
return false;
|
|
1738
|
-
const existingNormalized = yaml.stringify(existing);
|
|
1739
|
-
const fullSource = { ...JOB_DEFAULTS, ...sourceJob, name: sourceJob.name || name };
|
|
1740
|
-
const sourceNormalized = yaml.stringify(fullSource);
|
|
1741
|
-
return existingNormalized === sourceNormalized;
|
|
1742
|
-
}
|
|
1743
|
-
catch {
|
|
1744
|
-
return false;
|
|
1745
|
-
}
|
|
1746
|
-
}
|
|
1747
|
-
/** Install a job by reading and validating a YAML source file. */
|
|
1748
|
-
export function installJobFromSource(sourcePath, name) {
|
|
1749
|
-
try {
|
|
1750
|
-
const content = fs.readFileSync(sourcePath, 'utf-8');
|
|
1751
|
-
const parsed = yaml.parse(content);
|
|
1752
|
-
if (!parsed)
|
|
1753
|
-
return { success: false, error: 'Invalid YAML' };
|
|
1754
|
-
const config = {
|
|
1755
|
-
...JOB_DEFAULTS,
|
|
1756
|
-
...parsed,
|
|
1757
|
-
name: parsed.name || name,
|
|
1758
|
-
};
|
|
1759
|
-
const errors = validateJob(config);
|
|
1760
|
-
if (errors.length > 0) {
|
|
1761
|
-
return { success: false, error: errors.join(', ') };
|
|
1762
|
-
}
|
|
1763
|
-
writeJob(config);
|
|
1764
|
-
setJobEnabled(config.name, config.enabled);
|
|
1765
|
-
return { success: true };
|
|
1766
|
-
}
|
|
1767
|
-
catch (err) {
|
|
1768
|
-
return { success: false, error: err.message };
|
|
1769
|
-
}
|
|
1770
|
-
}
|
|
1771
1728
|
/** List all job names that have run directories. */
|
|
1772
1729
|
export function listJobsWithRuns() {
|
|
1773
1730
|
const runsDir = getRunsDir();
|
|
@@ -29,10 +29,6 @@ export interface SecretsContext {
|
|
|
29
29
|
/** Opaque scope the standalone folds into resolution — the harness name. */
|
|
30
30
|
scope?: string;
|
|
31
31
|
}
|
|
32
|
-
/** Serialize `Map`s the way the server's `decodeWire` expects to receive them. */
|
|
33
|
-
export declare function encodeWire(value: unknown): unknown;
|
|
34
|
-
/** Reconstruct `Map`s from the server's `encodeWire`'d reply. */
|
|
35
|
-
export declare function decodeWire(value: unknown): unknown;
|
|
36
32
|
/** Carries the server's `{code, message}`, or a client-side transport code. */
|
|
37
33
|
export declare class SecretsClientError extends Error {
|
|
38
34
|
readonly code: string;
|
|
@@ -54,7 +50,6 @@ export declare function isSecretsClientError(error: unknown, code?: string): err
|
|
|
54
50
|
/** True when `error` is a {@link SecretsClientError} from the transport itself (the
|
|
55
51
|
* standalone was unreachable/unusable), not a data error it answered with. */
|
|
56
52
|
export declare function isSecretsTransportError(error: unknown): error is SecretsClientError;
|
|
57
|
-
export declare const SECRETS_ITEM_PREFIX = "agents-cli.secrets.";
|
|
58
53
|
/** The raw item holding one bundle key's value. */
|
|
59
54
|
export declare function secretsKeychainItem(bundle: string, key: string): string;
|
|
60
55
|
/** The raw item holding a profile provider's token (`agents-cli.<provider>.token`). */
|
|
@@ -157,7 +152,6 @@ export declare function bundleBackendSync(name: string, context?: SecretsContext
|
|
|
157
152
|
export declare function writeBundle(bundle: SecretsBundle, opts?: WriteBundleOptions, context?: SecretsContext): Promise<void>;
|
|
158
153
|
export declare function writeBundleWithItems(bundle: SecretsBundle, items: Map<string, string>, opts?: WriteBundleOptions, context?: SecretsContext): Promise<void>;
|
|
159
154
|
export declare function writeBundleWithItemsSync(bundle: SecretsBundle, items: Map<string, string>, opts?: WriteBundleOptions, context?: SecretsContext): void;
|
|
160
|
-
export declare function deleteBundle(name: string, context?: SecretsContext): Promise<boolean>;
|
|
161
155
|
export declare function deleteBundleSync(name: string, context?: SecretsContext): boolean;
|
|
162
156
|
/** Rename a bundle: metadata and raw items move together; the source is deleted last. */
|
|
163
157
|
export declare function renameBundle(oldName: string, newName: string, opts?: RenameOptions, context?: SecretsContext): Promise<void>;
|
|
@@ -169,13 +163,7 @@ export declare function agentPing(): Promise<{
|
|
|
169
163
|
reachable: boolean;
|
|
170
164
|
cliVersion?: string;
|
|
171
165
|
}>;
|
|
172
|
-
export declare function agentPingSync(): {
|
|
173
|
-
reachable: boolean;
|
|
174
|
-
cliVersion?: string;
|
|
175
|
-
};
|
|
176
166
|
export declare function agentStatus(): Promise<AgentStatusEntry[]>;
|
|
177
|
-
export declare function agentLock(name?: string): Promise<number>;
|
|
178
|
-
export declare function ensureAgentRunning(timeoutMs?: number): Promise<boolean>;
|
|
179
167
|
export declare function getKeychainToken(item: string, context?: KeychainReadContext): Promise<string>;
|
|
180
168
|
export declare function getKeychainTokenSync(item: string, context?: KeychainReadContext): string;
|
|
181
169
|
export declare function setKeychainToken(item: string, value: string, opts?: {
|
|
@@ -195,13 +183,10 @@ export declare function listKeychainItems(prefix: string): Promise<string[]>;
|
|
|
195
183
|
* on such a host no test or probe can reach a real OS keychain.
|
|
196
184
|
*/
|
|
197
185
|
export declare function keychainUsesFileFallback(): Promise<boolean>;
|
|
198
|
-
export declare function storeGet(backend: SecretsBackend, item: string): Promise<string>;
|
|
199
186
|
export declare function storeGetSync(backend: SecretsBackend, item: string): string;
|
|
200
|
-
export declare function storeHas(backend: SecretsBackend, item: string): Promise<boolean>;
|
|
201
187
|
export declare function storeHasSync(backend: SecretsBackend, item: string): boolean;
|
|
202
188
|
export declare function storeSet(backend: SecretsBackend, item: string, value: string): Promise<void>;
|
|
203
189
|
export declare function storeSetSync(backend: SecretsBackend, item: string, value: string): void;
|
|
204
|
-
export declare function storeDelete(backend: SecretsBackend, item: string): Promise<boolean>;
|
|
205
190
|
export declare function remoteResolveEnv(target: string, bundle: string, opts?: {
|
|
206
191
|
osLookupName?: string;
|
|
207
192
|
}): Promise<Record<string, string>>;
|
|
@@ -226,7 +211,5 @@ export declare function scanUserRcFiles(homeDir?: string, context?: SecretsConte
|
|
|
226
211
|
export declare function scanUserRcFilesSync(homeDir?: string, context?: SecretsContext): RcSecretFinding[];
|
|
227
212
|
export declare function masterPassphraseInEnv(context?: SecretsContext): Promise<boolean>;
|
|
228
213
|
export declare function masterPassphraseInEnvSync(context?: SecretsContext): boolean;
|
|
229
|
-
/** True for a dynamic-loader or language-interpreter override env var. */
|
|
230
|
-
export declare function isLoaderOrInterpreterEnv(name: string): boolean;
|
|
231
214
|
/** Strip loader/interpreter overrides from an env before it reaches a spawned child. */
|
|
232
215
|
export declare function sanitizeProcessEnv(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
@@ -80,7 +80,7 @@ export const SYNC_SERVE_TIMEOUT_MS = 30_000;
|
|
|
80
80
|
/** Test seam: a hang test plants a never-answering standalone and must not wait 30s. */
|
|
81
81
|
let syncServeTimeoutMs = SYNC_SERVE_TIMEOUT_MS;
|
|
82
82
|
/** Serialize `Map`s the way the server's `decodeWire` expects to receive them. */
|
|
83
|
-
|
|
83
|
+
function encodeWire(value) {
|
|
84
84
|
if (value instanceof Map) {
|
|
85
85
|
return { $map: [...value.entries()].map(([key, item]) => [key, encodeWire(item)]) };
|
|
86
86
|
}
|
|
@@ -92,7 +92,7 @@ export function encodeWire(value) {
|
|
|
92
92
|
return value === undefined ? null : value;
|
|
93
93
|
}
|
|
94
94
|
/** Reconstruct `Map`s from the server's `encodeWire`'d reply. */
|
|
95
|
-
|
|
95
|
+
function decodeWire(value) {
|
|
96
96
|
if (Array.isArray(value))
|
|
97
97
|
return value.map(decodeWire);
|
|
98
98
|
if (value !== null && typeof value === 'object') {
|
|
@@ -163,7 +163,7 @@ export function isSecretsTransportError(error) {
|
|
|
163
163
|
// bundle), so they are declared once here beside the protocol schema rather
|
|
164
164
|
// than re-derived per consumer.
|
|
165
165
|
const SERVICE_PREFIX = 'agents-cli';
|
|
166
|
-
|
|
166
|
+
const SECRETS_ITEM_PREFIX = `${SERVICE_PREFIX}.secrets.`;
|
|
167
167
|
/** The raw item holding one bundle key's value. */
|
|
168
168
|
export function secretsKeychainItem(bundle, key) {
|
|
169
169
|
return `${SECRETS_ITEM_PREFIX}${bundle}.${key}`;
|
|
@@ -548,9 +548,6 @@ export function writeBundleWithItems(bundle, items, opts, context) {
|
|
|
548
548
|
export function writeBundleWithItemsSync(bundle, items, opts, context) {
|
|
549
549
|
secretsRequestSync('bundles.writeBundleWithItems', [bundle, items, opts ?? {}], context);
|
|
550
550
|
}
|
|
551
|
-
export function deleteBundle(name, context) {
|
|
552
|
-
return secretsRequest('bundles.deleteBundle', [name], context);
|
|
553
|
-
}
|
|
554
551
|
export function deleteBundleSync(name, context) {
|
|
555
552
|
return secretsRequestSync('bundles.deleteBundle', [name], context);
|
|
556
553
|
}
|
|
@@ -572,18 +569,9 @@ export function rotateBundleSecretSync(bundle, key, opts, context) {
|
|
|
572
569
|
export function agentPing() {
|
|
573
570
|
return secretsRequest('agent.agentPing', []);
|
|
574
571
|
}
|
|
575
|
-
export function agentPingSync() {
|
|
576
|
-
return secretsRequestSync('agent.agentPing', []);
|
|
577
|
-
}
|
|
578
572
|
export function agentStatus() {
|
|
579
573
|
return secretsRequest('agent.agentStatus', []);
|
|
580
574
|
}
|
|
581
|
-
export function agentLock(name) {
|
|
582
|
-
return secretsRequest('agent.agentLock', name === undefined ? [] : [name]);
|
|
583
|
-
}
|
|
584
|
-
export function ensureAgentRunning(timeoutMs) {
|
|
585
|
-
return secretsRequest('agent.ensureAgentRunning', timeoutMs === undefined ? [] : [timeoutMs]);
|
|
586
|
-
}
|
|
587
575
|
// index.* (keychain items)
|
|
588
576
|
export function getKeychainToken(item, context) {
|
|
589
577
|
return secretsRequest('index.getKeychainToken', [item, context ?? {}]);
|
|
@@ -620,16 +608,9 @@ export function listKeychainItems(prefix) {
|
|
|
620
608
|
export function keychainUsesFileFallback() {
|
|
621
609
|
return secretsRequest('index.keychainUsesFileFallback', []);
|
|
622
610
|
}
|
|
623
|
-
// store.* (explicit-backend raw item CRUD)
|
|
624
|
-
export function storeGet(backend, item) {
|
|
625
|
-
return secretsRequest('store.get', [backend, item]);
|
|
626
|
-
}
|
|
627
611
|
export function storeGetSync(backend, item) {
|
|
628
612
|
return secretsRequestSync('store.get', [backend, item]);
|
|
629
613
|
}
|
|
630
|
-
export function storeHas(backend, item) {
|
|
631
|
-
return secretsRequest('store.has', [backend, item]);
|
|
632
|
-
}
|
|
633
614
|
export function storeHasSync(backend, item) {
|
|
634
615
|
return secretsRequestSync('store.has', [backend, item]);
|
|
635
616
|
}
|
|
@@ -639,9 +620,6 @@ export function storeSet(backend, item, value) {
|
|
|
639
620
|
export function storeSetSync(backend, item, value) {
|
|
640
621
|
secretsRequestSync('store.set', [backend, item, value]);
|
|
641
622
|
}
|
|
642
|
-
export function storeDelete(backend, item) {
|
|
643
|
-
return secretsRequest('store.delete', [backend, item]);
|
|
644
|
-
}
|
|
645
623
|
// remote.* / push.*
|
|
646
624
|
export function remoteResolveEnv(target, bundle, opts) {
|
|
647
625
|
return secretsRequest('remote.remoteResolveEnv', [target, bundle, opts ?? {}]);
|
|
@@ -694,7 +672,7 @@ export function masterPassphraseInEnvSync(context) {
|
|
|
694
672
|
// (or an inherited shell) can never smuggle a loader/interpreter override into
|
|
695
673
|
// an agent's process.
|
|
696
674
|
/** True for a dynamic-loader or language-interpreter override env var. */
|
|
697
|
-
|
|
675
|
+
function isLoaderOrInterpreterEnv(name) {
|
|
698
676
|
const upper = name.toUpperCase();
|
|
699
677
|
return (upper.startsWith('LD_') ||
|
|
700
678
|
upper.startsWith('DYLD_') ||
|