@phnx-labs/agents-cli 1.22.113 → 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 +29 -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 +13 -104
- package/dist/commands/sessions.js +10 -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 -4
- package/dist/lib/daemon/daemon.js +1 -1
- package/dist/lib/daemon/harness-update-service.d.ts +2 -19
- package/dist/lib/daemon/harness-update-service.js +3 -3
- package/dist/lib/daemon/runner.d.ts +3 -3
- package/dist/lib/daemon/self-update-service.d.ts +1 -16
- package/dist/lib/daemon/self-update-service.js +6 -6
- package/dist/lib/daemon/state-dir-check-service.d.ts +2 -1
- package/dist/lib/daemon/supervisor.d.ts +3 -2
- package/dist/lib/daemon-services.d.ts +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 +2 -1
- package/dist/lib/events-ingest.d.ts +4 -3
- package/dist/lib/exec-account-home.d.ts +2 -4
- package/dist/lib/exec-account-home.js +1 -1
- package/dist/lib/exec-bounded.d.ts +3 -4
- package/dist/lib/exec-bounded.js +1 -1
- package/dist/lib/exec.d.ts +6 -18
- package/dist/lib/exec.js +1 -1
- package/dist/lib/factory/snapshot.d.ts +2 -2
- package/dist/lib/factory/snapshot.js +1 -1
- package/dist/lib/feed/activity-stream.d.ts +2 -5
- package/dist/lib/feed/activity-stream.js +2 -2
- package/dist/lib/feed/activity.d.ts +8 -33
- package/dist/lib/feed/activity.js +8 -8
- package/dist/lib/feed/answer.d.ts +3 -2
- package/dist/lib/feed/attention.js +5 -1
- package/dist/lib/feed/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 +1 -2
- package/dist/lib/feed/watch.js +0 -1
- package/dist/lib/feed-broadcast.d.ts +5 -47
- package/dist/lib/feed-broadcast.js +9 -9
- package/dist/lib/feed-outcome.d.ts +3 -6
- package/dist/lib/feed-outcome.js +2 -2
- package/dist/lib/feed-policy.d.ts +5 -6
- package/dist/lib/feed-policy.js +2 -2
- package/dist/lib/feed-post.d.ts +3 -4
- package/dist/lib/feed-post.js +1 -1
- package/dist/lib/feed-ranking.d.ts +2 -2
- package/dist/lib/feed-ranking.js +1 -1
- package/dist/lib/fleet/apply.d.ts +5 -6
- package/dist/lib/fleet/apply.js +4 -4
- package/dist/lib/fleet/manifest.d.ts +2 -1
- package/dist/lib/fleet/remote-login.d.ts +18 -36
- package/dist/lib/fleet/remote-login.js +20 -19
- package/dist/lib/fleet/types.d.ts +0 -8
- package/dist/lib/fleet-cache.d.ts +1 -18
- package/dist/lib/fleet-cache.js +0 -5
- package/dist/lib/fleet-shared-repo-sync.d.ts +3 -3
- package/dist/lib/fleet-shared-repo-sync.js +1 -1
- package/dist/lib/fleet-shared-state.d.ts +3 -2
- package/dist/lib/format.d.ts +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 -24
- package/dist/lib/hosts/dispatch.js +2 -2
- package/dist/lib/hosts/logs.d.ts +2 -1
- package/dist/lib/hosts/passthrough.d.ts +1 -1
- package/dist/lib/hosts/passthrough.js +0 -1
- package/dist/lib/hosts/progress.d.ts +0 -5
- package/dist/lib/hosts/progress.js +1 -1
- package/dist/lib/hosts/ready.d.ts +3 -4
- package/dist/lib/hosts/ready.js +0 -8
- package/dist/lib/hosts/reconcile.d.ts +2 -8
- package/dist/lib/hosts/reconcile.js +1 -1
- package/dist/lib/hosts/reconnect.d.ts +4 -11
- package/dist/lib/hosts/reconnect.js +2 -2
- package/dist/lib/hosts/registry.d.ts +1 -1
- package/dist/lib/hosts/remote-cmd.d.ts +4 -3
- package/dist/lib/hosts/session-index.d.ts +3 -2
- package/dist/lib/hosts/ssh-config.d.ts +2 -3
- package/dist/lib/hosts/ssh-config.js +0 -10
- package/dist/lib/humans.d.ts +0 -2
- package/dist/lib/humans.js +2 -2
- package/dist/lib/import.d.ts +4 -3
- package/dist/lib/installations/installation-lock.d.ts +0 -2
- package/dist/lib/installations/installation-lock.js +2 -2
- package/dist/lib/installations/launch-gate.d.ts +0 -9
- package/dist/lib/installations/launch-gate.js +1 -1
- package/dist/lib/installations/migrate.d.ts +0 -11
- package/dist/lib/installations/migrate.js +1 -1
- package/dist/lib/installations/shims.d.ts +1 -1
- package/dist/lib/installations/shims.js +2 -2
- package/dist/lib/installations/update-runtime.js +1 -1
- package/dist/lib/linear-cache.d.ts +2 -1
- package/dist/lib/linux-userns.d.ts +2 -3
- package/dist/lib/linux-userns.js +0 -4
- package/dist/lib/loop.d.ts +2 -1
- package/dist/lib/mailbox-gc.d.ts +2 -1
- package/dist/lib/mailbox-target.d.ts +2 -1
- package/dist/lib/mailbox.d.ts +0 -6
- package/dist/lib/mailbox.js +1 -1
- package/dist/lib/manifest.d.ts +0 -14
- package/dist/lib/manifest.js +2 -2
- package/dist/lib/mcp-registry.d.ts +2 -1
- package/dist/lib/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/actor-sidecar.d.ts +3 -2
- package/dist/lib/session/artifacts.d.ts +0 -2
- package/dist/lib/session/artifacts.js +1 -1
- package/dist/lib/session/bash-command.d.ts +2 -7
- package/dist/lib/session/bundle.d.ts +4 -6
- package/dist/lib/session/bundle.js +1 -5
- package/dist/lib/session/cloud.d.ts +0 -4
- package/dist/lib/session/cloud.js +2 -15
- package/dist/lib/session/detached.d.ts +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/fork.d.ts +3 -2
- package/dist/lib/session/highlights.d.ts +6 -5
- package/dist/lib/session/hook-sessions.d.ts +2 -1
- package/dist/lib/session/host-link.d.ts +2 -1
- package/dist/lib/session/inject.d.ts +1 -1
- package/dist/lib/session/inject.js +1 -1
- package/dist/lib/session/insights.d.ts +3 -15
- package/dist/lib/session/insights.js +2 -2
- package/dist/lib/session/local-tmux-attach.d.ts +2 -18
- package/dist/lib/session/local-tmux-attach.js +1 -1
- package/dist/lib/session/migrations.d.ts +0 -1
- package/dist/lib/session/migrations.js +1 -1
- package/dist/lib/session/mirror.d.ts +5 -8
- package/dist/lib/session/mirror.js +2 -2
- package/dist/lib/session/parse.d.ts +1 -32
- package/dist/lib/session/parse.js +4 -4
- package/dist/lib/session/presence.d.ts +2 -1
- package/dist/lib/session/prompt.d.ts +3 -2
- package/dist/lib/session/prompt.js +38 -1
- package/dist/lib/session/recovery.d.ts +3 -2
- package/dist/lib/session/remote/peer-stream.d.ts +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 +2 -7
- package/dist/lib/session/remote/watch.js +3 -3
- package/dist/lib/session/remote-active.d.ts +2 -1
- package/dist/lib/session/render.d.ts +2 -2
- package/dist/lib/session/render.js +1 -1
- package/dist/lib/session/resume-owner.d.ts +1 -1
- package/dist/lib/session/resume-owner.js +1 -1
- package/dist/lib/session/run-names.d.ts +2 -1
- package/dist/lib/session/session-cache.d.ts +7 -26
- package/dist/lib/session/session-cache.js +2 -8
- package/dist/lib/session/share-html.d.ts +1 -21
- package/dist/lib/session/share-html.js +1 -1
- package/dist/lib/session/shell-programs.d.ts +2 -1
- package/dist/lib/session/state.d.ts +41 -8
- package/dist/lib/session/state.js +112 -11
- package/dist/lib/session/stream-render.d.ts +2 -1
- package/dist/lib/session/sync/agents.d.ts +0 -4
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +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/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
|
@@ -11,7 +11,7 @@ import { spawnSync } from 'child_process';
|
|
|
11
11
|
import { isSelfHost } from './self-host.js';
|
|
12
12
|
import { buildSshInvocation, sshTargetFor, writeAskpassShim } from './connect.js';
|
|
13
13
|
/** npm dist-tags / semver pins only — rejects shell metacharacters. */
|
|
14
|
-
|
|
14
|
+
const FLEET_VERSION_RE = /^[A-Za-z0-9._-]+$/;
|
|
15
15
|
/**
|
|
16
16
|
* Classify each registered device for a fleet operation.
|
|
17
17
|
*
|
|
@@ -51,7 +51,7 @@ export interface HostHarnessResult {
|
|
|
51
51
|
skipped?: string;
|
|
52
52
|
}
|
|
53
53
|
/** An account collapsed across the installs on one host that share it. */
|
|
54
|
-
|
|
54
|
+
interface AccountGroup {
|
|
55
55
|
/** Account display label, or null for the signed-out bucket. */
|
|
56
56
|
account: string | null;
|
|
57
57
|
/** Distinct agent ids using this account, sorted. */
|
|
@@ -130,7 +130,7 @@ export declare function renderHarnessMatrix(results: HostHarnessResult[]): strin
|
|
|
130
130
|
* account (installs sharing it collapsed), showing which harnesses use it. Pure.
|
|
131
131
|
*/
|
|
132
132
|
export declare function renderAccountsMatrix(results: HostHarnessResult[]): string[];
|
|
133
|
-
|
|
133
|
+
interface AccountFleetMatrixRow {
|
|
134
134
|
harness: AgentId;
|
|
135
135
|
name: string | null;
|
|
136
136
|
identityLabel: string;
|
|
@@ -147,3 +147,4 @@ export interface AccountFleetMatrixRow {
|
|
|
147
147
|
export declare function renderAccountFleetMatrix(rows: AccountFleetMatrixRow[], opts?: {
|
|
148
148
|
uncoveredDevices?: string[];
|
|
149
149
|
}): string[];
|
|
150
|
+
export {};
|
|
@@ -52,7 +52,7 @@ export interface FleetHealthRow {
|
|
|
52
52
|
* Undefined when no row has been published for the host yet. */
|
|
53
53
|
agents?: FleetAgentCounts;
|
|
54
54
|
}
|
|
55
|
-
|
|
55
|
+
interface FleetWarning {
|
|
56
56
|
kind: 'unreachable' | 'drift' | 'cli' | 'version-skew' | 'divergence';
|
|
57
57
|
devices: string[];
|
|
58
58
|
message: string;
|
|
@@ -82,7 +82,7 @@ export declare function freshnessFooter(rows: FleetHealthRow[], now?: number): s
|
|
|
82
82
|
export declare function shortVersion(version: string | null | undefined): string;
|
|
83
83
|
/** OS bucket label for grouping. Anything unrecognized falls under "Other". */
|
|
84
84
|
export declare function platformGroupLabel(platform: string | undefined): 'macOS' | 'Linux' | 'Windows' | 'Other';
|
|
85
|
-
|
|
85
|
+
interface FleetAttentionItem {
|
|
86
86
|
/** Leading mark: `○` offline, `⚠` config/CLI/version issue. */
|
|
87
87
|
glyph: 'offline' | 'warn';
|
|
88
88
|
subject: string;
|
|
@@ -106,3 +106,4 @@ export declare function renderFleetSummary(report: FleetHealthReport, opts?: {
|
|
|
106
106
|
self?: string;
|
|
107
107
|
now?: number;
|
|
108
108
|
}): string[];
|
|
109
|
+
export {};
|
|
@@ -49,13 +49,6 @@ export declare function probeBudgetMs(device: DeviceProfile): number;
|
|
|
49
49
|
export declare const WIN_PROBE_TIMEOUT_MS = 6000;
|
|
50
50
|
/** One-shot remote snapshot: load, memory, core count, then root filesystem. */
|
|
51
51
|
export declare const PROBE_SNIPPET = "uptime; echo ---AGSTAT---; (vm_stat 2>/dev/null || cat /proc/meminfo 2>/dev/null); echo ---AGSTAT---; (nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null); echo ---AGSTAT---; df -Pk / 2>/dev/null | tail -1";
|
|
52
|
-
/** Windows equivalent, one labeled line via CIM. PowerShell 5.1-safe: no `||`
|
|
53
|
-
* chaining, plain string concatenation. `LoadPercentage` is $null on some
|
|
54
|
-
* hosts/VMs, which concatenates to an empty field — the parser treats that as
|
|
55
|
-
* "no load signal" and headroom falls back to memory pressure alone.
|
|
56
|
-
* wrapRemoteCommand base64-encodes this for powershell-shell devices, so the
|
|
57
|
-
* quoting survives ssh intact. */
|
|
58
|
-
export declare const WIN_PROBE_SNIPPET = "$os = Get-CimInstance Win32_OperatingSystem; $cpu = (Get-CimInstance Win32_Processor | Measure-Object -Property LoadPercentage -Average).Average; $disk = Get-CimInstance Win32_LogicalDisk -Filter \"DeviceID='C:'\"; Write-Output ('AGWINSTAT load=' + $cpu + ' freeKb=' + $os.FreePhysicalMemory + ' totalKb=' + $os.TotalVisibleMemorySize + ' ncpu=' + $env:NUMBER_OF_PROCESSORS + ' diskFreeKb=' + ($disk.FreeSpace / 1KB) + ' diskTotalKb=' + ($disk.Size / 1KB))";
|
|
59
52
|
export declare function localProbeInvocation(platform: NodeJS.Platform): {
|
|
60
53
|
file: string;
|
|
61
54
|
args: string[];
|
|
@@ -114,7 +107,7 @@ export declare function parseProbeOutput(host: string, stdout: string, fetchedAt
|
|
|
114
107
|
* (e.g. CIM unavailable) keeps `reachable: true` — ssh answered — with no
|
|
115
108
|
* numbers, mirroring how garbage POSIX output degrades. */
|
|
116
109
|
export declare function parseWinProbeOutput(host: string, stdout: string, fetchedAt: number): DeviceStats;
|
|
117
|
-
|
|
110
|
+
interface FleetCapacity {
|
|
118
111
|
reachable: number;
|
|
119
112
|
cores: number;
|
|
120
113
|
memTotalBytes: number;
|
|
@@ -63,7 +63,7 @@ export const PROBE_SNIPPET = `uptime; echo ${SEP}; (vm_stat 2>/dev/null || cat /
|
|
|
63
63
|
* "no load signal" and headroom falls back to memory pressure alone.
|
|
64
64
|
* wrapRemoteCommand base64-encodes this for powershell-shell devices, so the
|
|
65
65
|
* quoting survives ssh intact. */
|
|
66
|
-
|
|
66
|
+
const WIN_PROBE_SNIPPET = `$os = Get-CimInstance Win32_OperatingSystem; $cpu = (Get-CimInstance Win32_Processor | Measure-Object -Property LoadPercentage -Average).Average; $disk = Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'"; Write-Output ('AGWINSTAT load=' + $cpu + ' freeKb=' + $os.FreePhysicalMemory + ' totalKb=' + $os.TotalVisibleMemorySize + ' ncpu=' + $env:NUMBER_OF_PROCESSORS + ' diskFreeKb=' + ($disk.FreeSpace / 1KB) + ' diskTotalKb=' + ($disk.Size / 1KB))`;
|
|
67
67
|
export function localProbeInvocation(platform) {
|
|
68
68
|
return platform === 'win32'
|
|
69
69
|
? { file: 'powershell', args: ['-NoProfile', '-Command', WIN_PROBE_SNIPPET] }
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/** The reserved `--device` value meaning the box the human is at. */
|
|
2
|
-
export declare const INTERACTIVE_DEVICE_SENTINEL = "interactive";
|
|
3
1
|
/** True when a host flag value is the interactive sentinel. */
|
|
4
2
|
export declare function isDeviceInteractive(value: string | undefined | null): boolean;
|
|
5
3
|
/**
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
import { getConfigValue } from '../device-config.js';
|
|
20
20
|
import { RESERVED_DEVICE_NAMES } from './registry.js';
|
|
21
21
|
/** The reserved `--device` value meaning the box the human is at. */
|
|
22
|
-
|
|
22
|
+
const INTERACTIVE_DEVICE_SENTINEL = 'interactive';
|
|
23
23
|
/** True when a host flag value is the interactive sentinel. */
|
|
24
24
|
export function isDeviceInteractive(value) {
|
|
25
25
|
return typeof value === 'string' && value.trim().toLowerCase() === INTERACTIVE_DEVICE_SENTINEL;
|
|
@@ -3,8 +3,6 @@ import type { DeviceProfile } from './registry.js';
|
|
|
3
3
|
export declare function managedKnownHostsPath(): string;
|
|
4
4
|
/** Ensure the parent directory of the managed store exists (mode 0700). */
|
|
5
5
|
export declare function ensureManagedKnownHostsDir(file?: string): void;
|
|
6
|
-
/** Read the managed store, or '' when it does not exist yet. */
|
|
7
|
-
export declare function readManagedKnownHosts(file?: string): string;
|
|
8
6
|
/**
|
|
9
7
|
* True if `host` has at least one pinned key line in `content`. Pure (content
|
|
10
8
|
* in) so the match logic is unit-testable without touching disk. Matching is
|
|
@@ -44,7 +42,7 @@ export declare function hostKeyCheckingOpts(pinned: boolean, file?: string): str
|
|
|
44
42
|
* contract is unit-testable without spawning ssh-keyscan.
|
|
45
43
|
*/
|
|
46
44
|
export declare function newKnownHostsLines(existing: string, scanned: string): string[];
|
|
47
|
-
|
|
45
|
+
interface PinResult {
|
|
48
46
|
/** True if the host is pinned in the managed store after this call. */
|
|
49
47
|
pinned: boolean;
|
|
50
48
|
/** How many new key lines were appended. */
|
|
@@ -58,20 +56,4 @@ export interface PinResult {
|
|
|
58
56
|
* network (the spawn stays in `pinHostKey`).
|
|
59
57
|
*/
|
|
60
58
|
export declare function recordScannedKeys(host: string, scanned: string, file?: string): PinResult;
|
|
61
|
-
|
|
62
|
-
* `ssh-keyscan` a host at a trusted moment and append any new key lines to the
|
|
63
|
-
* managed store, idempotently. This is the explicit pin path; the implicit one
|
|
64
|
-
* is a normal `accept-new` connection whose learned key lands in the same store.
|
|
65
|
-
* Returns whether the host is pinned afterward.
|
|
66
|
-
*
|
|
67
|
-
* Host-name-agnostic: it scans whatever address it is handed, so it also pins a
|
|
68
|
-
* host `agents ssh` can't reach — notably a bare `~/.ssh/config` `Host` alias,
|
|
69
|
-
* which is not a registered device. The `--copy-creds` gate (commands/exec.ts)
|
|
70
|
-
* calls this for exactly that case so the credential copy is usable for
|
|
71
|
-
* ssh-config-alias hosts (RUSH-1767).
|
|
72
|
-
*/
|
|
73
|
-
export declare function pinHostKey(host: string, opts?: {
|
|
74
|
-
file?: string;
|
|
75
|
-
timeoutMs?: number;
|
|
76
|
-
port?: number;
|
|
77
|
-
}): PinResult;
|
|
59
|
+
export {};
|
|
@@ -32,7 +32,7 @@ export function ensureManagedKnownHostsDir(file = managedKnownHostsPath()) {
|
|
|
32
32
|
fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
|
|
33
33
|
}
|
|
34
34
|
/** Read the managed store, or '' when it does not exist yet. */
|
|
35
|
-
|
|
35
|
+
function readManagedKnownHosts(file = managedKnownHostsPath()) {
|
|
36
36
|
try {
|
|
37
37
|
return fs.readFileSync(file, 'utf-8');
|
|
38
38
|
}
|
|
@@ -135,7 +135,7 @@ export function recordScannedKeys(host, scanned, file = managedKnownHostsPath())
|
|
|
135
135
|
* calls this for exactly that case so the credential copy is usable for
|
|
136
136
|
* ssh-config-alias hosts (RUSH-1767).
|
|
137
137
|
*/
|
|
138
|
-
|
|
138
|
+
function pinHostKey(host, opts = {}) {
|
|
139
139
|
// Same injection guard as sshExec: a host starting with `-` (or carrying shell
|
|
140
140
|
// metacharacters) must never reach ssh-keyscan as a bare argv where it could
|
|
141
141
|
// be parsed as a flag.
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* ranker ({@link autoLaunchPreferredSet}, applied by `pickBestDevice`).
|
|
31
31
|
*/
|
|
32
32
|
import { type AutoLaunchPreference, type AutoPoolMode, type ConfiguredDeviceRole } from '../device-config.js';
|
|
33
|
-
|
|
33
|
+
interface AutoPoolOptions {
|
|
34
34
|
/** Pool mode; defaults to the configured `auto.pool`. */
|
|
35
35
|
mode?: AutoPoolMode;
|
|
36
36
|
/** Configured roles by device name; defaults to the fleet-shared block. */
|
|
@@ -77,3 +77,4 @@ export declare function listWorkerDevices(opts?: Pick<AutoPoolOptions, 'roles'>)
|
|
|
77
77
|
* callers can append it unconditionally.
|
|
78
78
|
*/
|
|
79
79
|
export declare function describeAutoPool(opts?: AutoPoolOptions): string;
|
|
80
|
+
export {};
|
|
@@ -3,14 +3,14 @@ import { type DeviceProfile } from './registry.js';
|
|
|
3
3
|
export { splitUserHost };
|
|
4
4
|
/** A dialable peer: the ssh target, the machine id used to tag its rows, a
|
|
5
5
|
* display name, and the OS family that picks the remote shell dialect. */
|
|
6
|
-
|
|
6
|
+
interface ResolvedSshTarget {
|
|
7
7
|
target: string;
|
|
8
8
|
machine: string;
|
|
9
9
|
name: string;
|
|
10
10
|
os?: string;
|
|
11
11
|
extraSshArgs?: string[];
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
interface ResolvedExplicitTargetSet {
|
|
14
14
|
targets: ResolvedSshTarget[];
|
|
15
15
|
unresolved: string[];
|
|
16
16
|
}
|
|
@@ -43,7 +43,7 @@ import { runLocalCommand, runOnDevice, type FleetRunResult, type FleetTarget } f
|
|
|
43
43
|
* falling back to the unresolved path where `readlink -f` is unavailable.
|
|
44
44
|
*/
|
|
45
45
|
export declare function rolloutVerifyCommand(): string[];
|
|
46
|
-
|
|
46
|
+
interface RolloutProbe {
|
|
47
47
|
/** Path the box's own `agents` resolves to, symlinks followed. */
|
|
48
48
|
resolvedPath?: string;
|
|
49
49
|
/** Version that resolved copy reports. */
|
|
@@ -81,7 +81,7 @@ export declare function isRolloutSuccess(verdict: RolloutVerdict): boolean;
|
|
|
81
81
|
export declare function resolveRolloutTarget(explicitVersion: string | undefined, probes: RolloutProbe[]): string | undefined;
|
|
82
82
|
/** Classify one box's probe against the rollout target. */
|
|
83
83
|
export declare function classifyRolloutVerification(probe: RolloutProbe, targetVersion: string | undefined): RolloutVerification;
|
|
84
|
-
|
|
84
|
+
interface VerifyFleetRolloutOptions {
|
|
85
85
|
/** Name of THIS machine; its target is probed locally, mirroring `runFleet`. */
|
|
86
86
|
self?: string;
|
|
87
87
|
/** Injectable ssh runner (tests). */
|
|
@@ -99,3 +99,4 @@ export interface VerifyFleetRolloutOptions {
|
|
|
99
99
|
* "we could not check" and "it is upgraded" are different answers.
|
|
100
100
|
*/
|
|
101
101
|
export declare function verifyFleetRollout(targets: FleetTarget[], results: FleetRunResult[], explicitVersion: string | undefined, opts?: VerifyFleetRolloutOptions): Map<string, RolloutVerification>;
|
|
102
|
+
export {};
|
|
@@ -42,7 +42,7 @@ export declare function writeStatsCache(entries: Record<string, DeviceStats>): v
|
|
|
42
42
|
export declare function removeStatsCacheEntry(name: string): void;
|
|
43
43
|
/** Immutable cache pruning primitive, exported for lifecycle regression tests. */
|
|
44
44
|
export declare function pruneStatsCache(entries: Record<string, DeviceStats>, name: string): Record<string, DeviceStats>;
|
|
45
|
-
|
|
45
|
+
interface FleetStatsResult {
|
|
46
46
|
/** name → stats for every requested device (cache-served + freshly probed). */
|
|
47
47
|
stats: Map<string, DeviceStats>;
|
|
48
48
|
/** Oldest `fetchedAt` among the returned rows, or null when empty. Drives the
|
|
@@ -51,7 +51,7 @@ export interface FleetStatsResult {
|
|
|
51
51
|
/** True when at least one row was served from cache rather than probed this call. */
|
|
52
52
|
servedFromCache: boolean;
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
interface LoadFleetStatsOptions {
|
|
55
55
|
/** Skip the cache and live-probe every device (the `--refresh`/`--live` path). */
|
|
56
56
|
forceRefresh?: boolean;
|
|
57
57
|
/** Device name of THIS machine — always probed locally (no ssh), never cached-served. */
|
|
@@ -70,3 +70,4 @@ export interface LoadFleetStatsOptions {
|
|
|
70
70
|
* `reachable: false` row exactly as the live probe does.
|
|
71
71
|
*/
|
|
72
72
|
export declare function loadFleetStats(devices: DeviceProfile[], opts?: LoadFleetStatsOptions): Promise<FleetStatsResult>;
|
|
73
|
+
export {};
|
|
@@ -34,8 +34,8 @@ export declare function withDefaultUser(input: DeviceInput, prevUser: string | u
|
|
|
34
34
|
* through the menu-bar "NEW DEVICES → Register / Ignore" gate instead of
|
|
35
35
|
* silently landing in the registry.
|
|
36
36
|
*/
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
type DeviceSyncMode = 'bootstrap' | 'refresh';
|
|
38
|
+
interface DeviceSyncResult {
|
|
39
39
|
/** False when discovery could not run (e.g. tailscale absent) in soft mode. */
|
|
40
40
|
ok: boolean;
|
|
41
41
|
/** Number of tailscale nodes upserted into the registry. */
|
|
@@ -89,7 +89,7 @@ export declare function runDeviceSync(opts?: {
|
|
|
89
89
|
soft?: boolean;
|
|
90
90
|
mode?: DeviceSyncMode;
|
|
91
91
|
}): Promise<DeviceSyncResult>;
|
|
92
|
-
|
|
92
|
+
interface EnsureDevicesResult {
|
|
93
93
|
/** Names newly resolved from Tailscale and upserted into the registry. */
|
|
94
94
|
registered: string[];
|
|
95
95
|
/** Names that could not be resolved (not on the tailnet / tailscale absent). */
|
|
@@ -102,7 +102,7 @@ export interface EnsureDevicesResult {
|
|
|
102
102
|
* registered names need nothing. Pure so the bootstrap's filter matrix is
|
|
103
103
|
* unit-testable without a tailnet or registry writes.
|
|
104
104
|
*/
|
|
105
|
-
|
|
105
|
+
interface WantedPartition {
|
|
106
106
|
toRegister: string[];
|
|
107
107
|
unresolved: string[];
|
|
108
108
|
}
|
|
@@ -127,10 +127,11 @@ export declare function ensureDevicesRegistered(wantedNames: string[]): Promise<
|
|
|
127
127
|
* => remove from the registry if it was there, and ignore it so auto-sync never
|
|
128
128
|
* re-adds it.
|
|
129
129
|
*/
|
|
130
|
-
|
|
130
|
+
interface DeviceReconciliation {
|
|
131
131
|
toRegister: string[];
|
|
132
132
|
toUnignore: string[];
|
|
133
133
|
toRemove: string[];
|
|
134
134
|
toIgnore: string[];
|
|
135
135
|
}
|
|
136
136
|
export declare function planDeviceReconciliation(allNames: Iterable<string>, keep: Iterable<string>, registered: Iterable<string>, ignored: Iterable<string>): DeviceReconciliation;
|
|
137
|
+
export {};
|
|
@@ -4,7 +4,7 @@ export interface WorkerExclusion {
|
|
|
4
4
|
device: string;
|
|
5
5
|
reason: 'unreachable' | 'probe timed out' | 'overloaded' | 'wrong-platform' | 'interactive';
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
interface WorkerPickPlan {
|
|
8
8
|
/** The chosen device name. Never the local box unless it is an auto-pool member. */
|
|
9
9
|
device: string;
|
|
10
10
|
/** True when the pick IS this machine (the caller should run in place). */
|
|
@@ -16,7 +16,7 @@ export interface WorkerPickPlan {
|
|
|
16
16
|
}>;
|
|
17
17
|
excluded: WorkerExclusion[];
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
interface WorkerPickOptions {
|
|
20
20
|
/** Restrict to these platforms. Defaults to POSIX (`linux`, `macos`). */
|
|
21
21
|
platforms?: string[];
|
|
22
22
|
/** Override the candidate pool (tests). */
|
|
@@ -25,16 +25,6 @@ export interface WorkerPickOptions {
|
|
|
25
25
|
/** Injected probe (tests). */
|
|
26
26
|
probe?: (pool: string[]) => Promise<Map<string, DevicePlacementSignal>>;
|
|
27
27
|
}
|
|
28
|
-
/**
|
|
29
|
-
* Platforms a bun/vitest offload can actually run on.
|
|
30
|
-
*
|
|
31
|
-
* Windows is excluded by policy, not by accident: `AGENTS.md` states Windows is
|
|
32
|
-
* not a required PR or ordinary-release platform and `tests.yml` runs it only as
|
|
33
|
-
* a `continue-on-error` post-merge smoke. Silently shipping the tree to
|
|
34
|
-
* `win-mini` would produce a confusing failure for a platform whose result
|
|
35
|
-
* nobody gates on.
|
|
36
|
-
*/
|
|
37
|
-
export declare const POSIX_PLATFORMS: readonly ["linux", "macos"];
|
|
38
28
|
/**
|
|
39
29
|
* Resolve the least-loaded eligible worker.
|
|
40
30
|
*
|
|
@@ -46,3 +36,4 @@ export declare const POSIX_PLATFORMS: readonly ["linux", "macos"];
|
|
|
46
36
|
export declare function resolveWorkerDevice(opts?: WorkerPickOptions): Promise<WorkerPickPlan>;
|
|
47
37
|
/** The one no-worker message, naming every candidate and why it was dropped. */
|
|
48
38
|
export declare function formatNoWorkerError(excluded: WorkerExclusion[], platforms: Set<string>): string;
|
|
39
|
+
export {};
|
|
@@ -34,7 +34,7 @@ import { probePoolSignals } from '../teams/placement-probe.js';
|
|
|
34
34
|
* `win-mini` would produce a confusing failure for a platform whose result
|
|
35
35
|
* nobody gates on.
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
const POSIX_PLATFORMS = ['linux', 'macos'];
|
|
38
38
|
/**
|
|
39
39
|
* Resolve the least-loaded eligible worker.
|
|
40
40
|
*
|
package/dist/lib/diff-text.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* pre-coloured unified diff (red = removed, green = added, dim = context).
|
|
6
6
|
* Used by `agents doctor --diff`.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
interface UnifiedDiffOptions {
|
|
9
9
|
/** Number of context lines around each change (default: 3). */
|
|
10
10
|
context?: number;
|
|
11
11
|
/** Filename label shown in the patch header for the "expected" side. */
|
|
@@ -23,3 +23,4 @@ export declare function unifiedDiff(expected: string, actual: string, options?:
|
|
|
23
23
|
* a constant prefix so it nests cleanly under a header.
|
|
24
24
|
*/
|
|
25
25
|
export declare function colorizeUnifiedDiff(patch: string, indent?: string): string;
|
|
26
|
+
export {};
|
|
@@ -120,7 +120,7 @@ export declare function isCheckedOutSymlink(filePath: string): boolean;
|
|
|
120
120
|
* when the mirror faithfully matches source.
|
|
121
121
|
*/
|
|
122
122
|
export declare function describePluginDrift(central: DiscoveredPlugin, mirrorDir: string): string | null;
|
|
123
|
-
|
|
123
|
+
interface DiffOptions {
|
|
124
124
|
cwd?: string;
|
|
125
125
|
/** Restrict to specific kinds; undefined = all. */
|
|
126
126
|
kinds?: DoctorKind[];
|
|
@@ -134,3 +134,4 @@ export interface DiffOptions {
|
|
|
134
134
|
}
|
|
135
135
|
export declare function diffVersionResources(agent: AgentId, version: string, options?: DiffOptions): VersionResourceReport;
|
|
136
136
|
export declare const DOCTOR_ALL_KINDS: DoctorKind[];
|
|
137
|
+
export {};
|
package/dist/lib/drift-sync.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { type VersionHealResult } from './heal.js';
|
|
21
21
|
import { type UnifiedSyncStatus } from './sync-status.js';
|
|
22
|
-
|
|
22
|
+
interface DriftSyncOptions {
|
|
23
23
|
cwd?: string;
|
|
24
24
|
/** Reconcile everything detected with no prompts — the "kick it" path, also the
|
|
25
25
|
* non-TTY / menu-bar-launched-with-flag behavior. Pulls `.system` if behind. */
|
|
@@ -29,7 +29,7 @@ export interface DriftSyncOptions {
|
|
|
29
29
|
/** Skip the drift summary — set by callers that already printed their own. */
|
|
30
30
|
quiet?: boolean;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
interface DriftSyncResult {
|
|
33
33
|
systemBehindBefore: number;
|
|
34
34
|
systemPulled: boolean;
|
|
35
35
|
healed: VersionHealResult[];
|
|
@@ -43,3 +43,4 @@ export interface DriftSyncResult {
|
|
|
43
43
|
* callers (menu-bar, doctor) can report without re-scanning.
|
|
44
44
|
*/
|
|
45
45
|
export declare function promptDriftSync(opts?: DriftSyncOptions): Promise<DriftSyncResult>;
|
|
46
|
+
export {};
|
package/dist/lib/drift.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* to an exit code. Neither reimplements the diagnostic — both call `computeDrift`.
|
|
9
9
|
*/
|
|
10
10
|
import type { AgentId } from './types.js';
|
|
11
|
-
import { type
|
|
11
|
+
import { type SourceLayerBehind } from './doctor-diff.js';
|
|
12
12
|
export interface SyncStatusRow {
|
|
13
13
|
agent: AgentId;
|
|
14
14
|
version: string;
|
|
@@ -32,7 +32,6 @@ export interface OrphanRow {
|
|
|
32
32
|
skills: number;
|
|
33
33
|
hooks: number;
|
|
34
34
|
}
|
|
35
|
-
export declare function divergenceLines(report: VersionResourceReport): string[];
|
|
36
35
|
export declare function checkSyncStatus(cwd: string): SyncStatusRow[];
|
|
37
36
|
export declare function countOrphans(): OrphanRow[];
|
|
38
37
|
/**
|
|
@@ -43,7 +42,7 @@ export declare function countOrphans(): OrphanRow[];
|
|
|
43
42
|
* only the behind layers. Canonical home for both `agents doctor` and `agents doctor --check`.
|
|
44
43
|
*/
|
|
45
44
|
export declare function computeSourceBehind(): SourceLayerBehind[];
|
|
46
|
-
|
|
45
|
+
interface DriftSummary {
|
|
47
46
|
syncRows: SyncStatusRow[];
|
|
48
47
|
orphanRows: OrphanRow[];
|
|
49
48
|
/** Versions whose sources changed since last sync. */
|
|
@@ -75,3 +74,4 @@ export interface DriftSummary {
|
|
|
75
74
|
* maps to an exit code; the readout `agents doctor` renders in full.
|
|
76
75
|
*/
|
|
77
76
|
export declare function computeDrift(cwd: string): DriftSummary;
|
|
77
|
+
export {};
|
package/dist/lib/drift.js
CHANGED
|
@@ -12,7 +12,7 @@ import { getUserAgentsDir, getSystemAgentsDir, getEnabledExtraRepos } from './st
|
|
|
12
12
|
// invalid manifest, or the bundled skills/commands missing from the mirror —
|
|
13
13
|
// the system-repo plugin content that matters most). Other kinds collapse to
|
|
14
14
|
// compact counts so the readout stays scannable.
|
|
15
|
-
|
|
15
|
+
function divergenceLines(report) {
|
|
16
16
|
const lines = [];
|
|
17
17
|
for (const p of report.kinds.plugins) {
|
|
18
18
|
if (p.status === 'missing')
|
|
@@ -3,20 +3,14 @@
|
|
|
3
3
|
* event reader. One vocabulary maps onto existing filters (includeActivity,
|
|
4
4
|
* eventTypes, level) so the engine stays single-path.
|
|
5
5
|
*/
|
|
6
|
-
import type { EventType } from './feed/events.js';
|
|
7
6
|
import type { UnifiedQuery } from './event-stream.js';
|
|
8
7
|
export declare const EVENT_FAMILIES: readonly ["ops", "activity", "commands", "runs", "security"];
|
|
9
8
|
export type EventFamily = (typeof EVENT_FAMILIES)[number];
|
|
10
|
-
export declare function isEventFamily(value: string): value is EventFamily;
|
|
11
9
|
/**
|
|
12
10
|
* Parse a comma-separated family list. Throws on unknown names or empty list
|
|
13
11
|
* after split (same discipline as sessions role lists).
|
|
14
12
|
*/
|
|
15
13
|
export declare function parseFamilyList(raw: string, flagName: string): EventFamily[];
|
|
16
|
-
/** Command-churn event kinds. */
|
|
17
|
-
export declare const COMMAND_EVENT_TYPES: readonly EventType[];
|
|
18
|
-
/** Run-dispatch outcome kinds (replaces the separate audit/log.jsonl product). */
|
|
19
|
-
export declare const RUN_EVENT_TYPES: readonly EventType[];
|
|
20
14
|
/**
|
|
21
15
|
* Fold family include/exclude into a UnifiedQuery.
|
|
22
16
|
* Precedence: family narrows sources/types; field filters (module, event, …)
|
|
@@ -11,7 +11,7 @@ export const EVENT_FAMILIES = [
|
|
|
11
11
|
'security',
|
|
12
12
|
];
|
|
13
13
|
const FAMILY_SET = new Set(EVENT_FAMILIES);
|
|
14
|
-
|
|
14
|
+
function isEventFamily(value) {
|
|
15
15
|
return FAMILY_SET.has(value);
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -34,9 +34,9 @@ export function parseFamilyList(raw, flagName) {
|
|
|
34
34
|
return out;
|
|
35
35
|
}
|
|
36
36
|
/** Command-churn event kinds. */
|
|
37
|
-
|
|
37
|
+
const COMMAND_EVENT_TYPES = ['command.start', 'command.end'];
|
|
38
38
|
/** Run-dispatch outcome kinds (replaces the separate audit/log.jsonl product). */
|
|
39
|
-
|
|
39
|
+
const RUN_EVENT_TYPES = ['run.dispatched', 'run.launch', 'agent.run.end'];
|
|
40
40
|
/**
|
|
41
41
|
* Fold family include/exclude into a UnifiedQuery.
|
|
42
42
|
* Precedence: family narrows sources/types; field filters (module, event, …)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ActorKind } from './actor.js';
|
|
2
|
-
|
|
2
|
+
interface EventProvenance {
|
|
3
3
|
osUser: string;
|
|
4
4
|
transport: 'local' | 'ssh';
|
|
5
5
|
sshClientIp?: string;
|
|
@@ -19,3 +19,4 @@ export interface EventProvenance {
|
|
|
19
19
|
*/
|
|
20
20
|
export declare function stampProvenance(env?: NodeJS.ProcessEnv): EventProvenance;
|
|
21
21
|
export declare function resetEventProvenanceForTest(): void;
|
|
22
|
+
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
interface IngestReject {
|
|
2
2
|
/** 1-based index of the offending line within the batch. */
|
|
3
3
|
line: number;
|
|
4
4
|
reason: string;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
interface IngestResult {
|
|
7
7
|
written: number;
|
|
8
8
|
rejected: IngestReject[];
|
|
9
9
|
/** Per-store counts, so a caller/test can assert routing without reading files. */
|
|
@@ -12,7 +12,7 @@ export interface IngestResult {
|
|
|
12
12
|
activity: number;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
interface IngestOptions {
|
|
16
16
|
/**
|
|
17
17
|
* Producer name, stamped as `module` on operational records so
|
|
18
18
|
* `agents events --module <source>` filters to this producer. Required: an
|
|
@@ -44,3 +44,4 @@ export declare function routeFor(event: string, sessionId: unknown): 'activity'
|
|
|
44
44
|
* events, and the caller still learns exactly which line failed and why.
|
|
45
45
|
*/
|
|
46
46
|
export declare function ingestBatch(input: string, opts: IngestOptions): IngestResult;
|
|
47
|
+
export {};
|
|
@@ -3,8 +3,8 @@ import { isSymlinkAdoptedHarness } from './installations/shims.js';
|
|
|
3
3
|
import type { AgentId, DeviceAccountSlot, Meta } from './types.js';
|
|
4
4
|
export { isAccountSlotDir } from './agents.js';
|
|
5
5
|
export { isSymlinkAdoptedHarness };
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
type SpawnHomeSource = 'slot' | 'legacy-home' | 'provisioned';
|
|
7
|
+
interface NativeSpawnHome {
|
|
8
8
|
execHome: string;
|
|
9
9
|
source: SpawnHomeSource;
|
|
10
10
|
slot?: DeviceAccountSlot;
|
|
@@ -32,8 +32,6 @@ export declare function durableSlotEnv(agent: AgentId, account: {
|
|
|
32
32
|
export declare function missingSlotHint(agent: AgentId, name: string): string;
|
|
33
33
|
export declare function symlinkAdoptedAccountError(agent: AgentId, name: string, defaultName: string | undefined): string;
|
|
34
34
|
export declare function adoptedSymlinkMismatchError(agent: AgentId, name: string, execHome: string): string;
|
|
35
|
-
/** The adopted `~/.<config>` symlink's resolved target, or null when missing / not a symlink. */
|
|
36
|
-
export declare function adoptedConfigTarget(agent: AgentId): string | null;
|
|
37
35
|
export declare function adoptedConfigPointsAtHome(agent: AgentId, home: string): boolean;
|
|
38
36
|
/**
|
|
39
37
|
* For a symlink-adopted harness, point `~/.<config>` at this account's slot
|
|
@@ -80,7 +80,7 @@ export function adoptedSymlinkMismatchError(agent, name, execHome) {
|
|
|
80
80
|
+ `Switch with: agents accounts default ${agent} ${name}`;
|
|
81
81
|
}
|
|
82
82
|
/** The adopted `~/.<config>` symlink's resolved target, or null when missing / not a symlink. */
|
|
83
|
-
|
|
83
|
+
function adoptedConfigTarget(agent) {
|
|
84
84
|
const configPath = getAgentConfigPath(agent);
|
|
85
85
|
try {
|
|
86
86
|
const stat = fs.lstatSync(configPath);
|
|
@@ -25,9 +25,7 @@
|
|
|
25
25
|
* is reported in the returned {@link BoundedExecResult} so a caller on a tick
|
|
26
26
|
* path can branch on it instead of wrapping every call in try/catch.
|
|
27
27
|
*/
|
|
28
|
-
|
|
29
|
-
export declare const KILL_GRACE_MS = 250;
|
|
30
|
-
export interface ExecFileBoundedOptions {
|
|
28
|
+
interface ExecFileBoundedOptions {
|
|
31
29
|
/** Hard wall-clock cap. On expiry the child's process group is SIGTERMed, then SIGKILLed after {@link KILL_GRACE_MS}. Required — an unbounded tick-path spawn is the bug this helper exists to prevent. */
|
|
32
30
|
timeoutMs: number;
|
|
33
31
|
/** Working directory for the child. */
|
|
@@ -37,7 +35,7 @@ export interface ExecFileBoundedOptions {
|
|
|
37
35
|
/** Optional stdin to write to the child. */
|
|
38
36
|
input?: string;
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
interface BoundedExecResult {
|
|
41
39
|
stdout: string;
|
|
42
40
|
stderr: string;
|
|
43
41
|
/** Exit code, or null when the process was killed by a signal (including our timeout kill) or never spawned. */
|
|
@@ -50,3 +48,4 @@ export interface BoundedExecResult {
|
|
|
50
48
|
* timeout. Resolves (never rejects) with the captured output and outcome.
|
|
51
49
|
*/
|
|
52
50
|
export declare function execFileBounded(file: string, args: string[], opts: ExecFileBoundedOptions): Promise<BoundedExecResult>;
|
|
51
|
+
export {};
|
package/dist/lib/exec-bounded.js
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { spawn } from 'child_process';
|
|
29
29
|
/** Grace between SIGTERM and SIGKILL for a child that overran its deadline. */
|
|
30
|
-
|
|
30
|
+
const KILL_GRACE_MS = 250;
|
|
31
31
|
/**
|
|
32
32
|
* Run `file args` with a hard deadline, killing the whole process group on
|
|
33
33
|
* timeout. Resolves (never rejects) with the captured output and outcome.
|