@phnx-labs/agents-cli 1.22.113 → 1.22.115
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 +139 -0
- package/README.md +32 -113
- package/dist/browser.js +0 -0
- package/dist/cli/command-registry.d.ts +0 -60
- package/dist/cli/command-registry.js +57 -66
- package/dist/commands/accounts.d.ts +3 -77
- package/dist/commands/accounts.js +13 -366
- package/dist/commands/apply.d.ts +0 -4
- package/dist/commands/apply.js +3 -3
- package/dist/commands/audit.js +1 -1
- package/dist/commands/auth.js +0 -2
- 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/browser.d.ts +53 -0
- package/dist/commands/browser.js +199 -9
- 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/doctor.d.ts +2 -3
- package/dist/commands/doctor.js +0 -11
- package/dist/commands/events.d.ts +1 -3
- package/dist/commands/events.js +4 -7
- package/dist/commands/exec.d.ts +0 -1
- package/dist/commands/exec.js +2 -7
- package/dist/commands/feed-watch.js +52 -8
- 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/focus.js +1 -1
- package/dist/commands/go.d.ts +0 -17
- package/dist/commands/go.js +2 -19
- 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/logs.js +1 -1
- package/dist/commands/mcp.js +8 -83
- package/dist/commands/memory.js +4 -47
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +7 -7
- package/dist/commands/plugins.js +1 -93
- package/dist/commands/projects.d.ts +2 -18
- package/dist/commands/projects.js +89 -3
- package/dist/commands/repo.js +0 -44
- package/dist/commands/resource-view.d.ts +3 -2
- package/dist/commands/resume.d.ts +0 -1
- package/dist/commands/resume.js +5 -2
- 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 +23 -4
- package/dist/commands/send.d.ts +4 -4
- package/dist/commands/send.js +6 -51
- package/dist/commands/sessions-backfill.d.ts +2 -35
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-backup-setup.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 -6
- package/dist/commands/sessions-share.d.ts +5 -7
- package/dist/commands/sessions-share.js +98 -49
- 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 +11 -18
- package/dist/commands/setup-browser.js +18 -2
- package/dist/commands/setup-computer.js +20 -6
- package/dist/commands/setup-mine.d.ts +0 -6
- package/dist/commands/setup-mine.js +1 -1
- package/dist/commands/setup-secrets.js +24 -4
- package/dist/commands/setup-terminal.d.ts +3 -0
- package/dist/commands/setup-terminal.js +22 -0
- package/dist/commands/setup.d.ts +3 -4
- package/dist/commands/setup.js +21 -11
- package/dist/commands/skills.js +0 -8
- package/dist/commands/ssh.d.ts +6 -0
- package/dist/commands/ssh.js +92 -233
- package/dist/commands/sync.js +14 -5
- 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 +2 -2
- package/dist/commands/tmux.d.ts +1 -1
- package/dist/commands/tmux.js +1 -1
- package/dist/commands/traces.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/add.d.ts +0 -5
- package/dist/lib/accounts/add.js +1 -7
- 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/artifacts-client.d.ts +20 -0
- package/dist/lib/artifacts-client.js +46 -0
- 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 +7 -7
- 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 +59 -4
- package/dist/lib/browser/runtime-state.js +99 -18
- package/dist/lib/browser/service.d.ts +4 -4
- package/dist/lib/browser/service.js +21 -1
- 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 +4 -2
- 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/dispatch.js +1 -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/cloudflare/creds.d.ts +10 -0
- package/dist/lib/cloudflare/creds.js +46 -0
- package/dist/lib/cloudflare/provision.d.ts +35 -0
- package/dist/lib/cloudflare/provision.js +144 -0
- 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/sessions-list.d.ts +55 -0
- package/dist/lib/computer/sessions-list.js +168 -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 +9 -2
- package/dist/lib/daemon/feed-stream-service.d.ts +23 -0
- package/dist/lib/daemon/feed-stream-service.js +40 -0
- 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 +3 -2
- package/dist/lib/daemon-services.js +5 -0
- 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 +51 -6
- package/dist/lib/devices/connect.js +169 -21
- 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/envelope.d.ts +79 -0
- package/dist/lib/feed/envelope.js +23 -0
- package/dist/lib/feed/events.d.ts +8 -47
- package/dist/lib/feed/events.js +9 -141
- package/dist/lib/feed/feed.d.ts +9 -42
- package/dist/lib/feed/feed.js +1 -60
- package/dist/lib/feed/hub-server.d.ts +86 -0
- package/dist/lib/feed/hub-server.js +334 -0
- package/dist/lib/feed/hub.d.ts +95 -0
- package/dist/lib/feed/hub.js +255 -0
- package/dist/lib/feed/pr-status.d.ts +0 -2
- package/dist/lib/feed/pr-status.js +1 -5
- package/dist/lib/feed/tool-activity.d.ts +108 -0
- package/dist/lib/feed/tool-activity.js +313 -0
- package/dist/lib/feed/tools.d.ts +198 -0
- package/dist/lib/feed/tools.js +265 -0
- package/dist/lib/feed/watch.d.ts +51 -52
- package/dist/lib/feed/watch.js +147 -17
- 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 +3 -2
- package/dist/lib/format.js +1 -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 -81
- package/dist/lib/git.js +2 -199
- 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 +55 -4
- package/dist/lib/hosts/remote-cmd.js +125 -8
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +2 -0
- package/dist/lib/hosts/remote-cmd.test-fixture.js +22 -0
- 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/mcp.js +17 -11
- 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/probe.d.ts +4 -1
- package/dist/lib/probe.js +5 -2
- 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/pwsh.d.ts +33 -0
- package/dist/lib/pwsh.js +56 -0
- package/dist/lib/reconcile-and-repair.d.ts +5 -4
- package/dist/lib/redact.d.ts +15 -1
- package/dist/lib/redact.js +105 -3
- package/dist/lib/refresh-coordinator.d.ts +2 -1
- package/dist/lib/refresh.d.ts +9 -4
- package/dist/lib/refresh.js +92 -72
- 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-cli.d.ts +11 -0
- package/dist/lib/secrets-cli.js +30 -0
- package/dist/lib/secrets-client.d.ts +0 -17
- package/dist/lib/secrets-client.js +7 -28
- 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 +9 -1
- package/dist/lib/session/detached.js +31 -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 +26 -7
- package/dist/lib/session/remote/peer-stream.js +35 -8
- 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 +8 -8
- package/dist/lib/session/sync/backend.js +3 -3
- 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/provision.d.ts +1 -1
- package/dist/lib/session/sync/provision.js +2 -2
- 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/sessions-client.js +0 -3
- package/dist/lib/settings-manifest.d.ts +2 -1
- package/dist/lib/setup-tool-install.d.ts +3 -0
- package/dist/lib/setup-tool-install.js +26 -0
- package/dist/lib/setup-tool-status.d.ts +22 -0
- package/dist/lib/setup-tool-status.js +215 -0
- package/dist/lib/share-runtime.d.ts +11 -0
- package/dist/lib/share-runtime.js +63 -0
- package/dist/lib/shim-heal.d.ts +1 -5
- package/dist/lib/shim-heal.js +0 -6
- package/dist/lib/smart-launch.d.ts +5 -10
- package/dist/lib/smart-launch.js +4 -12
- package/dist/lib/snapshot.d.ts +3 -2
- package/dist/lib/ssh-exec.d.ts +49 -4
- package/dist/lib/ssh-exec.js +119 -0
- 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.d.ts +6 -4
- package/dist/lib/startup/command-registry.js +11 -8
- package/dist/lib/state.d.ts +1 -3
- package/dist/lib/state.js +3 -6
- package/dist/lib/storage/selection.d.ts +2 -2
- package/dist/lib/storage/selection.js +2 -2
- 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 +9 -3
- package/dist/lib/sync-umbrella.js +18 -10
- 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/backend.d.ts +1 -2
- package/dist/lib/traces/backend.js +1 -2
- 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 +2 -4
- package/dist/lib/traces/provision.js +3 -3
- 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 +11 -9
- 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 +3 -5
- package/scripts/postinstall.js +5 -4
- package/dist/commands/artifacts-setup.d.ts +0 -53
- package/dist/commands/artifacts-setup.js +0 -161
- package/dist/commands/artifacts.d.ts +0 -18
- package/dist/commands/artifacts.js +0 -58
- package/dist/commands/attach.d.ts +0 -12
- package/dist/commands/attach.js +0 -86
- package/dist/commands/auth-mint.d.ts +0 -12
- package/dist/commands/auth-mint.js +0 -108
- package/dist/commands/pty.d.ts +0 -20
- package/dist/commands/pty.js +0 -404
- package/dist/commands/reconnect.d.ts +0 -46
- package/dist/commands/reconnect.js +0 -115
- package/dist/commands/share.d.ts +0 -293
- package/dist/commands/share.js +0 -1424
- 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/share/analytics.d.ts +0 -13
- package/dist/lib/share/analytics.js +0 -45
- package/dist/lib/share/backend.d.ts +0 -120
- package/dist/lib/share/backend.js +0 -176
- package/dist/lib/share/capture.d.ts +0 -31
- package/dist/lib/share/capture.js +0 -174
- package/dist/lib/share/config.d.ts +0 -72
- package/dist/lib/share/config.js +0 -211
- package/dist/lib/share/delete.d.ts +0 -122
- package/dist/lib/share/delete.js +0 -173
- package/dist/lib/share/html.d.ts +0 -22
- package/dist/lib/share/html.js +0 -88
- package/dist/lib/share/http-error.d.ts +0 -52
- package/dist/lib/share/http-error.js +0 -65
- package/dist/lib/share/og.d.ts +0 -25
- package/dist/lib/share/og.js +0 -84
- package/dist/lib/share/provision.d.ts +0 -127
- package/dist/lib/share/provision.js +0 -285
- package/dist/lib/share/publish.d.ts +0 -388
- package/dist/lib/share/publish.js +0 -818
- package/dist/lib/share/worker-template.d.ts +0 -27
- package/dist/lib/share/worker-template.js +0 -2424
- package/dist/lib/storage/index.d.ts +0 -14
- package/dist/lib/storage/index.js +0 -14
- package/dist/lib/storage/visibility.d.ts +0 -82
- package/dist/lib/storage/visibility.js +0 -99
|
@@ -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.
|
package/dist/lib/exec.d.ts
CHANGED
|
@@ -337,7 +337,7 @@ export declare function ensureVendorHomeDir(agent: AgentId, versionHome: string)
|
|
|
337
337
|
* with AGENTS[agent].capabilities.modes — resolveMode() routes a request to a
|
|
338
338
|
* supported mode (or throws), then buildExecCommand looks up the flags here.
|
|
339
339
|
*/
|
|
340
|
-
|
|
340
|
+
interface AgentCommandTemplate {
|
|
341
341
|
base: string[];
|
|
342
342
|
promptFlag: 'positional' | string;
|
|
343
343
|
modeFlags: Partial<Record<Mode, string[]>>;
|
|
@@ -533,7 +533,7 @@ export interface TmuxWrapContext {
|
|
|
533
533
|
* "spawn bare" — it is a launch that should not happen, because a bare remote
|
|
534
534
|
* spawn looks fine right up until the link blinks and the agent dies with it.
|
|
535
535
|
*/
|
|
536
|
-
|
|
536
|
+
type TmuxWrapDecision =
|
|
537
537
|
/** Run the agent in a detached tmux session and attach this TTY. */
|
|
538
538
|
{
|
|
539
539
|
kind: 'wrap';
|
|
@@ -606,7 +606,7 @@ export declare function formatPaneTail(raw: string, maxLines?: number): string;
|
|
|
606
606
|
* unbuffered.
|
|
607
607
|
*/
|
|
608
608
|
/** Inputs the pre-launch `run.launch` payload is built from. */
|
|
609
|
-
|
|
609
|
+
interface RunLaunchInput {
|
|
610
610
|
agent: AgentId;
|
|
611
611
|
harnessName?: string;
|
|
612
612
|
/** The version being launched, or undefined when none could be resolved. */
|
|
@@ -662,7 +662,7 @@ export declare function detectOutOfCredits(text: string): boolean;
|
|
|
662
662
|
* clock), then a clock-less billing exhaustion, then a clean success clears any
|
|
663
663
|
* stale marker; anything else leaves the marker untouched.
|
|
664
664
|
*/
|
|
665
|
-
|
|
665
|
+
type ClaudeRefusalAction = {
|
|
666
666
|
action: 'note_session';
|
|
667
667
|
resetsAt: Date;
|
|
668
668
|
} | {
|
|
@@ -712,19 +712,6 @@ export declare function parseCodexUsageLimitReset(text: string, nowMs?: number):
|
|
|
712
712
|
* cascades via detectRateLimit) rather than persisting an unexpirable marker.
|
|
713
713
|
*/
|
|
714
714
|
export declare function classifyCodexRunRefusal(output: string, exitCode: number, nowMs?: number): ClaudeRefusalAction;
|
|
715
|
-
/**
|
|
716
|
-
* Patterns that indicate an authentication failure — the agent is logged out,
|
|
717
|
-
* its token was revoked, or the session expired. These are the user-visible
|
|
718
|
-
* strings a logged-out agent surfaces (observed across the routine-run corpus).
|
|
719
|
-
* Unlike a rate limit, an auth failure is NOT self-healing by failover — every
|
|
720
|
-
* chain entry on the same account fails identically — so it is classified
|
|
721
|
-
* separately and never triggers a fallback attempt.
|
|
722
|
-
*
|
|
723
|
-
* The bare `401` is deliberately paired with an auth keyword: a plain "401" can
|
|
724
|
-
* appear in legitimate output (an HTTP-status table, a log line), so it only
|
|
725
|
-
* counts when it co-occurs with OAuth/authentication/credentials/Unauthorized.
|
|
726
|
-
*/
|
|
727
|
-
export declare const AUTH_FAILURE_PATTERNS: RegExp[];
|
|
728
715
|
/**
|
|
729
716
|
* Return true if the text contains any known authentication-failure indicator.
|
|
730
717
|
* Agent-agnostic: matches the user-visible error string wherever it surfaces
|
|
@@ -782,7 +769,7 @@ export interface FallbackEntry {
|
|
|
782
769
|
envOverride?: Record<string, string>;
|
|
783
770
|
}
|
|
784
771
|
/** ExecOptions extended with a fallback chain for rate-limit cascading. */
|
|
785
|
-
|
|
772
|
+
interface FallbackOptions extends ExecOptions {
|
|
786
773
|
/** Ordered list of agents to try if the primary (options.agent) hits a rate limit. */
|
|
787
774
|
fallback: FallbackEntry[];
|
|
788
775
|
/** Fallback requires a prompt -- chain handoff doesn't apply to interactive sessions. */
|
|
@@ -825,3 +812,4 @@ export declare function buildFallbackPrompt(prevAgent: AgentId, prevSessionId: s
|
|
|
825
812
|
* instead of an opaque "all agents failed" message.
|
|
826
813
|
*/
|
|
827
814
|
export declare function runWithFallback(options: FallbackOptions): Promise<number>;
|
|
815
|
+
export {};
|
package/dist/lib/exec.js
CHANGED
|
@@ -2413,7 +2413,7 @@ export function classifyCodexRunRefusal(output, exitCode, nowMs = Date.now()) {
|
|
|
2413
2413
|
* appear in legitimate output (an HTTP-status table, a log line), so it only
|
|
2414
2414
|
* counts when it co-occurs with OAuth/authentication/credentials/Unauthorized.
|
|
2415
2415
|
*/
|
|
2416
|
-
|
|
2416
|
+
const AUTH_FAILURE_PATTERNS = [
|
|
2417
2417
|
/OAuth (?:access token has been revoked|session expired)/i,
|
|
2418
2418
|
/(?:Please run|run) \/login/i,
|
|
2419
2419
|
/Please run 'agent login' first/i,
|
|
@@ -62,7 +62,7 @@ export interface FactorySnapshot {
|
|
|
62
62
|
};
|
|
63
63
|
config: FactoryConfig;
|
|
64
64
|
}
|
|
65
|
-
|
|
65
|
+
interface SnapshotDependencies {
|
|
66
66
|
home: string;
|
|
67
67
|
now: () => Date;
|
|
68
68
|
activeSessions: () => Promise<ActiveSession[]>;
|
|
@@ -74,5 +74,5 @@ export declare function readFactoryConfig(home: string): FactoryConfig;
|
|
|
74
74
|
export declare function queueCounts(todoPayload: unknown, openPayload: unknown): FactorySnapshot['queues'][string];
|
|
75
75
|
export declare function parsePullRequests(repo: string, payload: unknown): FactorySnapshot['prs'];
|
|
76
76
|
export declare function parseDevices(payload: unknown, cached?: ReturnType<typeof readStatsCache>): FactorySnapshot['devices'];
|
|
77
|
-
export declare function readRecentRuns(home: string, limit?: number): FactorySnapshot['recentRuns'];
|
|
78
77
|
export declare function buildFactorySnapshot(overrides?: Partial<SnapshotDependencies>): Promise<FactorySnapshot>;
|
|
78
|
+
export {};
|
|
@@ -138,7 +138,7 @@ export function parseDevices(payload, cached = {}) {
|
|
|
138
138
|
return { name, load, idle: row.idle === true || (load !== null && load < 20) };
|
|
139
139
|
}).filter((row) => row.name.length > 0);
|
|
140
140
|
}
|
|
141
|
-
|
|
141
|
+
function readRecentRuns(home, limit = 3) {
|
|
142
142
|
const root = path.join(home, '.agents', '.history', 'runs');
|
|
143
143
|
if (!fs.existsSync(root))
|
|
144
144
|
return [];
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type ActivityEvent } from './activity.js';
|
|
2
|
-
|
|
3
|
-
export declare const ACTIVITY_SWEEP_MS = 5000;
|
|
4
|
-
/** Bytes behind the cursor re-verified before appended bytes are trusted. */
|
|
5
|
-
export declare const ACTIVITY_ANCHOR_BYTES = 64;
|
|
6
|
-
export interface ActivityStreamOptions {
|
|
2
|
+
interface ActivityStreamOptions {
|
|
7
3
|
/** Override the activity dir (tests). */
|
|
8
4
|
root?: string;
|
|
9
5
|
/**
|
|
@@ -58,3 +54,4 @@ export declare class ActivityStream {
|
|
|
58
54
|
private readRange;
|
|
59
55
|
private armWatcher;
|
|
60
56
|
}
|
|
57
|
+
export {};
|
|
@@ -22,9 +22,9 @@ import * as path from 'node:path';
|
|
|
22
22
|
import { getActivityDir } from '../state.js';
|
|
23
23
|
import { ACTIVITY_TAIL_BYTES, parseActivityLine } from './activity.js';
|
|
24
24
|
/** How often the stream falls back to a full directory stat sweep. */
|
|
25
|
-
|
|
25
|
+
const ACTIVITY_SWEEP_MS = 5_000;
|
|
26
26
|
/** Bytes behind the cursor re-verified before appended bytes are trusted. */
|
|
27
|
-
|
|
27
|
+
const ACTIVITY_ANCHOR_BYTES = 64;
|
|
28
28
|
const NEWLINE = 0x0a;
|
|
29
29
|
const EMPTY = Buffer.alloc(0);
|
|
30
30
|
/** Could this file have changed since its cursor last looked? */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ActorKind } from '../actor.js';
|
|
2
2
|
import type { EventRecord } from './events.js';
|
|
3
3
|
/** Recognizable milestone events, ordered first in any activity lane. */
|
|
4
|
-
|
|
4
|
+
type MilestoneEvent = 'plan.created' | 'pr.opened' | 'pr.merged' | 'worktree.created' | 'worktree.removed' | 'commit.created' | 'pushed' | 'subagent.spawned' | 'artifact.created' | 'task.completed' | 'checklist.created'
|
|
5
5
|
/** Bash-driven deliverables detected by command parsing. */
|
|
6
6
|
| 'video.rendered' | 'video.converted' | 'image.upscaled' | 'metadata.edited'
|
|
7
7
|
/** Deliberate agent-authored progress post (`agents feed post`). */
|
|
@@ -146,9 +146,7 @@ export declare function getActivityCacheStats(): {
|
|
|
146
146
|
};
|
|
147
147
|
/** Read all events for one session (bounded tail). */
|
|
148
148
|
export declare function readSessionActivity(sessionId: string, root?: string, maxBytes?: number): ActivityEvent[];
|
|
149
|
-
|
|
150
|
-
export declare function listActivitySessions(root?: string): string[];
|
|
151
|
-
export interface RecentActivityOptions {
|
|
149
|
+
interface RecentActivityOptions {
|
|
152
150
|
/** Only include events at or after this epoch-ms. */
|
|
153
151
|
sinceMs?: number;
|
|
154
152
|
/** Cap the number of returned events (most recent first). */
|
|
@@ -171,7 +169,7 @@ export interface RecentActivityOptions {
|
|
|
171
169
|
* tail of each file, so cost scales with active sessions, not transcript size.
|
|
172
170
|
*/
|
|
173
171
|
export declare function readRecentActivity(opts?: RecentActivityOptions): ActivityEvent[];
|
|
174
|
-
|
|
172
|
+
interface CollapsedActivity {
|
|
175
173
|
/** Milestone events, individually preserved, newest first. */
|
|
176
174
|
milestones: ActivityEvent[];
|
|
177
175
|
/** Routine events rolled up to counts, e.g. { 'file.edited': 12 }. */
|
|
@@ -185,32 +183,12 @@ export interface CollapsedActivity {
|
|
|
185
183
|
* deliverables in full and collapses the noise.
|
|
186
184
|
*/
|
|
187
185
|
export declare function collapseActivity(events: ActivityEvent[]): CollapsedActivity;
|
|
188
|
-
/**
|
|
189
|
-
* Normalize one activity event into the shared {@link EventRecord} shape so the
|
|
190
|
-
* agent-semantic stream reads through the same reader as operational events.
|
|
191
|
-
* `module` is stamped `activity` so `--module` filters partition the two cleanly.
|
|
192
|
-
*/
|
|
193
|
-
export declare function activityEventToRecord(ev: ActivityEvent): EventRecord;
|
|
194
186
|
/** Read recent activity across sessions as unified {@link EventRecord}s. */
|
|
195
187
|
export declare function readActivityAsEventRecords(opts?: RecentActivityOptions): EventRecord[];
|
|
196
|
-
/** Glyph + color + human label per event, so the lane reads at a glance. */
|
|
197
|
-
export declare const EVENT_STYLE: Record<string, {
|
|
198
|
-
glyph: string;
|
|
199
|
-
color: (s: string) => string;
|
|
200
|
-
label: string;
|
|
201
|
-
}>;
|
|
202
|
-
export declare function styleForEvent(event: string): {
|
|
203
|
-
glyph: string;
|
|
204
|
-
color: (s: string) => string;
|
|
205
|
-
label: string;
|
|
206
|
-
};
|
|
207
188
|
/** One rendered activity line: ` <rel> [host] <glyph label> detail url`. */
|
|
208
189
|
export declare function formatActivityLine(ev: ActivityEvent, opts?: {
|
|
209
190
|
showHost?: boolean;
|
|
210
191
|
}): string;
|
|
211
|
-
/** Glyph per attachment kind, so an artifact row reads at a glance. */
|
|
212
|
-
export declare const ATTACHMENT_GLYPH: Record<string, string>;
|
|
213
|
-
export declare function attachmentGlyph(kind: string): string;
|
|
214
192
|
/** Display name for an attachment: its `name`, else the basename of its href. */
|
|
215
193
|
export declare function attachmentName(att: Attachment): string;
|
|
216
194
|
/**
|
|
@@ -219,7 +197,7 @@ export declare function attachmentName(att: Attachment): string;
|
|
|
219
197
|
*/
|
|
220
198
|
export declare function shortSessionId(sessionId: string): string;
|
|
221
199
|
/** Extra identity resolved at display time by joining the session index. */
|
|
222
|
-
|
|
200
|
+
interface ProgressJoin {
|
|
223
201
|
ticketId?: string;
|
|
224
202
|
prUrl?: string;
|
|
225
203
|
label?: string;
|
|
@@ -255,7 +233,7 @@ export interface EnrichedActivityEvent extends ActivityEvent {
|
|
|
255
233
|
* Facts pulled off a live session to enrich its activity events. Keyed by
|
|
256
234
|
* `sessionId`; every field optional so callers pass whatever they resolved.
|
|
257
235
|
*/
|
|
258
|
-
|
|
236
|
+
interface ActivitySessionHint {
|
|
259
237
|
sessionId?: string | null;
|
|
260
238
|
/** Tracker ticket id (from `ActiveSession.ticket`). */
|
|
261
239
|
ticket?: string | null;
|
|
@@ -319,9 +297,9 @@ export declare function mergeActivityEvents(...groups: EnrichedActivityEvent[][]
|
|
|
319
297
|
export declare function capActivityEvents(events: EnrichedActivityEvent[], limit: number, opts?: {
|
|
320
298
|
all?: boolean;
|
|
321
299
|
}): EnrichedActivityEvent[];
|
|
322
|
-
|
|
300
|
+
type ActivityGroupBy = 'project' | 'device' | 'agent';
|
|
323
301
|
/** One bucket of the grouped view. */
|
|
324
|
-
|
|
302
|
+
interface ActivityGroup {
|
|
325
303
|
/** Grouping value; empty string for the "unknown" bucket. */
|
|
326
304
|
key: string;
|
|
327
305
|
/** Display label. */
|
|
@@ -358,8 +336,6 @@ export declare function formatEnrichedActivityLine(ev: EnrichedActivityEvent, op
|
|
|
358
336
|
showProject?: boolean;
|
|
359
337
|
indent?: string;
|
|
360
338
|
}): string;
|
|
361
|
-
/** Max device names named in a group header before the rest collapse to `+N`. */
|
|
362
|
-
export declare const GROUP_HEADER_DEVICE_LIMIT = 3;
|
|
363
339
|
/**
|
|
364
340
|
* The distinct machines a group's events ran on, most-active first then
|
|
365
341
|
* alphabetical — so a project header can say WHERE the work happened without
|
|
@@ -389,8 +365,6 @@ export declare function formatActivityGroupMeta(group: ActivityGroup, opts?: {
|
|
|
389
365
|
* a logging hiccup never blocks a tool call.
|
|
390
366
|
*/
|
|
391
367
|
export declare const ACTIVITY_LOG_HOOK_SCRIPT: string;
|
|
392
|
-
/** Hook manifest entries (agents.yaml shape) for the activity-log hook. */
|
|
393
|
-
export declare const ACTIVITY_HOOK_DEFINITIONS: Record<string, Record<string, unknown>>;
|
|
394
368
|
/**
|
|
395
369
|
* Install the activity-log hook script into the user hooks dir and add its
|
|
396
370
|
* manifest entries to the user agents.yaml. Mirrors {@link ensureFeedPublishHook}
|
|
@@ -400,3 +374,4 @@ export declare function ensureActivityLogHook(userAgentsDir?: string): {
|
|
|
400
374
|
installed: boolean;
|
|
401
375
|
error?: string;
|
|
402
376
|
};
|
|
377
|
+
export {};
|
|
@@ -331,7 +331,7 @@ export function readSessionActivity(sessionId, root, maxBytes = ACTIVITY_TAIL_BY
|
|
|
331
331
|
return structuredClone(readActivityTail(activityPath(dir, sessionId), maxBytes).events ?? []);
|
|
332
332
|
}
|
|
333
333
|
/** List session ids that have an activity log. */
|
|
334
|
-
|
|
334
|
+
function listActivitySessions(root) {
|
|
335
335
|
const dir = root ?? getActivityDir();
|
|
336
336
|
try {
|
|
337
337
|
return fs.readdirSync(dir).filter(n => n.endsWith('.jsonl')).map(n => n.slice(0, -'.jsonl'.length));
|
|
@@ -395,7 +395,7 @@ export function collapseActivity(events) {
|
|
|
395
395
|
* agent-semantic stream reads through the same reader as operational events.
|
|
396
396
|
* `module` is stamped `activity` so `--module` filters partition the two cleanly.
|
|
397
397
|
*/
|
|
398
|
-
|
|
398
|
+
function activityEventToRecord(ev) {
|
|
399
399
|
return {
|
|
400
400
|
ts: ev.ts,
|
|
401
401
|
tz: '',
|
|
@@ -438,7 +438,7 @@ export function readActivityAsEventRecords(opts = {}) {
|
|
|
438
438
|
// Rendering (shared by the feed activity lane and `agents feed --filter updates`)
|
|
439
439
|
// ---------------------------------------------------------------------------
|
|
440
440
|
/** Glyph + color + human label per event, so the lane reads at a glance. */
|
|
441
|
-
|
|
441
|
+
const EVENT_STYLE = {
|
|
442
442
|
'plan.created': { glyph: '◆', color: chalk.cyan, label: 'plan created' },
|
|
443
443
|
'pr.opened': { glyph: '⇡', color: chalk.green, label: 'PR opened' },
|
|
444
444
|
'pr.merged': { glyph: '✔', color: chalk.green, label: 'PR merged' },
|
|
@@ -455,7 +455,7 @@ export const EVENT_STYLE = {
|
|
|
455
455
|
'factory.launch': { glyph: '⌁', color: chalk.cyan, label: 'factory launch' },
|
|
456
456
|
'bash.executed': { glyph: '$', color: chalk.gray, label: 'command run' },
|
|
457
457
|
};
|
|
458
|
-
|
|
458
|
+
function styleForEvent(event) {
|
|
459
459
|
return EVENT_STYLE[event] ?? { glyph: '•', color: chalk.white, label: event };
|
|
460
460
|
}
|
|
461
461
|
/** One rendered activity line: ` <rel> [host] <glyph label> detail url`. */
|
|
@@ -478,14 +478,14 @@ export function formatActivityLine(ev, opts = {}) {
|
|
|
478
478
|
// chips (agent · session · host · project) and any attached artifacts.
|
|
479
479
|
// ---------------------------------------------------------------------------
|
|
480
480
|
/** Glyph per attachment kind, so an artifact row reads at a glance. */
|
|
481
|
-
|
|
481
|
+
const ATTACHMENT_GLYPH = {
|
|
482
482
|
image: '🖼',
|
|
483
483
|
audio: '♪',
|
|
484
484
|
video: '▶',
|
|
485
485
|
file: '📎',
|
|
486
486
|
link: '↗',
|
|
487
487
|
};
|
|
488
|
-
|
|
488
|
+
function attachmentGlyph(kind) {
|
|
489
489
|
return ATTACHMENT_GLYPH[kind] ?? '📎';
|
|
490
490
|
}
|
|
491
491
|
/** Display name for an attachment: its `name`, else the basename of its href. */
|
|
@@ -746,7 +746,7 @@ export function formatEnrichedActivityLine(ev, opts = {}) {
|
|
|
746
746
|
return `${opts.indent ?? ''}${base}${suffix}`;
|
|
747
747
|
}
|
|
748
748
|
/** Max device names named in a group header before the rest collapse to `+N`. */
|
|
749
|
-
|
|
749
|
+
const GROUP_HEADER_DEVICE_LIMIT = 3;
|
|
750
750
|
/**
|
|
751
751
|
* The distinct machines a group's events ran on, most-active first then
|
|
752
752
|
* alphabetical — so a project header can say WHERE the work happened without
|
|
@@ -1647,7 +1647,7 @@ if __name__ == "__main__":
|
|
|
1647
1647
|
pass # fail open
|
|
1648
1648
|
`;
|
|
1649
1649
|
/** Hook manifest entries (agents.yaml shape) for the activity-log hook. */
|
|
1650
|
-
|
|
1650
|
+
const ACTIVITY_HOOK_DEFINITIONS = {
|
|
1651
1651
|
'activity-log-intent': {
|
|
1652
1652
|
agents: ['claude'],
|
|
1653
1653
|
events: ['PreToolUse'],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type ActiveSession } from '../session/active.js';
|
|
2
2
|
import { type MessageReceipt } from './feed.js';
|
|
3
|
-
|
|
3
|
+
interface VerifiedOperator {
|
|
4
4
|
id?: string;
|
|
5
5
|
verified: boolean;
|
|
6
6
|
label?: string;
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
interface FeedAnswerResult {
|
|
9
9
|
status: 'delivered' | 'already_answered';
|
|
10
10
|
receipt: MessageReceipt;
|
|
11
11
|
}
|
|
@@ -27,3 +27,4 @@ export declare function forwardFeedAnswer(input: {
|
|
|
27
27
|
text?: string;
|
|
28
28
|
operatorId?: string;
|
|
29
29
|
}): Promise<FeedAnswerResult>;
|
|
30
|
+
export {};
|
|
@@ -50,7 +50,11 @@ function structuredToBlockQuestion(sq) {
|
|
|
50
50
|
const options = sq.options?.length
|
|
51
51
|
? sq.options.map((o) => ({ label: o.label, ...(o.description ? { description: o.description } : {}) }))
|
|
52
52
|
: undefined;
|
|
53
|
-
return {
|
|
53
|
+
return {
|
|
54
|
+
text: sq.text,
|
|
55
|
+
...(options ? { options } : {}),
|
|
56
|
+
...(sq.context ? { context: sq.context } : {}),
|
|
57
|
+
};
|
|
54
58
|
}
|
|
55
59
|
/** A label slugged to the `[a-z0-9-]+` id shape the notify argv and UIs echo back. */
|
|
56
60
|
function slugId(label) {
|