@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
|
@@ -2,9 +2,11 @@ import { type Command } from 'commander';
|
|
|
2
2
|
import { type ProjectDef } from '../lib/projects.js';
|
|
3
3
|
import type { SessionAgentId, SessionMeta, ViewMode } from '../lib/session/types.js';
|
|
4
4
|
import { type ActiveSession } from '../lib/session/active.js';
|
|
5
|
+
export { activeSessionProjectKey, backfillActiveRowsFromIndex, backfillActiveRowsFromMeta, isRunningLiveSession, serializeActiveSessionsForJson, serializeSessionsJson, type BackfillMeta } from '../lib/session/active.js';
|
|
6
|
+
import { loadLocalActiveSessions } from '../lib/session/session-cache.js';
|
|
5
7
|
import { gatherRemoteList, runOnPeer } from '../lib/session/remote-list.js';
|
|
6
8
|
import { type RemoteAgentsJsonParseResult } from '../lib/remote-agents-json.js';
|
|
7
|
-
import { type RunMeta } from '../lib/routines.js';
|
|
9
|
+
import { type RunMeta } from '../lib/scheduling/routines.js';
|
|
8
10
|
import { type PickedSession } from './sessions-picker.js';
|
|
9
11
|
import { type ComputerRunRow } from '../lib/computer/sessions-list.js';
|
|
10
12
|
import { type ToolSearchEnvelope, type ToolProgramCountEnvelope } from '../lib/session/tool-index.js';
|
|
@@ -70,7 +72,7 @@ interface SessionsOptions extends SessionFilterOptions {
|
|
|
70
72
|
/** Force local-only: skip the cross-machine SSH fan-out (both the default
|
|
71
73
|
* listing and --active). */
|
|
72
74
|
local?: boolean;
|
|
73
|
-
/** --device <target...> —
|
|
75
|
+
/** --device <target...> — values from the `--device` flag; resolves against the device registry. */
|
|
74
76
|
device?: string[];
|
|
75
77
|
/** --devices <target...> — plural alias for --device; a bare `all`/`fleet` value
|
|
76
78
|
* means "search the whole fleet" (already the default), so it never errors. */
|
|
@@ -142,19 +144,6 @@ export declare function formatActiveRowDescription(s: ActiveSession): string;
|
|
|
142
144
|
* can't be correlated back to a transcript on disk.
|
|
143
145
|
*/
|
|
144
146
|
export declare function indexActiveBySessionId(active: ActiveSession[]): Map<string, ActiveSession>;
|
|
145
|
-
/** The SessionMeta fields the live-row backfill reads — the enrichment a running process cannot report. */
|
|
146
|
-
export type BackfillMeta = Pick<SessionMeta, 'version' | 'timestamp' | 'label' | 'ticketId' | 'prUrl' | 'prNumber' | 'origin' | 'routineName'>;
|
|
147
|
-
/**
|
|
148
|
-
* Backfill display-only fields onto live rows from the indexed SessionMeta, by
|
|
149
|
-
* full session id (RUSH-2205). A running process reports no agent version, and a
|
|
150
|
-
* live orphan row usually carries no ticket/PR/label/start-time; the historical
|
|
151
|
-
* index does. Only a field the live row LACKS is filled — the live signal always
|
|
152
|
-
* wins when present. Pure (no I/O) so the join is unit-tested against fixtures;
|
|
153
|
-
* the DB read that builds `metaById` is the caller's concern.
|
|
154
|
-
*/
|
|
155
|
-
export declare function backfillActiveRowsFromMeta(sessions: ActiveSession[], metaById: Map<string, BackfillMeta>): void;
|
|
156
|
-
/** Add indexed display metadata to active rows for non-renderer consumers. */
|
|
157
|
-
export declare function backfillActiveRowsFromIndex(sessions: ActiveSession[]): void;
|
|
158
147
|
/**
|
|
159
148
|
* The live decoration for a listing row: a status glyph and the latest-turn
|
|
160
149
|
* preview, when the session is still running. `●` running / `◐` waiting on the
|
|
@@ -198,36 +187,6 @@ export declare function liveStatusWord(a: ActiveSession | undefined): string;
|
|
|
198
187
|
* stays excluded rather than inventing a human who can answer.
|
|
199
188
|
*/
|
|
200
189
|
export declare function isAwaitingUser(s: ActiveSession): boolean;
|
|
201
|
-
/**
|
|
202
|
-
* Whether a row belongs in an unqualified `--active` view (RUSH-2336) — the
|
|
203
|
-
* ONE canonical selector every bare-active surface shares: the CLI's grouped
|
|
204
|
-
* table and `--json` (`renderActiveSessions`), the interactive browser's
|
|
205
|
-
* `--active` filter ({@link applyFilters} in `sessions-browser.ts`), `focus`'s
|
|
206
|
-
* attach gate (`isAttachableLiveSession`), and the menubar snapshot
|
|
207
|
-
* ({@link computeMenubarSnapshot}).
|
|
208
|
-
*
|
|
209
|
-
* The live registry deliberately retains terminally-dead AND not-yet-started
|
|
210
|
-
* rows long enough for `--closed` / `--crashed` / `--queued` and recovery to
|
|
211
|
-
* find them. Presence in that registry therefore is not, by itself, evidence
|
|
212
|
-
* that a session is CURRENTLY active. Explicit lifecycle filters bypass this
|
|
213
|
-
* predicate and select those retained rows through {@link matchesLiveStatus}
|
|
214
|
-
* instead — this function only decides the unqualified default.
|
|
215
|
-
*
|
|
216
|
-
* - `queued` / `closed` / `crashed` are never active here: queued hasn't
|
|
217
|
-
* started yet, closed/crashed are unconditionally dead. All three stay
|
|
218
|
-
* reachable through their explicit filter.
|
|
219
|
-
* - A cloud row carries no local pid at all — it is active on the
|
|
220
|
-
* provider's own word (`cloudProvider` + `cloudTaskId`), never a
|
|
221
|
-
* fabricated pid.
|
|
222
|
-
* - Every other row is a real OS process (terminal/tmux/headless/team). It
|
|
223
|
-
* is active only when the row names the machine it runs on, carries a
|
|
224
|
-
* positive pid, AND has POSITIVELY verified that pid is alive
|
|
225
|
-
* (`pidAlive === true` — not merely "not known dead"). A live orphaned
|
|
226
|
-
* row, or a live-but-stuck abandoned row, still qualifies this way since
|
|
227
|
-
* both carry a genuinely alive pid; unknown liveness (an older peer's
|
|
228
|
-
* row, or a pid that could never be resolved) does not.
|
|
229
|
-
*/
|
|
230
|
-
export declare function isRunningLiveSession(s: ActiveSession): boolean;
|
|
231
190
|
/**
|
|
232
191
|
* The tracker/PR ref for a session's dedicated column: the ticket id when known,
|
|
233
192
|
* else `PR#<n>`, else empty. Pulled out of the trailing badge blob so refs align
|
|
@@ -236,26 +195,36 @@ export declare function isRunningLiveSession(s: ActiveSession): boolean;
|
|
|
236
195
|
export declare function ticketLabel(s: Pick<SessionMeta, 'ticketId' | 'prNumber'>): string;
|
|
237
196
|
export declare function linkTicketCell(s: Pick<SessionMeta, 'ticketId' | 'prNumber' | 'prUrl'>, label: string): string;
|
|
238
197
|
export declare function linkCwdCell(s: Pick<SessionMeta, 'cwd' | '_remote'>, label: string): string;
|
|
198
|
+
/**
|
|
199
|
+
* The single project/group key for an active session row (RUSH-2688). It is the
|
|
200
|
+
* ONE derivation every project-grouped consumer of `--active`/the menubar snapshot
|
|
201
|
+
* shares, so a session is bucketed the same way everywhere:
|
|
202
|
+
*
|
|
203
|
+
* - A real working dir → its `basename` — the same key SessionMeta derives (see
|
|
204
|
+
* discover.ts), so the active view and the history view join identically on
|
|
205
|
+
* (ticketId + project).
|
|
206
|
+
* - A row with NO local cwd (a cloud task, a provider-run job) → an explicit
|
|
207
|
+
* bucket keyed by context: `cloud` for a cloud row, else `other`.
|
|
208
|
+
*
|
|
209
|
+
* It never falls back to `kind` (the harness — 'codex', 'claude') or `machine`
|
|
210
|
+
* (the box it runs on): neither is a project, and letting either stand in for the
|
|
211
|
+
* key is exactly what leaked a Codex cloud task under a 'codex' group and a bogus
|
|
212
|
+
* machine label in the menubar. No fallback chain — one explicit bucket.
|
|
213
|
+
*/
|
|
239
214
|
/**
|
|
240
215
|
* The row shape `agents sessions --active --json` emits. RUSH-1981: a watcher
|
|
241
216
|
* joins active sessions on ticketId + project, but the raw ActiveSession nests
|
|
242
217
|
* the ticket (`ticket.id`) and carries no `project` at all — so a naive join
|
|
243
218
|
* silently drops every row. Emit both as flat, always-present top-level keys
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
219
|
+
* alongside the raw fields, so every active row is joinable. `project` is the
|
|
220
|
+
* canonical {@link activeSessionProjectKey} — basename(cwd), or an explicit
|
|
221
|
+
* `cloud`/`other` bucket for a row with no local cwd, never the harness/machine.
|
|
247
222
|
*
|
|
248
223
|
* `viewingIn` flattens to the same display string the row renderer prints —
|
|
249
224
|
* `'codium tab 3'` / `'detached'` / null — so a consumer can tell a watched
|
|
250
225
|
* session from an orphaned one (its terminal died, the agent is still running)
|
|
251
226
|
* without re-implementing the tmux client lookup.
|
|
252
227
|
*/
|
|
253
|
-
export declare function serializeActiveSessionsForJson(sessions: ActiveSession[]): Array<Omit<ActiveSession, 'viewingIn'> & {
|
|
254
|
-
ticketId: string | null;
|
|
255
|
-
project: string | null;
|
|
256
|
-
prLink: string | null;
|
|
257
|
-
viewingIn: string | null;
|
|
258
|
-
}>;
|
|
259
228
|
export interface SessionPickerJsonRow extends SessionMeta {
|
|
260
229
|
state: ActiveSession['status'] | 'inactive';
|
|
261
230
|
resumable: boolean;
|
|
@@ -351,7 +320,7 @@ export declare function groupSessionsByMachine(sessions: ActiveSession[], localM
|
|
|
351
320
|
*/
|
|
352
321
|
export declare function dedupeByMachineSession(sessions: ActiveSession[]): ActiveSession[];
|
|
353
322
|
/**
|
|
354
|
-
* Narrow a gathered live set to the machines an explicit `--
|
|
323
|
+
* Narrow a gathered live set to the machines an explicit `--device`
|
|
355
324
|
* scope named. The gather picks which boxes to ASK; this asserts what the answer
|
|
356
325
|
* may contain, and the two are not the same question: a host-dispatched run is
|
|
357
326
|
* reported by the box that dispatched it while executing somewhere else, so
|
|
@@ -378,7 +347,6 @@ export declare function mergeLocalFirst(sessions: SessionMeta[], localMachine: s
|
|
|
378
347
|
* newline. The single seam shared by the local `--json` path and the
|
|
379
348
|
* `--json --host` remote fan-out so both emit byte-identical row shapes.
|
|
380
349
|
*/
|
|
381
|
-
export declare function serializeSessionsJson(sessions: SessionMeta[]): string;
|
|
382
350
|
/** The intentionally small metadata contract emitted by `sessions --resolve`.
|
|
383
351
|
* It includes only launch identity needed to route/resume. Transcript paths,
|
|
384
352
|
* extracted plans, costs, and content stay on the machine that owns them. */
|
|
@@ -393,14 +361,14 @@ export declare function parseRemoteComputerSessionRows(stdout: string, machine:
|
|
|
393
361
|
export declare function gatherRemoteComputerSessionRows(hosts?: string[]): Promise<ComputerRunRow[]>;
|
|
394
362
|
/**
|
|
395
363
|
* Whether the local machine's sessions belong in an `--active` view. Local is
|
|
396
|
-
* included by default; an explicit `--
|
|
364
|
+
* included by default; an explicit `--device` list scopes the view to
|
|
397
365
|
* exactly those machines, so local is dropped unless it is itself named (by
|
|
398
366
|
* alias or `user@host`, matched on the normalized machine id). Exported for
|
|
399
367
|
* unit testing without touching SSH or the live process table.
|
|
400
368
|
*/
|
|
401
369
|
export declare function shouldIncludeLocal(hosts: string[] | undefined, self: string): boolean;
|
|
402
370
|
/**
|
|
403
|
-
* The peers to dial for an `--active` view. No `--
|
|
371
|
+
* The peers to dial for an `--active` view. No `--device` → `undefined`, which
|
|
404
372
|
* tells `gatherRemoteActive` to sweep the registered online devices. An
|
|
405
373
|
* explicit list → exactly those, minus this machine (its sessions come from the
|
|
406
374
|
* local seed, so dialing self would be a wasted SSH and a spurious "unreachable"
|
|
@@ -412,9 +380,9 @@ export declare function remoteHostsToDial(hosts: string[] | undefined, self: str
|
|
|
412
380
|
/**
|
|
413
381
|
* The fleet-wide live-session set behind every `--active` surface. Local sessions
|
|
414
382
|
* come from `getActiveSessions()` and (unless `--local`) the registered online
|
|
415
|
-
* devices from `ag devices` are folded in over SSH. An explicit `--
|
|
383
|
+
* devices from `ag devices` are folded in over SSH. An explicit `--device`
|
|
416
384
|
* list SCOPES the sweep to exactly those machines — the local machine is included
|
|
417
|
-
* only when it is itself named — so `--
|
|
385
|
+
* only when it is itself named — so `--device` is a filter, not an addition.
|
|
418
386
|
*
|
|
419
387
|
* This is the single gather: the static renderer AND the interactive browser both
|
|
420
388
|
* call it, so the browser can never disagree with `--active --json` about which
|
|
@@ -424,7 +392,7 @@ export declare function remoteHostsToDial(hosts: string[] | undefined, self: str
|
|
|
424
392
|
* RUSH-2062: default path is cache-first against the daemon-warmed shared
|
|
425
393
|
* snapshot (`session-cache.ts`). Menubar / Factory / watchdog / CLI share one
|
|
426
394
|
* warm result instead of each re-running the full SSH fan-out. `forceRefresh`
|
|
427
|
-
* (or `AGENTS_SESSIONS_FORCE_REFRESH=1`) re-gathers live; scoped `--
|
|
395
|
+
* (or `AGENTS_SESSIONS_FORCE_REFRESH=1`) re-gathers live; scoped `--device` lists
|
|
428
396
|
* always gather live so a filter never returns a wrong unscoped snapshot.
|
|
429
397
|
*/
|
|
430
398
|
export declare function gatherActiveSessions(opts?: {
|
|
@@ -434,6 +402,9 @@ export declare function gatherActiveSessions(opts?: {
|
|
|
434
402
|
}): Promise<{
|
|
435
403
|
sessions: ActiveSession[];
|
|
436
404
|
remoteDeviceCount: number;
|
|
405
|
+
/** Peer names that went unheard on this gather (RUSH-2507). Undefined when unknown (e.g. a cache hit). */
|
|
406
|
+
remoteSkipped?: string[];
|
|
407
|
+
remoteDiscoveryFailed?: boolean;
|
|
437
408
|
}>;
|
|
438
409
|
/** Apply the routine selector to enriched live rows for every non-browser active view. */
|
|
439
410
|
export declare function filterActiveSessionsByRoutine(sessions: ActiveSession[], routine: boolean | string | undefined): ActiveSession[];
|
|
@@ -445,8 +416,8 @@ export declare function requestedLiveStatuses(options: SessionsOptions): LiveSta
|
|
|
445
416
|
/**
|
|
446
417
|
* A bare interactive fleet listing — no query, no render/filter flag — that the
|
|
447
418
|
* `runSessionBrowser` picker can represent. The single predicate shared by the
|
|
448
|
-
* bare-browser branch and the `--
|
|
449
|
-
* when this holds, an explicit `--
|
|
419
|
+
* bare-browser branch and the `--device` early-return guard so they can't drift:
|
|
420
|
+
* when this holds, an explicit `--device` scope is folded into the
|
|
450
421
|
* browser (preview-rich, selectable) instead of the legacy per-host raw stream.
|
|
451
422
|
*/
|
|
452
423
|
export declare function isBareBrowserListing(options: SessionsOptions, query: string | undefined): boolean;
|
|
@@ -907,14 +878,51 @@ export declare function metadataResolveOutcome(localMatches: SessionMeta[], remo
|
|
|
907
878
|
sessions: SessionMeta[];
|
|
908
879
|
unreachable: string[];
|
|
909
880
|
}, selector: string): MetadataResolveOutcome;
|
|
910
|
-
/**
|
|
881
|
+
/** Injectable dependency for the live-registry cold-miss fallback (RUSH-2682). */
|
|
882
|
+
export type LiveMetadataDeps = {
|
|
883
|
+
loadActive?: typeof loadLocalActiveSessions;
|
|
884
|
+
};
|
|
885
|
+
/**
|
|
886
|
+
* Local metadata candidates for a selector: the indexed SQLite rows, plus — when
|
|
887
|
+
* an id-shaped selector misses the index entirely — the live-session registry
|
|
888
|
+
* (RUSH-2682).
|
|
889
|
+
*
|
|
890
|
+
* Indexing is lazy (it only runs inside `discoverSessions`), so a session THIS
|
|
891
|
+
* box just started is "running" in `agents sessions --active` minutes before its
|
|
892
|
+
* transcript reaches the local index. Every id resolver (`preview`, `resume`,
|
|
893
|
+
* `focus`, and the fan-out peer that answers `--resolve-safe-v1`) therefore
|
|
894
|
+
* consults the SAME live registry `--active` reads before declaring a running
|
|
895
|
+
* session non-existent. It reshapes process state the registry already computed;
|
|
896
|
+
* it parses no transcript and renders nothing. The live path is entered ONLY on a
|
|
897
|
+
* cold id miss, so an indexed hit keeps its richer row and keyword resolution is
|
|
898
|
+
* unchanged.
|
|
899
|
+
*/
|
|
900
|
+
export declare function computeLocalMetadataMatches(selector: string, scope: {
|
|
901
|
+
agent?: string;
|
|
902
|
+
project?: string;
|
|
903
|
+
local?: boolean;
|
|
904
|
+
hosts?: string[];
|
|
905
|
+
}, deps?: LiveMetadataDeps): Promise<SessionMeta[]>;
|
|
906
|
+
/**
|
|
907
|
+
* Resolve an id-shaped selector against the local live-session registry
|
|
908
|
+
* (RUSH-2682). Reads the daemon-warmed active snapshot first (cheap); if that
|
|
909
|
+
* snapshot predates a just-started session and misses, it forces ONE fresh
|
|
910
|
+
* gather before conceding, so a session started seconds ago resolves
|
|
911
|
+
* synchronously. Never throws — a degraded registry read yields no candidates,
|
|
912
|
+
* so the caller falls through to the ordinary not-found path.
|
|
913
|
+
*/
|
|
914
|
+
export declare function liveMetadataMatches(selector: string, scope: {
|
|
915
|
+
agent?: string;
|
|
916
|
+
project?: string;
|
|
917
|
+
}, self: string, deps?: LiveMetadataDeps): Promise<SessionMeta[]>;
|
|
918
|
+
/** Reusable local-first resolver for `agents run --resume` and `agents sessions resume`.
|
|
911
919
|
* Full UUIDs hit the local SQLite index without any SSH fan-out. */
|
|
912
920
|
export declare function resolveSessionMetadataValue(selector: string, scope?: {
|
|
913
921
|
agent?: string;
|
|
914
922
|
project?: string;
|
|
915
923
|
local?: boolean;
|
|
916
924
|
hosts?: string[];
|
|
917
|
-
}, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'>): Promise<MetadataResolveOutcome>;
|
|
925
|
+
}, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'> & LiveMetadataDeps): Promise<MetadataResolveOutcome>;
|
|
918
926
|
/** Resolve one selector to indexed metadata across the fleet without reading or
|
|
919
927
|
* rendering transcript events. A peer answering the parent sweep returns every
|
|
920
928
|
* local candidate; the parent performs the one logical-session uniqueness gate.
|
|
@@ -926,7 +934,7 @@ export declare function resolveSessionMetadata(selector: string, scope: {
|
|
|
926
934
|
project?: string;
|
|
927
935
|
local?: boolean;
|
|
928
936
|
hosts?: string[];
|
|
929
|
-
}, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'>): Promise<void>;
|
|
937
|
+
}, deps?: Pick<FleetResolveDeps, 'gatherRemoteList'> & LiveMetadataDeps): Promise<void>;
|
|
930
938
|
/**
|
|
931
939
|
* Locate a full session id or short id prefix across the online fleet and render it from the machine
|
|
932
940
|
* that holds it. The local disk already missed; this fans `sessions <id> --json
|
|
@@ -934,7 +942,7 @@ export declare function resolveSessionMetadata(selector: string, scope: {
|
|
|
934
942
|
* groups the rows to distinct machines, then:
|
|
935
943
|
*
|
|
936
944
|
* - exactly one logical session → delegate rendering to one peer via `runOnPeer`
|
|
937
|
-
* (its transcript and agent binary live there — a local `--
|
|
945
|
+
* (its transcript and agent binary live there — a local `--device` hop would
|
|
938
946
|
* re-discover locally and dead-end), returning `'rendered'`.
|
|
939
947
|
* - more than one logical session → print every full-id candidate with its
|
|
940
948
|
* machine labels, returning `{ kind: 'conflict' }`.
|
|
@@ -961,4 +969,3 @@ export type FleetResolveResult = {
|
|
|
961
969
|
export declare function resolveSessionAcrossFleet(query: string, mode: ViewMode, hosts?: string[], deps?: FleetResolveDeps): Promise<FleetResolveResult>;
|
|
962
970
|
/** Register the `agents sessions` command with all its options and help text. */
|
|
963
971
|
export declare function registerSessionsCommands(program: Command): void;
|
|
964
|
-
export {};
|