@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
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
import { type RunMeta } from '../scheduling/routines.js';
|
|
14
14
|
import type { MonitorEvent } from './config.js';
|
|
15
15
|
/** Persisted last-seen state for one monitor. */
|
|
16
|
-
|
|
16
|
+
interface MonitorState {
|
|
17
17
|
monitorName: string;
|
|
18
18
|
/** Hash of the last-seen de-dupe signature (see hasChanged). */
|
|
19
19
|
lastHash: string;
|
|
@@ -53,12 +53,8 @@ export interface MonitorLiveness {
|
|
|
53
53
|
}
|
|
54
54
|
/** Per-monitor history root, with the (untrusted) name contained to one segment. */
|
|
55
55
|
export declare function getMonitorHistoryDir(name: string): string;
|
|
56
|
-
/** Directory holding a monitor's fire history. */
|
|
57
|
-
export declare function getMonitorFiresDir(name: string): string;
|
|
58
56
|
/** Read a monitor's last-seen state, or null if it has never been observed. */
|
|
59
57
|
export declare function readState(name: string): MonitorState | null;
|
|
60
|
-
/** Persist a monitor's state atomically (temp file + rename, like writeRunMeta). */
|
|
61
|
-
export declare function writeStateRaw(state: MonitorState): void;
|
|
62
58
|
/**
|
|
63
59
|
* Record a new observation as the monitor's last-seen state, preserving fire
|
|
64
60
|
* bookkeeping. Truncates the stored raw value so a firehose can't bloat disk.
|
|
@@ -99,7 +95,7 @@ export declare function recordFireTime(name: string, now: number, windowMs: numb
|
|
|
99
95
|
/** Write a fire record to fires/<id>/event.json and return the fire id. */
|
|
100
96
|
export declare function writeFireRecord(event: MonitorEvent, meta?: Record<string, unknown>): string;
|
|
101
97
|
/** A single fire history entry (as read back from disk). */
|
|
102
|
-
|
|
98
|
+
interface FireRecord extends MonitorEvent {
|
|
103
99
|
runId?: string;
|
|
104
100
|
action?: string;
|
|
105
101
|
ok?: boolean;
|
|
@@ -132,7 +128,7 @@ export interface FireRecord extends MonitorEvent {
|
|
|
132
128
|
/** List a monitor's fire history, chronologically ascending. */
|
|
133
129
|
export declare function listFires(name: string): FireRecord[];
|
|
134
130
|
/** The reconciled outcome of one fire, resolved against the run's live status. */
|
|
135
|
-
|
|
131
|
+
interface ReconciledFireOutcome {
|
|
136
132
|
/** True fire outcome, correcting the frozen `ok` against the run's CURRENT status. */
|
|
137
133
|
ok: boolean;
|
|
138
134
|
/** The run's live terminal status, when a runId is present and resolvable. */
|
|
@@ -184,3 +180,4 @@ export declare function evaluatePostcondition(command: string): {
|
|
|
184
180
|
* so later listings do not re-exec the command.
|
|
185
181
|
*/
|
|
186
182
|
export declare function resolveFireOutcome(jobName: string, fire: FireRecord): ReconciledFireOutcome;
|
|
183
|
+
export {};
|
|
@@ -29,7 +29,7 @@ function getLivenessPath(name) {
|
|
|
29
29
|
return path.join(getMonitorHistoryDir(name), 'liveness.json');
|
|
30
30
|
}
|
|
31
31
|
/** Directory holding a monitor's fire history. */
|
|
32
|
-
|
|
32
|
+
function getMonitorFiresDir(name) {
|
|
33
33
|
return path.join(getMonitorHistoryDir(name), 'fires');
|
|
34
34
|
}
|
|
35
35
|
/** Read a monitor's last-seen state, or null if it has never been observed. */
|
|
@@ -45,7 +45,7 @@ export function readState(name) {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
/** Persist a monitor's state atomically (temp file + rename, like writeRunMeta). */
|
|
48
|
-
|
|
48
|
+
function writeStateRaw(state) {
|
|
49
49
|
ensureAgentsDir();
|
|
50
50
|
const dir = getMonitorHistoryDir(state.monitorName);
|
|
51
51
|
fs.mkdirSync(dir, { recursive: true });
|
package/dist/lib/notify.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Owner notifier — the one seam for "ping the human" messages.
|
|
3
3
|
*
|
|
4
4
|
* Every human-facing owner notification (feed urgent-block dispatch, monitor
|
|
5
|
-
* `notify` action, `agents
|
|
5
|
+
* `notify` action, `agents send --to owner`) funnels through the single channel seam:
|
|
6
6
|
* `lookupTransport(channel, meta).provider.send(text, opts)`. The recipient comes
|
|
7
7
|
* from `humans.yaml` — never a hardcoded chat id — so changing the
|
|
8
8
|
* owner is honoured by every path at once. `notify.transports` picks the actual
|
package/dist/lib/notify.js
CHANGED
|
@@ -115,7 +115,7 @@ export async function sendToOwner(text, options = {}) {
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
// Echo the exact per-destination body delivered, so a caller (and
|
|
118
|
-
// `agents
|
|
118
|
+
// `agents send --to owner --dry-run --json`) can see Slack got the labeled-link
|
|
119
119
|
// variant and iMessage the plain one — the observable proof of PHNX-3698.
|
|
120
120
|
deliveries.push({ ...result, body });
|
|
121
121
|
}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 1Password CLI (op) integration for importing secrets from vaults.
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
id: string;
|
|
6
|
-
name: string;
|
|
7
|
-
}
|
|
8
|
-
export interface OpItemSummary {
|
|
4
|
+
interface OpItemSummary {
|
|
9
5
|
id: string;
|
|
10
6
|
title: string;
|
|
11
7
|
category: string;
|
|
@@ -24,7 +20,7 @@ export interface OpField {
|
|
|
24
20
|
export interface OpItem extends OpItemSummary {
|
|
25
21
|
fields: OpField[];
|
|
26
22
|
}
|
|
27
|
-
|
|
23
|
+
interface ImportableSecret {
|
|
28
24
|
envKey: string;
|
|
29
25
|
itemTitle: string;
|
|
30
26
|
fieldLabel: string;
|
|
@@ -36,14 +32,11 @@ export interface ImportableSecret {
|
|
|
36
32
|
*/
|
|
37
33
|
description?: string;
|
|
38
34
|
}
|
|
39
|
-
|
|
35
|
+
interface SkippedField {
|
|
40
36
|
itemTitle: string;
|
|
41
37
|
fieldLabel: string;
|
|
42
38
|
reason: string;
|
|
43
39
|
}
|
|
44
|
-
export declare function assertOpAvailable(): void;
|
|
45
|
-
export declare function listVaults(): OpVault[];
|
|
46
|
-
export declare function listItems(vaultName: string): OpItemSummary[];
|
|
47
40
|
export declare function getItem(itemId: string, vaultName: string): OpItem;
|
|
48
41
|
export declare function toEnvKey(title: string): string;
|
|
49
42
|
export declare function slugify(name: string): string;
|
|
@@ -62,7 +55,7 @@ export declare function extractSecrets(items: OpItemSummary[], vaultName: string
|
|
|
62
55
|
secrets: ImportableSecret[];
|
|
63
56
|
skipped: SkippedField[];
|
|
64
57
|
};
|
|
65
|
-
|
|
58
|
+
interface PasswordItemTemplate {
|
|
66
59
|
title: string;
|
|
67
60
|
category: 'PASSWORD';
|
|
68
61
|
tags: string[];
|
|
@@ -75,6 +68,4 @@ export interface PasswordItemTemplate {
|
|
|
75
68
|
}>;
|
|
76
69
|
}
|
|
77
70
|
export declare function buildPasswordItemTemplate(title: string, value: string): PasswordItemTemplate;
|
|
78
|
-
export
|
|
79
|
-
export declare function deleteItemByTitle(title: string, vaultName: string): void;
|
|
80
|
-
export declare function createPasswordItem(title: string, value: string, vaultName: string): void;
|
|
71
|
+
export {};
|
package/dist/lib/onepassword.js
CHANGED
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
* 1Password CLI (op) integration for importing secrets from vaults.
|
|
3
3
|
*/
|
|
4
4
|
import { spawnSync } from 'child_process';
|
|
5
|
-
import * as fs from 'fs';
|
|
6
|
-
import * as os from 'os';
|
|
7
|
-
import * as path from 'path';
|
|
8
5
|
function runOp(args, input) {
|
|
9
6
|
const result = spawnSync('op', args, {
|
|
10
7
|
stdio: [input !== undefined ? 'pipe' : 'ignore', 'pipe', 'pipe'],
|
|
@@ -27,33 +24,6 @@ function runOp(args, input) {
|
|
|
27
24
|
}
|
|
28
25
|
return { ok: true, stdout: result.stdout };
|
|
29
26
|
}
|
|
30
|
-
export function assertOpAvailable() {
|
|
31
|
-
// `op account list` works with both CLI session tokens and the 1Password
|
|
32
|
-
// desktop biometric integration; `op whoami` fails on the latter.
|
|
33
|
-
const result = runOp(['account', 'list', '--format=json']);
|
|
34
|
-
if (!result.ok) {
|
|
35
|
-
throw new Error(result.error);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export function listVaults() {
|
|
39
|
-
const result = runOp(['vault', 'list', '--format=json']);
|
|
40
|
-
if (!result.ok)
|
|
41
|
-
throw new Error(result.error);
|
|
42
|
-
return JSON.parse(result.stdout);
|
|
43
|
-
}
|
|
44
|
-
export function listItems(vaultName) {
|
|
45
|
-
const result = runOp(['item', 'list', '--vault', vaultName, '--format=json']);
|
|
46
|
-
if (!result.ok) {
|
|
47
|
-
if (result.error.includes('vault') && result.error.includes('not found')) {
|
|
48
|
-
const vaults = listVaults();
|
|
49
|
-
const available = vaults.map((v) => v.name).join(', ');
|
|
50
|
-
throw new Error(`Vault '${vaultName}' not found. Available: ${available || '(none)'}`);
|
|
51
|
-
}
|
|
52
|
-
throw new Error(result.error);
|
|
53
|
-
}
|
|
54
|
-
const items = JSON.parse(result.stdout);
|
|
55
|
-
return items || [];
|
|
56
|
-
}
|
|
57
27
|
export function getItem(itemId, vaultName) {
|
|
58
28
|
const result = runOp(['item', 'get', itemId, '--vault', vaultName, '--format=json', '--reveal']);
|
|
59
29
|
if (!result.ok)
|
|
@@ -180,37 +150,3 @@ export function buildPasswordItemTemplate(title, value) {
|
|
|
180
150
|
],
|
|
181
151
|
};
|
|
182
152
|
}
|
|
183
|
-
export function itemExistsByTitle(title, vaultName) {
|
|
184
|
-
const result = runOp(['item', 'get', title, '--vault', vaultName, '--format=json']);
|
|
185
|
-
if (result.ok)
|
|
186
|
-
return true;
|
|
187
|
-
if (/isn't an item|not found|no item found/i.test(result.error))
|
|
188
|
-
return false;
|
|
189
|
-
throw new Error(result.error);
|
|
190
|
-
}
|
|
191
|
-
export function deleteItemByTitle(title, vaultName) {
|
|
192
|
-
const result = runOp(['item', 'delete', title, '--vault', vaultName]);
|
|
193
|
-
if (!result.ok)
|
|
194
|
-
throw new Error(result.error);
|
|
195
|
-
}
|
|
196
|
-
export function createPasswordItem(title, value, vaultName) {
|
|
197
|
-
// op item create reads stdin templates only from a real pipe; spawnSync's
|
|
198
|
-
// input plumbing is detected as empty and op silently ignores the template.
|
|
199
|
-
// The supported alternative is --template <file>, which works reliably.
|
|
200
|
-
const template = JSON.stringify(buildPasswordItemTemplate(title, value));
|
|
201
|
-
const tmpFile = path.join(os.tmpdir(), `agents-op-tpl-${process.pid}-${Date.now()}.json`);
|
|
202
|
-
fs.writeFileSync(tmpFile, template, { mode: 0o600 });
|
|
203
|
-
try {
|
|
204
|
-
const result = runOp(['item', 'create', '--template', tmpFile, '--vault', vaultName]);
|
|
205
|
-
if (!result.ok)
|
|
206
|
-
throw new Error(result.error);
|
|
207
|
-
}
|
|
208
|
-
finally {
|
|
209
|
-
try {
|
|
210
|
-
fs.unlinkSync(tmpFile);
|
|
211
|
-
}
|
|
212
|
-
catch {
|
|
213
|
-
// best-effort cleanup
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
package/dist/lib/open-url.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Where a "show the human this" call actually landed. */
|
|
2
|
-
|
|
2
|
+
type ShowOutcome = {
|
|
3
3
|
via: 'profile';
|
|
4
4
|
profile: string;
|
|
5
5
|
tabId?: string;
|
|
@@ -10,7 +10,7 @@ export type ShowOutcome = {
|
|
|
10
10
|
via: 'none';
|
|
11
11
|
reason: string;
|
|
12
12
|
};
|
|
13
|
-
|
|
13
|
+
interface ShowOptions {
|
|
14
14
|
/**
|
|
15
15
|
* Force the OS default handler, ignoring `browser.viewer`. This is the
|
|
16
16
|
* The programmatic escape hatch, for a caller that must use the user's own
|
|
@@ -58,3 +58,4 @@ export declare function showUrl(url: string, opts?: ShowOptions): Promise<ShowOu
|
|
|
58
58
|
* is the right viewer.
|
|
59
59
|
*/
|
|
60
60
|
export declare function showFile(filePath: string, opts?: ShowOptions): Promise<ShowOutcome>;
|
|
61
|
+
export {};
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
import { type SpawnSyncOptions } from 'child_process';
|
|
2
|
-
|
|
3
|
-
export declare const OPENCLAW_KEYCHAIN_PROVIDER = "agents_keychain";
|
|
4
|
-
export declare const OPENCLAW_KEYCHAIN_ENV_SERVICES: Record<string, string>;
|
|
5
|
-
export interface OpenClawSecretRef {
|
|
6
|
-
source: 'exec';
|
|
7
|
-
provider: string;
|
|
8
|
-
id: string;
|
|
9
|
-
}
|
|
10
|
-
export interface OpenClawKeychainMigrationOptions {
|
|
2
|
+
interface OpenClawKeychainMigrationOptions {
|
|
11
3
|
account?: string;
|
|
12
4
|
provider?: string;
|
|
13
5
|
agentsBin?: string;
|
|
14
6
|
}
|
|
15
|
-
|
|
7
|
+
interface OpenClawKeychainMigrationResult {
|
|
16
8
|
services: Array<{
|
|
17
9
|
envKey: string;
|
|
18
10
|
service: string;
|
|
@@ -35,17 +27,12 @@ export declare function buildOpenClawKeychainStoreInvocation(service: string, va
|
|
|
35
27
|
detached: boolean;
|
|
36
28
|
};
|
|
37
29
|
};
|
|
38
|
-
|
|
39
|
-
service: string;
|
|
40
|
-
value: string;
|
|
41
|
-
}>, account?: string): void;
|
|
42
|
-
export declare function readOpenClawKeychainService(service: string, account?: string): string;
|
|
43
|
-
export interface OpenClawExecResolverRequest {
|
|
30
|
+
interface OpenClawExecResolverRequest {
|
|
44
31
|
protocolVersion?: number;
|
|
45
32
|
provider?: string;
|
|
46
33
|
ids?: unknown;
|
|
47
34
|
}
|
|
48
|
-
|
|
35
|
+
interface OpenClawExecResolverResponse {
|
|
49
36
|
protocolVersion: 1;
|
|
50
37
|
values: Record<string, string>;
|
|
51
38
|
errors?: Record<string, {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { execFileSync, spawnSync } from 'child_process';
|
|
2
1
|
import { getCliLaunch } from './cli-entry.js';
|
|
3
2
|
/**
|
|
4
3
|
* argv for writing a bare (non-`agents-cli.`) keychain item via
|
|
@@ -27,9 +26,9 @@ function buildAddGenericPasswordSpawnOptions(value) {
|
|
|
27
26
|
detached: true,
|
|
28
27
|
};
|
|
29
28
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
const OPENCLAW_KEYCHAIN_ACCOUNT = 'openclaw';
|
|
30
|
+
const OPENCLAW_KEYCHAIN_PROVIDER = 'agents_keychain';
|
|
31
|
+
const OPENCLAW_KEYCHAIN_ENV_SERVICES = {
|
|
33
32
|
OPENROUTER_API_KEY: 'openrouter-api-key',
|
|
34
33
|
LINEAR_API_KEY: 'linear-api-key',
|
|
35
34
|
GRAFANA_API_KEY: 'grafana-api-key',
|
|
@@ -213,35 +212,6 @@ export function buildOpenClawKeychainStoreInvocation(service, value, account = O
|
|
|
213
212
|
options: buildAddGenericPasswordSpawnOptions(value),
|
|
214
213
|
};
|
|
215
214
|
}
|
|
216
|
-
export function storeOpenClawKeychainServices(services, account = OPENCLAW_KEYCHAIN_ACCOUNT) {
|
|
217
|
-
if (process.platform !== 'darwin') {
|
|
218
|
-
throw new Error('OpenClaw Keychain migration must run on macOS.');
|
|
219
|
-
}
|
|
220
|
-
for (const { service, value } of services) {
|
|
221
|
-
const write = buildOpenClawKeychainStoreInvocation(service, value, account);
|
|
222
|
-
const result = spawnSync(write.command, write.args, write.options);
|
|
223
|
-
if (result.status !== 0) {
|
|
224
|
-
const msg = result.stderr?.toString().trim();
|
|
225
|
-
throw new Error(msg || `Failed to write OpenClaw Keychain service '${service}'.`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
function stripSecurityTrailingNewline(value) {
|
|
230
|
-
return value.replace(/\r?\n$/, '');
|
|
231
|
-
}
|
|
232
|
-
export function readOpenClawKeychainService(service, account = OPENCLAW_KEYCHAIN_ACCOUNT) {
|
|
233
|
-
if (!/^[A-Za-z0-9][A-Za-z0-9._:/#-]{0,255}$/.test(service)) {
|
|
234
|
-
throw new Error(`Invalid OpenClaw Keychain service id '${service}'.`);
|
|
235
|
-
}
|
|
236
|
-
if (process.platform !== 'darwin') {
|
|
237
|
-
throw new Error('OpenClaw Keychain resolver must run on macOS.');
|
|
238
|
-
}
|
|
239
|
-
const value = execFileSync('/usr/bin/security', ['find-generic-password', '-s', service, '-a', account, '-w'], {
|
|
240
|
-
encoding: 'utf-8',
|
|
241
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
242
|
-
});
|
|
243
|
-
return stripSecurityTrailingNewline(value);
|
|
244
|
-
}
|
|
245
215
|
export function resolveOpenClawKeychainRequest(request, lookup) {
|
|
246
216
|
const ids = Array.isArray(request.ids) ? request.ids.filter((id) => typeof id === 'string') : [];
|
|
247
217
|
const values = {};
|
package/dist/lib/operator.d.ts
CHANGED
|
@@ -4,10 +4,9 @@ export interface Operator {
|
|
|
4
4
|
admin?: boolean;
|
|
5
5
|
can?: string[];
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
interface OperatorRegistry {
|
|
8
8
|
operators: Record<string, Operator>;
|
|
9
9
|
}
|
|
10
|
-
export declare function getOperatorsPath(root?: string): string;
|
|
11
10
|
export declare function loadOperators(root?: string): OperatorRegistry;
|
|
12
11
|
export declare function getOperator(id: string, root?: string): Operator | undefined;
|
|
13
12
|
export declare function isKnownOperator(id: string, root?: string): boolean;
|
|
@@ -24,3 +23,4 @@ export declare function isHighConsequenceAllowed(blockConsequence: string | unde
|
|
|
24
23
|
* the human's launch context).
|
|
25
24
|
*/
|
|
26
25
|
export declare function verifyOperatorIdentity(claimedId: string | undefined, root?: string): boolean;
|
|
26
|
+
export {};
|
package/dist/lib/operator.js
CHANGED
|
@@ -27,7 +27,7 @@ import * as path from 'path';
|
|
|
27
27
|
import * as yaml from 'yaml';
|
|
28
28
|
import { getUserAgentsDir } from './state.js';
|
|
29
29
|
const OPERATORS_FILE = 'operators.yaml';
|
|
30
|
-
|
|
30
|
+
function getOperatorsPath(root) {
|
|
31
31
|
return path.join(root ?? getUserAgentsDir(), OPERATORS_FILE);
|
|
32
32
|
}
|
|
33
33
|
export function loadOperators(root) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** Commit tally for one author email. */
|
|
2
|
-
|
|
2
|
+
interface AuthorCommits {
|
|
3
3
|
author: string;
|
|
4
4
|
commits: number;
|
|
5
5
|
}
|
|
6
6
|
/** The shipped-work rollup for a window. */
|
|
7
|
-
|
|
7
|
+
interface GitOutputSummary {
|
|
8
8
|
reposScanned: number;
|
|
9
9
|
commits: number;
|
|
10
10
|
byAuthor: AuthorCommits[];
|
|
@@ -24,7 +24,7 @@ export interface GitOutputSummary {
|
|
|
24
24
|
logins: string[];
|
|
25
25
|
sinceIso: string;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
interface GitOutputOptions {
|
|
28
28
|
/** Root scanned for git repos (e.g. ~/src). */
|
|
29
29
|
reposDir: string;
|
|
30
30
|
/** Window start, epoch ms. */
|
|
@@ -54,17 +54,6 @@ export declare function collectCommits(repos: string[], sinceIso: string, author
|
|
|
54
54
|
byAuthor: AuthorCommits[];
|
|
55
55
|
shas: string[];
|
|
56
56
|
}>;
|
|
57
|
-
/**
|
|
58
|
-
* Count PRs opened and merged in the window across the given logins. `gh search
|
|
59
|
-
* prs` searches all of GitHub, so one authed gh can cover multiple accounts'
|
|
60
|
-
* logins. Returns ghAvailable=false if gh can't be reached at all.
|
|
61
|
-
*/
|
|
62
|
-
export declare function collectPrs(logins: string[], sinceDate: string): Promise<{
|
|
63
|
-
opened: number;
|
|
64
|
-
merged: number;
|
|
65
|
-
logins: string[];
|
|
66
|
-
ghAvailable: boolean;
|
|
67
|
-
}>;
|
|
68
57
|
/** Format an epoch-ms as a YYYY-MM-DD date (UTC), for gh's date-range search. */
|
|
69
58
|
export declare function toSearchDate(ms: number): string;
|
|
70
59
|
/**
|
|
@@ -72,3 +61,4 @@ export declare function toSearchDate(ms: number): string;
|
|
|
72
61
|
* plus PRs opened/merged.
|
|
73
62
|
*/
|
|
74
63
|
export declare function collectGitOutput(options: GitOutputOptions): Promise<GitOutputSummary>;
|
|
64
|
+
export {};
|
|
@@ -145,7 +145,7 @@ async function ghSearchCount(args) {
|
|
|
145
145
|
* prs` searches all of GitHub, so one authed gh can cover multiple accounts'
|
|
146
146
|
* logins. Returns ghAvailable=false if gh can't be reached at all.
|
|
147
147
|
*/
|
|
148
|
-
|
|
148
|
+
async function collectPrs(logins, sinceDate) {
|
|
149
149
|
let resolved = logins;
|
|
150
150
|
if (resolved.length === 0) {
|
|
151
151
|
const login = await currentGhLogin();
|
|
@@ -1,24 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compose an owner-bound phone ping through the SAME shaper `agents feed post`
|
|
3
|
-
* uses, so `agents notify` / `agents send --to owner` stop shipping a raw body
|
|
4
|
-
* dump (PHNX-3698).
|
|
5
|
-
*
|
|
6
|
-
* Before this, an owner send delivered the body verbatim: a long wall of prose,
|
|
7
|
-
* a `TEAM-N` key iMessage renders as dead text, and no way back to the session.
|
|
8
|
-
* Routing the body through {@link composeBroadcastMessage} makes an owner ping
|
|
9
|
-
* identical to an important feed post of the same event — short-shaped body,
|
|
10
|
-
* every ticket key linkified to its Linear URL, and the current session's
|
|
11
|
-
* `…/console/sessions/<id>` page as a tappable crumb.
|
|
12
|
-
*
|
|
13
|
-
* The session/agent/host are resolved the same way a feed post resolves them
|
|
14
|
-
* ({@link resolvePostIdentity} — the pid-registry / env walk), so a `notify`
|
|
15
|
-
* run inside an agent session inherits that session with no flag. Outside a
|
|
16
|
-
* session (a human at a shell) identity is undefined: the ping still gets
|
|
17
|
-
* short-shaping and ticket linkification, just no session crumb.
|
|
18
|
-
*/
|
|
19
|
-
import { type FeedBroadcastContext } from './feed-broadcast.js';
|
|
20
1
|
import type { SinkMessageFormat } from './sink-format.js';
|
|
21
|
-
|
|
2
|
+
interface OwnerMessageOptions {
|
|
22
3
|
/** Scannable subject line, when the caller has one (feed post does; notify does not). */
|
|
23
4
|
title?: string;
|
|
24
5
|
/** Explicit session id (`--session`); otherwise resolved from the run environment. */
|
|
@@ -31,14 +12,6 @@ export interface OwnerMessageOptions {
|
|
|
31
12
|
*/
|
|
32
13
|
format?: SinkMessageFormat;
|
|
33
14
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Resolve the run identity into the broadcast context an owner ping is built
|
|
36
|
-
* from — the shared shape a `feed post` uses. Pure except for the identity/index
|
|
37
|
-
* reads that {@link resolvePostIdentity} / {@link getSessionById} already perform
|
|
38
|
-
* for feed posts. Built ONCE so the owner fan-out can render it in more than one
|
|
39
|
-
* format (Slack vs iMessage) without re-walking the pid registry per destination.
|
|
40
|
-
*/
|
|
41
|
-
export declare function ownerMessageContext(rawText: string, opts?: OwnerMessageOptions): FeedBroadcastContext;
|
|
42
15
|
/**
|
|
43
16
|
* Shape a raw owner-send body into the composed broadcast message. `format`
|
|
44
17
|
* decides how links surface — `plain` (default) for iMessage / owner-scoped rush,
|
|
@@ -47,9 +20,10 @@ export declare function ownerMessageContext(rawText: string, opts?: OwnerMessage
|
|
|
47
20
|
export declare function composeOwnerMessage(rawText: string, opts?: OwnerMessageOptions): string;
|
|
48
21
|
/**
|
|
49
22
|
* A per-format composer bound to ONE resolved context — the shape the owner
|
|
50
|
-
* fan-out wants (PHNX-3698). `agents
|
|
23
|
+
* fan-out wants (PHNX-3698). `agents send --to owner` build
|
|
51
24
|
* this once, use `compose('plain')` for the envelope's display body, and hand
|
|
52
25
|
* `compose` to `sendToOwner` so each policy destination re-renders in its own
|
|
53
26
|
* format without re-walking the pid registry.
|
|
54
27
|
*/
|
|
55
28
|
export declare function ownerMessageComposer(rawText: string, opts?: OwnerMessageOptions): (format: SinkMessageFormat) => string;
|
|
29
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Compose an owner-bound phone ping through the SAME shaper `agents feed post`
|
|
3
|
-
* uses, so `agents
|
|
3
|
+
* uses, so `agents send --to owner` stop shipping a raw body
|
|
4
4
|
* dump (PHNX-3698).
|
|
5
5
|
*
|
|
6
6
|
* Before this, an owner send delivered the body verbatim: a long wall of prose,
|
|
@@ -27,7 +27,7 @@ import { linearIssueUrl } from './session/linear.js';
|
|
|
27
27
|
* for feed posts. Built ONCE so the owner fan-out can render it in more than one
|
|
28
28
|
* format (Slack vs iMessage) without re-walking the pid registry per destination.
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
function ownerMessageContext(rawText, opts = {}) {
|
|
31
31
|
const identity = resolvePostIdentity({ sessionId: opts.sessionId });
|
|
32
32
|
// A footer crumb that would 404 (an 8-char short id) is upgraded to the full
|
|
33
33
|
// indexed id so the console URL resolves; a full/native id passes through.
|
|
@@ -53,7 +53,7 @@ export function composeOwnerMessage(rawText, opts = {}) {
|
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* A per-format composer bound to ONE resolved context — the shape the owner
|
|
56
|
-
* fan-out wants (PHNX-3698). `agents
|
|
56
|
+
* fan-out wants (PHNX-3698). `agents send --to owner` build
|
|
57
57
|
* this once, use `compose('plain')` for the envelope's display body, and hand
|
|
58
58
|
* `compose` to `sendToOwner` so each policy destination re-renders in its own
|
|
59
59
|
* format without re-walking the pid registry.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/** The three harness homes a portable schema-v3 package can be materialized into. */
|
|
2
2
|
export declare const PORTABLE_HARNESSES: readonly ["claude", "codex", "opencode"];
|
|
3
|
-
|
|
4
|
-
export declare function isPortableHarness(value: string): value is PortableHarness;
|
|
3
|
+
type PortableHarness = (typeof PORTABLE_HARNESSES)[number];
|
|
5
4
|
/** Thrown for a bad front-door argument (harness / version / output home). Never `process.exit`. */
|
|
6
5
|
export declare class MaterializeGuardError extends Error {
|
|
7
6
|
constructor(message: string);
|
|
@@ -10,8 +9,6 @@ export declare class MaterializeGuardError extends Error {
|
|
|
10
9
|
export declare function assertPortableHarness(harness: string): PortableHarness;
|
|
11
10
|
/** Reject a non-exact harness version (empty, malformed, or `@latest`). */
|
|
12
11
|
export declare function assertExactHarnessVersion(version: string): string;
|
|
13
|
-
/** True when `raw` still contains a `..` segment after splitting on both separators. */
|
|
14
|
-
export declare function outputHomeHasDotDot(raw: string): boolean;
|
|
15
12
|
/**
|
|
16
13
|
* Resolve `--output-home` to an absolute path, refusing a target that climbs out
|
|
17
14
|
* of cwd (relative), uses a `..` segment, IS the live home root, or targets (or
|
|
@@ -37,3 +34,4 @@ export declare function outputHomeHasDotDot(raw: string): boolean;
|
|
|
37
34
|
* `materializeAgentPackage`, so a direct (non-CLI) caller is protected too.
|
|
38
35
|
*/
|
|
39
36
|
export declare function resolveOutputHome(raw: string, cwd?: string, home?: string): string;
|
|
37
|
+
export {};
|
|
@@ -34,7 +34,7 @@ import { assertWithin, realpathExistingPrefix } from '../paths.js';
|
|
|
34
34
|
import { VERSION_RE } from '../agent-spec/primitives.js';
|
|
35
35
|
/** The three harness homes a portable schema-v3 package can be materialized into. */
|
|
36
36
|
export const PORTABLE_HARNESSES = ['claude', 'codex', 'opencode'];
|
|
37
|
-
|
|
37
|
+
function isPortableHarness(value) {
|
|
38
38
|
return PORTABLE_HARNESSES.includes(value);
|
|
39
39
|
}
|
|
40
40
|
/** Thrown for a bad front-door argument (harness / version / output home). Never `process.exit`. */
|
|
@@ -59,7 +59,7 @@ export function assertExactHarnessVersion(version) {
|
|
|
59
59
|
return version;
|
|
60
60
|
}
|
|
61
61
|
/** True when `raw` still contains a `..` segment after splitting on both separators. */
|
|
62
|
-
|
|
62
|
+
function outputHomeHasDotDot(raw) {
|
|
63
63
|
return raw.split(/[\\/]/).includes('..');
|
|
64
64
|
}
|
|
65
65
|
/**
|
package/dist/lib/perf/db.d.ts
CHANGED
|
@@ -9,7 +9,6 @@ import type { AggregateOptions, PerfAggregateRow } from './types.js';
|
|
|
9
9
|
export type { AggregateOptions, PerfAggregateRow, PerfPhaseStat, PerfSample } from './types.js';
|
|
10
10
|
export { recordSample, shortSessionId, resolveSpoolPath } from './spool.js';
|
|
11
11
|
export { percentile } from '../percentile.js';
|
|
12
|
-
export declare const PERF_SCHEMA_VERSION = 1;
|
|
13
12
|
export declare const DEFAULT_RETENTION_DAYS = 30;
|
|
14
13
|
/** Test seam — redirect the warehouse path (like AGENTS_EVENTS_PATH). */
|
|
15
14
|
export declare function _resetPerfDbForTest(overridePath?: string | null): void;
|
|
@@ -26,4 +25,3 @@ export declare function drainSpool(db?: Database.Database): number;
|
|
|
26
25
|
export declare function aggregateSamples(opts?: AggregateOptions): PerfAggregateRow[];
|
|
27
26
|
export declare function perfDbPath(): string;
|
|
28
27
|
export declare function perfSpoolPath(): string;
|
|
29
|
-
export declare function ensurePerfDir(): string;
|
package/dist/lib/perf/db.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import * as fs from 'fs';
|
|
8
8
|
import * as path from 'path';
|
|
9
9
|
import Database from '../sqlite.js';
|
|
10
|
-
import { getPerfDbPath
|
|
10
|
+
import { getPerfDbPath } from '../state.js';
|
|
11
11
|
import { localMachineId } from '../origin-machine.js';
|
|
12
12
|
import { resolveProjectKey } from '../project-key.js';
|
|
13
13
|
import { percentile } from '../percentile.js';
|
|
@@ -39,7 +39,7 @@ function parsePhases(metaJson) {
|
|
|
39
39
|
}
|
|
40
40
|
export { recordSample, shortSessionId, resolveSpoolPath } from './spool.js';
|
|
41
41
|
export { percentile } from '../percentile.js';
|
|
42
|
-
|
|
42
|
+
const PERF_SCHEMA_VERSION = 1;
|
|
43
43
|
export const DEFAULT_RETENTION_DAYS = 30;
|
|
44
44
|
const SCHEMA = `
|
|
45
45
|
CREATE TABLE IF NOT EXISTS samples (
|
|
@@ -365,8 +365,3 @@ export function perfDbPath() {
|
|
|
365
365
|
export function perfSpoolPath() {
|
|
366
366
|
return resolveSpoolPath();
|
|
367
367
|
}
|
|
368
|
-
export function ensurePerfDir() {
|
|
369
|
-
const dir = process.env.AGENTS_PERF_DIR || (_dbPath ? path.dirname(_dbPath) : getPerfDir());
|
|
370
|
-
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
371
|
-
return dir;
|
|
372
|
-
}
|
|
@@ -19,7 +19,7 @@ export declare const CODEX_RULES_FILENAME = "agents-deny.rules";
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function stripJsonComments(content: string): string;
|
|
21
21
|
/** The complete permissions contract for one agent. */
|
|
22
|
-
|
|
22
|
+
interface PermissionTarget {
|
|
23
23
|
/** Permissions file under a HOME root (a version home, or the real HOME). */
|
|
24
24
|
home(home: string): string;
|
|
25
25
|
/** Permissions file for a project checkout, when the harness reads one. */
|
|
@@ -55,11 +55,10 @@ export interface PermissionTarget {
|
|
|
55
55
|
* `capableAgents('allowlist')` — pinned by `permissions-registry.test.ts`.
|
|
56
56
|
*/
|
|
57
57
|
export declare const PERMISSION_TARGETS: Partial<Record<AgentId, PermissionTarget>>;
|
|
58
|
-
/** The registry entry for `agent`, or undefined when it stores no permissions. */
|
|
59
|
-
export declare function permissionTarget(agent: AgentId): PermissionTarget | undefined;
|
|
60
58
|
/**
|
|
61
59
|
* Read `agent`'s permissions from `home` (a version home or the real HOME) and
|
|
62
60
|
* project them to canonical form. `scope: 'project'` reads the repo-local file
|
|
63
61
|
* for the harnesses that have one, and returns null for those that do not.
|
|
64
62
|
*/
|
|
65
63
|
export declare function readCanonicalPermissions(agent: AgentId, scope?: 'user' | 'project', cwd?: string, home?: string): PermissionSet | null;
|
|
64
|
+
export {};
|
|
@@ -630,10 +630,6 @@ function kimiPatternToCanonical(pattern) {
|
|
|
630
630
|
}
|
|
631
631
|
return canonicalRule(lowerTool, arg);
|
|
632
632
|
}
|
|
633
|
-
/** The registry entry for `agent`, or undefined when it stores no permissions. */
|
|
634
|
-
export function permissionTarget(agent) {
|
|
635
|
-
return PERMISSION_TARGETS[agent];
|
|
636
|
-
}
|
|
637
633
|
/**
|
|
638
634
|
* Read `agent`'s permissions from `home` (a version home or the real HOME) and
|
|
639
635
|
* project them to canonical form. `scope: 'project'` reads the repo-local file
|