@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RunMeta } from './scheduling/routines.js';
|
|
2
|
-
|
|
2
|
+
interface RoutineProcessCleanupOptions {
|
|
3
3
|
runsDir?: string;
|
|
4
4
|
alive?: (pid: number) => boolean;
|
|
5
5
|
owns?: (meta: RunMeta) => Promise<boolean> | boolean;
|
|
@@ -7,3 +7,4 @@ export interface RoutineProcessCleanupOptions {
|
|
|
7
7
|
}
|
|
8
8
|
/** Reap process groups whose durable run record is already terminal. */
|
|
9
9
|
export declare function reapTerminalRoutineProcesses(opts?: RoutineProcessCleanupOptions): Promise<number[]>;
|
|
10
|
+
export {};
|
|
@@ -34,8 +34,6 @@ export declare function fireTimeAuthReadiness(agent: string, version: string): R
|
|
|
34
34
|
export declare function evaluateActivationReadiness(config: JobConfig, deps?: {
|
|
35
35
|
probeAgent?: (agent: string) => boolean;
|
|
36
36
|
}): RoutineReadinessResult;
|
|
37
|
-
/** One-line human summary of a blocked readiness result, with its repair. */
|
|
38
|
-
export declare function formatReadinessBlocker(result: RoutineReadinessResult): string;
|
|
39
37
|
interface RemoteProjectDefinition {
|
|
40
38
|
name: string;
|
|
41
39
|
root?: string;
|
|
@@ -93,13 +93,6 @@ export function evaluateActivationReadiness(config, deps = {}) {
|
|
|
93
93
|
: undefined,
|
|
94
94
|
}, { agent: config.agent, version: pinnedLocally });
|
|
95
95
|
}
|
|
96
|
-
/** One-line human summary of a blocked readiness result, with its repair. */
|
|
97
|
-
export function formatReadinessBlocker(result) {
|
|
98
|
-
if (result.ready || !result.readiness)
|
|
99
|
-
return 'ready';
|
|
100
|
-
const { code, message, repair } = result.readiness;
|
|
101
|
-
return `${code}: ${message}${repair ? `\n repair: ${repair}` : ''}`;
|
|
102
|
-
}
|
|
103
96
|
/** Parse the target HOME sentinel and the project catalog returned by one SSH call. */
|
|
104
97
|
export function parseRemoteProjectSnapshot(stdout) {
|
|
105
98
|
const lines = stdout.split(/\r?\n/);
|
|
@@ -12,21 +12,19 @@
|
|
|
12
12
|
* `list` shows them as disabled. `syncProjectRoutines` refreshes materialised
|
|
13
13
|
* copies from their source YAML (also invoked on daemon SIGHUP).
|
|
14
14
|
*/
|
|
15
|
-
import { type JobConfig
|
|
15
|
+
import { type JobConfig } from './scheduling/routines.js';
|
|
16
16
|
/** Expand `~/…` and resolve to an absolute path. */
|
|
17
17
|
export declare function expandProjectPath(p: string): string;
|
|
18
18
|
/** Store paths home-relative when under $HOME so they travel across machines. */
|
|
19
19
|
export declare function displayProjectPath(abs: string): string;
|
|
20
20
|
/** Resolve the project root (parent of `.agents/`) from a cwd, or null. */
|
|
21
21
|
export declare function resolveProjectRoot(cwd?: string): string | null;
|
|
22
|
-
/** Git provenance for a project root (best-effort; never throws). */
|
|
23
|
-
export declare function readProjectGitSource(projectRoot: string): Pick<JobSource, 'repo' | 'branch' | 'commit'>;
|
|
24
22
|
/** List project routine YAML files (name + absolute path). */
|
|
25
23
|
export declare function listProjectRoutineFiles(projectRoot: string): Array<{
|
|
26
24
|
name: string;
|
|
27
25
|
path: string;
|
|
28
26
|
}>;
|
|
29
|
-
|
|
27
|
+
interface SyncProjectResult {
|
|
30
28
|
projectRoot: string;
|
|
31
29
|
synced: string[];
|
|
32
30
|
skipped: Array<{
|
|
@@ -105,3 +103,4 @@ export declare function materialiseProjectRoutine(projectRoot: string, name: str
|
|
|
105
103
|
} | {
|
|
106
104
|
error: string;
|
|
107
105
|
};
|
|
106
|
+
export {};
|
|
@@ -49,7 +49,7 @@ export function resolveProjectRoot(cwd = process.cwd()) {
|
|
|
49
49
|
return path.dirname(agentsDir);
|
|
50
50
|
}
|
|
51
51
|
/** Git provenance for a project root (best-effort; never throws). */
|
|
52
|
-
|
|
52
|
+
function readProjectGitSource(projectRoot) {
|
|
53
53
|
const abs = expandProjectPath(projectRoot);
|
|
54
54
|
const out = {};
|
|
55
55
|
try {
|
|
@@ -16,18 +16,8 @@ import { type RulesLayer } from './compose.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const COMPILED_HEADER: string;
|
|
18
18
|
export declare const COMPILED_HEADER_PROJECT: string;
|
|
19
|
-
/** Sidecar manifest recording source file hashes for staleness detection. */
|
|
20
|
-
export interface CompileManifest {
|
|
21
|
-
compiledAt: string;
|
|
22
|
-
sources: {
|
|
23
|
-
path: string;
|
|
24
|
-
sha256: string;
|
|
25
|
-
mtime?: number;
|
|
26
|
-
size?: number;
|
|
27
|
-
}[];
|
|
28
|
-
}
|
|
29
19
|
/** Result of resolving @-imports in a rules file. */
|
|
30
|
-
|
|
20
|
+
interface ResolveResult {
|
|
31
21
|
/** Fully-inlined content. */
|
|
32
22
|
content: string;
|
|
33
23
|
/** Absolute paths of every file read during resolution (including the root). */
|
|
@@ -55,26 +45,13 @@ export declare function supportsRulesImports(agentId: AgentId): boolean;
|
|
|
55
45
|
* nothing to compile.
|
|
56
46
|
*/
|
|
57
47
|
export declare function isRulesStale(agentId: AgentId, version: string): boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Resolve the source `rules/AGENTS.md` (with all @-imports expanded) and
|
|
60
|
-
* write the result into the version home, alongside a sidecar manifest that
|
|
61
|
-
* records source file hashes for staleness detection.
|
|
62
|
-
*
|
|
63
|
-
* Agents that natively resolve @-imports are skipped (no-op) — their sync
|
|
64
|
-
* uses the standard copyFileSync path in `syncResourcesToVersion`.
|
|
65
|
-
*/
|
|
66
|
-
export declare function compileRulesForAgent(agentId: AgentId, version: string): {
|
|
67
|
-
compiled: boolean;
|
|
68
|
-
compiledPath: string;
|
|
69
|
-
sources: number;
|
|
70
|
-
};
|
|
71
48
|
/**
|
|
72
49
|
* Recompile rules if stale. Safe to call on every agent invocation — the
|
|
73
50
|
* staleness check is fast (sha256 of 8-10 small files, ~10-20ms). Returns
|
|
74
51
|
* true if a recompile happened, false otherwise.
|
|
75
52
|
*/
|
|
76
53
|
export declare function ensureRulesFresh(agentId: AgentId, version: string): boolean;
|
|
77
|
-
|
|
54
|
+
interface ProjectCompileResult {
|
|
78
55
|
/** True when cwd/AGENTS.md was newly written or rewritten. */
|
|
79
56
|
compiled: boolean;
|
|
80
57
|
/** Absolute path to cwd/AGENTS.md. Empty when no project rules dir was present. */
|
|
@@ -110,3 +87,4 @@ export declare function compileRulesForProject(cwd: string, opts?: {
|
|
|
110
87
|
preset?: string;
|
|
111
88
|
layers?: RulesLayer[];
|
|
112
89
|
}): ProjectCompileResult;
|
|
90
|
+
export {};
|
|
@@ -153,7 +153,7 @@ export function isRulesStale(agentId, version) {
|
|
|
153
153
|
* Agents that natively resolve @-imports are skipped (no-op) — their sync
|
|
154
154
|
* uses the standard copyFileSync path in `syncResourcesToVersion`.
|
|
155
155
|
*/
|
|
156
|
-
|
|
156
|
+
function compileRulesForAgent(agentId, version) {
|
|
157
157
|
if (supportsRulesImports(agentId)) {
|
|
158
158
|
return { compiled: false, compiledPath: '', sources: 0 };
|
|
159
159
|
}
|
|
@@ -26,14 +26,7 @@ export interface RulesLayer {
|
|
|
26
26
|
/** Set when scope is 'extra'; undefined otherwise. */
|
|
27
27
|
alias?: string;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
/** Subrule names (without `.md`), in concatenation order. */
|
|
31
|
-
subrules: string[];
|
|
32
|
-
}
|
|
33
|
-
export interface RulesYaml {
|
|
34
|
-
presets?: Record<string, PresetDef>;
|
|
35
|
-
}
|
|
36
|
-
export interface ComposeOptions {
|
|
29
|
+
interface ComposeOptions {
|
|
37
30
|
/** Defaults to `"default"`. */
|
|
38
31
|
preset?: string;
|
|
39
32
|
/** Layers in precedence order, highest first. */
|
|
@@ -47,7 +40,7 @@ export interface ComposedSubrule {
|
|
|
47
40
|
/** Set when the subrule is dir-form (`subrules/<name>/`); the dir itself. */
|
|
48
41
|
subruleDir?: string;
|
|
49
42
|
}
|
|
50
|
-
|
|
43
|
+
interface ComposeResult {
|
|
51
44
|
/** Fully concatenated, no @-imports. */
|
|
52
45
|
content: string;
|
|
53
46
|
/** The preset name that was applied. */
|
|
@@ -98,3 +91,4 @@ export declare function collectSubruleHooksFromState(opts?: {
|
|
|
98
91
|
preset?: string;
|
|
99
92
|
cwd?: string;
|
|
100
93
|
}): Record<string, ManifestHook>;
|
|
94
|
+
export {};
|
|
@@ -7,23 +7,18 @@
|
|
|
7
7
|
* refreshing rules files across version homes.
|
|
8
8
|
*/
|
|
9
9
|
import type { AgentId } from '../types.js';
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
type InstructionsScope = 'user' | 'project';
|
|
11
|
+
interface InstalledInstructions {
|
|
12
12
|
agentId: AgentId;
|
|
13
13
|
scope: InstructionsScope;
|
|
14
14
|
path: string;
|
|
15
15
|
exists: boolean;
|
|
16
16
|
}
|
|
17
|
-
|
|
17
|
+
interface DiscoveredInstructions {
|
|
18
18
|
agentId: AgentId;
|
|
19
19
|
sourcePath: string;
|
|
20
20
|
filename: string;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Central rules filename constant.
|
|
24
|
-
* All agents map to this file in ~/.agents/rules/, renamed per-agent when synced.
|
|
25
|
-
*/
|
|
26
|
-
export declare const CENTRAL_RULES_FILENAME = "AGENTS.md";
|
|
27
22
|
/**
|
|
28
23
|
* Get the canonical central rules filename for an agent's instructionsFile.
|
|
29
24
|
* Central storage uses AGENTS.md, which gets renamed per-agent when syncing:
|
|
@@ -36,15 +31,8 @@ export declare function getCentralRulesFileName(agentId: AgentId): string;
|
|
|
36
31
|
export declare function getInstructionsPath(agentId: AgentId, scope: InstructionsScope, cwd?: string): string;
|
|
37
32
|
export declare function instructionsExists(agentId: AgentId, scope?: InstructionsScope, cwd?: string): boolean;
|
|
38
33
|
export declare function discoverInstructionsFromRepo(repoPath: string): DiscoveredInstructions[];
|
|
39
|
-
export declare function resolveInstructionsSource(repoPath: string, agentId: AgentId): string | null;
|
|
40
34
|
export declare function discoverRuleFilesFromRepo(repoPath: string): string[];
|
|
41
|
-
export declare function installInstructions(sourcePath: string, agentId: AgentId, method?: 'symlink' | 'copy'): {
|
|
42
|
-
path: string;
|
|
43
|
-
method: 'symlink' | 'copy';
|
|
44
|
-
error?: string;
|
|
45
|
-
};
|
|
46
35
|
export declare function uninstallInstructions(agentId: AgentId): boolean;
|
|
47
|
-
export declare function instructionsContentMatches(agentId: AgentId, sourcePath: string, scope?: InstructionsScope, cwd?: string): boolean;
|
|
48
36
|
export declare function listInstalledInstructionsWithScope(agentId: AgentId, cwd?: string, options?: {
|
|
49
37
|
home?: string;
|
|
50
38
|
}): InstalledInstructions[];
|
|
@@ -61,3 +49,4 @@ export declare function installInstructionsCentrally(repoPath: string, filesToIn
|
|
|
61
49
|
* List top-level rules files from user and system dirs (user wins on collision).
|
|
62
50
|
*/
|
|
63
51
|
export declare function listCentralRules(): string[];
|
|
52
|
+
export {};
|
package/dist/lib/rules/rules.js
CHANGED
|
@@ -15,7 +15,7 @@ import { getEffectiveHome } from '../installations/store.js';
|
|
|
15
15
|
* Central rules filename constant.
|
|
16
16
|
* All agents map to this file in ~/.agents/rules/, renamed per-agent when synced.
|
|
17
17
|
*/
|
|
18
|
-
|
|
18
|
+
const CENTRAL_RULES_FILENAME = 'AGENTS.md';
|
|
19
19
|
const RULES_DOC_FILENAME = 'README.md';
|
|
20
20
|
function isSyncableRuleMarkdown(filename) {
|
|
21
21
|
return filename.endsWith('.md') && filename !== RULES_DOC_FILENAME;
|
|
@@ -57,9 +57,6 @@ export function getCentralRulesFileName(agentId) {
|
|
|
57
57
|
}
|
|
58
58
|
return filename;
|
|
59
59
|
}
|
|
60
|
-
function normalizeContent(content) {
|
|
61
|
-
return content.replace(/\r\n/g, '\n').trim();
|
|
62
|
-
}
|
|
63
60
|
/**
|
|
64
61
|
* Get the user-scope config dir for an agent (version-aware).
|
|
65
62
|
*/
|
|
@@ -124,24 +121,6 @@ export function discoverInstructionsFromRepo(repoPath) {
|
|
|
124
121
|
}
|
|
125
122
|
return instructions;
|
|
126
123
|
}
|
|
127
|
-
export function resolveInstructionsSource(repoPath, agentId) {
|
|
128
|
-
const agent = AGENTS[agentId];
|
|
129
|
-
const rulesDir = path.join(repoPath, 'rules');
|
|
130
|
-
if (!fs.existsSync(rulesDir)) {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
const possibleNames = [
|
|
134
|
-
`${agentId}.md`,
|
|
135
|
-
agent.instructionsFile,
|
|
136
|
-
].filter(name => name !== 'AGENTS.md');
|
|
137
|
-
for (const filename of possibleNames) {
|
|
138
|
-
const sourcePath = path.join(rulesDir, filename);
|
|
139
|
-
if (fs.existsSync(sourcePath)) {
|
|
140
|
-
return sourcePath;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
124
|
export function discoverRuleFilesFromRepo(repoPath) {
|
|
146
125
|
const rulesDir = path.join(repoPath, 'rules');
|
|
147
126
|
if (!fs.existsSync(rulesDir)) {
|
|
@@ -154,34 +133,6 @@ export function discoverRuleFilesFromRepo(repoPath) {
|
|
|
154
133
|
return [];
|
|
155
134
|
}
|
|
156
135
|
}
|
|
157
|
-
export function installInstructions(sourcePath, agentId, method = 'copy') {
|
|
158
|
-
const agent = AGENTS[agentId];
|
|
159
|
-
const configDir = getUserConfigDir(agentId);
|
|
160
|
-
const targetPath = path.join(configDir, agent.instructionsFile);
|
|
161
|
-
if (!fs.existsSync(configDir)) {
|
|
162
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
163
|
-
}
|
|
164
|
-
if (fs.existsSync(targetPath)) {
|
|
165
|
-
const stat = fs.lstatSync(targetPath);
|
|
166
|
-
if (stat.isSymbolicLink()) {
|
|
167
|
-
fs.unlinkSync(targetPath);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
fs.unlinkSync(targetPath);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
try {
|
|
174
|
-
if (method === 'symlink') {
|
|
175
|
-
fs.symlinkSync(sourcePath, targetPath);
|
|
176
|
-
return { path: targetPath, method: 'symlink' };
|
|
177
|
-
}
|
|
178
|
-
fs.copyFileSync(sourcePath, targetPath);
|
|
179
|
-
return { path: targetPath, method: 'copy' };
|
|
180
|
-
}
|
|
181
|
-
catch (err) {
|
|
182
|
-
return { path: '', method: 'copy', error: err.message };
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
136
|
export function uninstallInstructions(agentId) {
|
|
186
137
|
const agent = AGENTS[agentId];
|
|
187
138
|
const configDir = getUserConfigDir(agentId);
|
|
@@ -192,20 +143,6 @@ export function uninstallInstructions(agentId) {
|
|
|
192
143
|
}
|
|
193
144
|
return false;
|
|
194
145
|
}
|
|
195
|
-
export function instructionsContentMatches(agentId, sourcePath, scope = 'user', cwd = process.cwd()) {
|
|
196
|
-
const installedPath = getInstructionsPath(agentId, scope, cwd);
|
|
197
|
-
if (!fs.existsSync(installedPath) || !fs.existsSync(sourcePath)) {
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
try {
|
|
201
|
-
const installedContent = fs.readFileSync(installedPath, 'utf-8');
|
|
202
|
-
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
203
|
-
return normalizeContent(installedContent) === normalizeContent(sourceContent);
|
|
204
|
-
}
|
|
205
|
-
catch {
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
146
|
export function listInstalledInstructionsWithScope(agentId, cwd = process.cwd(), options) {
|
|
210
147
|
const results = [];
|
|
211
148
|
const agent = AGENTS[agentId];
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import type { AgentId, Mode, RunConfig, RunDefaults } from './types.js';
|
|
15
15
|
export declare const VERSION_RE: RegExp;
|
|
16
|
-
|
|
16
|
+
interface ParsedRunDefaultSelector {
|
|
17
17
|
agent: AgentId;
|
|
18
18
|
version: string;
|
|
19
19
|
selector: string;
|
package/dist/lib/run-notify.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DesktopNotification } from './menubar/notify-desktop.js';
|
|
2
|
-
|
|
2
|
+
interface RunNotifyContext {
|
|
3
3
|
/** Agent that ran, e.g. `claude`. */
|
|
4
4
|
agent: string;
|
|
5
5
|
/** `--name` slug when the caller named the run; falls back to the agent. */
|
|
@@ -29,3 +29,4 @@ export declare function buildRunFinishNotification(ctx: RunNotifyContext, exitCo
|
|
|
29
29
|
* limit, not a case to paper over.
|
|
30
30
|
*/
|
|
31
31
|
export declare function armRunFinishNotification(ctx: RunNotifyContext): void;
|
|
32
|
+
export {};
|
|
@@ -15,7 +15,7 @@ export declare function armRunFinishTraceSync(opts?: {
|
|
|
15
15
|
}): void;
|
|
16
16
|
/**
|
|
17
17
|
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
18
|
-
* owner-bound ping (`feed post --level important`, `agents
|
|
18
|
+
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
19
19
|
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
20
20
|
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
21
21
|
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
|
@@ -84,7 +84,7 @@ export function armRunFinishTraceSync(opts = {}) {
|
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
87
|
-
* owner-bound ping (`feed post --level important`, `agents
|
|
87
|
+
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
88
88
|
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
89
89
|
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
90
90
|
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
package/dist/lib/scheduler.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { Cron } from 'croner';
|
|
9
9
|
import type { JobConfig } from './scheduling/routines.js';
|
|
10
10
|
/** How a fire was triggered, carrying the scheduler's intended UTC slot time. */
|
|
11
|
-
|
|
11
|
+
interface TriggerContext {
|
|
12
12
|
/** The ALIGNED cron slot this callback fires for, for the single-fire claim
|
|
13
13
|
* keyed on (routine, scheduledFor). Derived by {@link fireSlot} — NOT croner's
|
|
14
14
|
* raw `currentRun()`, which carries wall-clock jitter. */
|
|
@@ -48,3 +48,4 @@ export declare class JobScheduler {
|
|
|
48
48
|
enabled: boolean;
|
|
49
49
|
}>;
|
|
50
50
|
}
|
|
51
|
+
export {};
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* scheduling.
|
|
8
8
|
*/
|
|
9
9
|
import { Cron } from 'croner';
|
|
10
|
-
import { type ResolvedExecutionContext, type ProjectResolution, type PlacementMode, type
|
|
10
|
+
import { type ResolvedExecutionContext, type ProjectResolution, type PlacementMode, type ContextFsProbe } from '../routine-context.js';
|
|
11
11
|
import type { AgentId, RunStrategy } from '../types.js';
|
|
12
12
|
import type { LoopConfig } from '../loop.js';
|
|
13
13
|
import { JobScheduler } from '../scheduler.js';
|
|
@@ -18,7 +18,7 @@ export declare function localLatestRun(job: JobConfig): RunMeta | null;
|
|
|
18
18
|
export declare function listJobsForDisplay(cwd?: string): JobConfig[];
|
|
19
19
|
export declare function buildRoutineListJson(): Record<string, unknown>[];
|
|
20
20
|
/** One routine's live scheduler-status row for `agents routines status --json`. */
|
|
21
|
-
|
|
21
|
+
interface RoutineStatusRow {
|
|
22
22
|
name: string;
|
|
23
23
|
/** The single device this routine is pinned to fire on, or null when unpinned. */
|
|
24
24
|
ownerDevice: string | null;
|
|
@@ -99,8 +99,6 @@ export type GithubTriggerEvent = 'pull_request' | 'push' | 'issue_comment' | 'wo
|
|
|
99
99
|
export declare const GITHUB_TRIGGER_EVENTS: readonly GithubTriggerEvent[];
|
|
100
100
|
/** Linear webhook resource types a routine can be triggered by. */
|
|
101
101
|
export type LinearTriggerEvent = 'Issue' | 'IssueLabel' | 'Comment' | 'Project' | 'Cycle';
|
|
102
|
-
/** Canonical set of accepted Linear trigger events — single source for validation. */
|
|
103
|
-
export declare const LINEAR_TRIGGER_EVENTS: readonly LinearTriggerEvent[];
|
|
104
102
|
/**
|
|
105
103
|
* Map a user-facing `--on` alias to a canonical GitHub trigger event.
|
|
106
104
|
* Accepts the canonical names plus friendly shortcuts (e.g. `pr`, `pr_opened`
|
|
@@ -380,7 +378,7 @@ export declare function normalizeProjects(projects: string[] | undefined): strin
|
|
|
380
378
|
* "Cross-project" is `{ kind: 'named', name }` and can never collide with the
|
|
381
379
|
* `operations` / `cross` special buckets that happen to share those titles.
|
|
382
380
|
*/
|
|
383
|
-
|
|
381
|
+
type ProjectGroup = {
|
|
384
382
|
kind: 'named';
|
|
385
383
|
name: string;
|
|
386
384
|
} | {
|
|
@@ -431,10 +429,6 @@ export declare function projectGroupOrder(group: ProjectGroup): number;
|
|
|
431
429
|
* - `"Unknown projects"` — when any entry is no longer a defined project (stale).
|
|
432
430
|
*/
|
|
433
431
|
export declare function computeProjectGroup(projects: string[] | undefined, knownProjectNames: Set<string>): string;
|
|
434
|
-
/** A real-filesystem {@link ContextFsProbe} for readiness checks on this machine. */
|
|
435
|
-
export declare function realFsProbe(): ContextFsProbe;
|
|
436
|
-
/** Classify a routine by its body kind — governs the execution-context fallback rules. */
|
|
437
|
-
export declare function jobRoutineKind(config: Pick<JobConfig, 'agent' | 'workflow' | 'command'>): RoutineKind;
|
|
438
432
|
/**
|
|
439
433
|
* Resolve a routine's execution context (working directory + structural/fs
|
|
440
434
|
* readiness) by bridging its `project`/`cwd` fields into the pure
|
|
@@ -595,7 +589,7 @@ export declare function routineOwnerDevice(config: Pick<JobConfig, 'devices'>):
|
|
|
595
589
|
*/
|
|
596
590
|
export declare function hasAmbiguousDevicePin(config: Pick<JobConfig, 'devices'>): boolean;
|
|
597
591
|
/** One routine whose `devices` names more than one machine, with its resolved owner. */
|
|
598
|
-
|
|
592
|
+
interface AmbiguousDevicePin {
|
|
599
593
|
name: string;
|
|
600
594
|
devices: string[];
|
|
601
595
|
/** The device that now fires it — the rest are inert. */
|
|
@@ -627,7 +621,7 @@ export declare function parseHostStrategy(raw: string | undefined | null): HostS
|
|
|
627
621
|
*/
|
|
628
622
|
export declare function placementRequiresFiringPin(strategy: HostStrategy): boolean;
|
|
629
623
|
/** Human presentation of a device-affinity mismatch for commands and runner. */
|
|
630
|
-
|
|
624
|
+
interface JobEligibilityResult {
|
|
631
625
|
/** Full human message, e.g. "Job 'NAME' can only run on: a, b". */
|
|
632
626
|
message: string;
|
|
633
627
|
/** One-line copy-paste suggestion, e.g. "agents routines run NAME --device a". */
|
|
@@ -670,7 +664,7 @@ export declare function readJob(name: string, cwd?: string): JobConfig | null;
|
|
|
670
664
|
* The outcome of reading one routine file: a config, or the reason it is inert.
|
|
671
665
|
* Every `problem` here means the daemon will not run the routine.
|
|
672
666
|
*/
|
|
673
|
-
|
|
667
|
+
type RoutineReadResult = {
|
|
674
668
|
config: JobConfig;
|
|
675
669
|
problem: null;
|
|
676
670
|
} | {
|
|
@@ -721,7 +715,7 @@ export declare function validateJob(config: Partial<JobConfig>): string[];
|
|
|
721
715
|
export declare function validateTrigger(trigger: unknown): string[];
|
|
722
716
|
/** True when a job's endAt has already elapsed. False when endAt is unset or in the future. */
|
|
723
717
|
export declare function isPastEndAt(config: Pick<JobConfig, 'endAt'>, now?: Date): boolean;
|
|
724
|
-
|
|
718
|
+
interface OneShotScheduleParts {
|
|
725
719
|
minute: number;
|
|
726
720
|
hour: number;
|
|
727
721
|
day: number;
|
|
@@ -799,7 +793,7 @@ export declare function getLatestRun(jobName: string): RunMeta | null;
|
|
|
799
793
|
*/
|
|
800
794
|
export declare function getLatestCompletedRun(jobName: string): RunMeta | null;
|
|
801
795
|
/** Duration + outcome rollup for a job's run history. */
|
|
802
|
-
|
|
796
|
+
interface RoutineStats {
|
|
803
797
|
/** Total run records (any status, including `missed`). */
|
|
804
798
|
count: number;
|
|
805
799
|
failed: number;
|
|
@@ -917,13 +911,6 @@ export declare function parseAtTime(atTime: string): {
|
|
|
917
911
|
schedule: string;
|
|
918
912
|
runOnce: boolean;
|
|
919
913
|
} | null;
|
|
920
|
-
/** Check if an installed job's normalized YAML matches the source file. */
|
|
921
|
-
export declare function jobContentMatches(name: string, sourcePath: string): boolean;
|
|
922
|
-
/** Install a job by reading and validating a YAML source file. */
|
|
923
|
-
export declare function installJobFromSource(sourcePath: string, name: string): {
|
|
924
|
-
success: boolean;
|
|
925
|
-
error?: string;
|
|
926
|
-
};
|
|
927
914
|
/** List all job names that have run directories. */
|
|
928
915
|
export declare function listJobsWithRuns(): string[];
|
|
929
916
|
/** Count total runs across all jobs. */
|
|
@@ -939,3 +926,4 @@ export declare function pruneRuns(keep: number): {
|
|
|
939
926
|
deleted: number;
|
|
940
927
|
bytesFreed: number;
|
|
941
928
|
};
|
|
929
|
+
export {};
|
|
@@ -220,7 +220,7 @@ export const GITHUB_TRIGGER_EVENTS = [
|
|
|
220
220
|
'workflow_run',
|
|
221
221
|
];
|
|
222
222
|
/** Canonical set of accepted Linear trigger events — single source for validation. */
|
|
223
|
-
|
|
223
|
+
const LINEAR_TRIGGER_EVENTS = [
|
|
224
224
|
'Issue',
|
|
225
225
|
'IssueLabel',
|
|
226
226
|
'Comment',
|
|
@@ -335,7 +335,7 @@ export function computeProjectGroup(projects, knownProjectNames) {
|
|
|
335
335
|
return projectGroupTitle(computeProjectGroupKind(projects, knownProjectNames));
|
|
336
336
|
}
|
|
337
337
|
/** A real-filesystem {@link ContextFsProbe} for readiness checks on this machine. */
|
|
338
|
-
|
|
338
|
+
function realFsProbe() {
|
|
339
339
|
return {
|
|
340
340
|
exists: (p) => fs.existsSync(p),
|
|
341
341
|
isDirectory: (p) => { try {
|
|
@@ -354,7 +354,7 @@ export function realFsProbe() {
|
|
|
354
354
|
};
|
|
355
355
|
}
|
|
356
356
|
/** Classify a routine by its body kind — governs the execution-context fallback rules. */
|
|
357
|
-
|
|
357
|
+
function jobRoutineKind(config) {
|
|
358
358
|
if (config.command)
|
|
359
359
|
return 'command';
|
|
360
360
|
if (config.workflow)
|
|
@@ -1725,49 +1725,6 @@ export function parseAtTime(atTime) {
|
|
|
1725
1725
|
}
|
|
1726
1726
|
return null;
|
|
1727
1727
|
}
|
|
1728
|
-
/** Check if an installed job's normalized YAML matches the source file. */
|
|
1729
|
-
export function jobContentMatches(name, sourcePath) {
|
|
1730
|
-
const existing = readJob(name);
|
|
1731
|
-
if (!existing)
|
|
1732
|
-
return false;
|
|
1733
|
-
try {
|
|
1734
|
-
const sourceContent = fs.readFileSync(sourcePath, 'utf-8');
|
|
1735
|
-
const sourceJob = yaml.parse(sourceContent);
|
|
1736
|
-
if (!sourceJob)
|
|
1737
|
-
return false;
|
|
1738
|
-
const existingNormalized = yaml.stringify(existing);
|
|
1739
|
-
const fullSource = { ...JOB_DEFAULTS, ...sourceJob, name: sourceJob.name || name };
|
|
1740
|
-
const sourceNormalized = yaml.stringify(fullSource);
|
|
1741
|
-
return existingNormalized === sourceNormalized;
|
|
1742
|
-
}
|
|
1743
|
-
catch {
|
|
1744
|
-
return false;
|
|
1745
|
-
}
|
|
1746
|
-
}
|
|
1747
|
-
/** Install a job by reading and validating a YAML source file. */
|
|
1748
|
-
export function installJobFromSource(sourcePath, name) {
|
|
1749
|
-
try {
|
|
1750
|
-
const content = fs.readFileSync(sourcePath, 'utf-8');
|
|
1751
|
-
const parsed = yaml.parse(content);
|
|
1752
|
-
if (!parsed)
|
|
1753
|
-
return { success: false, error: 'Invalid YAML' };
|
|
1754
|
-
const config = {
|
|
1755
|
-
...JOB_DEFAULTS,
|
|
1756
|
-
...parsed,
|
|
1757
|
-
name: parsed.name || name,
|
|
1758
|
-
};
|
|
1759
|
-
const errors = validateJob(config);
|
|
1760
|
-
if (errors.length > 0) {
|
|
1761
|
-
return { success: false, error: errors.join(', ') };
|
|
1762
|
-
}
|
|
1763
|
-
writeJob(config);
|
|
1764
|
-
setJobEnabled(config.name, config.enabled);
|
|
1765
|
-
return { success: true };
|
|
1766
|
-
}
|
|
1767
|
-
catch (err) {
|
|
1768
|
-
return { success: false, error: err.message };
|
|
1769
|
-
}
|
|
1770
|
-
}
|
|
1771
1728
|
/** List all job names that have run directories. */
|
|
1772
1729
|
export function listJobsWithRuns() {
|
|
1773
1730
|
const runsDir = getRunsDir();
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const SECRETS_CLI_NAME = "secrets";
|
|
2
|
+
export declare const SECRETS_CLI_PACKAGE = "@phnx-labs/secrets-cli";
|
|
3
|
+
/** Published standalone `agents setup secrets` installs; bump with the protocol. */
|
|
4
|
+
export declare const SECRETS_CLI_VERSION = "0.1.4";
|
|
5
|
+
export declare const SECRETS_CLI_SPEC = "@phnx-labs/secrets-cli@0.1.4";
|
|
6
|
+
export declare const SECRETS_CLI_INSTALL_HINT = "npm i -g @phnx-labs/secrets-cli@0.1.4";
|
|
7
|
+
/**
|
|
8
|
+
* True when `$SECRETS_BIN` is set or a real `secrets` executable is on PATH
|
|
9
|
+
* outside agents-cli's shims dir. Does not spawn the binary.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isSecretsPresent(): boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The standalone `secrets` CLI that agents-cli talks to (PHNX-3989).
|
|
3
|
+
*
|
|
4
|
+
* The engine lives in `@phnx-labs/secrets-cli`. This module is the single pin
|
|
5
|
+
* and presence check shared by the process client (`secrets-client.ts`) and
|
|
6
|
+
* `agents setup secrets` — it carries no storage. Presence is `findInPath`,
|
|
7
|
+
* which skips `~/.agents/.cache/shims`: a leftover alias there `exec`s
|
|
8
|
+
* `agents secrets` and would recurse (agi-cli#3532).
|
|
9
|
+
*
|
|
10
|
+
* Keep this file free of `cli-resources` imports: `secrets-client.ts` loads it,
|
|
11
|
+
* and a cycle through the host-CLI parser would pull yaml/spawn into the
|
|
12
|
+
* process-client module graph.
|
|
13
|
+
*/
|
|
14
|
+
import { findInPath } from './agent-spec/agents.js';
|
|
15
|
+
export const SECRETS_CLI_NAME = 'secrets';
|
|
16
|
+
export const SECRETS_CLI_PACKAGE = '@phnx-labs/secrets-cli';
|
|
17
|
+
/** Published standalone `agents setup secrets` installs; bump with the protocol. */
|
|
18
|
+
export const SECRETS_CLI_VERSION = '0.1.4';
|
|
19
|
+
export const SECRETS_CLI_SPEC = `${SECRETS_CLI_PACKAGE}@${SECRETS_CLI_VERSION}`;
|
|
20
|
+
export const SECRETS_CLI_INSTALL_HINT = `npm i -g ${SECRETS_CLI_SPEC}`;
|
|
21
|
+
/**
|
|
22
|
+
* True when `$SECRETS_BIN` is set or a real `secrets` executable is on PATH
|
|
23
|
+
* outside agents-cli's shims dir. Does not spawn the binary.
|
|
24
|
+
*/
|
|
25
|
+
export function isSecretsPresent() {
|
|
26
|
+
const explicit = process.env.SECRETS_BIN?.trim();
|
|
27
|
+
if (explicit)
|
|
28
|
+
return true;
|
|
29
|
+
return findInPath(SECRETS_CLI_NAME) !== null;
|
|
30
|
+
}
|