@phnx-labs/agents-cli 1.22.35 → 1.22.38
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 +708 -2
- package/README.md +83 -43
- package/dist/bin/agents +0 -0
- package/dist/bootstrap.d.ts +15 -0
- package/dist/bootstrap.js +1212 -0
- package/dist/commands/accounts.d.ts +4 -11
- package/dist/commands/accounts.js +159 -27
- package/dist/commands/artifacts-setup.d.ts +53 -0
- package/dist/commands/artifacts-setup.js +161 -0
- package/dist/commands/artifacts.d.ts +18 -0
- package/dist/commands/artifacts.js +58 -0
- package/dist/commands/attach.js +17 -4
- package/dist/commands/audit.d.ts +8 -8
- package/dist/commands/audit.js +57 -47
- package/dist/commands/browser.js +17 -11
- package/dist/commands/cloud.js +1 -1
- package/dist/commands/commands.js +0 -11
- package/dist/commands/computer-actions.js +33 -0
- package/dist/commands/computer-sessions-picker.d.ts +21 -0
- package/dist/commands/computer-sessions-picker.js +141 -0
- package/dist/commands/computer.d.ts +16 -0
- package/dist/commands/computer.js +37 -0
- package/dist/commands/config.d.ts +17 -0
- package/dist/commands/config.js +401 -0
- package/dist/commands/cp.d.ts +84 -0
- package/dist/commands/cp.js +231 -0
- package/dist/commands/daemon.js +243 -14
- package/dist/commands/detach-core.d.ts +1 -1
- package/dist/commands/detach-core.js +12 -2
- package/dist/commands/detach.js +1 -1
- package/dist/commands/doctor.js +64 -5
- package/dist/commands/events.d.ts +24 -12
- package/dist/commands/events.js +144 -28
- package/dist/commands/exec.js +86 -42
- package/dist/commands/feed.d.ts +1 -1
- package/dist/commands/feed.js +16 -8
- package/dist/commands/focus.d.ts +33 -1
- package/dist/commands/focus.js +177 -17
- package/dist/commands/funnel.d.ts +1 -1
- package/dist/commands/go.js +9 -8
- package/dist/commands/harness-wizard.d.ts +1 -0
- package/dist/commands/harness-wizard.js +18 -20
- package/dist/commands/harness.d.ts +2 -0
- package/dist/commands/harness.js +59 -26
- package/dist/commands/hooks.js +0 -11
- package/dist/commands/inspect.d.ts +94 -1
- package/dist/commands/inspect.js +866 -40
- package/dist/commands/lease.d.ts +4 -4
- package/dist/commands/lease.js +6 -6
- package/dist/commands/login.js +0 -13
- package/dist/commands/logs.d.ts +2 -2
- package/dist/commands/logs.js +2 -2
- package/dist/commands/mcp.js +7 -2
- package/dist/commands/memory.js +7 -2
- package/dist/commands/message.d.ts +1 -1
- package/dist/commands/message.js +37 -6
- package/dist/commands/models.js +71 -0
- package/dist/commands/monitors.d.ts +0 -1
- package/dist/commands/monitors.js +199 -16
- package/dist/commands/open.d.ts +18 -0
- package/dist/commands/open.js +57 -0
- package/dist/commands/packages.js +2 -107
- package/dist/commands/plugins.js +6 -3
- package/dist/commands/profiles.d.ts +1 -0
- package/dist/commands/profiles.js +16 -160
- package/dist/commands/projects.d.ts +28 -0
- package/dist/commands/projects.js +125 -5
- package/dist/commands/reconnect.js +9 -3
- package/dist/commands/repo.js +42 -1
- package/dist/commands/resource-view.d.ts +17 -0
- package/dist/commands/resource-view.js +36 -14
- package/dist/commands/resume.js +9 -2
- package/dist/commands/routines.d.ts +0 -2
- package/dist/commands/routines.js +473 -289
- package/dist/commands/secrets.js +52 -9
- package/dist/commands/sessions-export.d.ts +47 -0
- package/dist/commands/sessions-export.js +116 -6
- package/dist/commands/sessions-import.d.ts +17 -0
- package/dist/commands/sessions-import.js +114 -6
- package/dist/commands/sessions-migrate.d.ts +27 -0
- package/dist/commands/sessions-migrate.js +50 -9
- package/dist/commands/sessions-picker.js +23 -4
- package/dist/commands/sessions-resume.d.ts +5 -3
- package/dist/commands/sessions-resume.js +30 -8
- package/dist/commands/sessions-watch.d.ts +2 -0
- package/dist/commands/sessions-watch.js +53 -0
- package/dist/commands/sessions.d.ts +66 -3
- package/dist/commands/sessions.js +298 -47
- package/dist/commands/setup-browser.js +2 -2
- package/dist/commands/setup-mine.js +0 -1
- package/dist/commands/setup-preferences.js +1 -1
- package/dist/commands/setup.d.ts +5 -0
- package/dist/commands/setup.js +31 -5
- package/dist/commands/share.d.ts +87 -7
- package/dist/commands/share.js +320 -58
- package/dist/commands/skills.js +0 -11
- package/dist/commands/snapshot.js +1 -1
- package/dist/commands/ssh.d.ts +18 -0
- package/dist/commands/ssh.js +549 -210
- package/dist/commands/sync.d.ts +5 -0
- package/dist/commands/sync.js +212 -32
- package/dist/commands/teams.d.ts +13 -0
- package/dist/commands/teams.js +187 -30
- package/dist/commands/tickets.d.ts +2 -0
- package/dist/commands/tickets.js +43 -0
- package/dist/commands/update.js +2 -4
- package/dist/commands/usage.js +5 -3
- package/dist/commands/versions.js +11 -5
- package/dist/commands/view.js +15 -7
- package/dist/commands/webhook.d.ts +2 -2
- package/dist/commands/webhook.js +7 -7
- package/dist/index.d.ts +18 -2
- package/dist/index.js +53 -1264
- package/dist/lib/account-catalog.d.ts +18 -0
- package/dist/lib/account-catalog.js +38 -0
- package/dist/lib/account-provider-registry.d.ts +18 -0
- package/dist/lib/account-provider-registry.js +59 -0
- package/dist/lib/account-registry.d.ts +40 -0
- package/dist/lib/account-registry.js +239 -0
- package/dist/lib/account-schema.d.ts +44 -0
- package/dist/lib/account-schema.js +91 -0
- package/dist/lib/account-state-service.d.ts +21 -0
- package/dist/lib/account-state-service.js +60 -0
- package/dist/lib/activity.d.ts +1 -1
- package/dist/lib/activity.js +8 -1
- package/dist/lib/add-dir.d.ts +80 -0
- package/dist/lib/add-dir.js +241 -0
- package/dist/lib/agent-cli-commands.d.ts +11 -0
- package/dist/lib/agent-cli-commands.js +30 -0
- package/dist/lib/agents.js +44 -36
- package/dist/lib/answer-router.js +1 -1
- package/dist/lib/audit/log.d.ts +10 -27
- package/dist/lib/audit/log.js +20 -33
- package/dist/lib/auth-health.d.ts +9 -2
- package/dist/lib/auth-health.js +42 -9
- package/dist/lib/auto-pull-worker.js +7 -3
- package/dist/lib/auto-pull.d.ts +44 -3
- package/dist/lib/auto-pull.js +88 -5
- package/dist/lib/binary-shadow.d.ts +28 -0
- package/dist/lib/binary-shadow.js +121 -0
- package/dist/lib/brand.js +9 -3
- package/dist/lib/browser/hygiene.d.ts +90 -0
- package/dist/lib/browser/hygiene.js +146 -0
- package/dist/lib/browser/ipc.d.ts +30 -0
- package/dist/lib/browser/ipc.js +93 -4
- package/dist/lib/browser/profiles.d.ts +3 -2
- package/dist/lib/browser/profiles.js +65 -22
- package/dist/lib/browser/service.d.ts +79 -1
- package/dist/lib/browser/service.js +231 -14
- package/dist/lib/browser/sessions-list.d.ts +22 -2
- package/dist/lib/browser/sessions-list.js +54 -6
- package/dist/lib/browser/stream.d.ts +2 -0
- package/dist/lib/browser/stream.js +1 -0
- package/dist/lib/browser/types.d.ts +63 -1
- package/dist/lib/byok-usage.d.ts +9 -2
- package/dist/lib/byok-usage.js +133 -31
- package/dist/lib/cli-entry.d.ts +11 -0
- package/dist/lib/cli-entry.js +46 -0
- package/dist/lib/cloud/host.d.ts +1 -1
- package/dist/lib/cloud/host.js +2 -2
- package/dist/lib/cloud/registry.js +1 -1
- package/dist/lib/cloud/types.d.ts +1 -1
- package/dist/lib/commands.d.ts +2 -0
- package/dist/lib/commands.js +2 -0
- package/dist/lib/computer/sessions-list.d.ts +150 -0
- package/dist/lib/computer/sessions-list.js +363 -0
- package/dist/lib/config-keys.d.ts +86 -0
- package/dist/lib/config-keys.js +193 -0
- package/dist/lib/config-machine-keys.d.ts +12 -0
- package/dist/lib/config-machine-keys.js +17 -0
- package/dist/lib/config-transfer.js +3 -4
- package/dist/lib/crabbox/cli.d.ts +2 -2
- package/dist/lib/crabbox/cli.js +3 -3
- package/dist/lib/daemon-health.d.ts +22 -0
- package/dist/lib/daemon-health.js +33 -3
- package/dist/lib/daemon-services.d.ts +50 -0
- package/dist/lib/daemon-services.js +147 -0
- package/dist/lib/daemon-ticks.d.ts +35 -66
- package/dist/lib/daemon-ticks.js +77 -159
- package/dist/lib/daemon.d.ts +72 -4
- package/dist/lib/daemon.js +792 -202
- package/dist/lib/deeplink/register.d.ts +49 -0
- package/dist/lib/deeplink/register.js +253 -0
- package/dist/lib/deeplink/url.d.ts +34 -0
- package/dist/lib/deeplink/url.js +78 -0
- package/dist/lib/device-config.d.ts +124 -29
- package/dist/lib/device-config.js +346 -141
- package/dist/lib/devices/config-migration.d.ts +42 -0
- package/dist/lib/devices/config-migration.js +203 -0
- package/dist/lib/devices/connect.js +14 -7
- package/dist/lib/devices/doctor-findings.d.ts +4 -1
- package/dist/lib/devices/doctor-findings.js +20 -1
- package/dist/lib/devices/harness-inventory.d.ts +11 -2
- package/dist/lib/devices/harness-inventory.js +0 -0
- package/dist/lib/devices/health.d.ts +1 -1
- package/dist/lib/devices/health.js +1 -1
- package/dist/lib/devices/pending.d.ts +22 -1
- package/dist/lib/devices/pending.js +67 -2
- package/dist/lib/devices/registry.d.ts +0 -25
- package/dist/lib/devices/registry.js +2 -83
- package/dist/lib/devices/resolve-profile.d.ts +20 -0
- package/dist/lib/devices/resolve-profile.js +44 -0
- package/dist/lib/devices/rollout-verify.d.ts +101 -0
- package/dist/lib/devices/rollout-verify.js +193 -0
- package/dist/lib/devices/ssh-config.js +10 -6
- package/dist/lib/event-families.d.ts +28 -0
- package/dist/lib/event-families.js +159 -0
- package/dist/lib/event-stream.d.ts +9 -1
- package/dist/lib/event-stream.js +26 -9
- package/dist/lib/events.d.ts +9 -1
- package/dist/lib/events.js +21 -6
- package/dist/lib/exec.d.ts +30 -0
- package/dist/lib/exec.js +219 -121
- package/dist/lib/feed-broadcast.d.ts +25 -0
- package/dist/lib/feed-broadcast.js +33 -0
- package/dist/lib/feed.d.ts +1 -1
- package/dist/lib/feed.js +12 -2
- package/dist/lib/fleet/capture.js +15 -0
- package/dist/lib/fleet/manifest.js +9 -0
- package/dist/lib/fleet/types.d.ts +9 -0
- package/dist/lib/fleet-status.js +10 -8
- package/dist/lib/git.d.ts +21 -7
- package/dist/lib/git.js +122 -18
- package/dist/lib/hosts/dispatch.d.ts +8 -3
- package/dist/lib/hosts/dispatch.js +29 -3
- package/dist/lib/hosts/logs.d.ts +2 -2
- package/dist/lib/hosts/logs.js +2 -2
- package/dist/lib/hosts/option.js +1 -1
- package/dist/lib/hosts/passthrough.d.ts +2 -3
- package/dist/lib/hosts/passthrough.js +10 -24
- package/dist/lib/hosts/progress.js +2 -2
- package/dist/lib/hosts/providers/devices.d.ts +3 -3
- package/dist/lib/hosts/providers/devices.js +18 -12
- package/dist/lib/hosts/ready.d.ts +5 -1
- package/dist/lib/hosts/ready.js +9 -3
- package/dist/lib/hosts/reconcile.d.ts +2 -2
- package/dist/lib/hosts/reconcile.js +2 -2
- package/dist/lib/hosts/registry.js +14 -9
- package/dist/lib/hosts/remote-cmd.js +1 -1
- package/dist/lib/hosts/remote-os.d.ts +9 -6
- package/dist/lib/hosts/remote-os.js +13 -6
- package/dist/lib/hosts/routing-flag.d.ts +23 -0
- package/dist/lib/hosts/routing-flag.js +41 -0
- package/dist/lib/hosts/run-target.js +1 -1
- package/dist/lib/hosts/session-index.js +1 -1
- package/dist/lib/hosts/tasks.d.ts +6 -6
- package/dist/lib/hosts/tasks.js +4 -4
- package/dist/lib/hosts/types.js +1 -2
- package/dist/lib/installations/resolve.js +2 -8
- package/dist/lib/isolation-boundary-report.js +0 -1
- package/dist/lib/linear-cache.d.ts +7 -0
- package/dist/lib/linear-cache.js +31 -4
- package/dist/lib/linear-project-counts.d.ts +1 -1
- package/dist/lib/linear-project-counts.js +2 -3
- package/dist/lib/linear-projects.js +1 -1
- package/dist/lib/loop.d.ts +2 -2
- package/dist/lib/loop.js +1 -1
- package/dist/lib/mailbox-target.d.ts +1 -1
- package/dist/lib/mailbox-target.js +1 -1
- package/dist/lib/manifest.js +7 -4
- 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/snapshot.d.ts +3 -2
- package/dist/lib/menubar/snapshot.js +6 -2
- package/dist/lib/migrate-fold.d.ts +33 -0
- package/dist/lib/migrate-fold.js +130 -0
- package/dist/lib/migrate.d.ts +34 -34
- package/dist/lib/migrate.js +106 -128
- package/dist/lib/model-tier-overrides.d.ts +1 -1
- package/dist/lib/model-tier-overrides.js +15 -2
- package/dist/lib/monitors/config.d.ts +17 -3
- package/dist/lib/monitors/config.js +52 -18
- package/dist/lib/monitors/engine.d.ts +32 -1
- package/dist/lib/monitors/engine.js +94 -11
- package/dist/lib/monitors/fingerprint.d.ts +46 -0
- package/dist/lib/monitors/fingerprint.js +100 -0
- package/dist/lib/monitors/remote.d.ts +47 -0
- package/dist/lib/monitors/remote.js +81 -0
- package/dist/lib/monitors/state.d.ts +39 -0
- package/dist/lib/monitors/state.js +56 -0
- package/dist/lib/onepassword.d.ts +17 -0
- package/dist/lib/onepassword.js +52 -22
- package/dist/lib/open-url.js +1 -1
- package/dist/lib/picker.d.ts +14 -2
- package/dist/lib/picker.js +35 -13
- package/dist/lib/placement.d.ts +1 -1
- package/dist/lib/placement.js +1 -1
- package/dist/lib/pr-land-detach.d.ts +32 -0
- package/dist/lib/pr-land-detach.js +79 -0
- package/dist/lib/profiles-presets.js +13 -0
- package/dist/lib/profiles.d.ts +2 -0
- package/dist/lib/profiles.js +44 -1
- package/dist/lib/project-focus.d.ts +1 -1
- package/dist/lib/project-focus.js +1 -1
- package/dist/lib/project-probe.d.ts +4 -1
- package/dist/lib/project-probe.js +5 -4
- package/dist/lib/project-resources.js +2 -18
- package/dist/lib/project-root.d.ts +16 -0
- package/dist/lib/project-root.js +20 -2
- package/dist/lib/projects.d.ts +20 -1
- package/dist/lib/projects.js +78 -1
- package/dist/lib/refresh-coordinator.d.ts +24 -0
- package/dist/lib/refresh-coordinator.js +52 -0
- package/dist/lib/registry.d.ts +2 -2
- package/dist/lib/registry.js +1 -1
- package/dist/lib/resource-aliases.d.ts +13 -0
- package/dist/lib/resource-aliases.js +26 -0
- package/dist/lib/resources/types.d.ts +1 -1
- package/dist/lib/resources.d.ts +16 -0
- package/dist/lib/resources.js +66 -10
- package/dist/lib/rotate.d.ts +3 -4
- package/dist/lib/rotate.js +4 -5
- package/dist/lib/routine-activation.d.ts +22 -2
- package/dist/lib/routine-activation.js +63 -16
- package/dist/lib/routine-context.d.ts +9 -2
- package/dist/lib/routine-context.js +21 -6
- package/dist/lib/routines-project.d.ts +58 -48
- package/dist/lib/routines-project.js +190 -159
- package/dist/lib/routines.d.ts +44 -7
- package/dist/lib/routines.js +92 -34
- package/dist/lib/run-defaults.d.ts +5 -0
- package/dist/lib/run-defaults.js +11 -1
- package/dist/lib/runner.d.ts +10 -8
- package/dist/lib/runner.js +122 -39
- 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.d.ts +10 -3
- package/dist/lib/secrets/agent.js +43 -8
- package/dist/lib/secrets/bundles.d.ts +1 -0
- package/dist/lib/secrets/bundles.js +92 -80
- package/dist/lib/secrets/index.js +32 -9
- package/dist/lib/secrets/install-helper.d.ts +4 -4
- package/dist/lib/secrets/install-helper.js +4 -4
- package/dist/lib/secrets/push.d.ts +40 -6
- package/dist/lib/secrets/push.js +58 -11
- package/dist/lib/secrets/read-backoff.d.ts +1 -1
- package/dist/lib/secrets/read-backoff.js +1 -1
- package/dist/lib/secrets/remote.d.ts +24 -0
- package/dist/lib/secrets/remote.js +54 -4
- package/dist/lib/self-update.d.ts +108 -0
- package/dist/lib/self-update.js +276 -1
- package/dist/lib/session/active.d.ts +89 -5
- package/dist/lib/session/active.js +165 -10
- package/dist/lib/session/actor-sidecar.d.ts +1 -1
- package/dist/lib/session/actor-sidecar.js +2 -1
- package/dist/lib/session/db.d.ts +176 -2
- package/dist/lib/session/db.js +484 -17
- package/dist/lib/session/discover.js +27 -4
- package/dist/lib/session/hook-sessions.js +2 -2
- package/dist/lib/session/host-link.d.ts +2 -2
- package/dist/lib/session/host-link.js +2 -2
- package/dist/lib/session/pid-registry.d.ts +21 -0
- package/dist/lib/session/pid-registry.js +57 -0
- package/dist/lib/session/remote-active.js +15 -1
- package/dist/lib/session/remote.js +2 -2
- package/dist/lib/session/session-cache.d.ts +14 -7
- package/dist/lib/session/session-cache.js +51 -9
- package/dist/lib/session/state.d.ts +2 -2
- package/dist/lib/session/state.js +1 -1
- package/dist/lib/session/sync/config.d.ts +10 -10
- package/dist/lib/session/sync/config.js +10 -10
- package/dist/lib/session/sync/r2.d.ts +34 -0
- package/dist/lib/session/sync/r2.js +123 -0
- package/dist/lib/session/throughput.d.ts +1 -1
- package/dist/lib/session/throughput.js +1 -1
- package/dist/lib/session/types.d.ts +23 -1
- package/dist/lib/session/types.js +15 -0
- package/dist/lib/session/viewing-in.d.ts +1 -1
- package/dist/lib/session/viewing-in.js +1 -1
- package/dist/lib/session/watch.d.ts +101 -0
- package/dist/lib/session/watch.js +242 -0
- package/dist/lib/share/analytics.js +1 -1
- package/dist/lib/share/capture.d.ts +1 -1
- package/dist/lib/share/capture.js +3 -3
- package/dist/lib/share/config.d.ts +6 -2
- package/dist/lib/share/config.js +6 -5
- package/dist/lib/share/delete.js +3 -3
- package/dist/lib/share/provision.d.ts +38 -0
- package/dist/lib/share/provision.js +51 -1
- package/dist/lib/share/publish.d.ts +40 -1
- package/dist/lib/share/publish.js +119 -6
- package/dist/lib/share/worker-template.d.ts +12 -1
- package/dist/lib/share/worker-template.js +83 -7
- package/dist/lib/shims.d.ts +17 -3
- package/dist/lib/shims.js +98 -26
- package/dist/lib/signin-badge.js +3 -2
- package/dist/lib/skills.js +2 -0
- package/dist/lib/smart-launch.d.ts +8 -8
- package/dist/lib/smart-launch.js +80 -59
- package/dist/lib/ssh-exec.d.ts +1 -1
- package/dist/lib/ssh-exec.js +1 -1
- package/dist/lib/staleness/prune.d.ts +88 -0
- package/dist/lib/staleness/prune.js +69 -0
- package/dist/lib/staleness/registry.d.ts +1 -1
- package/dist/lib/staleness/writers/commands.js +34 -2
- package/dist/lib/staleness/writers/hooks.js +16 -0
- package/dist/lib/staleness/writers/kinds.d.ts +6 -0
- package/dist/lib/staleness/writers/skills.js +19 -0
- package/dist/lib/staleness/writers/subagents.d.ts +2 -3
- package/dist/lib/staleness/writers/subagents.js +0 -4
- package/dist/lib/staleness/writers/types.d.ts +32 -0
- package/dist/lib/startup/command-registry.d.ts +16 -14
- package/dist/lib/startup/command-registry.js +26 -37
- package/dist/lib/startup/dev-build.d.ts +10 -0
- package/dist/lib/startup/dev-build.js +13 -1
- package/dist/lib/startup/spellcheck.d.ts +18 -0
- package/dist/lib/startup/spellcheck.js +45 -0
- package/dist/lib/state.d.ts +36 -9
- package/dist/lib/state.js +96 -46
- package/dist/lib/subagents-registry.d.ts +0 -7
- package/dist/lib/subagents-registry.js +38 -65
- package/dist/lib/subagents.d.ts +0 -33
- package/dist/lib/subagents.js +0 -75
- package/dist/lib/sync-umbrella.js +1 -1
- package/dist/lib/teams/agents.d.ts +41 -1
- package/dist/lib/teams/agents.js +187 -9
- package/dist/lib/teams/api.d.ts +11 -1
- package/dist/lib/teams/api.js +11 -2
- package/dist/lib/teams/delivery.d.ts +41 -0
- package/dist/lib/teams/delivery.js +60 -0
- package/dist/lib/teams/registry.d.ts +14 -0
- package/dist/lib/teams/registry.js +51 -1
- package/dist/lib/teams/remoteWorktree.d.ts +19 -0
- package/dist/lib/teams/remoteWorktree.js +29 -0
- package/dist/lib/teams/scheduler.d.ts +1 -1
- package/dist/lib/teams/scheduler.js +1 -1
- package/dist/lib/teams/worktree.d.ts +24 -0
- package/dist/lib/teams/worktree.js +42 -0
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +10 -1
- package/dist/lib/terminal/backends/vscodium-agent.js +16 -5
- package/dist/lib/terminal/engine.d.ts +4 -0
- package/dist/lib/terminal/engine.js +8 -2
- package/dist/lib/terminal/types.d.ts +21 -2
- package/dist/lib/testdata/refresh-coordinator-worker.d.ts +1 -0
- package/dist/lib/testdata/refresh-coordinator-worker.js +23 -0
- package/dist/lib/tickets/list.d.ts +53 -0
- package/dist/lib/tickets/list.js +153 -0
- package/dist/lib/tmux/orphan-reap.d.ts +316 -0
- package/dist/lib/tmux/orphan-reap.js +638 -0
- package/dist/lib/tmux/session.d.ts +68 -3
- package/dist/lib/tmux/session.js +96 -5
- package/dist/lib/triggers/handlers.d.ts +20 -0
- package/dist/lib/triggers/handlers.js +16 -1
- package/dist/lib/triggers/webhook.js +10 -0
- package/dist/lib/types.d.ts +47 -35
- package/dist/lib/usage-fleet.d.ts +32 -0
- package/dist/lib/usage-fleet.js +125 -0
- package/dist/lib/usage-refresh.d.ts +3 -3
- package/dist/lib/usage-refresh.js +19 -16
- package/dist/lib/usage.d.ts +51 -47
- package/dist/lib/usage.js +145 -153
- package/dist/lib/version-duplicates.js +2 -2
- package/dist/lib/versions.d.ts +56 -13
- package/dist/lib/versions.js +195 -45
- package/dist/lib/watchdog/log.d.ts +1 -1
- package/dist/lib/watchdog/log.js +3 -3
- package/dist/lib/watchdog/rotate.d.ts +6 -6
- package/dist/lib/watchdog/rotate.js +6 -6
- package/dist/lib/workflows.d.ts +1 -1
- package/dist/lib/yaml-io.d.ts +47 -0
- package/dist/lib/yaml-io.js +55 -0
- package/package.json +2 -1
- package/scripts/install-helper.js +2 -2
- package/scripts/postinstall.js +23 -20
- package/dist/commands/defaults.d.ts +0 -7
- package/dist/commands/defaults.js +0 -107
- package/dist/commands/export.d.ts +0 -11
- package/dist/commands/export.js +0 -215
- package/dist/commands/helper.d.ts +0 -12
- package/dist/commands/helper.js +0 -87
- package/dist/commands/hosts.d.ts +0 -11
- package/dist/commands/hosts.js +0 -330
- package/dist/commands/lock.d.ts +0 -12
- package/dist/commands/lock.js +0 -70
- package/dist/commands/pull.d.ts +0 -17
- package/dist/commands/pull.js +0 -39
- package/dist/commands/push.d.ts +0 -14
- package/dist/commands/push.js +0 -30
- package/dist/commands/set.d.ts +0 -15
- package/dist/commands/set.js +0 -79
- package/dist/commands/setup-share.d.ts +0 -17
- package/dist/commands/setup-share.js +0 -85
- package/dist/commands/wallet.d.ts +0 -20
- package/dist/commands/wallet.js +0 -216
- package/dist/commands/worktree.d.ts +0 -19
- package/dist/commands/worktree.js +0 -272
- package/dist/lib/account-labels.d.ts +0 -24
- package/dist/lib/account-labels.js +0 -72
- package/dist/lib/auto-dispatch-linear.d.ts +0 -18
- package/dist/lib/auto-dispatch-linear.js +0 -107
- package/dist/lib/auto-dispatch-provider.d.ts +0 -10
- package/dist/lib/auto-dispatch-provider.js +0 -30
- package/dist/lib/auto-dispatch.d.ts +0 -93
- package/dist/lib/auto-dispatch.js +0 -128
- package/dist/lib/export.d.ts +0 -72
- package/dist/lib/export.js +0 -269
- package/dist/lib/lock.d.ts +0 -93
- package/dist/lib/lock.js +0 -207
- package/dist/lib/wallet/index.d.ts +0 -78
- package/dist/lib/wallet/index.js +0 -253
|
@@ -37,21 +37,19 @@ export declare const loadCli: ModuleLoader;
|
|
|
37
37
|
export declare const loadSubagents: ModuleLoader;
|
|
38
38
|
export declare const loadPlugins: ModuleLoader;
|
|
39
39
|
export declare const loadWorkflows: ModuleLoader;
|
|
40
|
-
export declare const loadWorktree: ModuleLoader;
|
|
41
40
|
export declare const loadVersions: ModuleLoader;
|
|
42
41
|
export declare const loadUpdate: ModuleLoader;
|
|
43
42
|
export declare const loadImport: ModuleLoader;
|
|
44
|
-
export declare const loadExport: ModuleLoader;
|
|
45
43
|
export declare const loadPackages: ModuleLoader;
|
|
46
44
|
export declare const loadRoutines: ModuleLoader;
|
|
47
45
|
export declare const loadMonitors: ModuleLoader;
|
|
48
46
|
export declare const loadProjects: ModuleLoader;
|
|
49
47
|
export declare const loadRun: ModuleLoader;
|
|
50
48
|
export declare const loadResume: ModuleLoader;
|
|
49
|
+
export declare const loadOpen: ModuleLoader;
|
|
51
50
|
export declare const loadReconnect: ModuleLoader;
|
|
52
51
|
export declare const loadFork: ModuleLoader;
|
|
53
|
-
export declare const
|
|
54
|
-
export declare const loadSet: ModuleLoader;
|
|
52
|
+
export declare const loadConfig: ModuleLoader;
|
|
55
53
|
export declare const loadModels: ModuleLoader;
|
|
56
54
|
export declare const loadModes: ModuleLoader;
|
|
57
55
|
export declare const loadPrune: ModuleLoader;
|
|
@@ -65,12 +63,9 @@ export declare const loadProfiles: ModuleLoader;
|
|
|
65
63
|
export declare const loadHarness: ModuleLoader;
|
|
66
64
|
export declare const loadSecrets: ModuleLoader;
|
|
67
65
|
export declare const loadLogin: ModuleLoader;
|
|
68
|
-
export declare const loadWallet: ModuleLoader;
|
|
69
|
-
export declare const loadHelper: ModuleLoader;
|
|
70
66
|
export declare const loadMenubar: ModuleLoader;
|
|
71
67
|
export declare const loadBeta: ModuleLoader;
|
|
72
68
|
export declare const loadSync: ModuleLoader;
|
|
73
|
-
export declare const loadLock: ModuleLoader;
|
|
74
69
|
export declare const loadRefreshRules: ModuleLoader;
|
|
75
70
|
export declare const loadFactory: ModuleLoader;
|
|
76
71
|
export declare const loadUsage: ModuleLoader;
|
|
@@ -88,32 +83,29 @@ export declare const loadTmux: ModuleLoader;
|
|
|
88
83
|
export declare const loadWatchdog: ModuleLoader;
|
|
89
84
|
export declare const loadBrowser: ModuleLoader;
|
|
90
85
|
export declare const loadComputer: ModuleLoader;
|
|
91
|
-
export declare const loadHosts: ModuleLoader;
|
|
92
|
-
export declare const loadLease: ModuleLoader;
|
|
93
86
|
export declare const loadLogs: ModuleLoader;
|
|
94
87
|
export declare const loadEvents: ModuleLoader;
|
|
95
88
|
export declare const loadSsh: ModuleLoader;
|
|
96
|
-
export declare const loadPull: ModuleLoader;
|
|
97
|
-
export declare const loadPush: ModuleLoader;
|
|
98
89
|
export declare const loadRepo: ModuleLoader;
|
|
99
90
|
export declare const loadSetup: ModuleLoader;
|
|
100
91
|
export declare const loadUninstall: ModuleLoader;
|
|
101
92
|
export declare const loadUpgrade: ModuleLoader;
|
|
102
93
|
export declare const loadSessions: ModuleLoader;
|
|
103
94
|
export declare const loadTeams: ModuleLoader;
|
|
95
|
+
export declare const loadTickets: ModuleLoader;
|
|
104
96
|
export declare const loadCloud: ModuleLoader;
|
|
105
97
|
export declare const loadMessage: ModuleLoader;
|
|
106
98
|
export declare const loadSend: ModuleLoader;
|
|
107
99
|
export declare const loadFeed: ModuleLoader;
|
|
108
100
|
export declare const loadMailboxes: ModuleLoader;
|
|
109
101
|
export declare const loadServe: ModuleLoader;
|
|
110
|
-
export declare const
|
|
102
|
+
export declare const loadArtifacts: ModuleLoader;
|
|
111
103
|
export declare const loadAudit: ModuleLoader;
|
|
112
|
-
export declare const
|
|
113
|
-
export declare const loadFunnel: ModuleLoader;
|
|
104
|
+
export declare const loadWebhooks: ModuleLoader;
|
|
114
105
|
export declare const loadHumans: ModuleLoader;
|
|
115
106
|
export declare const loadAccounts: ModuleLoader;
|
|
116
107
|
export declare const loadDaemon: ModuleLoader;
|
|
108
|
+
export declare const loadCp: ModuleLoader;
|
|
117
109
|
/**
|
|
118
110
|
* Commands whose modules pull in the SQLite-backed session/cloud stack. They are
|
|
119
111
|
* registered AFTER `applyGlobalHelpConventions` (mirroring main's order: help
|
|
@@ -150,6 +142,16 @@ export declare const COMMAND_LOADERS: Record<string, ModuleLoader[]>;
|
|
|
150
142
|
* registered command tree so a new command can never drift out of it.
|
|
151
143
|
*/
|
|
152
144
|
export declare const KNOWN_TOP_LEVEL_COMMANDS: ReadonlySet<string>;
|
|
145
|
+
/**
|
|
146
|
+
* Former top-level names that must NOT auto-correct (edit-distance 1) into a
|
|
147
|
+
* live command. Without this a pruned surface silently misroutes: the typed
|
|
148
|
+
* name is gone, the spellchecker finds a neighbour, and the CLI runs something
|
|
149
|
+
* the user never asked for instead of saying the command is gone.
|
|
150
|
+
*
|
|
151
|
+
* `set` moved under `agents models`/`agents config` (RUSH-2579); `share` moved
|
|
152
|
+
* under `agents artifacts share` (RUSH-2580).
|
|
153
|
+
*/
|
|
154
|
+
export declare const RETIRED_TOP_LEVEL_COMMANDS: ReadonlySet<string>;
|
|
153
155
|
/** Whether `name` is a top-level command this CLI registers. See {@link KNOWN_TOP_LEVEL_COMMANDS}. */
|
|
154
156
|
export declare function isKnownTopLevelCommand(name: string): boolean;
|
|
155
157
|
/**
|
|
@@ -39,21 +39,19 @@ export const loadCli = async () => (await import('../../commands/cli.js')).regis
|
|
|
39
39
|
export const loadSubagents = async () => (await import('../../commands/subagents.js')).registerSubagentsCommands;
|
|
40
40
|
export const loadPlugins = async () => (await import('../../commands/plugins.js')).registerPluginsCommands;
|
|
41
41
|
export const loadWorkflows = async () => (await import('../../commands/workflows.js')).registerWorkflowsCommands;
|
|
42
|
-
export const loadWorktree = async () => (await import('../../commands/worktree.js')).registerWorktreeCommands;
|
|
43
42
|
export const loadVersions = async () => (await import('../../commands/versions.js')).registerVersionsCommands;
|
|
44
43
|
export const loadUpdate = async () => (await import('../../commands/update.js')).registerUpdateCommand;
|
|
45
44
|
export const loadImport = async () => (await import('../../commands/import.js')).registerImportCommand;
|
|
46
|
-
export const loadExport = async () => (await import('../../commands/export.js')).registerExportCommand;
|
|
47
45
|
export const loadPackages = async () => (await import('../../commands/packages.js')).registerPackagesCommands;
|
|
48
46
|
export const loadRoutines = async () => (await import('../../commands/routines.js')).registerRoutinesCommands;
|
|
49
47
|
export const loadMonitors = async () => (await import('../../commands/monitors.js')).registerMonitorsCommands;
|
|
50
48
|
export const loadProjects = async () => (await import('../../commands/projects.js')).registerProjectsCommands;
|
|
51
49
|
export const loadRun = async () => (await import('../../commands/exec.js')).registerRunCommand;
|
|
52
50
|
export const loadResume = async () => (await import('../../commands/resume.js')).registerResumeCommand;
|
|
51
|
+
export const loadOpen = async () => (await import('../../commands/open.js')).registerOpenCommand;
|
|
53
52
|
export const loadReconnect = async () => (await import('../../commands/reconnect.js')).registerReconnectCommand;
|
|
54
53
|
export const loadFork = async () => (await import('../../commands/fork.js')).registerForkCommand;
|
|
55
|
-
export const
|
|
56
|
-
export const loadSet = async () => (await import('../../commands/set.js')).registerSetCommand;
|
|
54
|
+
export const loadConfig = async () => (await import('../../commands/config.js')).registerConfigCommand;
|
|
57
55
|
export const loadModels = async () => (await import('../../commands/models.js')).registerModelsCommand;
|
|
58
56
|
export const loadModes = async () => (await import('../../commands/modes.js')).registerModesCommand;
|
|
59
57
|
export const loadPrune = async () => (await import('../../commands/prune.js')).registerPruneCommand;
|
|
@@ -67,12 +65,9 @@ export const loadProfiles = async () => (await import('../../commands/profiles.j
|
|
|
67
65
|
export const loadHarness = async () => (await import('../../commands/harness.js')).registerHarnessCommands;
|
|
68
66
|
export const loadSecrets = async () => (await import('../../commands/secrets.js')).registerSecretsCommands;
|
|
69
67
|
export const loadLogin = async () => (await import('../../commands/login.js')).registerLoginCommands;
|
|
70
|
-
export const loadWallet = async () => (await import('../../commands/wallet.js')).registerWalletCommands;
|
|
71
|
-
export const loadHelper = async () => (await import('../../commands/helper.js')).registerHelperCommand;
|
|
72
68
|
export const loadMenubar = async () => (await import('../../commands/menubar.js')).registerMenubarCommands;
|
|
73
69
|
export const loadBeta = async () => (await import('../../commands/beta.js')).registerBetaCommands;
|
|
74
70
|
export const loadSync = async () => (await import('../../commands/sync.js')).registerSyncCommand;
|
|
75
|
-
export const loadLock = async () => (await import('../../commands/lock.js')).registerLockCommand;
|
|
76
71
|
export const loadRefreshRules = async () => (await import('../../commands/refresh-rules.js')).registerRefreshRulesCommand;
|
|
77
72
|
export const loadFactory = async () => (await import('../../commands/factory.js')).registerFactoryCommands;
|
|
78
73
|
export const loadUsage = async () => (await import('../../commands/usage.js')).registerUsageCommand;
|
|
@@ -91,32 +86,31 @@ export const loadTmux = async () => (await import('../../commands/tmux.js')).reg
|
|
|
91
86
|
export const loadWatchdog = async () => (await import('../../commands/watchdog.js')).registerWatchdogCommand;
|
|
92
87
|
export const loadBrowser = async () => (await import('../../commands/browser.js')).registerBrowserCommand;
|
|
93
88
|
export const loadComputer = async () => (await import('../../commands/computer.js')).registerComputerCommand;
|
|
94
|
-
export const loadHosts = async () => (await import('../../commands/hosts.js')).registerHostsCommand;
|
|
95
|
-
export const loadLease = async () => (await import('../../commands/lease.js')).registerLeaseCommand;
|
|
96
89
|
export const loadLogs = async () => (await import('../../commands/logs.js')).registerLogsCommand;
|
|
97
90
|
export const loadEvents = async () => (await import('../../commands/events.js')).registerEventsCommand;
|
|
98
91
|
export const loadSsh = async () => (await import('../../commands/ssh.js')).registerSshCommands;
|
|
99
|
-
export const loadPull = async () => (await import('../../commands/pull.js')).registerPullCommand;
|
|
100
|
-
export const loadPush = async () => (await import('../../commands/push.js')).registerPushCommand;
|
|
101
92
|
export const loadRepo = async () => (await import('../../commands/repo.js')).registerRepoCommands;
|
|
102
93
|
export const loadSetup = async () => (await import('../../commands/setup.js')).registerSetupCommand;
|
|
103
94
|
export const loadUninstall = async () => (await import('../../commands/uninstall.js')).registerUninstallCommands;
|
|
104
95
|
export const loadUpgrade = async () => (await import('../../commands/upgrade.js')).registerUpgradeCommand;
|
|
105
96
|
export const loadSessions = async () => (await import('../../commands/sessions.js')).registerSessionsCommands;
|
|
106
97
|
export const loadTeams = async () => (await import('../../commands/teams.js')).registerTeamsCommands;
|
|
98
|
+
export const loadTickets = async () => (await import('../../commands/tickets.js')).registerTicketsCommand;
|
|
107
99
|
export const loadCloud = async () => (await import('../../commands/cloud.js')).registerCloudCommands;
|
|
108
100
|
export const loadMessage = async () => (await import('../../commands/message.js')).registerMessageCommand;
|
|
109
101
|
export const loadSend = async () => (await import('../../commands/send.js')).registerSendCommand;
|
|
110
102
|
export const loadFeed = async () => (await import('../../commands/feed.js')).registerFeedCommand;
|
|
111
103
|
export const loadMailboxes = async () => (await import('../../commands/mailboxes.js')).registerMailboxesCommand;
|
|
112
104
|
export const loadServe = async () => (await import('../../commands/serve.js')).registerServeCommand;
|
|
113
|
-
|
|
105
|
+
// Registers the `artifacts` group (with `share` + `setup` under it) AND the
|
|
106
|
+
// top-level `unshare` alias — see commands/artifacts.ts.
|
|
107
|
+
export const loadArtifacts = async () => (await import('../../commands/artifacts.js')).registerArtifactsCommands;
|
|
114
108
|
export const loadAudit = async () => (await import('../../commands/audit.js')).registerAuditCommands;
|
|
115
|
-
export const
|
|
116
|
-
export const loadFunnel = async () => (await import('../../commands/funnel.js')).registerFunnelCommand;
|
|
109
|
+
export const loadWebhooks = async () => (await import('../../commands/webhook.js')).registerWebhooksCommand;
|
|
117
110
|
export const loadHumans = async () => (await import('../../commands/humans.js')).registerHumansCommands;
|
|
118
111
|
export const loadAccounts = async () => (await import('../../commands/accounts.js')).registerAccountsCommand;
|
|
119
112
|
export const loadDaemon = async () => (await import('../../commands/daemon.js')).registerDaemonCommand;
|
|
113
|
+
export const loadCp = async () => (await import('../../commands/cp.js')).registerCpCommand;
|
|
120
114
|
/**
|
|
121
115
|
* Commands whose modules pull in the SQLite-backed session/cloud stack. They are
|
|
122
116
|
* registered AFTER `applyGlobalHelpConventions` (mirroring main's order: help
|
|
@@ -166,7 +160,6 @@ export const COMMAND_LOADERS = {
|
|
|
166
160
|
subagents: [loadSubagents],
|
|
167
161
|
plugins: [loadPlugins],
|
|
168
162
|
workflows: [loadWorkflows],
|
|
169
|
-
worktree: [loadWorktree],
|
|
170
163
|
add: [loadVersions],
|
|
171
164
|
use: [loadVersions],
|
|
172
165
|
list: [loadVersions],
|
|
@@ -176,24 +169,18 @@ export const COMMAND_LOADERS = {
|
|
|
176
169
|
update: [loadUpdate],
|
|
177
170
|
prune: [loadVersions, loadPrune],
|
|
178
171
|
import: [loadImport],
|
|
179
|
-
export: [loadExport],
|
|
180
172
|
registry: [loadPackages],
|
|
181
173
|
search: [loadPackages],
|
|
182
174
|
install: [loadPackages],
|
|
183
|
-
// packages.ts also registers `publish` at top level (commands/packages.ts:435).
|
|
184
|
-
// It was missing here, so `agents publish` only worked via the unknown-command
|
|
185
|
-
// fallback that registers the whole tree — and the --host router could not see
|
|
186
|
-
// it as a real command at all (RUSH-2022).
|
|
187
|
-
publish: [loadPackages],
|
|
188
175
|
routines: [loadRoutines],
|
|
189
176
|
monitors: [loadMonitors],
|
|
190
177
|
projects: [loadProjects],
|
|
191
178
|
run: [loadRun],
|
|
192
179
|
resume: [loadResume],
|
|
180
|
+
open: [loadOpen],
|
|
193
181
|
reconnect: [loadReconnect],
|
|
194
182
|
fork: [loadFork],
|
|
195
|
-
|
|
196
|
-
set: [loadSet],
|
|
183
|
+
config: [loadConfig],
|
|
197
184
|
models: [loadModels],
|
|
198
185
|
modes: [loadModes],
|
|
199
186
|
trash: [loadTrash],
|
|
@@ -202,20 +189,15 @@ export const COMMAND_LOADERS = {
|
|
|
202
189
|
apply: [loadApply],
|
|
203
190
|
status: [loadStatus],
|
|
204
191
|
snapshot: [loadSnapshot],
|
|
205
|
-
profile: [loadProfiles],
|
|
206
192
|
profiles: [loadProfiles],
|
|
207
193
|
harness: [loadHarness],
|
|
208
194
|
harnesses: [loadHarness],
|
|
209
195
|
secrets: [loadSecrets],
|
|
210
196
|
login: [loadLogin],
|
|
211
197
|
logout: [loadLogin],
|
|
212
|
-
whoami: [loadLogin],
|
|
213
|
-
wallet: [loadWallet],
|
|
214
|
-
helper: [loadHelper],
|
|
215
198
|
menubar: [loadMenubar],
|
|
216
199
|
beta: [loadBeta],
|
|
217
200
|
sync: [loadSync],
|
|
218
|
-
lock: [loadLock],
|
|
219
201
|
'refresh-rules': [loadRefreshRules],
|
|
220
202
|
factory: [loadFactory],
|
|
221
203
|
usage: [loadUsage],
|
|
@@ -233,8 +215,6 @@ export const COMMAND_LOADERS = {
|
|
|
233
215
|
watchdog: [loadWatchdog],
|
|
234
216
|
browser: [loadBrowser],
|
|
235
217
|
computer: [loadComputer],
|
|
236
|
-
hosts: [loadHosts],
|
|
237
|
-
lease: [loadLease],
|
|
238
218
|
logs: [loadLogs],
|
|
239
219
|
events: [loadEvents],
|
|
240
220
|
ssh: [loadSsh],
|
|
@@ -242,8 +222,6 @@ export const COMMAND_LOADERS = {
|
|
|
242
222
|
// `fleet` is a commander alias of `devices` (see commands/ssh.ts); list it so
|
|
243
223
|
// lazy registration loads the devices tree when the user types `agents fleet`.
|
|
244
224
|
fleet: [loadSsh],
|
|
245
|
-
pull: [loadPull],
|
|
246
|
-
push: [loadPush],
|
|
247
225
|
// `repos` is the canonical command name; `repo` remains a convenience alias
|
|
248
226
|
// (see commands/repo.ts). List both so lazy registration loads the tree
|
|
249
227
|
// whichever the user types.
|
|
@@ -256,6 +234,7 @@ export const COMMAND_LOADERS = {
|
|
|
256
234
|
// Observe-umbrella alias of sessions --active (same lazy module).
|
|
257
235
|
roster: [loadSessions],
|
|
258
236
|
teams: [loadTeams],
|
|
237
|
+
tickets: [loadTickets],
|
|
259
238
|
cloud: [loadCloud],
|
|
260
239
|
message: [loadMessage],
|
|
261
240
|
send: [loadSend],
|
|
@@ -267,15 +246,15 @@ export const COMMAND_LOADERS = {
|
|
|
267
246
|
mailboxes: [loadMailboxes],
|
|
268
247
|
mailbox: [loadMailboxes],
|
|
269
248
|
serve: [loadServe],
|
|
270
|
-
|
|
271
|
-
// `unshare` is a top-level convenience alias of `share delete` (see
|
|
249
|
+
artifacts: [loadArtifacts],
|
|
250
|
+
// `unshare` is a top-level convenience alias of `artifacts share delete` (see
|
|
272
251
|
// commands/share.ts) — same module, registered as its own program.command().
|
|
273
|
-
unshare: [
|
|
252
|
+
unshare: [loadArtifacts],
|
|
274
253
|
audit: [loadAudit],
|
|
275
|
-
|
|
276
|
-
funnel: [loadFunnel],
|
|
254
|
+
webhooks: [loadWebhooks],
|
|
277
255
|
humans: [loadHumans],
|
|
278
256
|
daemon: [loadDaemon],
|
|
257
|
+
cp: [loadCp],
|
|
279
258
|
};
|
|
280
259
|
/**
|
|
281
260
|
* Top-level names that {@link COMMAND_LOADERS} does not carry because they are
|
|
@@ -309,6 +288,16 @@ export const KNOWN_TOP_LEVEL_COMMANDS = new Set([
|
|
|
309
288
|
...Object.keys(COMMAND_LOADERS),
|
|
310
289
|
...INLINE_COMMAND_NAMES,
|
|
311
290
|
]);
|
|
291
|
+
/**
|
|
292
|
+
* Former top-level names that must NOT auto-correct (edit-distance 1) into a
|
|
293
|
+
* live command. Without this a pruned surface silently misroutes: the typed
|
|
294
|
+
* name is gone, the spellchecker finds a neighbour, and the CLI runs something
|
|
295
|
+
* the user never asked for instead of saying the command is gone.
|
|
296
|
+
*
|
|
297
|
+
* `set` moved under `agents models`/`agents config` (RUSH-2579); `share` moved
|
|
298
|
+
* under `agents artifacts share` (RUSH-2580).
|
|
299
|
+
*/
|
|
300
|
+
export const RETIRED_TOP_LEVEL_COMMANDS = new Set(['webhook', 'set', 'share']);
|
|
312
301
|
/** Whether `name` is a top-level command this CLI registers. See {@link KNOWN_TOP_LEVEL_COMMANDS}. */
|
|
313
302
|
export function isKnownTopLevelCommand(name) {
|
|
314
303
|
return KNOWN_TOP_LEVEL_COMMANDS.has(name);
|
|
@@ -19,4 +19,14 @@
|
|
|
19
19
|
* actually be the agents-cli package (its package.json `name`), not some
|
|
20
20
|
* unrelated ancestor that happens to be version-controlled.
|
|
21
21
|
*/
|
|
22
|
+
/**
|
|
23
|
+
* Whether a version string is the `0.0.0-dev.<sha>[-dirty]` stamp
|
|
24
|
+
* `scripts/install.sh` writes for a side-by-side dev install (`install.sh:61`).
|
|
25
|
+
*
|
|
26
|
+
* Split out from {@link detectDevBuild} because a caller holding only a version
|
|
27
|
+
* string — a fleet rollout reading `agents --version` off a remote box — cannot
|
|
28
|
+
* run signal 2 (it needs that machine's filesystem), and must not re-spell the
|
|
29
|
+
* stamp prefix.
|
|
30
|
+
*/
|
|
31
|
+
export declare function isDevVersionStamp(version: string): boolean;
|
|
22
32
|
export declare function detectDevBuild(argv1: string, version: string): boolean;
|
|
@@ -21,8 +21,20 @@ import * as path from 'path';
|
|
|
21
21
|
* actually be the agents-cli package (its package.json `name`), not some
|
|
22
22
|
* unrelated ancestor that happens to be version-controlled.
|
|
23
23
|
*/
|
|
24
|
+
/**
|
|
25
|
+
* Whether a version string is the `0.0.0-dev.<sha>[-dirty]` stamp
|
|
26
|
+
* `scripts/install.sh` writes for a side-by-side dev install (`install.sh:61`).
|
|
27
|
+
*
|
|
28
|
+
* Split out from {@link detectDevBuild} because a caller holding only a version
|
|
29
|
+
* string — a fleet rollout reading `agents --version` off a remote box — cannot
|
|
30
|
+
* run signal 2 (it needs that machine's filesystem), and must not re-spell the
|
|
31
|
+
* stamp prefix.
|
|
32
|
+
*/
|
|
33
|
+
export function isDevVersionStamp(version) {
|
|
34
|
+
return version.startsWith('0.0.0-dev');
|
|
35
|
+
}
|
|
24
36
|
export function detectDevBuild(argv1, version) {
|
|
25
|
-
if (version
|
|
37
|
+
if (isDevVersionStamp(version))
|
|
26
38
|
return true;
|
|
27
39
|
try {
|
|
28
40
|
const cliPath = fs.realpathSync(argv1 || '');
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level command spellcheck (RUSH-2329).
|
|
3
|
+
*
|
|
4
|
+
* Candidates are plain strings from KNOWN_TOP_LEVEL_COMMANDS — never the live
|
|
5
|
+
* commander registry — so an unknown / typo'd invocation does not pay for
|
|
6
|
+
* registerAllEagerCommands (~250-330ms of dynamic import + module eval).
|
|
7
|
+
*/
|
|
8
|
+
/** Calculate the Levenshtein edit distance between two strings. */
|
|
9
|
+
export declare function levenshtein(a: string, b: string): number;
|
|
10
|
+
/**
|
|
11
|
+
* Closest top-level command name by Levenshtein distance.
|
|
12
|
+
* Iterates candidates in first-seen order so ties break the same way as the
|
|
13
|
+
* historical registerAllEagerCommands registration order (RUSH-2329).
|
|
14
|
+
*/
|
|
15
|
+
export declare function closestTopLevelCommand(unknown: string, candidates: Iterable<string>): {
|
|
16
|
+
closest: string | null;
|
|
17
|
+
minDist: number;
|
|
18
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Top-level command spellcheck (RUSH-2329).
|
|
3
|
+
*
|
|
4
|
+
* Candidates are plain strings from KNOWN_TOP_LEVEL_COMMANDS — never the live
|
|
5
|
+
* commander registry — so an unknown / typo'd invocation does not pay for
|
|
6
|
+
* registerAllEagerCommands (~250-330ms of dynamic import + module eval).
|
|
7
|
+
*/
|
|
8
|
+
/** Calculate the Levenshtein edit distance between two strings. */
|
|
9
|
+
export function levenshtein(a, b) {
|
|
10
|
+
const m = a.length;
|
|
11
|
+
const n = b.length;
|
|
12
|
+
const dp = Array(m + 1)
|
|
13
|
+
.fill(null)
|
|
14
|
+
.map(() => Array(n + 1).fill(0));
|
|
15
|
+
for (let i = 0; i <= m; i++)
|
|
16
|
+
dp[i][0] = i;
|
|
17
|
+
for (let j = 0; j <= n; j++)
|
|
18
|
+
dp[0][j] = j;
|
|
19
|
+
for (let i = 1; i <= m; i++) {
|
|
20
|
+
for (let j = 1; j <= n; j++) {
|
|
21
|
+
dp[i][j] =
|
|
22
|
+
a[i - 1] === b[j - 1]
|
|
23
|
+
? dp[i - 1][j - 1]
|
|
24
|
+
: 1 + Math.min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return dp[m][n];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Closest top-level command name by Levenshtein distance.
|
|
31
|
+
* Iterates candidates in first-seen order so ties break the same way as the
|
|
32
|
+
* historical registerAllEagerCommands registration order (RUSH-2329).
|
|
33
|
+
*/
|
|
34
|
+
export function closestTopLevelCommand(unknown, candidates) {
|
|
35
|
+
let closest = null;
|
|
36
|
+
let minDist = Infinity;
|
|
37
|
+
for (const cmd of candidates) {
|
|
38
|
+
const dist = levenshtein(unknown, cmd);
|
|
39
|
+
if (dist < minDist) {
|
|
40
|
+
minDist = dist;
|
|
41
|
+
closest = cmd;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return { closest, minDist };
|
|
45
|
+
}
|
package/dist/lib/state.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export declare function getHumansFilePath(): string;
|
|
|
29
29
|
* Header prepended to every agents.yaml the CLI writes (central and per-device
|
|
30
30
|
* docs). Carries the yaml-language-server schema hint so editors validate the
|
|
31
31
|
* file against `schema/agents-yaml.schema.json`. Exported so
|
|
32
|
-
* `lib/
|
|
32
|
+
* `lib/devices/config-migration.ts` rewrites a device doc with the same header.
|
|
33
33
|
*/
|
|
34
34
|
export declare const META_HEADER = "# agents-cli metadata\n# Auto-generated - do not edit manually\n# https://github.com/phnx-labs/agents-cli\n# yaml-language-server: $schema=https://raw.githubusercontent.com/phnx-labs/agents-cli/main/apps/cli/schema/agents-yaml.schema.json\n\n";
|
|
35
35
|
/** Root of the system data directory (~/.agents/.system/). */
|
|
@@ -140,6 +140,8 @@ export declare function getPackagesDir(): string;
|
|
|
140
140
|
export declare function getRoutinesDir(): string;
|
|
141
141
|
/** Path to named project definitions (~/.agents/projects/). */
|
|
142
142
|
export declare function getProjectsDir(): string;
|
|
143
|
+
/** Path to daemon config directory (~/.agents/daemon/). Holds service toggles. */
|
|
144
|
+
export declare function getDaemonConfigDir(): string;
|
|
143
145
|
/**
|
|
144
146
|
* Path to webhook handler YAML definitions (~/.agents/webhooks/). Handlers are
|
|
145
147
|
* one-off triggers for agents/workflows/commands/routines, layered the same way
|
|
@@ -164,12 +166,12 @@ export declare function getSystemWebhooksDir(): string;
|
|
|
164
166
|
* or null when no project `.agents/` is found by walking up from cwd.
|
|
165
167
|
*
|
|
166
168
|
* Project routines participate in `list`/`view` for inspection always. Daemon
|
|
167
|
-
* firing requires
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
169
|
+
* firing requires `agents routines enable <name>`, which materialises the
|
|
170
|
+
* routine into the user layer with `source:` provenance (so the daemon, which
|
|
171
|
+
* loads user + system only, can see it) and turns on the device flag in one
|
|
172
|
+
* step. Enablement lives solely in `meta.deviceRoutines`; a project YAML's own
|
|
173
|
+
* `enabled:` field never turns firing on, so a cloned repo cannot auto-run.
|
|
174
|
+
* See `lib/routines-project.ts`.
|
|
173
175
|
*/
|
|
174
176
|
export declare function getProjectRoutinesDir(cwd?: string): string | null;
|
|
175
177
|
/**
|
|
@@ -182,6 +184,16 @@ export declare function getProjectWebhooksDir(cwd?: string): string | null;
|
|
|
182
184
|
export declare function getRunsDir(): string;
|
|
183
185
|
/** Path to monitor YAML definitions (~/.agents/monitors/). */
|
|
184
186
|
export declare function getMonitorsDir(): string;
|
|
187
|
+
/**
|
|
188
|
+
* Path to built-in monitor definitions shipped in the system repo
|
|
189
|
+
* (`~/.agents/.system/monitors/`). Unioned under the user monitors dir by
|
|
190
|
+
* listMonitors()/readMonitor(): a monitor shipped here is available on every
|
|
191
|
+
* install, and a user monitor of the same name overrides it. A built-in with no
|
|
192
|
+
* `enabled:` field is opt-in — it stays disabled until the user enables it,
|
|
193
|
+
* which materializes a user copy (writes never touch this pull-only mirror). The
|
|
194
|
+
* directory need not exist.
|
|
195
|
+
*/
|
|
196
|
+
export declare function getSystemMonitorsDir(): string;
|
|
185
197
|
/** Path to the durable per-monitor state-diff store + fire history
|
|
186
198
|
* (~/.agents/.history/monitors/). */
|
|
187
199
|
export declare function getMonitorsHistoryDir(): string;
|
|
@@ -238,7 +250,7 @@ export declare function getTeamsRegistryPath(): string;
|
|
|
238
250
|
export declare function getDevicesRegistryPath(): string;
|
|
239
251
|
/** Path to the device ignore-list — tailscale node names the user dismissed, so auto-discovery never re-suggests them. Per-machine, same dir as the registry. */
|
|
240
252
|
export declare function getDevicesIgnoredPath(): string;
|
|
241
|
-
/** Path to the device auto-launch preference file — which registered devices are eligible/preferred for
|
|
253
|
+
/** Path to the LEGACY device auto-launch preference file — which registered devices are eligible/preferred for the ext's auto-host selection. Superseded by the central `fleet.devices.<name>.config` block; only lib/devices/config-migration.ts still reads it (to fold + remove it). */
|
|
242
254
|
export declare function getDevicesAutoLaunchPath(): string;
|
|
243
255
|
/** Dir of "pending device" sentinels (~/.agents/.cache/state/devices-pending/) — one empty-ish file per newly-discovered, not-yet-approved tailnet node. Written by the daemon probe, read by the menu-bar helper (mirrors the attention sentinel dir). */
|
|
244
256
|
export declare function getDevicesPendingDir(): string;
|
|
@@ -266,7 +278,22 @@ export declare function getPerfDir(): string;
|
|
|
266
278
|
export declare function getPerfDbPath(): string;
|
|
267
279
|
/** Path to the hook-shim NDJSON spool drained into perf.db on open. */
|
|
268
280
|
export declare function getPerfSpoolPath(): string;
|
|
269
|
-
/**
|
|
281
|
+
/**
|
|
282
|
+
* Path to per-process runtime state (~/.agents/.cache/state/).
|
|
283
|
+
*
|
|
284
|
+
* `AGENTS_STATE_DIR` redirects it in tests — the same test-isolation escape
|
|
285
|
+
* hatch as `AGENTS_DEVICES_DIR` / `AGENTS_LOGS_DIR`, and resolved at call time
|
|
286
|
+
* for the same reason (a suite pins it after this module is imported).
|
|
287
|
+
*
|
|
288
|
+
* Without it the suite writes into the operator's LIVE state. Concretely: the
|
|
289
|
+
* device registry and ignore-list already redirect via `AGENTS_DEVICES_DIR`, so
|
|
290
|
+
* under test both read empty — and any code path reaching
|
|
291
|
+
* `reconcilePendingSentinels` then computed "every tailnet node is new" and
|
|
292
|
+
* wrote those sentinels into the real `devices-pending/`, which is exactly what
|
|
293
|
+
* the menu bar renders. Running the suite on a dev machine surfaced all 20
|
|
294
|
+
* tailnet nodes as NEW DEVICES, including registered and explicitly ignored
|
|
295
|
+
* ones, and looked like the operator's ignore list had been lost.
|
|
296
|
+
*/
|
|
270
297
|
export declare function getRuntimeStateDir(): string;
|
|
271
298
|
/** Path to companion-extension scratch (~/.agents/.cache/companion/). */
|
|
272
299
|
export declare function getCompanionDir(): string;
|