@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import Database from '../sqlite.js';
|
|
4
|
-
import { getUsageDbPath, getSecretsDbPath
|
|
4
|
+
import { getUsageDbPath, getSecretsDbPath } from '../state.js';
|
|
5
5
|
import { localMachineId } from '../session/origin-machine.js';
|
|
6
6
|
export const USAGE_KINDS = [
|
|
7
7
|
'secret',
|
|
@@ -129,9 +129,6 @@ export function recordUsage(p) {
|
|
|
129
129
|
export function usageDbPath() {
|
|
130
130
|
return getUsageDbPath();
|
|
131
131
|
}
|
|
132
|
-
export function analyticsDir() {
|
|
133
|
-
return getAnalyticsDir();
|
|
134
|
-
}
|
|
135
132
|
export function listUsageKindsWithData(sinceIso) {
|
|
136
133
|
const db = open();
|
|
137
134
|
if (!db)
|
|
@@ -224,72 +221,6 @@ export function kindMix(sinceIso) {
|
|
|
224
221
|
return [];
|
|
225
222
|
}
|
|
226
223
|
}
|
|
227
|
-
export function getSecretBundleRollup(bundle) {
|
|
228
|
-
const db = open();
|
|
229
|
-
if (!db)
|
|
230
|
-
return [];
|
|
231
|
-
try {
|
|
232
|
-
return db.prepare(`SELECT event, COUNT(*) AS n, MAX(ts) AS last, MIN(ts) AS first
|
|
233
|
-
FROM usage_events WHERE kind = 'secret' AND name = ? GROUP BY event`).all(bundle);
|
|
234
|
-
}
|
|
235
|
-
catch {
|
|
236
|
-
return [];
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
export function getSecretBundleAgents(bundle) {
|
|
240
|
-
const db = open();
|
|
241
|
-
if (!db)
|
|
242
|
-
return [];
|
|
243
|
-
try {
|
|
244
|
-
return db.prepare(`SELECT agent, COUNT(*) AS n FROM usage_events
|
|
245
|
-
WHERE kind = 'secret' AND name = ? AND agent IS NOT NULL
|
|
246
|
-
GROUP BY agent ORDER BY n DESC`).all(bundle);
|
|
247
|
-
}
|
|
248
|
-
catch {
|
|
249
|
-
return [];
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
export function getAllSecretBundleRollups() {
|
|
253
|
-
const db = open();
|
|
254
|
-
if (!db)
|
|
255
|
-
return [];
|
|
256
|
-
try {
|
|
257
|
-
return db.prepare(`SELECT name, event, COUNT(*) AS n, MAX(ts) AS last, MIN(ts) AS first
|
|
258
|
-
FROM usage_events WHERE kind = 'secret' GROUP BY name, event`).all();
|
|
259
|
-
}
|
|
260
|
-
catch {
|
|
261
|
-
return [];
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
export function getSecretHistory(bundle, limit = 20) {
|
|
265
|
-
const db = open();
|
|
266
|
-
if (!db)
|
|
267
|
-
return [];
|
|
268
|
-
try {
|
|
269
|
-
const sql = bundle
|
|
270
|
-
? `SELECT ts, name AS bundle, event, agent, source, status, meta_json
|
|
271
|
-
FROM usage_events WHERE kind = 'secret' AND name = ? ORDER BY ts DESC, id DESC LIMIT ?`
|
|
272
|
-
: `SELECT ts, name AS bundle, event, agent, source, status, meta_json
|
|
273
|
-
FROM usage_events WHERE kind = 'secret' ORDER BY ts DESC, id DESC LIMIT ?`;
|
|
274
|
-
const rows = (bundle ? db.prepare(sql).all(bundle, limit) : db.prepare(sql).all(limit));
|
|
275
|
-
return rows.map((r) => {
|
|
276
|
-
let host = null;
|
|
277
|
-
let keyCount = null;
|
|
278
|
-
if (r.meta_json) {
|
|
279
|
-
try {
|
|
280
|
-
const m = JSON.parse(r.meta_json);
|
|
281
|
-
host = m.host ?? null;
|
|
282
|
-
keyCount = typeof m.keyCount === 'number' ? m.keyCount : null;
|
|
283
|
-
}
|
|
284
|
-
catch { /* ignore */ }
|
|
285
|
-
}
|
|
286
|
-
return { ts: r.ts, bundle: r.bundle, event: r.event, agent: r.agent, host, source: r.source, status: r.status, keyCount };
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
catch {
|
|
290
|
-
return [];
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
224
|
export function closeUsageDb() {
|
|
294
225
|
if (cached) {
|
|
295
226
|
try {
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
* - headless run waiting on input (no next tool call; needs resume)
|
|
9
9
|
*
|
|
10
10
|
* This module picks the delivery mechanism from (open feed block × session
|
|
11
|
-
* liveness × runtime rail). Pure — unit-testable without a live
|
|
11
|
+
* liveness × runtime rail). Pure — unit-testable without a live terminal.
|
|
12
12
|
*/
|
|
13
13
|
import type { OpenBlock, BlockOption } from './feed/feed.js';
|
|
14
14
|
import type { ActiveSession } from './session/active.js';
|
|
15
15
|
import type { InjectTarget } from './terminal/index.js';
|
|
16
|
-
export type AnswerRouteKind = 'mailbox' | '
|
|
16
|
+
export type AnswerRouteKind = 'mailbox' | 'tmux' | 'iterm' | 'resume' | 'refuse';
|
|
17
17
|
export interface AnswerRoute {
|
|
18
18
|
kind: AnswerRouteKind;
|
|
19
19
|
/** Human reason shown in CLI output / refused errors. */
|
|
@@ -21,11 +21,11 @@ export interface AnswerRoute {
|
|
|
21
21
|
/**
|
|
22
22
|
* Keystrokes / payload for the chosen path.
|
|
23
23
|
* - mailbox: unused (text is enqueued as-is)
|
|
24
|
-
* -
|
|
24
|
+
* - tmux/iterm: the digit or free-text to inject
|
|
25
25
|
* - resume: the free-text prompt to pass on re-entry
|
|
26
26
|
*/
|
|
27
27
|
payload?: string;
|
|
28
|
-
/** Inject target when kind is
|
|
28
|
+
/** Inject target when kind is tmux/iterm. */
|
|
29
29
|
inject?: InjectTarget;
|
|
30
30
|
/** Session id + agent kind for resume. */
|
|
31
31
|
resume?: {
|
|
@@ -40,7 +40,7 @@ export interface AnswerRoute {
|
|
|
40
40
|
*/
|
|
41
41
|
enter?: boolean;
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
interface AnswerRouterInput {
|
|
44
44
|
/** Resolved mailbox / session id. */
|
|
45
45
|
mailboxId: string;
|
|
46
46
|
/** Answer text (option label or free text). */
|
|
@@ -73,7 +73,7 @@ export declare function isOpenQuestionBlock(block: OpenBlock | null | undefined)
|
|
|
73
73
|
* Pick the delivery mechanism for one answer.
|
|
74
74
|
*
|
|
75
75
|
* Precedence:
|
|
76
|
-
* 1. Parked on open question + injectable rail (tmux/iterm
|
|
76
|
+
* 1. Parked on open question + injectable rail (tmux/iterm) → keystroke
|
|
77
77
|
* 2. Parked on open question + headless (no rail) → resume with answer
|
|
78
78
|
* 3. Parked on open question + no rail + interactive → refuse (don't mailbox-drop)
|
|
79
79
|
* 4. Otherwise → mailbox (running agent between tool calls)
|
|
@@ -81,3 +81,4 @@ export declare function isOpenQuestionBlock(block: OpenBlock | null | undefined)
|
|
|
81
81
|
export declare function resolveAnswerRoute(input: AnswerRouterInput): AnswerRoute;
|
|
82
82
|
/** Build argv for a headless resume that continues with the answer text. */
|
|
83
83
|
export declare function resumeArgv(route: AnswerRoute): string[];
|
|
84
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { addressabilityRecoveryHint } from './terminal/resolve.js';
|
|
2
2
|
import { injectTargetFromReplyRail } from './session/inject.js';
|
|
3
|
-
/** The Escape keystroke as its raw control byte — what a
|
|
3
|
+
/** The Escape keystroke as its raw control byte — what a tmux/iterm rail reads as a real Escape. */
|
|
4
4
|
const ESCAPE_KEY = '\u001b';
|
|
5
5
|
/**
|
|
6
6
|
* Match free-text answer against question options.
|
|
@@ -35,7 +35,7 @@ export function keystrokesForAnswer(answer, options) {
|
|
|
35
35
|
}
|
|
36
36
|
// A symbolic cancel token — the `esc` deliveryKey a deny / send-back choice
|
|
37
37
|
// carries — is the Escape KEY, not the letters "esc". Send the ESC control
|
|
38
|
-
// byte (a real cancel on every raw
|
|
38
|
+
// byte (a real cancel on every raw tmux/iterm rail) and suppress the
|
|
39
39
|
// trailing Enter, so the prompt is dismissed rather than confirmed by a stray
|
|
40
40
|
// newline. Runs after the option match so an option literally labelled "esc"
|
|
41
41
|
// still wins as a selection.
|
|
@@ -78,18 +78,13 @@ function injectTargetForSession(session) {
|
|
|
78
78
|
if (fromRail)
|
|
79
79
|
return fromRail;
|
|
80
80
|
}
|
|
81
|
-
// Only the agents-pty sidecar is addressable by session id. Generic headless
|
|
82
|
-
// runs have no PTY server entry — those go through resume, not inject.
|
|
83
|
-
if (session.sessionId && session.host === 'pty') {
|
|
84
|
-
return { backend: 'pty', id: session.sessionId };
|
|
85
|
-
}
|
|
86
81
|
return null;
|
|
87
82
|
}
|
|
88
83
|
/**
|
|
89
84
|
* Pick the delivery mechanism for one answer.
|
|
90
85
|
*
|
|
91
86
|
* Precedence:
|
|
92
|
-
* 1. Parked on open question + injectable rail (tmux/iterm
|
|
87
|
+
* 1. Parked on open question + injectable rail (tmux/iterm) → keystroke
|
|
93
88
|
* 2. Parked on open question + headless (no rail) → resume with answer
|
|
94
89
|
* 3. Parked on open question + no rail + interactive → refuse (don't mailbox-drop)
|
|
95
90
|
* 4. Otherwise → mailbox (running agent between tool calls)
|
|
@@ -107,8 +102,7 @@ export function resolveAnswerRoute(input) {
|
|
|
107
102
|
if (inject) {
|
|
108
103
|
const kind = inject.backend === 'tmux' ? 'tmux'
|
|
109
104
|
: inject.backend === 'iterm' ? 'iterm'
|
|
110
|
-
:
|
|
111
|
-
: 'pty';
|
|
105
|
+
: 'tmux';
|
|
112
106
|
return {
|
|
113
107
|
kind,
|
|
114
108
|
reason: `Parked on open question — drive ${inject.backend} selection (${matched}).`,
|
|
@@ -135,7 +129,7 @@ export function resolveAnswerRoute(input) {
|
|
|
135
129
|
}
|
|
136
130
|
return {
|
|
137
131
|
kind: 'refuse',
|
|
138
|
-
reason: 'Agent is parked on a question but has no addressable terminal (no tmux/iterm
|
|
132
|
+
reason: 'Agent is parked on a question but has no addressable terminal (no tmux/iterm rail). ' +
|
|
139
133
|
addressabilityRecoveryHint(session),
|
|
140
134
|
};
|
|
141
135
|
}
|
|
@@ -12,10 +12,6 @@ export interface ArtifactAction {
|
|
|
12
12
|
matches?: string[];
|
|
13
13
|
input?: Record<string, string>;
|
|
14
14
|
}
|
|
15
|
-
/** Agent-level configuration block containing artifact action definitions. */
|
|
16
|
-
export interface AgentArtifactConfig {
|
|
17
|
-
artifact_actions?: ArtifactAction[];
|
|
18
|
-
}
|
|
19
15
|
/**
|
|
20
16
|
* Validate artifact actions configuration.
|
|
21
17
|
* @param actions - List of artifact actions to validate
|
|
@@ -25,8 +25,6 @@ export interface Classification {
|
|
|
25
25
|
/** Auto-answer text when suppress is true. */
|
|
26
26
|
autoAnswer?: string;
|
|
27
27
|
}
|
|
28
|
-
/** Scan text used for classification. */
|
|
29
|
-
export declare function askScanText(block: Pick<OpenBlock, 'questions'>): string;
|
|
30
28
|
/**
|
|
31
29
|
* Classify one ask from free text (+ optional explicit blockClass from the agent).
|
|
32
30
|
* Explicit blockClass from the agent is honored as a floor: 'decision' never becomes
|
|
@@ -38,7 +36,7 @@ export declare function classifyAsk(text: string, opts?: {
|
|
|
38
36
|
}): Classification;
|
|
39
37
|
/** Classify a full open block (all questions concatenated). */
|
|
40
38
|
export declare function classifyBlock(block: OpenBlock): Classification;
|
|
41
|
-
|
|
39
|
+
interface SuppressResult {
|
|
42
40
|
blockId: string;
|
|
43
41
|
class: AskClass;
|
|
44
42
|
rule: string;
|
|
@@ -51,7 +49,7 @@ export interface SuppressResult {
|
|
|
51
49
|
* Logs the stall as answered by policy:stall-suppression.
|
|
52
50
|
*/
|
|
53
51
|
export declare function suppressStallBlock(block: OpenBlock, root?: string, mailboxRoot?: string): SuppressResult;
|
|
54
|
-
|
|
52
|
+
interface FeedFilterResult {
|
|
55
53
|
/** Blocks that should render as cards. */
|
|
56
54
|
surfaced: OpenBlock[];
|
|
57
55
|
/** Suppression audit rows (stalls auto-resolved). */
|
|
@@ -70,3 +68,4 @@ export declare function filterBlocksForFeed(blocks: OpenBlock[], opts?: {
|
|
|
70
68
|
}): FeedFilterResult;
|
|
71
69
|
/** Human digest: "31 stalls auto-resolved by policy". */
|
|
72
70
|
export declare function suppressionDigest(result: FeedFilterResult): string;
|
|
71
|
+
export {};
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import { recordAnswer, recordMessageReceipt, removeBlock } from './feed/feed.js';
|
|
2
2
|
import { enqueue, mailboxDir } from './mailbox.js';
|
|
3
|
-
/** Scan text used for classification. */
|
|
4
|
-
export function askScanText(block) {
|
|
5
|
-
return block.questions
|
|
6
|
-
.map((q) => [q.header, q.text].filter(Boolean).join(' '))
|
|
7
|
-
.join('\n')
|
|
8
|
-
.toLowerCase();
|
|
9
|
-
}
|
|
10
3
|
const RULES = [
|
|
11
4
|
// FYI / done — no action needed
|
|
12
5
|
{
|
|
@@ -156,7 +156,7 @@ export declare function authTargetKey(agent: AgentId | string, version: string):
|
|
|
156
156
|
*/
|
|
157
157
|
export declare function slotAuthVersionKey(accountId: string): string;
|
|
158
158
|
/** One account slot on this device that the auth probe must cover. */
|
|
159
|
-
|
|
159
|
+
interface SlotAuthInstall extends FleetAuthInstall {
|
|
160
160
|
home: string;
|
|
161
161
|
accountId: string;
|
|
162
162
|
}
|
|
@@ -169,18 +169,6 @@ export interface SlotAuthInstall extends FleetAuthInstall {
|
|
|
169
169
|
* gone is skipped: there is nothing to probe and the row would only say so.
|
|
170
170
|
*/
|
|
171
171
|
export declare function enumerateSlotInstalls(meta: Pick<Meta, 'accounts' | 'deviceAccounts'>, agentIds: readonly AgentId[]): SlotAuthInstall[];
|
|
172
|
-
/** One probe target on this device: an installed version home, or an account slot. */
|
|
173
|
-
export interface LocalAuthInstall extends FleetAuthInstall {
|
|
174
|
-
home: string;
|
|
175
|
-
accountId?: string;
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Every (agent, version) home the local auth probe covers on this device —
|
|
179
|
-
* installed version homes plus account slots. {@link probeLocalFleetAuth} probes
|
|
180
|
-
* exactly this set, so it is also the answer to "which cached rows are still
|
|
181
|
-
* backed by something on disk" (PHNX-4051).
|
|
182
|
-
*/
|
|
183
|
-
export declare function enumerateLocalAuthInstalls(meta: Pick<Meta, 'accounts' | 'deviceAccounts'>, agentIds: readonly AgentId[]): LocalAuthInstall[];
|
|
184
172
|
/**
|
|
185
173
|
* {@link authTargetKey} for every local probe target — what a cached row must
|
|
186
174
|
* match to still be about this device. A row outside it is an ORPHAN: its home
|
|
@@ -192,15 +180,6 @@ export declare function localAuthTargetKeys(agentIds?: readonly AgentId[]): Set<
|
|
|
192
180
|
export declare function readAuthHealthCache(): Record<string, AuthHealth>;
|
|
193
181
|
/** Read one entry, or null. */
|
|
194
182
|
export declare function readAuthHealth(host: string, agent: AgentId | string, version: string): AuthHealth | null;
|
|
195
|
-
/**
|
|
196
|
-
* Split a cache key back into the install it names, for one host. Returns null
|
|
197
|
-
* for a key that belongs to another host or does not name a known agent — the
|
|
198
|
-
* one place the `host:agent:version` join is undone.
|
|
199
|
-
*/
|
|
200
|
-
export declare function parseAuthCacheKey(key: string, host: string): {
|
|
201
|
-
agent: AgentId;
|
|
202
|
-
version: string;
|
|
203
|
-
} | null;
|
|
204
183
|
/** Reconstruct one host's published probe rows for a lease waiter/CLI reader. */
|
|
205
184
|
export declare function readFleetAuthRows(host: string): AuthProbeRow[];
|
|
206
185
|
/**
|
|
@@ -264,33 +243,10 @@ export interface FleetAuthInstall {
|
|
|
264
243
|
* The live probe runs against `probe` (the representative home); every entry in
|
|
265
244
|
* `members` — the representative included — then receives that one verdict.
|
|
266
245
|
*/
|
|
267
|
-
|
|
246
|
+
interface FleetAuthProbeGroup<T extends FleetAuthInstall> {
|
|
268
247
|
probe: T;
|
|
269
248
|
members: T[];
|
|
270
249
|
}
|
|
271
|
-
/**
|
|
272
|
-
* Collapse installs so a live auth probe fires ONCE per (agent, account) rather
|
|
273
|
-
* than once per version home.
|
|
274
|
-
*
|
|
275
|
-
* Several version homes signed into the same provider account share one OAuth
|
|
276
|
-
* rate limit, so probing each of them concurrently — which the daemon did every
|
|
277
|
-
* three minutes across every installed home (RUSH-2111) — raced that limit into
|
|
278
|
-
* a 429 storm that then parked the whole box behind a `Retry-After` penalty (the
|
|
279
|
-
* incident {@link file:./usage-backoff.ts} was written to survive; this removes
|
|
280
|
-
* its cause). Grouping by account means N homes on one account issue ONE request.
|
|
281
|
-
*
|
|
282
|
-
* `isMergeable` scopes the dedup to the installs it actually helps: only agents
|
|
283
|
-
* that make a network probe ({@link LIVE_PROBE_AGENTS}) can 429, so only they are
|
|
284
|
-
* merged. A best-effort agent (its verdict is a cheap local file read, no rate
|
|
285
|
-
* limit) is left per-install — collapsing it would gain nothing and could
|
|
286
|
-
* silently override one home's local `signedIn` verdict with another's. Installs
|
|
287
|
-
* with no resolvable account label, or that `isMergeable` rejects, are never
|
|
288
|
-
* merged: each becomes its own group keyed by version, preserving the old
|
|
289
|
-
* per-install probe (also the `unconfigured` case dropped downstream). Pure: no
|
|
290
|
-
* fs, no network, so the dedup decision is unit-tested directly.
|
|
291
|
-
*/
|
|
292
|
-
/** Small fixed delay between live probes so one box no longer fires 16 requests in 4s (PHNX-4051). */
|
|
293
|
-
export declare const AUTH_PROBE_SPACING_MS = 150;
|
|
294
250
|
export declare function groupFleetAuthInstalls<T extends FleetAuthInstall>(installs: readonly T[], isMergeable?: (install: T) => boolean): FleetAuthProbeGroup<T>[];
|
|
295
251
|
/**
|
|
296
252
|
* Enumerate every installed (agent, version) on THIS host and return one row per
|
|
@@ -328,3 +284,4 @@ export declare function probeLocalFleetAuth(opts?: {
|
|
|
328
284
|
* merges as before.
|
|
329
285
|
*/
|
|
330
286
|
export declare function writeFleetAuthRows(host: string, rows: AuthProbeRow[], installed?: ReadonlySet<string>): void;
|
|
287
|
+
export {};
|
package/dist/lib/auth-health.js
CHANGED
|
@@ -273,7 +273,7 @@ export function enumerateSlotInstalls(meta, agentIds) {
|
|
|
273
273
|
* exactly this set, so it is also the answer to "which cached rows are still
|
|
274
274
|
* backed by something on disk" (PHNX-4051).
|
|
275
275
|
*/
|
|
276
|
-
|
|
276
|
+
function enumerateLocalAuthInstalls(meta, agentIds) {
|
|
277
277
|
const installs = [];
|
|
278
278
|
for (const agent of agentIds) {
|
|
279
279
|
for (const version of listInstalledVersions(agent)) {
|
|
@@ -317,7 +317,7 @@ export function readAuthHealth(host, agent, version) {
|
|
|
317
317
|
* for a key that belongs to another host or does not name a known agent — the
|
|
318
318
|
* one place the `host:agent:version` join is undone.
|
|
319
319
|
*/
|
|
320
|
-
|
|
320
|
+
function parseAuthCacheKey(key, host) {
|
|
321
321
|
const prefix = `${host}:`;
|
|
322
322
|
if (!key.startsWith(prefix))
|
|
323
323
|
return null;
|
|
@@ -508,7 +508,7 @@ export async function probeAuthHealth(agent, home, opts) {
|
|
|
508
508
|
* fs, no network, so the dedup decision is unit-tested directly.
|
|
509
509
|
*/
|
|
510
510
|
/** Small fixed delay between live probes so one box no longer fires 16 requests in 4s (PHNX-4051). */
|
|
511
|
-
|
|
511
|
+
const AUTH_PROBE_SPACING_MS = 150;
|
|
512
512
|
export function groupFleetAuthInstalls(installs, isMergeable = () => true) {
|
|
513
513
|
const groups = new Map();
|
|
514
514
|
for (const inst of installs) {
|
package/dist/lib/auth-mint.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* First-class setup-token mint + seed (PHNX-2364).
|
|
3
3
|
*
|
|
4
4
|
* Closes the mint-auth manual recipe: drive `claude setup-token` through the
|
|
5
|
-
* same injectable
|
|
5
|
+
* same injectable term driver `agents fleet login` uses, capture a well-formed
|
|
6
6
|
* `sk-ant-oat01-…` token (the #1767 ANSI-banner guard), and seed BOTH:
|
|
7
7
|
*
|
|
8
8
|
* 1. a named provider account (`agents accounts add` shape, policy never)
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import type { AgentId, Meta } from './types.js';
|
|
17
17
|
import { type CredentialAccount } from './account-registry.js';
|
|
18
18
|
import { type StorableCredentialKind } from './secrets-policy.js';
|
|
19
|
-
import { type DriveOptions, type
|
|
19
|
+
import { type DriveOptions, type TermDriver } from './fleet/remote-login.js';
|
|
20
20
|
/** Well-formed Claude setup-token as it appears inside a TTY blob. */
|
|
21
21
|
export declare const CLAUDE_SETUP_TOKEN_CAPTURE_RE: RegExp;
|
|
22
22
|
export interface MintFlow {
|
|
@@ -27,7 +27,7 @@ export interface MintFlow {
|
|
|
27
27
|
mintArgs: string[] | null;
|
|
28
28
|
/** api-key flows: the env var the collected key injects as on a worker (e.g. OPENAI_API_KEY). */
|
|
29
29
|
apiKeyEnv?: string;
|
|
30
|
-
/** setup-token flows: authorize-URL and token patterns scraped from the
|
|
30
|
+
/** setup-token flows: authorize-URL and token patterns scraped from the term session. */
|
|
31
31
|
verificationUrlRegex?: RegExp;
|
|
32
32
|
tokenCapture?: RegExp;
|
|
33
33
|
}
|
|
@@ -138,7 +138,7 @@ export declare function adoptLegacyReservedStoreItems(meta: Pick<Meta, 'accounts
|
|
|
138
138
|
*/
|
|
139
139
|
export declare function seedNamedAccount(name: string, token: string, flow: MintFlow): CredentialAccount;
|
|
140
140
|
export interface MintDriveHooks {
|
|
141
|
-
driver?:
|
|
141
|
+
driver?: TermDriver;
|
|
142
142
|
openUrl?: (url: string) => Promise<void>;
|
|
143
143
|
/** Asked once the authorize URL is on screen, when `--code` was not given. */
|
|
144
144
|
readCode?: () => Promise<string | undefined>;
|
|
@@ -155,7 +155,7 @@ export interface DriveSetupTokenMintOpts extends MintDriveHooks {
|
|
|
155
155
|
json?: boolean;
|
|
156
156
|
}
|
|
157
157
|
/**
|
|
158
|
-
* Drive `claude setup-token` in a
|
|
158
|
+
* Drive `claude setup-token` in a term session: scrape the authorize URL, open it,
|
|
159
159
|
* optionally paste `--code`, then capture the token with the #1767 guard.
|
|
160
160
|
* Tears the session down on the way out (success, timeout, or throw).
|
|
161
161
|
*/
|
|
@@ -193,7 +193,7 @@ export interface MintAndSeedResult {
|
|
|
193
193
|
fleet: FleetSyncRow[];
|
|
194
194
|
}
|
|
195
195
|
/**
|
|
196
|
-
* End-to-end mint: resolve identity, obtain a token (stdin or
|
|
196
|
+
* End-to-end mint: resolve identity, obtain a token (stdin or term drive),
|
|
197
197
|
* seed the named account + reserved auth bundle, optionally sync the fleet.
|
|
198
198
|
* Never returns or logs the token.
|
|
199
199
|
*/
|
package/dist/lib/auth-mint.js
CHANGED
|
@@ -5,7 +5,7 @@ import { bundleBackendSync, isSecretsClientError, bundleExists, bundleExistsSync
|
|
|
5
5
|
import { assertStorableCredentialKind, reservedStoreName, } from './secrets-policy.js';
|
|
6
6
|
import { getBinaryPath, getGlobalDefault, getVersionHomePath, listInstalledVersions } from './installations/versions.js';
|
|
7
7
|
import { shellQuote } from './ssh-exec.js';
|
|
8
|
-
import {
|
|
8
|
+
import { defaultTermDriver, } from './fleet/remote-login.js';
|
|
9
9
|
import { showUrl } from './open-url.js';
|
|
10
10
|
import { loadDevices } from './devices/registry.js';
|
|
11
11
|
import { isSelfHost } from './devices/self-host.js';
|
|
@@ -348,7 +348,7 @@ function emitMintProgress(line, json) {
|
|
|
348
348
|
console.log(line);
|
|
349
349
|
}
|
|
350
350
|
/**
|
|
351
|
-
* Drive `claude setup-token` in a
|
|
351
|
+
* Drive `claude setup-token` in a term session: scrape the authorize URL, open it,
|
|
352
352
|
* optionally paste `--code`, then capture the token with the #1767 guard.
|
|
353
353
|
* Tears the session down on the way out (success, timeout, or throw).
|
|
354
354
|
*/
|
|
@@ -356,7 +356,7 @@ export async function driveSetupTokenMint(command, flow, opts = {}) {
|
|
|
356
356
|
if (flow.auth !== 'setup-token' || !flow.tokenCapture) {
|
|
357
357
|
throw new Error(`Harness '${flow.harness}' has no interactive mint command.`);
|
|
358
358
|
}
|
|
359
|
-
const driver = opts.driver ??
|
|
359
|
+
const driver = opts.driver ?? defaultTermDriver();
|
|
360
360
|
const initialDelayMs = opts.drive?.initialDelayMs ?? 1500;
|
|
361
361
|
const pollMs = opts.drive?.pollMs ?? 500;
|
|
362
362
|
const timeoutMs = opts.drive?.timeoutMs ?? 180_000;
|
|
@@ -443,14 +443,14 @@ export function resolveMintInstallation(harness) {
|
|
|
443
443
|
};
|
|
444
444
|
}
|
|
445
445
|
/**
|
|
446
|
-
* End-to-end mint: resolve identity, obtain a token (stdin or
|
|
446
|
+
* End-to-end mint: resolve identity, obtain a token (stdin or term drive),
|
|
447
447
|
* seed the named account + reserved auth bundle, optionally sync the fleet.
|
|
448
448
|
* Never returns or logs the token.
|
|
449
449
|
*/
|
|
450
450
|
export async function mintAndSeed(input) {
|
|
451
451
|
const flow = getMintFlow(input.harness);
|
|
452
452
|
const json = input.json === true;
|
|
453
|
-
// An injected
|
|
453
|
+
// An injected term driver is a complete substitute for exec'ing the local
|
|
454
454
|
// binary, so the install lookup is only required on the real drive path.
|
|
455
455
|
const install = input.token
|
|
456
456
|
? null
|
|
@@ -3,9 +3,8 @@ export interface CellExecutionRequest extends BenchCell {
|
|
|
3
3
|
prompt: string;
|
|
4
4
|
cwd: string;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
type CellExecutor = (request: CellExecutionRequest) => Promise<Omit<BenchCellResult, keyof BenchCell | "wall_ms" | "status">>;
|
|
7
7
|
export declare function extractTokenCount(stdout: string, stderr: string): number | undefined;
|
|
8
|
-
export declare function executeCellViaAgentsRun(request: CellExecutionRequest): ReturnType<CellExecutor>;
|
|
9
8
|
export declare function runCells(options: {
|
|
10
9
|
task?: BenchTask;
|
|
11
10
|
prompt: string;
|
|
@@ -14,3 +13,4 @@ export declare function runCells(options: {
|
|
|
14
13
|
execute?: CellExecutor;
|
|
15
14
|
tempRoot?: string;
|
|
16
15
|
}): Promise<BenchRunResult>;
|
|
16
|
+
export {};
|
package/dist/lib/bench/runner.js
CHANGED
|
@@ -13,7 +13,7 @@ export function extractTokenCount(stdout, stderr) {
|
|
|
13
13
|
const tokens = Number(raw.replaceAll(",", ""));
|
|
14
14
|
return Number.isSafeInteger(tokens) && tokens >= 0 ? tokens : undefined;
|
|
15
15
|
}
|
|
16
|
-
|
|
16
|
+
async function executeCellViaAgentsRun(request) {
|
|
17
17
|
const args = [
|
|
18
18
|
"run",
|
|
19
19
|
request.agent,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { BenchRunResult } from "./types.js";
|
|
2
|
-
export declare function benchHistoryDir(): string;
|
|
3
2
|
export declare function saveRun(result: BenchRunResult, root?: string): string;
|
|
4
3
|
export declare function loadRun(runId: string, root?: string): BenchRunResult;
|
|
5
4
|
export declare function listRuns(root?: string): BenchRunResult[];
|
|
@@ -2,7 +2,7 @@ import * as fs from "fs";
|
|
|
2
2
|
import * as path from "path";
|
|
3
3
|
import { getUserAgentsDir } from "../state.js";
|
|
4
4
|
import { parseRunResult, validateRunId } from "./schema.js";
|
|
5
|
-
|
|
5
|
+
function benchHistoryDir() {
|
|
6
6
|
return path.join(getUserAgentsDir(), ".history", "bench");
|
|
7
7
|
}
|
|
8
8
|
export function saveRun(result, root = benchHistoryDir()) {
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** True when `AGENTS_PROFILE_BOOT` is set — callers can skip building label strings. */
|
|
2
|
-
export declare function bootProfileEnabled(): boolean;
|
|
3
1
|
/**
|
|
4
2
|
* Record a named stage boundary. No-op unless `AGENTS_PROFILE_BOOT` is set, so
|
|
5
3
|
* this is free to call unconditionally on the launch path.
|
package/dist/lib/boot-profile.js
CHANGED
|
@@ -19,10 +19,6 @@ import { performance } from 'node:perf_hooks';
|
|
|
19
19
|
const ENABLED = process.env.AGENTS_PROFILE_BOOT === '1' || process.env.AGENTS_PROFILE_BOOT === 'true';
|
|
20
20
|
const marks = [];
|
|
21
21
|
let flushed = false;
|
|
22
|
-
/** True when `AGENTS_PROFILE_BOOT` is set — callers can skip building label strings. */
|
|
23
|
-
export function bootProfileEnabled() {
|
|
24
|
-
return ENABLED;
|
|
25
|
-
}
|
|
26
22
|
/**
|
|
27
23
|
* Record a named stage boundary. No-op unless `AGENTS_PROFILE_BOOT` is set, so
|
|
28
24
|
* this is free to call unconditionally on the launch path.
|
package/dist/lib/brand.d.ts
CHANGED
|
@@ -19,12 +19,6 @@ export declare function validateBrandName(name: string): string | null;
|
|
|
19
19
|
export declare function listBrands(): Record<string, BrandConfig>;
|
|
20
20
|
/** One brand's config, or undefined. */
|
|
21
21
|
export declare function getBrandConfig(name: string): BrandConfig | undefined;
|
|
22
|
-
/**
|
|
23
|
-
* The active brand's config (from AGENTS_BRAND), or null when unbranded or when
|
|
24
|
-
* the brand is explicitly disabled (`enabled: false`) — a disabled brand's shim
|
|
25
|
-
* still works as a plain pass-through but applies no command/resource curation.
|
|
26
|
-
*/
|
|
27
|
-
export declare function getActiveBrandConfig(): BrandConfig | null;
|
|
28
22
|
/**
|
|
29
23
|
* The resource-profile preset name a brand pins, or null. Read on the hot path
|
|
30
24
|
* by resource-profiles.ts to make the active profile brand-scoped.
|
package/dist/lib/brand.js
CHANGED
|
@@ -78,7 +78,7 @@ export function getBrandConfig(name) {
|
|
|
78
78
|
* the brand is explicitly disabled (`enabled: false`) — a disabled brand's shim
|
|
79
79
|
* still works as a plain pass-through but applies no command/resource curation.
|
|
80
80
|
*/
|
|
81
|
-
|
|
81
|
+
function getActiveBrandConfig() {
|
|
82
82
|
const name = activeBrandName();
|
|
83
83
|
if (!name)
|
|
84
84
|
return null;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
interface ArcSpace {
|
|
2
2
|
/** Stable UUID used for every native operation. */
|
|
3
3
|
id: string;
|
|
4
4
|
/** Display-only title; empty when the Space is untitled. Never part of identity. */
|
|
5
5
|
title: string;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
interface ArcProfile {
|
|
8
8
|
/** Arc's profile directory basename: the stable profile identity. */
|
|
9
9
|
profileId: string;
|
|
10
10
|
/** Display-only profile name from Local State. */
|
|
11
11
|
displayName: string;
|
|
12
12
|
spaces: ArcSpace[];
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
type ArcDiscoveryResult = {
|
|
15
15
|
ok: true;
|
|
16
16
|
profiles: ArcProfile[];
|
|
17
17
|
userDataDir: string;
|
|
@@ -25,14 +25,6 @@ interface SidebarSpace {
|
|
|
25
25
|
title: string;
|
|
26
26
|
profileId: string;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Arc's application-support root on this Mac. Arc keeps its Chromium `Local
|
|
30
|
-
* State` under `<root>/User Data/` and its own sidebar model (Spaces and their
|
|
31
|
-
* profile bindings) at `<root>/StorableSidebar.json` — two different levels,
|
|
32
|
-
* so discovery is rooted here rather than at the Chromium user-data dir.
|
|
33
|
-
* `AGENTS_ARC_DIR` points tests and non-default installs at another root.
|
|
34
|
-
*/
|
|
35
|
-
export declare function arcSupportDir(): string | undefined;
|
|
36
28
|
export declare function parseLocalStateProfiles(localStatePath: string): Map<string, string> | {
|
|
37
29
|
error: string;
|
|
38
30
|
};
|
|
@@ -42,7 +34,7 @@ export declare function parseSidebarSpaces(sidebarPath: string): SidebarSpace[]
|
|
|
42
34
|
export declare function discoverArcProfilesAt(arcDir: string): ArcDiscoveryResult;
|
|
43
35
|
export declare function discoverArcProfiles(): ArcDiscoveryResult;
|
|
44
36
|
/** One Arc Space, flattened with the Arc profile it belongs to. */
|
|
45
|
-
|
|
37
|
+
interface ArcSpaceProfile {
|
|
46
38
|
/** The agents-cli profile name: `arc-<space-title-slug>`. */
|
|
47
39
|
name: string;
|
|
48
40
|
profileId: string;
|
|
@@ -12,7 +12,7 @@ function isRecord(value) {
|
|
|
12
12
|
* so discovery is rooted here rather than at the Chromium user-data dir.
|
|
13
13
|
* `AGENTS_ARC_DIR` points tests and non-default installs at another root.
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
function arcSupportDir() {
|
|
16
16
|
const override = process.env.AGENTS_ARC_DIR;
|
|
17
17
|
if (override)
|
|
18
18
|
return path.resolve(override);
|
|
@@ -68,7 +68,6 @@ export declare function storeRelaunchCommand(browserType: BrowserType, port: num
|
|
|
68
68
|
*/
|
|
69
69
|
export declare function resolveProfileSecretsEnv(secrets?: string): Promise<Record<string, string>>;
|
|
70
70
|
export declare function launchBrowser(profileName: string, browserType: BrowserType, port: number, options?: ChromeOptions, secrets?: string, customBinary?: string, isElectron?: boolean): Promise<LaunchResult>;
|
|
71
|
-
export declare function attachToChrome(port: number): Promise<string>;
|
|
72
71
|
export declare function killChrome(pid: number): void;
|
|
73
72
|
export declare function getRunningChromeInfo(profileName: string): {
|
|
74
73
|
pid: number;
|
|
@@ -128,7 +127,7 @@ export declare function getProcessUserDataDir(pid: number): string | null;
|
|
|
128
127
|
* testing without a live process.
|
|
129
128
|
*/
|
|
130
129
|
export declare function parseUserDataDirFromCommandLine(cmdline: string): string | null;
|
|
131
|
-
|
|
130
|
+
interface PortOccupant {
|
|
132
131
|
pid: number;
|
|
133
132
|
command: string;
|
|
134
133
|
}
|
|
@@ -139,3 +138,4 @@ export interface PortOccupant {
|
|
|
139
138
|
* `lsof` on POSIX; `netstat -ano` + `tasklist` on Windows.
|
|
140
139
|
*/
|
|
141
140
|
export declare function getPortOccupant(port: number): PortOccupant | null;
|
|
141
|
+
export {};
|
|
@@ -451,10 +451,6 @@ async function waitForDevToolsPort(port, profileName, child, store, timeoutMs =
|
|
|
451
451
|
throw new Error(`Browser for profile "${profileName}" (pid ${pid}) did not serve the DevTools protocol on ` +
|
|
452
452
|
`port ${port} within ${Math.round(timeoutMs / 1000)}s: ${lastError}`);
|
|
453
453
|
}
|
|
454
|
-
export async function attachToChrome(port) {
|
|
455
|
-
const { wsUrl } = await discoverBrowserWsUrl(port);
|
|
456
|
-
return wsUrl;
|
|
457
|
-
}
|
|
458
454
|
export function killChrome(pid) {
|
|
459
455
|
if (process.platform === 'win32') {
|
|
460
456
|
// On Windows `process.kill(pid, 'SIGINT')` maps to TerminateProcess — a
|