@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
package/dist/commands/inspect.js
CHANGED
|
@@ -17,7 +17,7 @@ import * as fs from 'fs';
|
|
|
17
17
|
import * as os from 'os';
|
|
18
18
|
import * as path from 'path';
|
|
19
19
|
import chalk from 'chalk';
|
|
20
|
-
import { truncate, termLink } from '../lib/format.js';
|
|
20
|
+
import { truncate, termLink, formatBytes } from '../lib/format.js';
|
|
21
21
|
import * as yaml from 'yaml';
|
|
22
22
|
import { AGENTS, getCliState, resolveAgentName } from '../lib/agents.js';
|
|
23
23
|
import { supports } from '../lib/capabilities.js';
|
|
@@ -25,13 +25,13 @@ import { resolveConfiguredModel } from '../lib/models.js';
|
|
|
25
25
|
import { getAgentModesCatalog } from '../lib/agent-modes.js';
|
|
26
26
|
import { resolveSingleAgentTarget, AgentSpecError } from '../lib/agent-spec/index.js';
|
|
27
27
|
import { readMeta, getUserAgentsDir, getSystemAgentsDir, getProjectAgentsDir, getEnabledExtraRepos, } from '../lib/state.js';
|
|
28
|
-
import { getVersionHomePath, isVersionIsolated, getIsolatedDefault, } from '../lib/versions.js';
|
|
28
|
+
import { getVersionHomePath, isVersionIsolated, getIsolatedDefault, } from '../lib/installations/versions.js';
|
|
29
29
|
import { getShimsDir, getVersionedAliasPath } from '../lib/shims.js';
|
|
30
30
|
import { getAgentResources, isDirectoryDoc, listResources, } from '../lib/resources.js';
|
|
31
31
|
import { listHookEntriesFromDir } from '../lib/hooks.js';
|
|
32
32
|
import { getResourceInventory } from '../lib/resource-inventory.js';
|
|
33
33
|
import { listMcpServerConfigs, discoverMcpConfigsFromRepo } from '../lib/mcp.js';
|
|
34
|
-
import { discoverPlugins, discoverPluginsInDir, pluginResourceGroups, inspectPluginCapabilities, pluginCapabilityLabels } from '../lib/plugins.js';
|
|
34
|
+
import { discoverPlugins, discoverPluginsInDir, pluginResourceGroups, inspectPluginCapabilities, pluginCapabilityLabels } from '../lib/plugins/plugins.js';
|
|
35
35
|
import { showResourceList } from './resource-view.js';
|
|
36
36
|
import { PLUGIN_GROUP_COLORS } from './plugins.js';
|
|
37
37
|
import { isInteractiveTerminal } from './utils.js';
|
|
@@ -39,7 +39,7 @@ import { countSessionsInScope } from '../lib/session/discover.js';
|
|
|
39
39
|
import { isSessionTrackedAgent } from '../lib/session/types.js';
|
|
40
40
|
import { damerauLevenshtein } from '../lib/fuzzy.js';
|
|
41
41
|
import { terminalWidth, truncateToWidth, stringWidth, stripAnsi } from '../lib/session/width.js';
|
|
42
|
-
import { readJobFileResult, getJobRunsDir, readRunMeta, isOneShotRoutine, isPastOneShotRoutine, listJobs, } from '../lib/routines.js';
|
|
42
|
+
import { readJobFileResult, getJobRunsDir, readRunMeta, isOneShotRoutine, isPastOneShotRoutine, listJobs, } from '../lib/scheduling/routines.js';
|
|
43
43
|
import { routineDeviceIndex, currentRoutineDevice, routineEnabledOnThisDevice, } from '../lib/routine-activation.js';
|
|
44
44
|
import { humanizeCron } from '../lib/routines-format.js';
|
|
45
45
|
/** Resource kinds the inspect command can drill into. */
|
|
@@ -764,18 +764,6 @@ function itemsSize(items) {
|
|
|
764
764
|
}
|
|
765
765
|
return { bytes, files };
|
|
766
766
|
}
|
|
767
|
-
/** Human byte size: "84 KB", "3.1 MB". */
|
|
768
|
-
export function formatBytes(n) {
|
|
769
|
-
if (n < 1024)
|
|
770
|
-
return `${n} B`;
|
|
771
|
-
const units = ['KB', 'MB', 'GB', 'TB'];
|
|
772
|
-
let v = n / 1024, i = 0;
|
|
773
|
-
while (v >= 1024 && i < units.length - 1) {
|
|
774
|
-
v /= 1024;
|
|
775
|
-
i++;
|
|
776
|
-
}
|
|
777
|
-
return `${v >= 10 ? Math.round(v) : v.toFixed(1)} ${units[i]}`;
|
|
778
|
-
}
|
|
779
767
|
/** Parse the repo's own agents.yaml into the version pins + run strategies it declares. */
|
|
780
768
|
export function repoManifestSummary(root) {
|
|
781
769
|
let parsed;
|
package/dist/commands/logs.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `agents logs` — unified, discoverable run-log viewer + audit trail.
|
|
3
3
|
*
|
|
4
4
|
* Resolves a run across two substrates and shows (or `-f` follows) its log:
|
|
5
|
-
* - host-dispatch tasks (`agents run --
|
|
5
|
+
* - host-dispatch tasks (`agents run --device`) → combined-stdout log, offset-tailed
|
|
6
6
|
* - sessions (the local index) → transcript, tailed via the sessions tailer
|
|
7
7
|
*
|
|
8
8
|
* Subcommands:
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* transcript / raw stdout is opt-in behind `--full` (alias `-m/--markdown`).
|
|
15
15
|
*
|
|
16
16
|
* `[id]`/`--session` load directly (host task tried first, then session). With no
|
|
17
|
-
* id, `--
|
|
17
|
+
* id, `--device`/`--agent`/`--version` filter a merged candidate list; one match is
|
|
18
18
|
* shown, several open the fuzzy picker (or, non-TTY, print the list).
|
|
19
19
|
*
|
|
20
20
|
* Additive: `agents devices ps`/`stop` and `agents sessions tail` are unchanged and
|
package/dist/commands/logs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `agents logs` — unified, discoverable run-log viewer + audit trail.
|
|
3
3
|
*
|
|
4
4
|
* Resolves a run across two substrates and shows (or `-f` follows) its log:
|
|
5
|
-
* - host-dispatch tasks (`agents run --
|
|
5
|
+
* - host-dispatch tasks (`agents run --device`) → combined-stdout log, offset-tailed
|
|
6
6
|
* - sessions (the local index) → transcript, tailed via the sessions tailer
|
|
7
7
|
*
|
|
8
8
|
* Subcommands:
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* transcript / raw stdout is opt-in behind `--full` (alias `-m/--markdown`).
|
|
15
15
|
*
|
|
16
16
|
* `[id]`/`--session` load directly (host task tried first, then session). With no
|
|
17
|
-
* id, `--
|
|
17
|
+
* id, `--device`/`--agent`/`--version` filter a merged candidate list; one match is
|
|
18
18
|
* shown, several open the fuzzy picker (or, non-TTY, print the list).
|
|
19
19
|
*
|
|
20
20
|
* Additive: `agents devices ps`/`stop` and `agents sessions tail` are unchanged and
|
|
@@ -27,7 +27,7 @@ import { streamSessionTail, isTailable } from './sessions-tail.js';
|
|
|
27
27
|
import { showHostTaskLog, hostTaskLogJson } from '../lib/hosts/logs.js';
|
|
28
28
|
import { listTasks } from '../lib/hosts/tasks.js';
|
|
29
29
|
import { itemPicker } from '../lib/picker.js';
|
|
30
|
-
import { stats, getLogsPath, rotate, } from '../lib/events.js';
|
|
30
|
+
import { stats, getLogsPath, rotate, } from '../lib/feed/events.js';
|
|
31
31
|
import { addEventsReadOptions, runEventsCommand } from './events.js';
|
|
32
32
|
/** Compact one-line label used by both the picker and the non-TTY list. */
|
|
33
33
|
function candidateLabel(c) {
|
|
@@ -119,22 +119,22 @@ async function runLogs(id, opts) {
|
|
|
119
119
|
const { agent, version } = parseAgentFilter(opts.agent);
|
|
120
120
|
const wantVersion = opts.version ?? version;
|
|
121
121
|
// Host tasks carry no session-index metadata; sessions carry no host tag.
|
|
122
|
-
// So --
|
|
122
|
+
// So --device scopes to dispatched tasks, and --version to sessions.
|
|
123
123
|
const candidates = [];
|
|
124
124
|
let tasks = listTasks();
|
|
125
|
-
if (opts.
|
|
126
|
-
tasks = tasks.filter((t) => t.host === opts.
|
|
125
|
+
if (opts.device)
|
|
126
|
+
tasks = tasks.filter((t) => t.host === opts.device);
|
|
127
127
|
if (agent)
|
|
128
128
|
tasks = tasks.filter((t) => t.agent === agent);
|
|
129
129
|
for (const t of tasks)
|
|
130
130
|
candidates.push({ kind: 'task', task: t });
|
|
131
|
-
if (!opts.
|
|
131
|
+
if (!opts.device) {
|
|
132
132
|
const sessions = await discoverSessions({ agent, version: wantVersion, limit: 50 });
|
|
133
133
|
for (const s of sessions)
|
|
134
134
|
candidates.push({ kind: 'session', session: s });
|
|
135
135
|
}
|
|
136
136
|
if (candidates.length === 0) {
|
|
137
|
-
console.error(chalk.yellow('No matching runs. Dispatch one: agents run <agent> "<task>" [--
|
|
137
|
+
console.error(chalk.yellow('No matching runs. Dispatch one: agents run <agent> "<task>" [--device <name>]'));
|
|
138
138
|
process.exit(1);
|
|
139
139
|
}
|
|
140
140
|
if (candidates.length === 1) {
|
|
@@ -252,7 +252,7 @@ export function registerLogsCommand(program) {
|
|
|
252
252
|
const logsCmd = program
|
|
253
253
|
.command('logs [id]')
|
|
254
254
|
.description('Show a run log, audit trail, or stats. Subcommands: audit, stats, rotate.')
|
|
255
|
-
.option('--
|
|
255
|
+
.option('--device <name>', 'Scope to runs dispatched to a device')
|
|
256
256
|
.option('-a, --agent <agent>', 'Filter by agent (e.g. claude, codex@0.116.0)')
|
|
257
257
|
.option('--version <version>', 'Filter by agent version')
|
|
258
258
|
.option('--session <id>', 'Select a session/run by id (same as the positional id)')
|
package/dist/commands/mcp.js
CHANGED
|
@@ -3,13 +3,13 @@ import { truncate } from '../lib/format.js';
|
|
|
3
3
|
import ora from 'ora';
|
|
4
4
|
import { checkbox } from '@inquirer/prompts';
|
|
5
5
|
import { capableAgents, isCapable } from '../lib/capabilities.js';
|
|
6
|
-
import { emit } from '../lib/events.js';
|
|
6
|
+
import { emit } from '../lib/feed/events.js';
|
|
7
7
|
import { AGENTS, getAllCliStates, resolveAgentName, formatAgentError, registerMcpToTargets, unregisterMcpFromTargets, listInstalledMcpsWithScope, parseMcpConfig, getMcpConfigPathForHome, agentLabel, } from '../lib/agents.js';
|
|
8
8
|
import { readManifest, writeManifest, createDefaultManifest } from '../lib/manifest.js';
|
|
9
9
|
import { listMcpServerConfigs, discoverMcpConfigsFromRepo, installMcpConfigCentrally, isProjectMcpTrusted, trustProjectMcp, untrustProjectMcp, getMcpTrustStorePath, } from '../lib/mcp.js';
|
|
10
10
|
import { cloneRepo } from '../lib/git.js';
|
|
11
11
|
import { getMcpDir, getProjectAgentsDir } from '../lib/state.js';
|
|
12
|
-
import { getEffectiveHome, getGlobalDefault, listInstalledVersions, getVersionHomePath, resolveInstalledAgentTargets, resolveConfiguredAgentTargets, syncResourcesToVersion, } from '../lib/versions.js';
|
|
12
|
+
import { getEffectiveHome, getGlobalDefault, listInstalledVersions, getVersionHomePath, resolveInstalledAgentTargets, resolveConfiguredAgentTargets, syncResourcesToVersion, } from '../lib/installations/versions.js';
|
|
13
13
|
import { getUserAgentsDir } from '../lib/state.js';
|
|
14
14
|
import { isPromptCancelled, isInteractiveTerminal, requireInteractiveSelection, promptRemovalTargets, parseCommaSeparatedList, ensureAgentVersionsInstalled, resolveAgentTargetsAutoInstalling, resolveInstalledAgentTargetsAutoInstalling, VersionNotInstalledError, resolveListFilterOrExit, } from './utils.js';
|
|
15
15
|
import { showResourceList, buildTargetsSection, } from './resource-view.js';
|
package/dist/commands/memory.js
CHANGED
|
@@ -9,7 +9,7 @@ import * as fs from 'fs';
|
|
|
9
9
|
import { listMemoryFacts, addMemoryFact, removeMemoryFact, readMemoryFact, ensureUserMemoryDir, getUserMemoryDir, syncMemoryToVersionHome, } from '../lib/memory.js';
|
|
10
10
|
import { capableAgents } from '../lib/capabilities.js';
|
|
11
11
|
import { resolveAgentName, formatAgentError, agentLabel, ALL_AGENT_IDS } from '../lib/agents.js';
|
|
12
|
-
import { listInstalledVersions, getVersionHomePath, } from '../lib/versions.js';
|
|
12
|
+
import { listInstalledVersions, getVersionHomePath, } from '../lib/installations/versions.js';
|
|
13
13
|
import { supports } from '../lib/capabilities.js';
|
|
14
14
|
import { setHelpSections } from '../lib/help.js';
|
|
15
15
|
/** Register the `agents memory` command tree. */
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - parked headless (no rail) → `agents run --resume <id> -- <answer>`
|
|
8
8
|
* - cloud task → provider.message()
|
|
9
9
|
*
|
|
10
|
-
* Cross-host is handled one layer up: `--
|
|
10
|
+
* Cross-host is handled one layer up: `--device <h>` routes the whole command over
|
|
11
11
|
* ssh via `REMOTE_PASSTHROUGH` (see src/lib/hosts/passthrough.ts), so the box is
|
|
12
12
|
* written on the host that actually owns the agent. A caller who doesn't already
|
|
13
13
|
* know the host (a detached `agents run --device <h> --no-follow` dispatch) is
|
package/dist/commands/message.js
CHANGED
|
@@ -6,14 +6,14 @@ import { getActiveSessions, isSessionIdLiveOnProcessTable } from '../lib/session
|
|
|
6
6
|
import { getTaskById, updateTaskStatus } from '../lib/cloud/store.js';
|
|
7
7
|
import { resolveProvider } from '../lib/cloud/registry.js';
|
|
8
8
|
import { mailboxDir, enqueue } from '../lib/mailbox.js';
|
|
9
|
-
import { getAgentsInvocation } from '../lib/daemon.js';
|
|
9
|
+
import { getAgentsInvocation } from '../lib/daemon/daemon.js';
|
|
10
10
|
import { resolveTaskRef } from '../lib/hosts/tasks.js';
|
|
11
11
|
import { reconcileRunningTasks } from '../lib/hosts/reconcile.js';
|
|
12
12
|
import { resolveMessageTarget, mailboxIdForActiveSession, decideHostTaskRoute, } from '../lib/mailbox-target.js';
|
|
13
|
-
import { blockIdForSession, listBlocks, readBlock, recordAnswer, recordMessageReceipt, } from '../lib/feed.js';
|
|
13
|
+
import { blockIdForSession, listBlocks, readBlock, recordAnswer, recordMessageReceipt, } from '../lib/feed/feed.js';
|
|
14
14
|
import { verifyOperatorIdentity } from '../lib/operator.js';
|
|
15
15
|
import { resolveAnswerRoute, resumeArgv, } from '../lib/answer-router.js';
|
|
16
|
-
import { injectIntoTerminal } from '../lib/terminal/
|
|
16
|
+
import { injectIntoTerminal } from '../lib/terminal/index.js';
|
|
17
17
|
import { setHelpSections } from '../lib/help.js';
|
|
18
18
|
/** Find the still-open block addressed to `mailboxId`, if any. */
|
|
19
19
|
function findOpenBlockForMailbox(mailboxId) {
|
|
@@ -122,13 +122,13 @@ async function deliverViaResume(route, mailboxId) {
|
|
|
122
122
|
* while `agents devices ps` shows the same dispatch running with a live remote
|
|
123
123
|
* pid — the only recovery was kill-and-redispatch, losing all context.
|
|
124
124
|
*
|
|
125
|
-
* Re-spawns `agents message <remoteRef> <text> --
|
|
126
|
-
* `getAgentsInvocation`, so it re-enters via the SAME `--
|
|
127
|
-
* choke point (`lib/hosts/passthrough.ts`) any explicit `--
|
|
125
|
+
* Re-spawns `agents message <remoteRef> <text> --device <host>` through
|
|
126
|
+
* `getAgentsInvocation`, so it re-enters via the SAME `--device` REMOTE_PASSTHROUGH
|
|
127
|
+
* choke point (`lib/hosts/passthrough.ts`) any explicit `--device` caller uses,
|
|
128
128
|
* and resolves against the remote box's own active sessions.
|
|
129
129
|
*/
|
|
130
130
|
async function deliverViaHostReroute(route, text, opts) {
|
|
131
|
-
const argv = ['message', route.remoteRef, text, '--
|
|
131
|
+
const argv = ['message', route.remoteRef, text, '--device', route.host];
|
|
132
132
|
if (opts.from)
|
|
133
133
|
argv.push('--from', opts.from);
|
|
134
134
|
if (opts.as)
|
package/dist/commands/mine.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `agents mine` — white-label the CLI under your own name.
|
|
2
|
+
* `agents mine` helpers — white-label the CLI under your own name.
|
|
3
3
|
*
|
|
4
|
-
* `agents mine init <name>` mints a personally-named binary (e.g. `jack`) that
|
|
4
|
+
* `agents setup mine init <name>` mints a personally-named binary (e.g. `jack`) that
|
|
5
5
|
* IS agents-cli: a pure pass-through shim on PATH that runs every `agents` verb
|
|
6
6
|
* under the brand's name, with the brand's disabled commands and curated
|
|
7
|
-
* resource profile applied.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* (see setup-mine.ts), which delegates to `initBrand` here.
|
|
7
|
+
* resource profile applied. Manage verbs live under `agents setup mine`
|
|
8
|
+
* (`list` / `toggle` / `remove`); the bare `agents setup mine` wizard is the
|
|
9
|
+
* discoverable entry point (see setup-mine.ts).
|
|
11
10
|
*
|
|
12
11
|
* Storage: brand config in `meta.brands` (agents.yaml); the curated resource set
|
|
13
12
|
* reuses the resource-profile engine — each brand owns a preset named
|
|
@@ -15,7 +14,7 @@
|
|
|
15
14
|
*/
|
|
16
15
|
import type { Command } from 'commander';
|
|
17
16
|
/**
|
|
18
|
-
* Create (or re-mint) a brand. Shared by `mine init` and the `setup mine`
|
|
17
|
+
* Create (or re-mint) a brand. Shared by `setup mine init` and the `setup mine`
|
|
19
18
|
* wizard. Writes the shim, the brand config, and an empty resource preset.
|
|
20
19
|
*/
|
|
21
20
|
export declare function initBrand(name: string, opts?: {
|
|
@@ -24,4 +23,8 @@ export declare function initBrand(name: string, opts?: {
|
|
|
24
23
|
}): {
|
|
25
24
|
pathWarning: boolean;
|
|
26
25
|
};
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Register brand manage verbs (`init`/`list`/`toggle`/`remove`) under a parent
|
|
28
|
+
* Command — used by `agents setup mine`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function registerMineManageCommands(cmd: Command): void;
|
package/dist/commands/mine.js
CHANGED
|
@@ -2,10 +2,10 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { validateBrandName, listBrands, getBrandConfig, upsertBrand, removeBrand, brandPresetName, } from '../lib/brand.js';
|
|
3
3
|
import { createBrandShim, removeBrandShim, isShimsInPath } from '../lib/shims.js';
|
|
4
4
|
import { updateMeta } from '../lib/state.js';
|
|
5
|
-
import {
|
|
5
|
+
import { KNOWN_TOP_LEVEL_COMMANDS } from '../lib/startup/command-registry.js';
|
|
6
6
|
/** Built-in top-level command names, for validating `--disable <cmd>`. */
|
|
7
7
|
function knownCommandNames() {
|
|
8
|
-
const names = new Set(
|
|
8
|
+
const names = new Set(KNOWN_TOP_LEVEL_COMMANDS);
|
|
9
9
|
// Inline aliases registered outside COMMAND_LOADERS (see src/index.ts).
|
|
10
10
|
for (const n of ['perms', 'exec', 'jobs', 'cron', 'upgrade'])
|
|
11
11
|
names.add(n);
|
|
@@ -63,7 +63,7 @@ function editPreset(name, fn) {
|
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
|
-
* Create (or re-mint) a brand. Shared by `mine init` and the `setup mine`
|
|
66
|
+
* Create (or re-mint) a brand. Shared by `setup mine init` and the `setup mine`
|
|
67
67
|
* wizard. Writes the shim, the brand config, and an empty resource preset.
|
|
68
68
|
*/
|
|
69
69
|
export function initBrand(name, opts = {}) {
|
|
@@ -73,7 +73,7 @@ export function initBrand(name, opts = {}) {
|
|
|
73
73
|
process.exit(1);
|
|
74
74
|
}
|
|
75
75
|
if (getBrandConfig(name) && !opts.force) {
|
|
76
|
-
console.error(chalk.red(`Brand "${name}" already exists. Use --force to re-mint, or 'agents mine toggle ${name}'.`));
|
|
76
|
+
console.error(chalk.red(`Brand "${name}" already exists. Use --force to re-mint, or 'agents setup mine toggle ${name}'.`));
|
|
77
77
|
process.exit(1);
|
|
78
78
|
}
|
|
79
79
|
ensurePresetExists(name);
|
|
@@ -101,10 +101,11 @@ function printMinted(name, pathWarning) {
|
|
|
101
101
|
console.log(chalk.yellow(` note: the shims dir isn't on your PATH yet — run 'agents setup' or open a new shell.`));
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Register brand manage verbs (`init`/`list`/`toggle`/`remove`) under a parent
|
|
106
|
+
* Command — used by `agents setup mine`.
|
|
107
|
+
*/
|
|
108
|
+
export function registerMineManageCommands(cmd) {
|
|
108
109
|
cmd
|
|
109
110
|
.command('init <name>')
|
|
110
111
|
.description('Mint your own branded CLI that runs every agents verb under <name>')
|
|
@@ -125,7 +126,7 @@ export function registerMineCommand(program) {
|
|
|
125
126
|
const brands = listBrands();
|
|
126
127
|
const entries = Object.entries(brands);
|
|
127
128
|
if (entries.length === 0) {
|
|
128
|
-
console.log(chalk.gray("No brands yet. Try: agents setup mine (or: agents mine init jack)"));
|
|
129
|
+
console.log(chalk.gray("No brands yet. Try: agents setup mine (or: agents setup mine init jack)"));
|
|
129
130
|
return;
|
|
130
131
|
}
|
|
131
132
|
const width = entries.reduce((m, [n]) => Math.max(m, n.length), 0);
|
|
@@ -147,7 +148,7 @@ export function registerMineCommand(program) {
|
|
|
147
148
|
.action((name, options) => {
|
|
148
149
|
const cfg = getBrandConfig(name);
|
|
149
150
|
if (!cfg) {
|
|
150
|
-
console.error(chalk.red(`No brand named "${name}". Create it with 'agents mine init ${name}'.`));
|
|
151
|
+
console.error(chalk.red(`No brand named "${name}". Create it with 'agents setup mine init ${name}'.`));
|
|
151
152
|
process.exit(1);
|
|
152
153
|
}
|
|
153
154
|
// Built-in command toggles → brand.disabledCommands.
|
package/dist/commands/models.js
CHANGED
|
@@ -9,7 +9,7 @@ import chalk from 'chalk';
|
|
|
9
9
|
import * as fs from 'fs';
|
|
10
10
|
import { homeDir } from '../lib/platform/index.js';
|
|
11
11
|
import { resolveAgentName, formatAgentError, agentLabel, } from '../lib/agents.js';
|
|
12
|
-
import { listInstalledVersions, getGlobalDefault, resolveVersion, resolveVersionAlias } from '../lib/versions.js';
|
|
12
|
+
import { listInstalledVersions, getGlobalDefault, resolveVersion, resolveVersionAlias } from '../lib/installations/versions.js';
|
|
13
13
|
import { getModelCatalog, locateModelSource } from '../lib/models.js';
|
|
14
14
|
import { resolveTierMap, MODEL_TIERS } from '../lib/model-tiers.js';
|
|
15
15
|
import { setTierOverride, clearTierOverride, listTierOverrides } from '../lib/model-tier-overrides.js';
|
package/dist/commands/modes.js
CHANGED
|
@@ -11,7 +11,7 @@ import chalk from 'chalk';
|
|
|
11
11
|
import { AGENTS, ALL_AGENT_IDS, agentLabel, formatAgentError, resolveAgentName, } from '../lib/agents.js';
|
|
12
12
|
import { formatModeFlags, getAgentModesCatalog, } from '../lib/agent-modes.js';
|
|
13
13
|
import { setHelpSections } from '../lib/help.js';
|
|
14
|
-
import { getGlobalDefault, listInstalledVersions, resolveVersion, resolveVersionAlias } from '../lib/versions.js';
|
|
14
|
+
import { getGlobalDefault, listInstalledVersions, resolveVersion, resolveVersionAlias } from '../lib/installations/versions.js';
|
|
15
15
|
/** Agents that show in the no-arg overview (skip hard-deprecated). */
|
|
16
16
|
const MODE_AGENTS = ALL_AGENT_IDS.filter((id) => !AGENTS[id].deprecated?.hard);
|
|
17
17
|
/** Register `agents modes [agent[@version]]`. */
|
|
@@ -11,14 +11,14 @@ import chalk from 'chalk';
|
|
|
11
11
|
import * as fs from 'fs';
|
|
12
12
|
import * as path from 'path';
|
|
13
13
|
import * as yaml from 'yaml';
|
|
14
|
-
import { isDaemonRunning, signalDaemonReload, startDaemon, } from '../lib/daemon.js';
|
|
14
|
+
import { isDaemonRunning, signalDaemonReload, startDaemon, } from '../lib/daemon/daemon.js';
|
|
15
15
|
import { findDuplicateMonitor, monitorFingerprint } from '../lib/monitors/fingerprint.js';
|
|
16
16
|
import { gatherFleetMonitors, NO_MONITOR_FANOUT_ENV } from '../lib/monitors/remote.js';
|
|
17
17
|
import { listMonitors, readMonitor, writeMonitor, deleteMonitor, setMonitorEnabled, getMonitorPath, validateMonitor, monitorRunsOnThisDevice, parseInterval, } from '../lib/monitors/config.js';
|
|
18
18
|
import { formatRelativeTime } from '../lib/session/relative-time.js';
|
|
19
19
|
import { evaluateMonitorOnce, POLL_SOURCE_TYPES } from '../lib/monitors/engine.js';
|
|
20
|
-
import { listFires, readState, readLiveness } from '../lib/monitors/state.js';
|
|
21
|
-
import { listRuns, getLatestRun, getRunDir } from '../lib/routines.js';
|
|
20
|
+
import { listFires, readState, readLiveness, resolveFireOutcome } from '../lib/monitors/state.js';
|
|
21
|
+
import { listRuns, getLatestRun, getRunDir } from '../lib/scheduling/routines.js';
|
|
22
22
|
import { getMonitorsDir } from '../lib/state.js';
|
|
23
23
|
import { IS_WINDOWS } from '../lib/platform/index.js';
|
|
24
24
|
import { safeJoin } from '../lib/paths.js';
|
|
@@ -452,6 +452,7 @@ export function registerMonitorsCommands(program) {
|
|
|
452
452
|
.option('--device <name>', 'OWNER (not body placement) — the single machine that evaluates + fires (exactly-once). See docs/concepts.md#placement.')
|
|
453
453
|
.option('--devices <list>', 'Allowlist (comma-separated): each device fires independently')
|
|
454
454
|
.option('--run-on <host>', 'BODY placement — execute the ACTION on this machine over SSH (same idea as run --where device:<host>)')
|
|
455
|
+
.option('--cwd <path>', "Working directory for --run, home-relative or ~/… (default: the execution target's home)")
|
|
455
456
|
.option('--rate-limit <spec>', 'Auto-pause if it fires more than N/<interval> (e.g. 5/1m)')
|
|
456
457
|
.option('--disabled', 'Create the monitor paused (enable later with resume)')
|
|
457
458
|
.option('--force', 'Overwrite a same-named monitor, or add one that duplicates an existing watcher')
|
|
@@ -536,6 +537,7 @@ export function registerMonitorsCommands(program) {
|
|
|
536
537
|
...(device ? { device } : {}),
|
|
537
538
|
...(devices ? { devices } : {}),
|
|
538
539
|
...(options.runOn ? { runOn: options.runOn } : {}),
|
|
540
|
+
...(options.cwd ? { cwd: options.cwd } : {}),
|
|
539
541
|
...(rateLimit ? { rateLimit } : {}),
|
|
540
542
|
};
|
|
541
543
|
const errors = validateMonitor(config);
|
|
@@ -669,7 +671,9 @@ export function registerMonitorsCommands(program) {
|
|
|
669
671
|
if (recentFires.length > 0) {
|
|
670
672
|
console.log(chalk.bold('\nRecent fires'));
|
|
671
673
|
for (const f of recentFires) {
|
|
672
|
-
|
|
674
|
+
// Reconciled against the run's real status — see `runs`, above (RUSH-2690).
|
|
675
|
+
const { ok } = resolveFireOutcome(name, f);
|
|
676
|
+
console.log(` ${chalk.gray(f.firedAt)} ${f.action ?? '?'} ${ok ? chalk.green('ok') : chalk.red('failed')}`);
|
|
673
677
|
}
|
|
674
678
|
}
|
|
675
679
|
});
|
|
@@ -843,9 +847,22 @@ export function registerMonitorsCommands(program) {
|
|
|
843
847
|
}
|
|
844
848
|
console.log(chalk.bold(`Fire history: ${name}\n`));
|
|
845
849
|
for (const f of fires.slice(-20)) {
|
|
846
|
-
|
|
850
|
+
// Reconcile against the run's REAL, current status (RUSH-2690) rather
|
|
851
|
+
// than trusting the frozen `ok` written at fire time — `dispatchAction`
|
|
852
|
+
// only sees a synchronous 'running' snapshot before the run has
|
|
853
|
+
// actually settled, so a run that later fails/times out/never produces
|
|
854
|
+
// output would otherwise read `ok` here forever while `agents monitors
|
|
855
|
+
// logs` (which reads the run record fresh) already shows the truth.
|
|
856
|
+
const { ok, runStatus } = resolveFireOutcome(name, f);
|
|
857
|
+
const outcome = ok ? chalk.green('ok') : chalk.red('failed');
|
|
858
|
+
// Surface the divergence explicitly when the frozen write disagreed
|
|
859
|
+
// with the reconciled read — the exact "fire says ok, run says
|
|
860
|
+
// otherwise" symptom RUSH-2690 reported.
|
|
861
|
+
const corrected = f.ok !== false && !ok && runStatus
|
|
862
|
+
? chalk.yellow(` (run ${runStatus})`)
|
|
863
|
+
: '';
|
|
847
864
|
const runRef = f.runId ? chalk.gray(` run ${f.runId}`) : '';
|
|
848
|
-
console.log(` ${f.firedAt} ${(f.action ?? '?').padEnd(12)} ${outcome}${runRef}`);
|
|
865
|
+
console.log(` ${f.firedAt} ${(f.action ?? '?').padEnd(12)} ${outcome}${corrected}${runRef}`);
|
|
849
866
|
console.log(chalk.gray(` ${f.summary.slice(0, 100)}`));
|
|
850
867
|
}
|
|
851
868
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Output command — productivity: token *burn* vs shipped *output*.
|
|
3
3
|
*
|
|
4
|
-
* `agents cost` answers "what did
|
|
5
|
-
* burn
|
|
6
|
-
*
|
|
7
|
-
* like $/PR and output-tokens/$. Pure
|
|
8
|
-
* telemetry — the same offline spirit as
|
|
4
|
+
* Nested as `agents insights output`. `agents insights cost` answers "what did
|
|
5
|
+
* we burn?" (dollars + duration). This joins that burn to what actually shipped —
|
|
6
|
+
* real generated (output) tokens plus PRs and commits across every git identity —
|
|
7
|
+
* so you can see burn-vs-output and ratios like $/PR and output-tokens/$. Pure
|
|
8
|
+
* SQLite + local git/gh, no server, no telemetry — the same offline spirit as cost.
|
|
9
9
|
*
|
|
10
10
|
* Why not just show `token_count`? Because that number sums cache-read/-write
|
|
11
11
|
* context re-counted every turn and is dominated by cheap re-reads (often ~100x
|
|
@@ -16,4 +16,5 @@
|
|
|
16
16
|
* over SSH and merges — one fleet-wide burn-vs-output view.
|
|
17
17
|
*/
|
|
18
18
|
import type { Command } from 'commander';
|
|
19
|
-
|
|
19
|
+
/** Register `agents insights output` under the insights parent. */
|
|
20
|
+
export declare function registerOutputCommand(insightsCmd: Command): void;
|
package/dist/commands/output.js
CHANGED
|
@@ -14,8 +14,9 @@ import { loadDevices, isControlDevice } from '../lib/devices/registry.js';
|
|
|
14
14
|
import { machineId } from '../lib/session/sync/config.js';
|
|
15
15
|
import { stripClixml } from '../lib/hosts/remote-cmd.js';
|
|
16
16
|
const execFileAsync = promisify(execFile);
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/** Register `agents insights output` under the insights parent. */
|
|
18
|
+
export function registerOutputCommand(insightsCmd) {
|
|
19
|
+
addHostOption(insightsCmd.command('output'))
|
|
19
20
|
.description('Productivity rollup — token burn vs shipped output (PRs, commits) across agents')
|
|
20
21
|
.option('--json', 'Output the rollup as JSON')
|
|
21
22
|
.option('--since <time>', 'Only sessions/commits newer than this: 1h, 24h, 7d, 4w, 1mo, 1y, or ISO date (default 7d)')
|
|
@@ -28,12 +29,12 @@ export function registerOutputCommand(program) {
|
|
|
28
29
|
.option('--pricing <scenario>', 'Cost scenario: actual (default, cache-discounted) or no-cache (cache read/write billed at the full input rate)')
|
|
29
30
|
.addHelpText('after', `
|
|
30
31
|
Examples:
|
|
31
|
-
agents output Last 7 days: burn, output tokens, PRs, commits, ratios
|
|
32
|
-
agents output --since 24h Last 24 hours
|
|
33
|
-
agents output --since 1mo Last month (units: 1h 24h 7d 4w 1mo 1y, or ISO date)
|
|
34
|
-
agents output --pricing no-cache Model the burn as if prompt caching were off
|
|
35
|
-
agents output --all-hosts Fleet-wide, folding in every online machine
|
|
36
|
-
agents output --by day --json Machine-readable daily burn/output rollup
|
|
32
|
+
agents insights output Last 7 days: burn, output tokens, PRs, commits, ratios
|
|
33
|
+
agents insights output --since 24h Last 24 hours
|
|
34
|
+
agents insights output --since 1mo Last month (units: 1h 24h 7d 4w 1mo 1y, or ISO date)
|
|
35
|
+
agents insights output --pricing no-cache Model the burn as if prompt caching were off
|
|
36
|
+
agents insights output --all-hosts Fleet-wide, folding in every online machine
|
|
37
|
+
agents insights output --by day --json Machine-readable daily burn/output rollup
|
|
37
38
|
|
|
38
39
|
Burn (cost) is computed offline from a versioned per-model price table (${PRICING_VERSION}).
|
|
39
40
|
Output tokens are the real generated tokens — NOT the cache-inflated total token count.
|
|
@@ -136,9 +137,9 @@ async function computeLocalPayload(options, includePrs) {
|
|
|
136
137
|
uncostedAgents: groupBy === 'agent' ? breakdown.filter(r => r.costUsd === 0).map(r => r.key) : [],
|
|
137
138
|
};
|
|
138
139
|
}
|
|
139
|
-
/** Fetch one remote device's payload by re-invoking `agents output --json --
|
|
140
|
+
/** Fetch one remote device's payload by re-invoking `agents insights output --json --device <name>`. */
|
|
140
141
|
async function fetchRemotePayload(device, options) {
|
|
141
|
-
const args = ['output', '--json', '--no-prs', '--
|
|
142
|
+
const args = ['insights', 'output', '--json', '--no-prs', '--device', device, '--since', options.since ?? '7d'];
|
|
142
143
|
if (options.by)
|
|
143
144
|
args.push('--by', options.by);
|
|
144
145
|
if (options.reposDir)
|
|
@@ -14,12 +14,12 @@ import { DEFAULT_REGISTRIES } from '../lib/types.js';
|
|
|
14
14
|
import { getRegistries, setRegistry, removeRegistry, search as searchRegistries, resolvePackage, validatedNpmSpec, validatedPyPISpec, verifySkillIntegrity, } from '../lib/registry.js';
|
|
15
15
|
import { cloneRepo } from '../lib/git.js';
|
|
16
16
|
import { discoverCommands, resolveCommandSource, installCommand, installCommandCentrally, } from '../lib/commands.js';
|
|
17
|
-
import { discoverSkillsFromRepo, installSkill, installSkillCentrally, } from '../lib/skills.js';
|
|
17
|
+
import { discoverSkillsFromRepo, installSkill, installSkillCentrally, } from '../lib/plugins/skills.js';
|
|
18
18
|
import { discoverHooksFromRepo, installHooks, installHooksCentrally, } from '../lib/hooks.js';
|
|
19
19
|
import { discoverWorkflowsFromRepo, installWorkflowCentrally, } from '../lib/workflows.js';
|
|
20
20
|
import { discoverSubagentsFromRepo, installSubagentCentrally, } from '../lib/subagents.js';
|
|
21
21
|
import { discoverPermissionsFromRepo, installPermissionSet, } from '../lib/permissions.js';
|
|
22
|
-
import { listInstalledVersions, resolveConfiguredAgentTargets, syncResourcesToVersion, } from '../lib/versions.js';
|
|
22
|
+
import { listInstalledVersions, resolveConfiguredAgentTargets, syncResourcesToVersion, } from '../lib/installations/versions.js';
|
|
23
23
|
import { formatPath, isInteractiveTerminal, isPromptCancelled, parseCommaSeparatedList, requireDestructiveArg, requireInteractiveSelection, resolveInstalledAgentTargetsAutoInstalling, } from './utils.js';
|
|
24
24
|
import { itemPicker } from '../lib/picker.js';
|
|
25
25
|
import { registerMcpCommandToTargets, discoverMcpConfigsFromRepo, installMcpConfigCentrally, } from '../lib/mcp.js';
|
|
@@ -369,8 +369,8 @@ delegate to the same underlying installers.
|
|
|
369
369
|
spinner.stop();
|
|
370
370
|
const spec = resolved.pluginSpec ?? resolved.source;
|
|
371
371
|
console.log(chalk.gray(`Installing plugin from: ${spec}`));
|
|
372
|
-
const { installPlugin, getPlugin, inspectPluginCapabilities, pluginCapabilityLabels, parseInstallSpec, checkPluginDependencies, hasPluginExecSurfaces, pluginSupportsAgent, syncPluginToVersion, pluginResourceGroups, } = await import('../lib/plugins.js');
|
|
373
|
-
const { listInstalledVersions, getGlobalDefault, getVersionHomePath, syncResourcesToVersion } = await import('../lib/versions.js');
|
|
372
|
+
const { installPlugin, getPlugin, inspectPluginCapabilities, pluginCapabilityLabels, parseInstallSpec, checkPluginDependencies, hasPluginExecSurfaces, pluginSupportsAgent, syncPluginToVersion, pluginResourceGroups, } = await import('../lib/plugins/plugins.js');
|
|
373
|
+
const { listInstalledVersions, getGlobalDefault, getVersionHomePath, syncResourcesToVersion } = await import('../lib/installations/versions.js');
|
|
374
374
|
const { agentLabel } = await import('../lib/agents.js');
|
|
375
375
|
let name;
|
|
376
376
|
let root;
|
package/dist/commands/perf.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import chalk from 'chalk';
|
|
15
15
|
import { aggregateSamples, perfDbPath, } from '../lib/perf/db.js';
|
|
16
16
|
import { formatMs, formatCacheColumn, DEFAULT_SLOW_HOOK_WARN_MS, loadHookFireEvents, aggregateHookProfile, } from '../lib/hooks/profile.js';
|
|
17
|
-
import { query } from '../lib/events.js';
|
|
17
|
+
import { query } from '../lib/feed/events.js';
|
|
18
18
|
import { detectRepeatedGuardBlocks } from '../lib/friction-heuristics.js';
|
|
19
19
|
function parseDays(raw) {
|
|
20
20
|
const n = parseInt(raw ?? '7', 10);
|