@phnx-labs/agents-cli 1.22.39 → 1.22.41
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 +316 -0
- package/README.md +116 -70
- package/dist/bin/agents +0 -0
- package/dist/bootstrap.js +45 -27
- package/dist/browser.js +2 -2
- package/dist/cli/command-registry.d.ts +135 -0
- package/dist/cli/command-registry.js +259 -0
- package/dist/commands/accounts.d.ts +20 -0
- package/dist/commands/accounts.js +186 -25
- package/dist/commands/apply.d.ts +3 -3
- package/dist/commands/apply.js +20 -63
- package/dist/commands/browser.d.ts +15 -0
- package/dist/commands/browser.js +318 -131
- package/dist/commands/budget.d.ts +7 -6
- package/dist/commands/budget.js +8 -7
- package/dist/commands/cloud.js +17 -20
- package/dist/commands/commands.js +1 -1
- package/dist/commands/computer-actions.d.ts +1 -35
- package/dist/commands/computer-actions.js +13 -181
- package/dist/commands/computer.d.ts +28 -3
- package/dist/commands/computer.js +93 -65
- package/dist/commands/config.js +16 -3
- package/dist/commands/cost.d.ts +2 -1
- package/dist/commands/cost.js +7 -6
- package/dist/commands/daemon.js +151 -4
- package/dist/commands/detach.js +1 -1
- package/dist/commands/doctor.js +19 -11
- package/dist/commands/events.js +1 -1
- package/dist/commands/exec.d.ts +2 -50
- package/dist/commands/exec.js +160 -215
- package/dist/commands/factory.js +1 -1
- package/dist/commands/feed.d.ts +2 -2
- package/dist/commands/feed.js +12 -23
- package/dist/commands/fleet-capture.js +25 -27
- package/dist/commands/focus.d.ts +2 -3
- package/dist/commands/focus.js +34 -9
- package/dist/commands/go.js +15 -5
- package/dist/commands/harness.d.ts +3 -3
- package/dist/commands/harness.js +53 -5
- package/dist/commands/hooks.js +1 -1
- package/dist/commands/import.js +2 -2
- package/dist/commands/insights.d.ts +5 -5
- package/dist/commands/insights.js +15 -9
- package/dist/commands/inspect.d.ts +2 -3
- package/dist/commands/inspect.js +4 -16
- package/dist/commands/logs.d.ts +2 -2
- package/dist/commands/logs.js +9 -9
- package/dist/commands/mcp.js +2 -2
- package/dist/commands/memory.js +1 -1
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +7 -7
- package/dist/commands/mine.d.ts +11 -8
- package/dist/commands/mine.js +11 -10
- package/dist/commands/models.js +1 -1
- package/dist/commands/modes.js +1 -1
- package/dist/commands/monitors.js +23 -6
- package/dist/commands/output.d.ts +7 -6
- package/dist/commands/output.js +11 -10
- package/dist/commands/packages.js +4 -4
- package/dist/commands/perf.js +1 -1
- package/dist/commands/permissions.js +49 -32
- package/dist/commands/plugins.d.ts +1 -1
- package/dist/commands/plugins.js +3 -3
- package/dist/commands/profiles.d.ts +6 -9
- package/dist/commands/profiles.js +8 -321
- package/dist/commands/projects.d.ts +9 -0
- package/dist/commands/projects.js +140 -8
- package/dist/commands/prune.js +5 -13
- package/dist/commands/refresh-rules.js +1 -1
- package/dist/commands/repo.d.ts +5 -7
- package/dist/commands/repo.js +34 -18
- package/dist/commands/resource-view.js +4 -0
- package/dist/commands/resume.d.ts +11 -7
- package/dist/commands/resume.js +82 -98
- package/dist/commands/route.d.ts +12 -0
- package/dist/commands/route.js +261 -0
- package/dist/commands/routines.d.ts +2 -3
- package/dist/commands/routines.js +120 -145
- package/dist/commands/rules.js +1 -1
- package/dist/commands/run-account-picker.d.ts +1 -1
- package/dist/commands/run-account-picker.js +2 -2
- package/dist/commands/run-broadcast.d.ts +21 -0
- package/dist/commands/run-broadcast.js +89 -0
- package/dist/commands/run-cloud.js +1 -1
- package/dist/commands/secrets-vault.d.ts +10 -0
- package/dist/commands/{login.js → secrets-vault.js} +34 -14
- package/dist/commands/secrets.d.ts +4 -4
- package/dist/commands/secrets.js +158 -159
- package/dist/commands/sessions-backfill.js +1 -1
- package/dist/commands/sessions-browser.d.ts +1 -1
- package/dist/commands/sessions-browser.js +9 -5
- package/dist/commands/sessions-export.js +2 -2
- package/dist/commands/sessions-inject.js +4 -5
- package/dist/commands/sessions-migrate.js +16 -27
- package/dist/commands/sessions-picker.d.ts +14 -0
- package/dist/commands/sessions-picker.js +209 -13
- package/dist/commands/sessions-resume.d.ts +7 -3
- package/dist/commands/sessions-resume.js +81 -33
- package/dist/commands/sessions-share.d.ts +25 -0
- package/dist/commands/sessions-share.js +166 -0
- package/dist/commands/sessions-stats.js +2 -2
- package/dist/commands/sessions.d.ts +75 -68
- package/dist/commands/sessions.js +144 -180
- package/dist/commands/setup-browser.js +1 -1
- package/dist/commands/setup-computer.js +1 -1
- package/dist/commands/setup-fleet.js +3 -0
- package/dist/commands/setup-mine.d.ts +7 -3
- package/dist/commands/setup-mine.js +13 -8
- package/dist/commands/setup-preferences.js +2 -2
- package/dist/commands/setup-secrets.js +2 -2
- package/dist/commands/setup-watchdog.js +2 -2
- package/dist/commands/setup.js +7 -2
- package/dist/commands/share.d.ts +65 -0
- package/dist/commands/share.js +253 -20
- package/dist/commands/skills.js +3 -3
- package/dist/commands/snapshot.d.ts +2 -2
- package/dist/commands/snapshot.js +9 -9
- package/dist/commands/ssh.d.ts +1 -1
- package/dist/commands/ssh.js +186 -64
- package/dist/commands/subagents.js +1 -1
- package/dist/commands/sync.js +24 -9
- package/dist/commands/teams.d.ts +2 -2
- package/dist/commands/teams.js +9 -18
- package/dist/commands/tmux.js +5 -1
- package/dist/commands/trash.js +1 -1
- package/dist/commands/usage.d.ts +1 -1
- package/dist/commands/usage.js +2 -2
- package/dist/commands/utils.d.ts +4 -14
- package/dist/commands/utils.js +6 -27
- package/dist/commands/versions.js +2 -2
- package/dist/commands/view.d.ts +9 -77
- package/dist/commands/view.js +23 -8
- package/dist/commands/watchdog.js +1 -1
- package/dist/commands/webhook.js +25 -34
- package/dist/commands/workflows.js +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/account-capabilities.d.ts +39 -0
- package/dist/lib/account-capabilities.js +59 -0
- package/dist/lib/account-catalog.js +1 -1
- package/dist/lib/account-registry.d.ts +66 -0
- package/dist/lib/account-registry.js +151 -5
- package/dist/lib/{rotate.d.ts → accounting/rotate.d.ts} +4 -4
- package/dist/lib/{rotate.js → accounting/rotate.js} +8 -8
- package/dist/lib/{usage.d.ts → accounting/usage.d.ts} +4 -4
- package/dist/lib/{usage.js → accounting/usage.js} +11 -11
- package/dist/lib/agent-spec/provider.js +1 -1
- package/dist/lib/agents.d.ts +72 -4
- package/dist/lib/agents.js +231 -199
- package/dist/lib/answer-router.d.ts +2 -2
- package/dist/lib/ask-classifier.d.ts +1 -1
- package/dist/lib/ask-classifier.js +1 -1
- package/dist/lib/audit/log.js +1 -1
- package/dist/lib/auth-health.d.ts +1 -1
- package/dist/lib/auth-health.js +2 -2
- package/dist/lib/brand.js +1 -1
- package/dist/lib/browser/caller-identity.d.ts +28 -0
- package/dist/lib/browser/caller-identity.js +156 -0
- package/dist/lib/browser/cdp.js +5 -1
- package/dist/lib/browser/chrome.js +12 -1
- package/dist/lib/browser/drivers/ssh.d.ts +1 -1
- package/dist/lib/browser/drivers/ssh.js +3 -2
- package/dist/lib/browser/hygiene.d.ts +10 -2
- package/dist/lib/browser/hygiene.js +7 -4
- package/dist/lib/browser/ipc.d.ts +22 -2
- package/dist/lib/browser/ipc.js +185 -21
- package/dist/lib/browser/profiles.d.ts +69 -5
- package/dist/lib/browser/profiles.js +135 -13
- package/dist/lib/browser/remote-control.d.ts +2 -2
- package/dist/lib/browser/remote-control.js +3 -3
- package/dist/lib/browser/runtime-state.d.ts +79 -0
- package/dist/lib/browser/runtime-state.js +119 -1
- package/dist/lib/browser/service.d.ts +137 -2
- package/dist/lib/browser/service.js +492 -54
- package/dist/lib/browser/sessions-list.d.ts +2 -1
- package/dist/lib/browser/sessions-list.js +4 -13
- package/dist/lib/browser/types.d.ts +19 -1
- package/dist/lib/budget/config.js +1 -1
- package/dist/lib/budget/ledger.js +1 -1
- package/dist/lib/byok-usage.js +1 -1
- package/dist/lib/capabilities.js +3 -15
- package/dist/lib/catchup.d.ts +1 -1
- package/dist/lib/catchup.js +1 -1
- package/dist/lib/cloud/dispatch.js +1 -1
- package/dist/lib/cloud/host.d.ts +3 -3
- package/dist/lib/cloud/host.js +5 -5
- package/dist/lib/cloud/rush.d.ts +9 -21
- package/dist/lib/cloud/rush.js +33 -120
- package/dist/lib/cloud/types.d.ts +2 -2
- package/dist/lib/commands.js +3 -13
- package/dist/lib/computer/actions.d.ts +36 -0
- package/dist/lib/computer/actions.js +162 -0
- package/dist/lib/computer/dispatch.d.ts +2 -2
- package/dist/lib/computer/dispatch.js +2 -2
- package/dist/lib/computer/sessions-list.d.ts +3 -3
- package/dist/lib/computer/sessions-list.js +2 -2
- package/dist/lib/config-keys.d.ts +2 -1
- package/dist/lib/config-keys.js +8 -4
- package/dist/lib/config-machine-keys.d.ts +4 -2
- package/dist/lib/config-machine-keys.js +5 -2
- package/dist/lib/crabbox/lease.js +9 -1
- package/dist/lib/crabbox/runtimes.d.ts +32 -7
- package/dist/lib/crabbox/runtimes.js +72 -30
- package/dist/lib/{daemon.d.ts → daemon/daemon.d.ts} +59 -1
- package/dist/lib/{daemon.js → daemon/daemon.js} +237 -49
- package/dist/lib/daemon-services.d.ts +1 -1
- package/dist/lib/daemon-services.js +5 -0
- package/dist/lib/daemon-ticks.d.ts +25 -0
- package/dist/lib/daemon-ticks.js +31 -1
- package/dist/lib/daemon-webhooks.d.ts +104 -0
- package/dist/lib/daemon-webhooks.js +215 -0
- package/dist/lib/device-config.d.ts +85 -75
- package/dist/lib/device-config.js +280 -142
- package/dist/lib/devices/config-migration.d.ts +29 -34
- package/dist/lib/devices/config-migration.js +209 -130
- package/dist/lib/devices/connect.d.ts +2 -2
- package/dist/lib/devices/connect.js +2 -2
- package/dist/lib/devices/discovery-policy.d.ts +30 -0
- package/dist/lib/devices/discovery-policy.js +101 -0
- package/dist/lib/devices/fleet-inventory.js +8 -3
- package/dist/lib/devices/harness-inventory.d.ts +1 -1
- package/dist/lib/devices/harness-inventory.js +12 -3
- package/dist/lib/devices/known-hosts.js +1 -1
- package/dist/lib/devices/pool.d.ts +10 -5
- package/dist/lib/devices/pool.js +5 -7
- package/dist/lib/devices/registry.d.ts +1 -1
- package/dist/lib/devices/registry.js +1 -1
- package/dist/lib/devices/resolve-profile.d.ts +2 -2
- package/dist/lib/devices/resolve-profile.js +2 -2
- package/dist/lib/devices/resolve-target.d.ts +1 -1
- package/dist/lib/devices/resolve-target.js +4 -4
- package/dist/lib/devices/self-host.d.ts +1 -1
- package/dist/lib/devices/self-host.js +3 -3
- package/dist/lib/devices/ssh-config.d.ts +1 -1
- package/dist/lib/devices/stats-cache.js +1 -1
- package/dist/lib/devices/sync.d.ts +3 -1
- package/dist/lib/devices/sync.js +3 -3
- package/dist/lib/doctor-diff.js +4 -4
- package/dist/lib/drift-sync.js +2 -2
- package/dist/lib/drift.js +2 -2
- package/dist/lib/event-families.d.ts +1 -1
- package/dist/lib/event-stream.d.ts +1 -1
- package/dist/lib/event-stream.js +2 -2
- package/dist/lib/events-ingest.js +2 -2
- package/dist/lib/exec.d.ts +4 -4
- package/dist/lib/exec.js +11 -11
- package/dist/lib/factory/snapshot.d.ts +1 -1
- package/dist/lib/factory/snapshot.js +1 -1
- package/dist/lib/{activity.d.ts → feed/activity.d.ts} +1 -1
- package/dist/lib/{activity.js → feed/activity.js} +7 -7
- package/dist/lib/{events.d.ts → feed/events.d.ts} +2 -2
- package/dist/lib/{events.js → feed/events.js} +5 -5
- package/dist/lib/{feed.js → feed/feed.js} +4 -4
- package/dist/lib/feed-outcome.d.ts +1 -1
- package/dist/lib/feed-policy.d.ts +1 -1
- package/dist/lib/feed-policy.js +1 -1
- package/dist/lib/feed-post.d.ts +1 -1
- package/dist/lib/feed-post.js +1 -1
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -6
- package/dist/lib/fleet/apply.js +18 -45
- package/dist/lib/fleet/auth-sync.d.ts +16 -35
- package/dist/lib/fleet/auth-sync.js +16 -75
- package/dist/lib/fleet/capture.js +8 -6
- package/dist/lib/fleet/manifest.js +23 -11
- package/dist/lib/fleet/types.d.ts +19 -7
- package/dist/lib/fleet-cache.d.ts +1 -1
- package/dist/lib/fleet-cache.js +1 -1
- package/dist/lib/format.d.ts +19 -0
- package/dist/lib/format.js +44 -1
- package/dist/lib/friction-heuristics.d.ts +1 -1
- package/dist/lib/git.d.ts +24 -1
- package/dist/lib/git.js +82 -38
- package/dist/lib/heal.js +3 -3
- package/dist/lib/hooks.d.ts +18 -0
- package/dist/lib/hooks.js +113 -1
- package/dist/lib/hosts/credentials.d.ts +30 -10
- package/dist/lib/hosts/credentials.js +38 -26
- package/dist/lib/hosts/dispatch.d.ts +3 -3
- package/dist/lib/hosts/dispatch.js +3 -3
- package/dist/lib/hosts/option.d.ts +3 -3
- package/dist/lib/hosts/option.js +7 -8
- package/dist/lib/hosts/passthrough.d.ts +17 -17
- package/dist/lib/hosts/passthrough.js +67 -50
- package/dist/lib/hosts/providers/devices.d.ts +1 -1
- package/dist/lib/hosts/providers/devices.js +1 -1
- package/dist/lib/hosts/reconcile.d.ts +1 -1
- package/dist/lib/hosts/reconcile.js +1 -1
- package/dist/lib/hosts/reconnect.d.ts +1 -1
- package/dist/lib/hosts/reconnect.js +2 -2
- package/dist/lib/hosts/registry.d.ts +5 -5
- package/dist/lib/hosts/registry.js +5 -5
- package/dist/lib/hosts/remote-cmd.d.ts +10 -10
- package/dist/lib/hosts/remote-cmd.js +25 -18
- package/dist/lib/hosts/remote-os.d.ts +4 -4
- package/dist/lib/hosts/remote-os.js +4 -4
- package/dist/lib/hosts/remote-session-id.d.ts +2 -2
- package/dist/lib/hosts/remote-session-id.js +2 -2
- package/dist/lib/hosts/routing-flag.d.ts +3 -3
- package/dist/lib/hosts/routing-flag.js +4 -5
- package/dist/lib/hosts/run-target.d.ts +4 -4
- package/dist/lib/hosts/run-target.js +4 -4
- package/dist/lib/hosts/session-index.d.ts +2 -2
- package/dist/lib/hosts/session-index.js +1 -1
- package/dist/lib/hosts/session-marker.d.ts +1 -1
- package/dist/lib/hosts/session-marker.js +1 -1
- package/dist/lib/hosts/types.d.ts +2 -2
- package/dist/lib/hosts/types.js +2 -2
- package/dist/lib/import.js +1 -1
- package/dist/lib/{migrate.d.ts → installations/migrate.d.ts} +13 -1
- package/dist/lib/{migrate.js → installations/migrate.js} +160 -40
- package/dist/lib/installations/resolve.js +1 -1
- package/dist/lib/installations/strategies.js +1 -1
- package/dist/lib/installations/update.js +2 -2
- package/dist/lib/{versions.d.ts → installations/versions.d.ts} +12 -3
- package/dist/lib/{versions.js → installations/versions.js} +51 -31
- package/dist/lib/isolation-boundary-report.js +1 -1
- package/dist/lib/linear-projects.d.ts +28 -0
- package/dist/lib/linear-projects.js +30 -0
- package/dist/lib/loop.js +1 -1
- package/dist/lib/mailbox-gc.js +1 -1
- package/dist/lib/mailbox.js +1 -1
- package/dist/lib/mcp-registry.d.ts +62 -0
- package/dist/lib/mcp-registry.js +177 -0
- package/dist/lib/mcp.d.ts +5 -0
- package/dist/lib/mcp.js +124 -307
- package/dist/lib/menubar/MenubarHelper.app/Contents/CodeResources +0 -0
- package/dist/lib/menubar/MenubarHelper.app/Contents/MacOS/MenubarHelper +0 -0
- package/dist/lib/menubar/install-menubar.d.ts +7 -0
- package/dist/lib/menubar/install-menubar.js +24 -6
- package/dist/lib/menubar/snapshot.d.ts +7 -0
- package/dist/lib/menubar/snapshot.js +8 -6
- package/dist/lib/models.js +1 -1
- package/dist/lib/monitors/config.d.ts +12 -0
- package/dist/lib/monitors/config.js +3 -0
- package/dist/lib/monitors/dispatch.js +26 -5
- package/dist/lib/monitors/engine.js +10 -0
- package/dist/lib/monitors/sources/webhook.d.ts +1 -1
- package/dist/lib/monitors/state.d.ts +42 -0
- package/dist/lib/monitors/state.js +30 -0
- package/dist/lib/notify.d.ts +1 -1
- package/dist/lib/observe-aliases.d.ts +3 -3
- package/dist/lib/observe-aliases.js +3 -21
- package/dist/lib/output/git-output.js +2 -2
- package/dist/lib/overdue.d.ts +1 -1
- package/dist/lib/overdue.js +1 -1
- package/dist/lib/permissions-registry.d.ts +65 -0
- package/dist/lib/permissions-registry.js +599 -0
- package/dist/lib/permissions.d.ts +24 -13
- package/dist/lib/permissions.js +52 -271
- package/dist/lib/picker.d.ts +16 -0
- package/dist/lib/picker.js +33 -3
- package/dist/lib/placement.d.ts +1 -1
- package/dist/lib/placement.js +4 -4
- package/dist/lib/platform/paths.d.ts +8 -0
- package/dist/lib/platform/paths.js +11 -0
- package/dist/lib/platform/posixpath.js +3 -3
- package/dist/lib/{plugin-marketplace.d.ts → plugins/plugin-marketplace.d.ts} +1 -1
- package/dist/lib/{plugin-marketplace.js → plugins/plugin-marketplace.js} +2 -2
- package/dist/lib/{plugins.d.ts → plugins/plugins.d.ts} +1 -1
- package/dist/lib/{plugins.js → plugins/plugins.js} +7 -7
- package/dist/lib/{skills.d.ts → plugins/skills.d.ts} +1 -1
- package/dist/lib/{skills.js → plugins/skills.js} +7 -7
- package/dist/lib/pricing/cost.d.ts +1 -1
- package/dist/lib/pricing/cost.js +1 -1
- package/dist/lib/profiles-presets.d.ts +1 -1
- package/dist/lib/profiles-presets.js +1 -1
- package/dist/lib/profiles.js +2 -2
- package/dist/lib/project-import.js +4 -1
- package/dist/lib/project-key.js +7 -0
- package/dist/lib/project-launch.d.ts +1 -1
- package/dist/lib/project-launch.js +3 -3
- package/dist/lib/project-pull.d.ts +128 -0
- package/dist/lib/project-pull.js +384 -0
- package/dist/lib/project-root.d.ts +2 -2
- package/dist/lib/project-root.js +2 -2
- package/dist/lib/project-status.js +1 -1
- package/dist/lib/projects.d.ts +23 -0
- package/dist/lib/projects.js +29 -6
- package/dist/lib/refresh.d.ts +12 -1
- package/dist/lib/refresh.js +16 -9
- package/dist/lib/registry.d.ts +9 -2
- package/dist/lib/registry.js +11 -4
- package/dist/lib/resources.d.ts +2 -2
- package/dist/lib/resources.js +2 -2
- package/dist/lib/routers.d.ts +81 -0
- package/dist/lib/routers.js +153 -0
- package/dist/lib/routine-context.d.ts +1 -0
- package/dist/lib/routine-context.js +7 -2
- package/dist/lib/routine-notify-owner.d.ts +1 -1
- package/dist/lib/routine-notify.d.ts +1 -1
- package/dist/lib/routine-notify.js +1 -1
- package/dist/lib/routine-process-cleanup.d.ts +1 -1
- package/dist/lib/routine-readiness.d.ts +1 -1
- package/dist/lib/routine-readiness.js +11 -4
- package/dist/lib/routines-placement.d.ts +12 -2
- package/dist/lib/routines-placement.js +20 -3
- package/dist/lib/routines-project.d.ts +1 -1
- package/dist/lib/routines-project.js +1 -1
- package/dist/lib/rules/compile.d.ts +1 -0
- package/dist/lib/rules/compile.js +10 -2
- package/dist/lib/rules/rules.js +1 -1
- package/dist/lib/run-notify.js +1 -1
- package/dist/lib/runner.d.ts +80 -2
- package/dist/lib/runner.js +261 -67
- package/dist/lib/sandbox.d.ts +1 -1
- package/dist/lib/scheduler.d.ts +1 -1
- package/dist/lib/scheduler.js +1 -1
- package/dist/lib/{routines.d.ts → scheduling/routines.d.ts} +54 -9
- package/dist/lib/{routines.js → scheduling/routines.js} +173 -14
- package/dist/lib/secrets/Agents CLI.app/Contents/CodeResources +0 -0
- package/dist/lib/secrets/Agents CLI.app/Contents/MacOS/Agents CLI +0 -0
- package/dist/lib/secrets/agent.js +2 -2
- package/dist/lib/secrets/audit.js +1 -1
- package/dist/lib/secrets/bundles.d.ts +4 -4
- package/dist/lib/secrets/bundles.js +8 -8
- package/dist/lib/secrets/headless.d.ts +16 -0
- package/dist/lib/secrets/headless.js +21 -0
- package/dist/lib/secrets/index.js +1 -1
- package/dist/lib/secrets/list-filter.d.ts +1 -1
- package/dist/lib/secrets/list-filter.js +2 -2
- package/dist/lib/secrets/push.d.ts +1 -1
- package/dist/lib/secrets/push.js +10 -12
- package/dist/lib/secrets/remote.d.ts +21 -17
- package/dist/lib/secrets/remote.js +39 -23
- package/dist/lib/secrets/vault.js +2 -2
- package/dist/lib/self-heal/checks/shadowing.js +1 -1
- package/dist/lib/self-heal/checks/shims.js +1 -1
- package/dist/lib/self-update.d.ts +39 -4
- package/dist/lib/self-update.js +78 -25
- package/dist/lib/serve/control.d.ts +1 -1
- package/dist/lib/serve/control.js +4 -4
- package/dist/lib/serve/data.d.ts +1 -1
- package/dist/lib/serve/data.js +1 -1
- package/dist/lib/serve/stream.js +1 -1
- package/dist/lib/service-manifest.d.ts +29 -0
- package/dist/lib/service-manifest.js +80 -0
- package/dist/lib/session/active.d.ts +59 -7
- package/dist/lib/session/active.js +158 -17
- package/dist/lib/session/bash-command.js +1 -1
- package/dist/lib/session/claude-accounts.d.ts +1 -1
- package/dist/lib/session/claude-accounts.js +1 -1
- package/dist/lib/session/db.d.ts +10 -2
- package/dist/lib/session/db.js +25 -6
- package/dist/lib/session/discover.d.ts +77 -0
- package/dist/lib/session/discover.js +130 -25
- package/dist/lib/session/fork.js +1 -1
- package/dist/lib/session/inject.d.ts +1 -1
- package/dist/lib/session/insights.d.ts +1 -1
- package/dist/lib/session/insights.js +1 -1
- package/dist/lib/session/live-metadata.d.ts +15 -0
- package/dist/lib/session/live-metadata.js +76 -0
- package/dist/lib/session/migrate-targets.d.ts +1 -1
- package/dist/lib/session/recovery.d.ts +1 -1
- package/dist/lib/session/recovery.js +2 -2
- package/dist/lib/session/remote-active.d.ts +10 -1
- package/dist/lib/session/remote-active.js +8 -3
- package/dist/lib/session/remote-bundle.d.ts +1 -1
- package/dist/lib/session/remote-bundle.js +2 -2
- package/dist/lib/session/remote-list.d.ts +15 -4
- package/dist/lib/session/remote-list.js +40 -3
- package/dist/lib/session/remote.d.ts +5 -5
- package/dist/lib/session/remote.js +13 -17
- package/dist/lib/session/resume-command.d.ts +3 -2
- package/dist/lib/session/resume-command.js +4 -3
- package/dist/lib/session/resume-owner.d.ts +3 -3
- package/dist/lib/session/resume-owner.js +3 -3
- package/dist/lib/session/session-cache.d.ts +12 -0
- package/dist/lib/session/session-cache.js +2 -0
- package/dist/lib/session/share-html.d.ts +55 -0
- package/dist/lib/session/share-html.js +319 -0
- package/dist/lib/session/shell-programs.js +1 -1
- package/dist/lib/session/state.js +5 -5
- package/dist/lib/session/team-filter.d.ts +1 -1
- package/dist/lib/session/team-filter.js +1 -1
- package/dist/lib/session/types.d.ts +3 -3
- package/dist/lib/session/width.d.ts +2 -2
- package/dist/lib/session/width.js +2 -2
- package/dist/lib/settings-manifest.d.ts +2 -0
- package/dist/lib/settings-manifest.js +81 -3
- package/dist/lib/share/delete.d.ts +21 -0
- package/dist/lib/share/delete.js +42 -0
- package/dist/lib/share/publish.d.ts +120 -0
- package/dist/lib/share/publish.js +243 -18
- package/dist/lib/share/worker-template.js +172 -9
- package/dist/lib/shims.js +35 -7
- package/dist/lib/smart-launch.d.ts +4 -4
- package/dist/lib/smart-launch.js +6 -4
- package/dist/lib/snapshot.d.ts +4 -4
- package/dist/lib/snapshot.js +2 -2
- package/dist/lib/ssh-exec.d.ts +1 -1
- package/dist/lib/ssh-exec.js +2 -2
- package/dist/lib/ssh-tunnel.d.ts +10 -10
- package/dist/lib/ssh-tunnel.js +12 -12
- package/dist/lib/staleness/checkers/hooks.d.ts +1 -1
- package/dist/lib/staleness/checkers/hooks.js +1 -1
- package/dist/lib/staleness/detectors/permissions.js +0 -23
- package/dist/lib/staleness/detectors/plugins.js +1 -1
- package/dist/lib/staleness/fingerprint.js +1 -1
- package/dist/lib/staleness/layers.d.ts +1 -1
- package/dist/lib/staleness/layers.js +1 -1
- package/dist/lib/staleness/writers/mcp.js +3 -1
- package/dist/lib/staleness/writers/plugins.js +1 -1
- package/dist/lib/staleness/writers/types.d.ts +8 -0
- package/dist/lib/startup/command-registry.d.ts +6 -147
- package/dist/lib/startup/command-registry.js +40 -303
- package/dist/lib/startup/dev-build.d.ts +0 -21
- package/dist/lib/startup/dev-build.js +29 -8
- package/dist/lib/state.d.ts +19 -1
- package/dist/lib/state.js +120 -51
- package/dist/lib/subagents.js +1 -1
- package/dist/lib/sync-status.js +1 -1
- package/dist/lib/sync-umbrella.d.ts +6 -1
- package/dist/lib/sync-umbrella.js +9 -4
- package/dist/lib/teams/agents.js +2 -2
- package/dist/lib/teams/registry.js +1 -1
- package/dist/lib/terminal/backends/vscodium-agent.js +1 -1
- package/dist/lib/terminal/engine.js +1 -1
- package/dist/lib/terminal/index.d.ts +4 -0
- package/dist/lib/terminal/index.js +3 -0
- package/dist/lib/terminal/inject.d.ts +2 -2
- package/dist/lib/terminal/inject.js +2 -2
- package/dist/lib/terminal/transport.js +1 -1
- package/dist/lib/tmux/index.d.ts +1 -1
- package/dist/lib/tmux/index.js +1 -1
- package/dist/lib/tmux/session.d.ts +21 -5
- package/dist/lib/tmux/session.js +76 -22
- package/dist/lib/triggers/handlers.d.ts +38 -3
- package/dist/lib/triggers/handlers.js +58 -7
- package/dist/lib/triggers/webhook.d.ts +113 -5
- package/dist/lib/triggers/webhook.js +223 -44
- package/dist/lib/types.d.ts +19 -7
- package/dist/lib/usage-fleet.d.ts +1 -1
- package/dist/lib/usage-fleet.js +1 -1
- package/dist/lib/usage-refresh.d.ts +1 -1
- package/dist/lib/usage-refresh.js +3 -3
- package/dist/lib/version-duplicates.js +2 -2
- package/dist/lib/view-types.d.ts +56 -0
- package/dist/lib/view-types.js +1 -0
- package/dist/lib/watchdog/rotate.d.ts +2 -2
- package/dist/lib/watchdog/rotate.js +3 -3
- package/dist/lib/watchdog/runner.d.ts +2 -3
- package/dist/lib/watchdog/runner.js +3 -4
- package/dist/lib/workflows.js +1 -1
- package/dist/lib/wrap.d.ts +33 -0
- package/dist/lib/wrap.js +70 -0
- package/package.json +2 -1
- package/scripts/postinstall.js +2 -2
- package/dist/commands/bench.d.ts +0 -2
- package/dist/commands/bench.js +0 -101
- package/dist/commands/cp.d.ts +0 -84
- package/dist/commands/cp.js +0 -231
- package/dist/commands/login.d.ts +0 -2
- package/dist/lib/resources/commands.d.ts +0 -46
- package/dist/lib/resources/commands.js +0 -211
- package/dist/lib/resources/hooks.d.ts +0 -16
- package/dist/lib/resources/hooks.js +0 -153
- package/dist/lib/resources/mcp.d.ts +0 -34
- package/dist/lib/resources/mcp.js +0 -250
- package/dist/lib/resources/memory.d.ts +0 -15
- package/dist/lib/resources/memory.js +0 -46
- package/dist/lib/resources/permissions.d.ts +0 -13
- package/dist/lib/resources/permissions.js +0 -202
- package/dist/lib/resources/rules.d.ts +0 -46
- package/dist/lib/resources/rules.js +0 -179
- package/dist/lib/resources/skills.d.ts +0 -37
- package/dist/lib/resources/skills.js +0 -247
- package/dist/lib/resources/subagents.d.ts +0 -46
- package/dist/lib/resources/subagents.js +0 -202
- /package/dist/lib/{feed.d.ts → feed/feed.d.ts} +0 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* fire. Cross-device double-fire is prevented by requiring a `devices` firing
|
|
10
10
|
* pin for fleet/host/cloud strategies (applied at add/sync time).
|
|
11
11
|
*/
|
|
12
|
-
import type { JobConfig } from './routines.js';
|
|
12
|
+
import type { JobConfig } from './scheduling/routines.js';
|
|
13
13
|
import { type DevicePlatform } from './devices/registry.js';
|
|
14
14
|
export type PlacementTarget = {
|
|
15
15
|
mode: 'local';
|
|
@@ -35,5 +35,15 @@ export declare function pickFleetDevice(_config?: Pick<JobConfig, 'devices'>, pl
|
|
|
35
35
|
/**
|
|
36
36
|
* Resolve where a fired job's body should execute.
|
|
37
37
|
* Throws a human-readable Error when placement cannot be satisfied.
|
|
38
|
+
*
|
|
39
|
+
* `host: 'auto'` under `hostStrategy: fleet` re-picks a healthy, signed-in,
|
|
40
|
+
* unloaded device AT EACH FIRE via the same picker `agents run --device auto`
|
|
41
|
+
* uses (`resolveDeviceAuto`), instead of `pickFleetDevice`'s
|
|
42
|
+
* first-online-by-name order. The decision is deliberately not baked in at add
|
|
43
|
+
* time — fleet health at fire time is the whole point (RUSH-2719).
|
|
38
44
|
*/
|
|
39
|
-
export declare function resolvePlacementTarget(config: JobConfig
|
|
45
|
+
export declare function resolvePlacementTarget(config: JobConfig, deps?: {
|
|
46
|
+
resolveDeviceAuto?: (agent?: string) => Promise<{
|
|
47
|
+
pickedDeviceKey: string;
|
|
48
|
+
}>;
|
|
49
|
+
}): Promise<PlacementTarget>;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* fire. Cross-device double-fire is prevented by requiring a `devices` firing
|
|
10
10
|
* pin for fleet/host/cloud strategies (applied at add/sync time).
|
|
11
11
|
*/
|
|
12
|
-
import { resolveHostStrategy } from './routines.js';
|
|
12
|
+
import { resolveHostStrategy } from './scheduling/routines.js';
|
|
13
13
|
import { machineId, normalizeHost } from './machine-id.js';
|
|
14
14
|
import { loadDevicesSync } from './devices/registry.js';
|
|
15
15
|
import { planFleetTargets } from './devices/fleet.js';
|
|
@@ -53,8 +53,14 @@ export function pickFleetDevice(_config, platform) {
|
|
|
53
53
|
/**
|
|
54
54
|
* Resolve where a fired job's body should execute.
|
|
55
55
|
* Throws a human-readable Error when placement cannot be satisfied.
|
|
56
|
+
*
|
|
57
|
+
* `host: 'auto'` under `hostStrategy: fleet` re-picks a healthy, signed-in,
|
|
58
|
+
* unloaded device AT EACH FIRE via the same picker `agents run --device auto`
|
|
59
|
+
* uses (`resolveDeviceAuto`), instead of `pickFleetDevice`'s
|
|
60
|
+
* first-online-by-name order. The decision is deliberately not baked in at add
|
|
61
|
+
* time — fleet health at fire time is the whole point (RUSH-2719).
|
|
56
62
|
*/
|
|
57
|
-
export function resolvePlacementTarget(config) {
|
|
63
|
+
export async function resolvePlacementTarget(config, deps = {}) {
|
|
58
64
|
const strategy = resolveHostStrategy(config);
|
|
59
65
|
switch (strategy) {
|
|
60
66
|
case 'local':
|
|
@@ -69,7 +75,18 @@ export function resolvePlacementTarget(config) {
|
|
|
69
75
|
return { mode: 'host', host: config.host };
|
|
70
76
|
}
|
|
71
77
|
case 'fleet': {
|
|
72
|
-
|
|
78
|
+
let picked;
|
|
79
|
+
if (config.host === 'auto') {
|
|
80
|
+
const resolveAuto = deps.resolveDeviceAuto
|
|
81
|
+
?? (async (agent) => (await import('./smart-launch.js')).resolveDeviceAuto(agent));
|
|
82
|
+
// resolveDeviceAuto fails loud on an empty/unhealthy pool — surface its
|
|
83
|
+
// message (it names each excluded device) instead of a generic one.
|
|
84
|
+
const plan = await resolveAuto(config.agent);
|
|
85
|
+
picked = plan.pickedDeviceKey;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
picked = pickFleetDevice(config);
|
|
89
|
+
}
|
|
73
90
|
if (!picked) {
|
|
74
91
|
throw new Error(`Routine '${config.name}' hostStrategy: fleet — no eligible online device to place the run`);
|
|
75
92
|
}
|
|
@@ -12,7 +12,7 @@
|
|
|
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, type JobSource } from './routines.js';
|
|
15
|
+
import { type JobConfig, type JobSource } 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. */
|
|
@@ -18,7 +18,7 @@ import * as path from 'path';
|
|
|
18
18
|
import * as yaml from 'yaml';
|
|
19
19
|
import { execFileSync } from 'child_process';
|
|
20
20
|
import { getProjectAgentsDir, getProjectRoutinesDir, ensureAgentsDir, } from './state.js';
|
|
21
|
-
import { readJob, writeJob, deleteJob, listJobs, validateJob, } from './routines.js';
|
|
21
|
+
import { readJob, writeJob, deleteJob, listJobs, validateJob, } from './scheduling/routines.js';
|
|
22
22
|
import { parseOwnerRepoFromRemote } from './registry.js';
|
|
23
23
|
import { listProjectDefs, projectDirsAbs } from './projects.js';
|
|
24
24
|
import { isSafeSegmentName } from './paths.js';
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { AgentId } from '../types.js';
|
|
10
10
|
import { type RulesLayer } from './compose.js';
|
|
11
|
+
export declare const COMPILED_HEADER_PROJECT: string;
|
|
11
12
|
/** Sidecar manifest recording source file hashes for staleness detection. */
|
|
12
13
|
export interface CompileManifest {
|
|
13
14
|
compiledAt: string;
|
|
@@ -11,7 +11,7 @@ import * as path from 'path';
|
|
|
11
11
|
import * as os from 'os';
|
|
12
12
|
import * as crypto from 'crypto';
|
|
13
13
|
import { AGENTS, agentConfigDirName } from '../agents.js';
|
|
14
|
-
import { getVersionsDir } from '../state.js';
|
|
14
|
+
import { getVersionsDir, isReservedAgentsDir } from '../state.js';
|
|
15
15
|
import { composeRules, composeRulesFromState } from './compose.js';
|
|
16
16
|
// Match `@path` preceded by start-of-string or whitespace. This avoids
|
|
17
17
|
// matching emails ("foo@bar.com") and the middle of words. The leading
|
|
@@ -20,7 +20,7 @@ const IMPORT_RE = /(^|\s)@(\S+)/g;
|
|
|
20
20
|
const MAX_DEPTH = 5;
|
|
21
21
|
const COMPILED_HEADER = '<!-- Auto-compiled by agents-cli from ~/.agents/rules/AGENTS.md + imports.\n' +
|
|
22
22
|
' Edit the source files under ~/.agents/rules/ — edits to this file will be overwritten on next sync. -->\n\n';
|
|
23
|
-
const COMPILED_HEADER_PROJECT = '<!-- Auto-compiled by agents-cli from .agents/rules/AGENTS.md + imports.\n' +
|
|
23
|
+
export const COMPILED_HEADER_PROJECT = '<!-- Auto-compiled by agents-cli from .agents/rules/AGENTS.md + imports.\n' +
|
|
24
24
|
' Edit the source files under .agents/rules/ — edits to this file will be overwritten on next sync. -->\n\n';
|
|
25
25
|
function expandTilde(p) {
|
|
26
26
|
if (p === '~')
|
|
@@ -230,6 +230,14 @@ export function compileRulesForProject(cwd, opts = {}) {
|
|
|
230
230
|
};
|
|
231
231
|
if (!fs.existsSync(projectRulesDir))
|
|
232
232
|
return empty;
|
|
233
|
+
// The user layer's own home satisfies the rules-dir test — ~/.agents/rules
|
|
234
|
+
// exists on every configured machine — which compiled $HOME as a "project",
|
|
235
|
+
// wrote ~/AGENTS.md (+ per-agent symlinks), and injected the whole ruleset
|
|
236
|
+
// into every session twice: once as global memory, once as "project" memory
|
|
237
|
+
// (RUSH-2725). Reserved roots (user layer, system layer, or a checkout of
|
|
238
|
+
// either canonical DotAgents repo) never compile as a project.
|
|
239
|
+
if (isReservedAgentsDir(path.join(cwd, '.agents')))
|
|
240
|
+
return empty;
|
|
233
241
|
let composed;
|
|
234
242
|
try {
|
|
235
243
|
// Tests inject `layers` to isolate from real ~/.agents-system / ~/.agents
|
package/dist/lib/rules/rules.js
CHANGED
|
@@ -10,7 +10,7 @@ import * as fs from 'fs';
|
|
|
10
10
|
import * as path from 'path';
|
|
11
11
|
import { AGENTS, ALL_AGENT_IDS, agentConfigDirName } from '../agents.js';
|
|
12
12
|
import { getResolvedRulesDir, getUserRulesDir, getProjectAgentsDir } from '../state.js';
|
|
13
|
-
import { getEffectiveHome } from '../versions.js';
|
|
13
|
+
import { getEffectiveHome } from '../installations/versions.js';
|
|
14
14
|
/**
|
|
15
15
|
* Central rules filename constant.
|
|
16
16
|
* All agents map to this file in ~/.agents/rules/, renamed per-agent when synced.
|
package/dist/lib/run-notify.js
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* does not need a helper to have been running at dispatch time either.
|
|
12
12
|
*
|
|
13
13
|
* Armed once via `process.on('exit')` so it covers every way the run command
|
|
14
|
-
* terminates — local spawn, `--
|
|
14
|
+
* terminates — local spawn, `--device` dispatch, `--lease` box, the error path —
|
|
15
15
|
* rather than being sprinkled over ~50 `process.exit` call sites where the next
|
|
16
16
|
* new exit path would silently miss it.
|
|
17
17
|
*/
|
package/dist/lib/runner.d.ts
CHANGED
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
* limit is detected mid-run (foreground `executeJob` only — detached daemon
|
|
14
14
|
* fires once with the pre-flight pick).
|
|
15
15
|
*/
|
|
16
|
-
import type { JobConfig, RunMeta } from './routines.js';
|
|
16
|
+
import type { JobConfig, RunMeta } from './scheduling/routines.js';
|
|
17
17
|
import { readMeta } from './state.js';
|
|
18
18
|
import type { AgentId } from './types.js';
|
|
19
19
|
import { type FallbackEntry } from './exec.js';
|
|
20
20
|
import type { LoopDeps } from './loop.js';
|
|
21
|
-
import { resolveRunVersion, resolveAccountVersion, type RotateResult } from './rotate.js';
|
|
21
|
+
import { resolveRunVersion, resolveAccountVersion, type RotateResult } from './accounting/rotate.js';
|
|
22
22
|
/** Result of a completed job execution, including metadata and optional report. */
|
|
23
23
|
export interface RunResult {
|
|
24
24
|
meta: RunMeta;
|
|
@@ -27,12 +27,43 @@ export interface RunResult {
|
|
|
27
27
|
export declare class RoutineAlreadyRunningError extends Error {
|
|
28
28
|
constructor(jobName: string, runId: string);
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Consecutive trailing `skipped`/`active_run` records — a routine that keeps
|
|
32
|
+
* being refused because a prior run "still owns" the slot. After the slot is
|
|
33
|
+
* released correctly on terminal states (see {@link activeRoutineRun}) this can
|
|
34
|
+
* only accumulate for a genuine long-overlap or a new wedge; either way it means
|
|
35
|
+
* the routine has stopped firing on schedule and should be surfaced, not left to
|
|
36
|
+
* pile up silently. `runs` is oldest→newest (listRuns sorts by run id).
|
|
37
|
+
*/
|
|
38
|
+
export declare function activeRunSkipStreak(runs: RunMeta[]): number;
|
|
39
|
+
/**
|
|
40
|
+
* The pid to stamp on a launcher's provisional active claim, or null when the
|
|
41
|
+
* launcher is this box's routines daemon.
|
|
42
|
+
*
|
|
43
|
+
* The claim pid exists so a launcher that dies between claiming the slot and
|
|
44
|
+
* spawning the child releases the slot quickly (`isPidOurs` goes false) instead
|
|
45
|
+
* of wedging it for the full timeout. That fast recovery only helps a SHORT-LIVED
|
|
46
|
+
* foreground launcher (`agents routines run`): the daemon never dies between
|
|
47
|
+
* claim and spawn, and recording ITS pid is actively harmful — the daemon
|
|
48
|
+
* outlives every run, so `isPidOurs` never goes false and a claim finalized to a
|
|
49
|
+
* terminal state before its child spawned kept the slot and drew
|
|
50
|
+
* `reapTerminalRoutineProcesses` at the daemon's own process group on every tick
|
|
51
|
+
* (RUSH-2640, requirement: never record the daemon's own pid as a run's pid). So
|
|
52
|
+
* the daemon records no claim pid; the timeout window bounds a daemon that
|
|
53
|
+
* crashes mid-claim instead.
|
|
54
|
+
*/
|
|
55
|
+
export declare function launcherClaimPid(): number | null;
|
|
30
56
|
/** How a routine attempt was triggered, plus the schedule slot it belongs to. */
|
|
31
57
|
export interface RoutineTrigger {
|
|
32
58
|
kind: NonNullable<RunMeta['triggerKind']>;
|
|
33
59
|
/** UTC fire time for a schedule/catchup attempt; keys the single-fire slot claim. */
|
|
34
60
|
scheduledFor?: Date | string;
|
|
35
61
|
}
|
|
62
|
+
/** A claimed attempt: the run id to use, plus the RunMeta fields to stamp on it. */
|
|
63
|
+
interface RoutineAttempt {
|
|
64
|
+
runId: string;
|
|
65
|
+
stamp: Partial<Pick<RunMeta, 'triggerKind' | 'scheduledFor' | 'project' | 'requestedCwd' | 'resolvedCwd'>>;
|
|
66
|
+
}
|
|
36
67
|
/**
|
|
37
68
|
* Working directory for a routine's LOCAL child, resolved from its explicit
|
|
38
69
|
* `project`/`cwd` execution anchor via {@link resolveJobExecutionContext} — never
|
|
@@ -95,6 +126,41 @@ export declare function pinJobBinary(cmd: string[], agent: AgentId, version: str
|
|
|
95
126
|
* Such commands must NOT be binary-pinned (pinning rewrites cmd[0] to the agent binary,
|
|
96
127
|
* producing a broken `<binary> run …`) and must not receive a version-pinned spawn env.
|
|
97
128
|
*/
|
|
129
|
+
/**
|
|
130
|
+
* Assert a routine's account can be dispatched to the resolved placement, BEFORE
|
|
131
|
+
* any off-box dispatch (placement is resolved before {@link resolveRoutineLaunch}),
|
|
132
|
+
* at the top of both the foreground and detached paths:
|
|
133
|
+
*
|
|
134
|
+
* - **native** account → rejected for host AND cloud: a native login is a
|
|
135
|
+
* device-local harness credential that cannot be forwarded off-box.
|
|
136
|
+
* - **provider** account + **cloud** → rejected (fail loud): the cloud dispatch
|
|
137
|
+
* has no secure way to inject a device-local provider bundle yet.
|
|
138
|
+
* - **provider** account + **host** → allowed: the host dispatch forwards the
|
|
139
|
+
* account NAME (the remote resolves its own local bundle — no secret copied).
|
|
140
|
+
*
|
|
141
|
+
* `account` is injectable so the guard is unit-tested for both modes without a
|
|
142
|
+
* registry or a real dispatch.
|
|
143
|
+
*/
|
|
144
|
+
export declare function assertRoutineAccountLocalForPlacement(config: Pick<JobConfig, 'name' | 'account'>, mode: 'host' | 'cloud', deps?: {
|
|
145
|
+
account?: import('./account-registry.js').UnifiedAccount | null;
|
|
146
|
+
readMeta?: typeof readMeta;
|
|
147
|
+
}): Promise<void>;
|
|
148
|
+
export declare function dispatchPlacedJob(config: JobConfig, target: import('./routines-placement.js').PlacementTarget, attempt: RoutineAttempt, deps?: {
|
|
149
|
+
account?: import('./account-registry.js').UnifiedAccount | null;
|
|
150
|
+
host?: typeof executeJobOnHost;
|
|
151
|
+
cloud?: typeof executeJobOnCloud;
|
|
152
|
+
}): Promise<RunResult | undefined>;
|
|
153
|
+
/**
|
|
154
|
+
* Build the options passed to `dispatchPromptToHost` for a host routine. Split
|
|
155
|
+
* out so the execution boundary is unit-testable: it MUST forward the routine's
|
|
156
|
+
* `account` by name (the remote resolves its own local bundle; no secret copied)
|
|
157
|
+
* — dropping it silently ran the remote under the wrong identity.
|
|
158
|
+
*/
|
|
159
|
+
export declare function buildHostDispatchOptions(config: JobConfig, ctx: {
|
|
160
|
+
remoteCwd: string | undefined;
|
|
161
|
+
runDir: string;
|
|
162
|
+
detached: boolean;
|
|
163
|
+
}): import('./hosts/run-target.js').HostPromptRun;
|
|
98
164
|
export declare function dispatchesViaAgentsRun(config: Pick<JobConfig, 'workflow' | 'resume'>): boolean;
|
|
99
165
|
/**
|
|
100
166
|
* Merge sandbox/base env with the canonical per-version exec env
|
|
@@ -103,6 +169,17 @@ export declare function dispatchesViaAgentsRun(config: Pick<JobConfig, 'workflow
|
|
|
103
169
|
*/
|
|
104
170
|
export declare function buildRoutineSpawnEnv(baseEnv: Record<string, string>, agent: AgentId, version: string | undefined, timezone?: string, overlayHome?: string): Record<string, string>;
|
|
105
171
|
export declare function executeJob(config: JobConfig, deps?: LoopDeps, trigger?: RoutineTrigger): Promise<RunResult>;
|
|
172
|
+
/**
|
|
173
|
+
* Dispatch a routine to the agent's native cloud provider (or the configured
|
|
174
|
+
* default). Writes a local run record with `cloudTaskId` so list/runs still
|
|
175
|
+
* work; does not wait for cloud completion on the detached path.
|
|
176
|
+
*/
|
|
177
|
+
declare function executeJobOnCloud(config: JobConfig, opts: {
|
|
178
|
+
detached: boolean;
|
|
179
|
+
}, attempt: RoutineAttempt): Promise<RunResult>;
|
|
180
|
+
declare function executeJobOnHost(config: JobConfig, opts: {
|
|
181
|
+
detached: boolean;
|
|
182
|
+
}, attempt: RoutineAttempt): Promise<RunResult>;
|
|
106
183
|
/**
|
|
107
184
|
* Optional lifecycle callbacks for a detached routine run. The daemon passes an
|
|
108
185
|
* `onFinish` that fires the branded finish/output notification (RUSH-2030) — it
|
|
@@ -141,3 +218,4 @@ export declare function inferFinalStatusFromLog(stdoutPath: string, agent: Agent
|
|
|
141
218
|
export declare function listLiveRoutineChildren(): number[];
|
|
142
219
|
/** Scan all runs marked "running" and finalize any whose process has exited. */
|
|
143
220
|
export declare function monitorRunningJobs(): void;
|
|
221
|
+
export {};
|