@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
package/dist/lib/pty-client.js
DELETED
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PTY Client
|
|
3
|
-
*
|
|
4
|
-
* Thin client that connects to the PTY sidecar server over unix socket.
|
|
5
|
-
* Each call opens a connection, sends a JSON request, reads the JSON response, and closes.
|
|
6
|
-
*/
|
|
7
|
-
import * as net from 'net';
|
|
8
|
-
import * as fs from 'fs';
|
|
9
|
-
import { spawn, execSync } from 'child_process';
|
|
10
|
-
import { fileURLToPath } from 'url';
|
|
11
|
-
import * as path from 'path';
|
|
12
|
-
import { getSocketPath, getPtyLogPath, isPtyServerRunning } from './pty-server.js';
|
|
13
|
-
import { backgroundSpawnOptions } from './platform/process.js';
|
|
14
|
-
import { BUN_VIRTUAL_ROOT } from './cli-entry.js';
|
|
15
|
-
const CONNECT_TIMEOUT_MS = 5000;
|
|
16
|
-
const RESPONSE_TIMEOUT_MS = 30000;
|
|
17
|
-
const START_TIMEOUT_MS = 5000;
|
|
18
|
-
const IS_WINDOWS = process.platform === 'win32';
|
|
19
|
-
/**
|
|
20
|
-
* Send a request to the PTY server and return the response.
|
|
21
|
-
* Auto-starts the server if not running.
|
|
22
|
-
*/
|
|
23
|
-
export async function ptyRequest(action, id, params) {
|
|
24
|
-
await ensureServer();
|
|
25
|
-
const req = { action };
|
|
26
|
-
if (id)
|
|
27
|
-
req.id = id;
|
|
28
|
-
if (params)
|
|
29
|
-
req.params = params;
|
|
30
|
-
return sendRequest(req);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Ensure the PTY server is running. Start it if not.
|
|
34
|
-
*/
|
|
35
|
-
async function ensureServer() {
|
|
36
|
-
if (isPtyServerRunning())
|
|
37
|
-
return;
|
|
38
|
-
// Find the entry point to spawn the server
|
|
39
|
-
const { bin, args } = getServerSpawnArgs();
|
|
40
|
-
const logPath = getPtyLogPath();
|
|
41
|
-
let logFd;
|
|
42
|
-
try {
|
|
43
|
-
logFd = fs.openSync(logPath, 'a');
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
47
|
-
throw new Error([
|
|
48
|
-
'PTY server failed to start before spawning.',
|
|
49
|
-
`Spawned: ${formatCommand({ bin, args })}`,
|
|
50
|
-
`Log: ${logPath}`,
|
|
51
|
-
`Log open error: ${message}`,
|
|
52
|
-
].join('\n'));
|
|
53
|
-
}
|
|
54
|
-
let child;
|
|
55
|
-
try {
|
|
56
|
-
child = spawn(bin, args, {
|
|
57
|
-
stdio: ['ignore', logFd, logFd],
|
|
58
|
-
...backgroundSpawnOptions({ fdStdio: true }),
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
fs.closeSync(logFd);
|
|
63
|
-
}
|
|
64
|
-
let childExit;
|
|
65
|
-
let childError;
|
|
66
|
-
let lastReadinessError;
|
|
67
|
-
child.once('exit', (code, signal) => {
|
|
68
|
-
childExit = { code, signal };
|
|
69
|
-
});
|
|
70
|
-
child.once('error', (err) => {
|
|
71
|
-
childError = err;
|
|
72
|
-
});
|
|
73
|
-
child.unref();
|
|
74
|
-
// Wait for the server to become reachable. On Unix the socket file appearing is
|
|
75
|
-
// a cheap readiness signal; on Windows the named pipe is not a filesystem object
|
|
76
|
-
// (fs.existsSync always returns false), so we just attempt the ping directly.
|
|
77
|
-
const socketPath = getSocketPath();
|
|
78
|
-
const deadline = Date.now() + START_TIMEOUT_MS;
|
|
79
|
-
while (Date.now() < deadline) {
|
|
80
|
-
if (IS_WINDOWS || fs.existsSync(socketPath)) {
|
|
81
|
-
// Verify we can connect
|
|
82
|
-
try {
|
|
83
|
-
await sendRequest({ action: 'ping' });
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
lastReadinessError = err instanceof Error ? err : new Error(String(err));
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
if (childError || childExit)
|
|
91
|
-
break;
|
|
92
|
-
await new Promise(r => setTimeout(r, 100));
|
|
93
|
-
}
|
|
94
|
-
throw new Error(buildPtyStartFailureMessage({
|
|
95
|
-
timeoutMs: START_TIMEOUT_MS,
|
|
96
|
-
spawn: { bin, args },
|
|
97
|
-
exit: childExit,
|
|
98
|
-
spawnError: childError,
|
|
99
|
-
lastReadinessError,
|
|
100
|
-
logPath,
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
export function getServerSpawnArgs(options = {}) {
|
|
104
|
-
const isStandaloneExecutable = options.isStandaloneExecutable
|
|
105
|
-
?? isBunStandaloneExecutable();
|
|
106
|
-
if (isStandaloneExecutable) {
|
|
107
|
-
// A Bun `--compile` standalone binary cannot `require()` a native addon, so
|
|
108
|
-
// running the PTY sidecar AS this binary fails to load node-pty's pty.node
|
|
109
|
-
// (fatal on macOS; see #315). Prefer a real `node` running the dist/index.js
|
|
110
|
-
// that ships beside the binary — there node-pty loads from the on-disk
|
|
111
|
-
// prebuild. We can't do `<binary> dist/index.js` (the standalone misparses a
|
|
112
|
-
// script arg as a subcommand), so a genuine `node` is required. Fall back to
|
|
113
|
-
// the binary itself only when no node / no dist is found (a bare standalone
|
|
114
|
-
// install with no Node — PTY may then be unavailable, but nothing else can
|
|
115
|
-
// load the addon anyway).
|
|
116
|
-
const node = (options.resolveNode ?? resolveNodeExecutable)();
|
|
117
|
-
const exists = options.fileExists ?? fs.existsSync;
|
|
118
|
-
const execPath = options.execPath ?? process.execPath;
|
|
119
|
-
if (node) {
|
|
120
|
-
try {
|
|
121
|
-
const distIndex = path.join(path.dirname(execPath), '..', 'index.js');
|
|
122
|
-
if (exists(distIndex)) {
|
|
123
|
-
return { bin: node, args: [distIndex, 'pty', '_server'] };
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch { }
|
|
127
|
-
}
|
|
128
|
-
return { bin: process.execPath, args: ['pty', '_server'] };
|
|
129
|
-
}
|
|
130
|
-
// Prefer the dist/index.js from the same installation as this code.
|
|
131
|
-
// This avoids version mismatch when a globally installed `agents` is older.
|
|
132
|
-
try {
|
|
133
|
-
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
134
|
-
const distIndex = path.join(__dirname, '..', 'index.js');
|
|
135
|
-
if (fs.existsSync(distIndex)) {
|
|
136
|
-
return { bin: process.execPath, args: [distIndex, 'pty', '_server'] };
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
catch { }
|
|
140
|
-
// Fallback: use the globally installed agents command. `which` is Unix-only;
|
|
141
|
-
// Windows uses `where`, which can return multiple lines — take the first.
|
|
142
|
-
try {
|
|
143
|
-
const lookup = IS_WINDOWS ? 'where agents' : 'which agents';
|
|
144
|
-
const agentsBin = execSync(lookup, { encoding: 'utf-8' }).split(/\r?\n/)[0].trim();
|
|
145
|
-
if (agentsBin) {
|
|
146
|
-
return { bin: agentsBin, args: ['pty', '_server'] };
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
catch { }
|
|
150
|
-
return { bin: 'agents', args: ['pty', '_server'] };
|
|
151
|
-
}
|
|
152
|
-
export function isBunStandaloneExecutable(moduleUrl = import.meta.url) {
|
|
153
|
-
return BUN_VIRTUAL_ROOT.test(moduleUrl);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Locate a real `node` on PATH for running the sidecar's dist/index.js from a
|
|
157
|
-
* Bun standalone binary (which cannot itself load native addons). Returns
|
|
158
|
-
* undefined when no node is found — the caller then falls back to the binary.
|
|
159
|
-
*/
|
|
160
|
-
function resolveNodeExecutable() {
|
|
161
|
-
try {
|
|
162
|
-
const lookup = IS_WINDOWS ? 'where node' : 'which node';
|
|
163
|
-
const node = execSync(lookup, { encoding: 'utf-8' }).split(/\r?\n/)[0].trim();
|
|
164
|
-
if (node && fs.existsSync(node))
|
|
165
|
-
return node;
|
|
166
|
-
}
|
|
167
|
-
catch { }
|
|
168
|
-
return undefined;
|
|
169
|
-
}
|
|
170
|
-
export function readRecentLogLines(logPath, maxLines = 20) {
|
|
171
|
-
try {
|
|
172
|
-
if (!fs.existsSync(logPath))
|
|
173
|
-
return [];
|
|
174
|
-
return fs.readFileSync(logPath, 'utf-8')
|
|
175
|
-
.split(/\r?\n/)
|
|
176
|
-
.filter(line => line.trim().length > 0)
|
|
177
|
-
.slice(-maxLines);
|
|
178
|
-
}
|
|
179
|
-
catch (err) {
|
|
180
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
181
|
-
return [`Unable to read PTY server log: ${message}`];
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
export function buildPtyStartFailureMessage(details) {
|
|
185
|
-
const lines = [
|
|
186
|
-
`PTY server failed to start within ${Math.round(details.timeoutMs / 1000)} seconds.`,
|
|
187
|
-
`Spawned: ${formatCommand(details.spawn)}`,
|
|
188
|
-
];
|
|
189
|
-
if (details.spawnError) {
|
|
190
|
-
lines.push(`Spawn error: ${details.spawnError.message}`);
|
|
191
|
-
}
|
|
192
|
-
if (details.exit) {
|
|
193
|
-
const reason = details.exit.signal
|
|
194
|
-
? `signal ${details.exit.signal}`
|
|
195
|
-
: `code ${details.exit.code ?? 'unknown'}`;
|
|
196
|
-
lines.push(`PTY server process exited with ${reason} before listening.`);
|
|
197
|
-
}
|
|
198
|
-
if (details.lastReadinessError) {
|
|
199
|
-
lines.push(`Last readiness error: ${details.lastReadinessError.message}`);
|
|
200
|
-
}
|
|
201
|
-
lines.push(`Log: ${details.logPath}`);
|
|
202
|
-
const logLines = readRecentLogLines(details.logPath);
|
|
203
|
-
if (logLines.length > 0) {
|
|
204
|
-
lines.push('Recent PTY server log:');
|
|
205
|
-
lines.push(...logLines.map(line => ` ${line}`));
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
lines.push('No PTY server log output was written.');
|
|
209
|
-
}
|
|
210
|
-
return lines.join('\n');
|
|
211
|
-
}
|
|
212
|
-
function formatCommand(spawnArgs) {
|
|
213
|
-
return [spawnArgs.bin, ...spawnArgs.args].map((part) => JSON.stringify(part)).join(' ');
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Send a JSON request over the unix socket and return the parsed response.
|
|
217
|
-
*/
|
|
218
|
-
function sendRequest(req) {
|
|
219
|
-
return new Promise((resolve, reject) => {
|
|
220
|
-
const socketPath = getSocketPath();
|
|
221
|
-
// On Unix a missing socket file means the server isn't up — fail fast with a
|
|
222
|
-
// clear message. On Windows the named pipe isn't a filesystem object, so we
|
|
223
|
-
// skip the probe and let createConnection surface ENOENT/connection errors.
|
|
224
|
-
if (!IS_WINDOWS && !fs.existsSync(socketPath)) {
|
|
225
|
-
reject(new Error('PTY server socket not found. Is the server running?'));
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
const conn = net.createConnection({ path: socketPath });
|
|
229
|
-
let data = '';
|
|
230
|
-
let settled = false;
|
|
231
|
-
const connectTimeout = setTimeout(() => {
|
|
232
|
-
if (!settled) {
|
|
233
|
-
settled = true;
|
|
234
|
-
conn.destroy();
|
|
235
|
-
reject(new Error('Connection to PTY server timed out'));
|
|
236
|
-
}
|
|
237
|
-
}, CONNECT_TIMEOUT_MS);
|
|
238
|
-
const responseTimeout = setTimeout(() => {
|
|
239
|
-
if (!settled) {
|
|
240
|
-
settled = true;
|
|
241
|
-
conn.destroy();
|
|
242
|
-
reject(new Error('PTY server response timed out'));
|
|
243
|
-
}
|
|
244
|
-
}, RESPONSE_TIMEOUT_MS);
|
|
245
|
-
conn.on('connect', () => {
|
|
246
|
-
clearTimeout(connectTimeout);
|
|
247
|
-
conn.write(JSON.stringify(req) + '\n');
|
|
248
|
-
});
|
|
249
|
-
conn.on('data', (chunk) => {
|
|
250
|
-
data += chunk.toString();
|
|
251
|
-
const nlIndex = data.indexOf('\n');
|
|
252
|
-
if (nlIndex !== -1) {
|
|
253
|
-
if (!settled) {
|
|
254
|
-
settled = true;
|
|
255
|
-
clearTimeout(connectTimeout);
|
|
256
|
-
clearTimeout(responseTimeout);
|
|
257
|
-
try {
|
|
258
|
-
resolve(JSON.parse(data.slice(0, nlIndex)));
|
|
259
|
-
}
|
|
260
|
-
catch (err) {
|
|
261
|
-
reject(new Error(`Invalid JSON from PTY server: ${data.slice(0, 200)}`));
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
conn.end();
|
|
265
|
-
}
|
|
266
|
-
});
|
|
267
|
-
conn.on('error', (err) => {
|
|
268
|
-
if (!settled) {
|
|
269
|
-
settled = true;
|
|
270
|
-
clearTimeout(connectTimeout);
|
|
271
|
-
clearTimeout(responseTimeout);
|
|
272
|
-
reject(new Error(`PTY server connection error: ${err.message}`));
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
conn.on('end', () => {
|
|
276
|
-
if (!settled) {
|
|
277
|
-
settled = true;
|
|
278
|
-
clearTimeout(connectTimeout);
|
|
279
|
-
clearTimeout(responseTimeout);
|
|
280
|
-
if (data.trim()) {
|
|
281
|
-
try {
|
|
282
|
-
resolve(JSON.parse(data.trim()));
|
|
283
|
-
}
|
|
284
|
-
catch {
|
|
285
|
-
reject(new Error('PTY server closed connection with invalid response'));
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
else {
|
|
289
|
-
reject(new Error('PTY server closed connection without response'));
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* Parse escape sequences in user input strings.
|
|
297
|
-
* Handles: \n \r \t \e \xHH \\
|
|
298
|
-
*/
|
|
299
|
-
export function unescapeInput(input) {
|
|
300
|
-
return input.replace(/\\(n|r|t|e|\\|x[0-9a-fA-F]{2})/g, (match, seq) => {
|
|
301
|
-
switch (seq) {
|
|
302
|
-
case 'n': return '\n';
|
|
303
|
-
case 'r': return '\r';
|
|
304
|
-
case 't': return '\t';
|
|
305
|
-
case 'e': return '\x1b';
|
|
306
|
-
case '\\': return '\\';
|
|
307
|
-
default:
|
|
308
|
-
// \xHH
|
|
309
|
-
if (seq.startsWith('x')) {
|
|
310
|
-
return String.fromCharCode(parseInt(seq.slice(1), 16));
|
|
311
|
-
}
|
|
312
|
-
return match;
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
}
|
package/dist/lib/pty-server.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PTY Sidecar Server
|
|
3
|
-
*
|
|
4
|
-
* Lightweight unix socket server that manages persistent PTY sessions.
|
|
5
|
-
* Started as a detached process by `agents pty` commands. Sessions survive
|
|
6
|
-
* across multiple CLI invocations. Each session holds a real PTY (via node-pty)
|
|
7
|
-
* and a headless terminal emulator (via @xterm/headless) for screen rendering.
|
|
8
|
-
*
|
|
9
|
-
* Protocol: newline-delimited JSON over ~/.agents/.system/pty.sock
|
|
10
|
-
*/
|
|
11
|
-
import { captureProcessStartTime } from './platform/index.js';
|
|
12
|
-
export { captureProcessStartTime };
|
|
13
|
-
/**
|
|
14
|
-
* Wrap a user command so a `__SENTINEL__:<exit>` line is printed after it
|
|
15
|
-
* finishes — that line drives completion detection in the exec/read flow.
|
|
16
|
-
* The separator and exit-code variable are shell-family specific:
|
|
17
|
-
* POSIX sh/zsh/bash : `cmd; echo "S:$?"`
|
|
18
|
-
* PowerShell : `cmd; echo "S:$LASTEXITCODE"`
|
|
19
|
-
* cmd.exe : `cmd & echo S:%errorlevel%` (`&` always runs the echo)
|
|
20
|
-
* Only the completion marker matters; the numeric exit code is informational
|
|
21
|
-
* (the authoritative code comes from node-pty's onExit).
|
|
22
|
-
*/
|
|
23
|
-
export declare function buildSentinelCommand(shell: string, command: string): string;
|
|
24
|
-
/**
|
|
25
|
-
* Turn a native-binding load failure into an actionable, platform-aware message.
|
|
26
|
-
*
|
|
27
|
-
* The binding is `@homebridge/node-pty-prebuilt-multiarch`'s `pty.node`. On Linux
|
|
28
|
-
* it is baked into the npm tarball and always present; on macOS/Windows it is
|
|
29
|
-
* fetched per host + Node ABI at install time by the package's `prebuild-install`
|
|
30
|
-
* postinstall. The common failure is a Node runtime whose ABI has no published
|
|
31
|
-
* prebuild (the PHNX-2740 darwin-arm64 case): `prebuild-install` finds nothing,
|
|
32
|
-
* the build-from-source fallback also fails, and the loader throws a bare
|
|
33
|
-
* `Cannot find module '.../pty.node'` / MODULE_NOT_FOUND with no clue what to do.
|
|
34
|
-
*
|
|
35
|
-
* Pure (returns the lines) so it can be unit-tested without spawning the server.
|
|
36
|
-
*/
|
|
37
|
-
export declare function describeNativePtyLoadFailure(err: unknown): string[];
|
|
38
|
-
/**
|
|
39
|
-
* Resolve the IPC endpoint for a given platform + PTY scratch dir. Pure so both
|
|
40
|
-
* branches are testable without stubbing process.platform.
|
|
41
|
-
*
|
|
42
|
-
* Unix: an AF_UNIX socket file inside the scratch dir.
|
|
43
|
-
* Windows: a named pipe (`\\.\pipe\…`). Named pipes are NOT filesystem objects,
|
|
44
|
-
* so the name is derived from a hash of the (per-user) scratch dir to keep it
|
|
45
|
-
* stable across invocations and isolated per user — and callers must never probe
|
|
46
|
-
* it with fs.existsSync (it always reports false). Both forms are accepted by
|
|
47
|
-
* net.createServer/createConnection.
|
|
48
|
-
*/
|
|
49
|
-
export declare function derivePtyEndpoint(platform: NodeJS.Platform, ptyDir: string): string;
|
|
50
|
-
/** Get the IPC endpoint the PTY server listens on / clients connect to. */
|
|
51
|
-
export declare function getSocketPath(): string;
|
|
52
|
-
/** Get the path to the PTY server PID file. */
|
|
53
|
-
export declare function getPtyPidPath(): string;
|
|
54
|
-
/** Get the path to the PTY server log file. */
|
|
55
|
-
export declare function getPtyLogPath(): string;
|
|
56
|
-
/** Check if the PTY server process is alive by probing the stored PID. */
|
|
57
|
-
export declare function isPtyServerRunning(): boolean;
|
|
58
|
-
/** Start the PTY sidecar server, listening on the unix socket for JSON requests. */
|
|
59
|
-
export declare function runPtyServer(): Promise<void>;
|