@phnx-labs/agents-cli 1.22.120 → 1.22.121
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 +227 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +17 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
package/dist/lib/registry.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package registry client -- search, resolve, and install from remote registries.
|
|
3
|
-
*
|
|
4
|
-
* Queries the MCP registry (registry.modelcontextprotocol.io) and future skill
|
|
5
|
-
* registries to find packages, then resolves them into installable entries
|
|
6
|
-
* with transport, runtime, and argument metadata.
|
|
7
|
-
*/
|
|
8
1
|
import * as fs from 'fs';
|
|
9
2
|
import * as path from 'path';
|
|
10
3
|
import { createHash } from 'crypto';
|
|
@@ -26,22 +19,6 @@ export function validatedPyPISpec(spec) {
|
|
|
26
19
|
}
|
|
27
20
|
return spec;
|
|
28
21
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Seeded presets offered for `type`, minus any the user has removed.
|
|
31
|
-
*
|
|
32
|
-
* These are resolved here rather than written into agents.yaml. Seeding used to
|
|
33
|
-
* happen on the state READ path and persisted the entry — but agents.yaml is
|
|
34
|
-
* git-tracked in the user's DotAgents repo, so that write left the working tree
|
|
35
|
-
* dirty and every `agents repo pull` aborted with "Working tree has uncommitted
|
|
36
|
-
* changes", naming neither the file nor the cause. Since every `agents`
|
|
37
|
-
* invocation reads state, the dirt returned the instant it was cleared, and the
|
|
38
|
-
* loop could not be escaped through the CLI at all (RUSH-1925).
|
|
39
|
-
*
|
|
40
|
-
* `seededPresets` is the removal tombstone: a key listed there means the user
|
|
41
|
-
* removed that preset, so it is not offered again. Users who were seeded under
|
|
42
|
-
* the old behaviour have the key listed *and* the entry in their own
|
|
43
|
-
* `registries:` block, which still wins below — so nothing disappears for them.
|
|
44
|
-
*/
|
|
45
22
|
function offeredSeeds(type, meta) {
|
|
46
23
|
const removed = new Set(meta.seededPresets || []);
|
|
47
24
|
const offered = {};
|
|
@@ -51,22 +28,18 @@ function offeredSeeds(type, meta) {
|
|
|
51
28
|
}
|
|
52
29
|
return offered;
|
|
53
30
|
}
|
|
54
|
-
/** Get all registries of a given type, merging defaults with user overrides. */
|
|
55
31
|
export function getRegistries(type) {
|
|
56
32
|
const meta = readMeta();
|
|
57
33
|
const defaultRegs = DEFAULT_REGISTRIES[type] || {};
|
|
58
34
|
const userRegs = meta.registries?.[type] || {};
|
|
59
|
-
// Merge defaults with user config (user overrides defaults)
|
|
60
35
|
return { ...defaultRegs, ...offeredSeeds(type, meta), ...userRegs };
|
|
61
36
|
}
|
|
62
|
-
/** Get only the enabled registries of a given type. */
|
|
63
37
|
export function getEnabledRegistries(type) {
|
|
64
38
|
const registries = getRegistries(type);
|
|
65
39
|
return Object.entries(registries)
|
|
66
40
|
.filter(([, config]) => config.enabled)
|
|
67
41
|
.map(([name, config]) => ({ name, config }));
|
|
68
42
|
}
|
|
69
|
-
/** Add or update a registry configuration in agents.yaml. */
|
|
70
43
|
export function setRegistry(type, name, config) {
|
|
71
44
|
const meta = readMeta();
|
|
72
45
|
if (!meta.registries) {
|
|
@@ -75,24 +48,15 @@ export function setRegistry(type, name, config) {
|
|
|
75
48
|
if (!meta.registries[type]) {
|
|
76
49
|
meta.registries[type] = {};
|
|
77
50
|
}
|
|
78
|
-
// Seeded presets are resolved in memory and never materialized in agents.yaml
|
|
79
|
-
// (see offeredSeeds), so a partial update — `registry disable`, `enable`, or
|
|
80
|
-
// `config --api-key` — has nothing stored to merge with. Without the
|
|
81
|
-
// SEEDED_REGISTRIES fallback it would persist only the changed fields and drop
|
|
82
|
-
// `url`, and because userRegs wins over the in-memory seed in getRegistries the
|
|
83
|
-
// preset would stay broken even after re-enabling.
|
|
84
51
|
const existing = meta.registries[type][name]
|
|
85
52
|
|| DEFAULT_REGISTRIES[type]?.[name]
|
|
86
53
|
|| SEEDED_REGISTRIES[type]?.[name];
|
|
87
54
|
meta.registries[type][name] = { ...existing, ...config };
|
|
88
55
|
writeMeta(meta);
|
|
89
56
|
}
|
|
90
|
-
/** Remove a user-configured or seeded registry. Returns false if it did not exist. */
|
|
91
57
|
export function removeRegistry(type, name) {
|
|
92
58
|
const meta = readMeta();
|
|
93
59
|
const inUserConfig = !!meta.registries?.[type]?.[name];
|
|
94
|
-
// A seeded preset has no entry in agents.yaml until the user edits it, so
|
|
95
|
-
// removal is recorded as a tombstone in seededPresets instead of a deletion.
|
|
96
60
|
const isOfferedSeed = !!offeredSeeds(type, meta)[name];
|
|
97
61
|
if (!inUserConfig && !isOfferedSeed)
|
|
98
62
|
return false;
|
|
@@ -104,12 +68,6 @@ export function removeRegistry(type, name) {
|
|
|
104
68
|
writeMeta(meta);
|
|
105
69
|
return true;
|
|
106
70
|
}
|
|
107
|
-
/**
|
|
108
|
-
* Cap every registry network call. Without this a slow or unreachable registry
|
|
109
|
-
* hangs the calling command indefinitely (`agents add`, `agents mcp`, package
|
|
110
|
-
* resolution) — and makes CI flake when the registry is unreachable. On timeout
|
|
111
|
-
* the fetch aborts, callers fall back to their git/no-match path.
|
|
112
|
-
*/
|
|
113
71
|
const REGISTRY_FETCH_TIMEOUT_MS = 8000;
|
|
114
72
|
async function fetchMcpRegistry(url, query, limit = 20, apiKey) {
|
|
115
73
|
const params = new URLSearchParams();
|
|
@@ -132,7 +90,6 @@ async function fetchMcpRegistry(url, query, limit = 20, apiKey) {
|
|
|
132
90
|
}
|
|
133
91
|
return response.json();
|
|
134
92
|
}
|
|
135
|
-
/** Search MCP registries for servers matching a query string. */
|
|
136
93
|
export async function searchMcpRegistries(query, options) {
|
|
137
94
|
const registries = getEnabledRegistries('mcp');
|
|
138
95
|
const results = [];
|
|
@@ -160,32 +117,15 @@ export async function searchMcpRegistries(query, options) {
|
|
|
160
117
|
}
|
|
161
118
|
}
|
|
162
119
|
catch (err) {
|
|
163
|
-
// Log but continue with other registries
|
|
164
120
|
console.error(`Failed to search ${name}: ${err.message}`);
|
|
165
121
|
}
|
|
166
122
|
}
|
|
167
123
|
return results;
|
|
168
124
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Convert an MCP server registry entry into an install spec suitable for
|
|
171
|
-
* writing into `manifest.mcp`. Returns `null` if the entry has no package we
|
|
172
|
-
* know how to launch (e.g. only remote endpoints, which the current manifest
|
|
173
|
-
* shape supports via `url`+`transport: 'http'` but isn't yet wired to the
|
|
174
|
-
* registry's `remotes` field).
|
|
175
|
-
*
|
|
176
|
-
* Supported package shapes:
|
|
177
|
-
* - npm / runtime=node → `npx -y <name>`
|
|
178
|
-
* - pypi / runtime=python → `uvx <name>`
|
|
179
|
-
* - runtime=docker → `docker run --rm -i <name>`
|
|
180
|
-
* - runtime=binary → `<name>` (assumed to be on PATH)
|
|
181
|
-
*/
|
|
182
125
|
export function mcpEntryToInstallSpec(entry) {
|
|
183
126
|
const pkg = entry.packages?.[0];
|
|
184
127
|
if (!pkg)
|
|
185
128
|
return null;
|
|
186
|
-
// Remote transports (sse / streamable-http) need a URL the registry doesn't
|
|
187
|
-
// currently expose in this client's type. Skip for now; caller can fall back
|
|
188
|
-
// to manual --transport http with an explicit URL.
|
|
189
129
|
if (pkg.transport === 'sse' || pkg.transport === 'streamable-http') {
|
|
190
130
|
return null;
|
|
191
131
|
}
|
|
@@ -206,11 +146,8 @@ export function mcpEntryToInstallSpec(entry) {
|
|
|
206
146
|
if (runtime === 'binary') {
|
|
207
147
|
return { command: name, transport: 'stdio' };
|
|
208
148
|
}
|
|
209
|
-
// Unknown registry/runtime — fall back to bare name so the user gets *something*
|
|
210
|
-
// to inspect via `agents mcp view`, rather than a silent miss.
|
|
211
149
|
return { command: name, transport: 'stdio' };
|
|
212
150
|
}
|
|
213
|
-
/** Look up detailed info for an MCP server by exact name. */
|
|
214
151
|
export async function getMcpServerInfo(serverName, registryName) {
|
|
215
152
|
const registries = getEnabledRegistries('mcp');
|
|
216
153
|
const targetRegistries = registryName
|
|
@@ -218,9 +155,7 @@ export async function getMcpServerInfo(serverName, registryName) {
|
|
|
218
155
|
: registries;
|
|
219
156
|
for (const { config } of targetRegistries) {
|
|
220
157
|
try {
|
|
221
|
-
// Search with exact name
|
|
222
158
|
const response = await fetchMcpRegistry(config.url, serverName, 10, config.apiKey);
|
|
223
|
-
// Find exact match
|
|
224
159
|
const match = response.servers.find(({ server }) => server.name === serverName ||
|
|
225
160
|
server.name.endsWith(`/${serverName}`));
|
|
226
161
|
if (match) {
|
|
@@ -228,14 +163,12 @@ export async function getMcpServerInfo(serverName, registryName) {
|
|
|
228
163
|
}
|
|
229
164
|
}
|
|
230
165
|
catch {
|
|
231
|
-
// Continue to next registry
|
|
232
166
|
}
|
|
233
167
|
}
|
|
234
168
|
return null;
|
|
235
169
|
}
|
|
236
170
|
const skillIndexCache = new Map();
|
|
237
171
|
const SKILL_INDEX_TTL_MS = 10 * 60_000;
|
|
238
|
-
/** Fetch and cache a flat skill-index JSON document. */
|
|
239
172
|
async function fetchSkillIndex(url, apiKey) {
|
|
240
173
|
const cached = skillIndexCache.get(url);
|
|
241
174
|
if (cached && Date.now() - cached.fetchedAt < SKILL_INDEX_TTL_MS) {
|
|
@@ -255,7 +188,6 @@ async function fetchSkillIndex(url, apiKey) {
|
|
|
255
188
|
skillIndexCache.set(url, { fetchedAt: Date.now(), doc });
|
|
256
189
|
return doc;
|
|
257
190
|
}
|
|
258
|
-
/** Map a raw skill-index row into the canonical SkillEntry shape. */
|
|
259
191
|
export function normalizeSkillEntry(raw) {
|
|
260
192
|
return {
|
|
261
193
|
name: raw.name,
|
|
@@ -271,7 +203,6 @@ export function normalizeSkillEntry(raw) {
|
|
|
271
203
|
sha256: raw.sha256,
|
|
272
204
|
};
|
|
273
205
|
}
|
|
274
|
-
/** Case-insensitive substring match against the fields users expect to search. */
|
|
275
206
|
function skillMatchesQuery(entry, query) {
|
|
276
207
|
if (!query)
|
|
277
208
|
return true;
|
|
@@ -288,7 +219,6 @@ function skillMatchesQuery(entry, query) {
|
|
|
288
219
|
.toLowerCase();
|
|
289
220
|
return haystack.includes(q);
|
|
290
221
|
}
|
|
291
|
-
/** Search skill registries for entries matching a query string. */
|
|
292
222
|
export async function searchSkillRegistries(query, options) {
|
|
293
223
|
const registries = getEnabledRegistries('skill');
|
|
294
224
|
if (registries.length === 0)
|
|
@@ -331,7 +261,6 @@ export async function searchSkillRegistries(query, options) {
|
|
|
331
261
|
}
|
|
332
262
|
return results;
|
|
333
263
|
}
|
|
334
|
-
/** Look up a skill by identifier (or name) across enabled skill registries. */
|
|
335
264
|
export async function getSkillEntry(skillIdentifier, registryName) {
|
|
336
265
|
const registries = getEnabledRegistries('skill');
|
|
337
266
|
const targets = registryName
|
|
@@ -345,26 +274,19 @@ export async function getSkillEntry(skillIdentifier, registryName) {
|
|
|
345
274
|
return normalizeSkillEntry(match);
|
|
346
275
|
}
|
|
347
276
|
catch {
|
|
348
|
-
/* try next registry */
|
|
349
277
|
}
|
|
350
278
|
}
|
|
351
279
|
return null;
|
|
352
280
|
}
|
|
353
|
-
/** Derive a cloneable git source from a skill entry's repo/source metadata. */
|
|
354
281
|
export function skillEntryToGitSource(entry) {
|
|
355
282
|
if (entry.repo) {
|
|
356
|
-
// Already an owner/repo; cloneRepo understands the `gh:` shorthand.
|
|
357
283
|
return `gh:${entry.repo.replace(/\.git$/, '')}`;
|
|
358
284
|
}
|
|
359
285
|
if (entry.source === 'official') {
|
|
360
|
-
// Hermes 'official' entries live in NousResearch/hermes-agent; the path
|
|
361
|
-
// sits under optional-skills/. cloneRepo pulls the whole repo — the
|
|
362
|
-
// per-path narrowing is a follow-on improvement.
|
|
363
286
|
return 'gh:NousResearch/hermes-agent';
|
|
364
287
|
}
|
|
365
288
|
return null;
|
|
366
289
|
}
|
|
367
|
-
/** Unified search across all enabled registries of the specified type(s). */
|
|
368
290
|
export async function search(query, options) {
|
|
369
291
|
const results = [];
|
|
370
292
|
if (!options?.type || options.type === 'mcp') {
|
|
@@ -377,44 +299,33 @@ export async function search(query, options) {
|
|
|
377
299
|
}
|
|
378
300
|
return results;
|
|
379
301
|
}
|
|
380
|
-
/** Parse a package identifier into its type (mcp, skill, git) and name. */
|
|
381
302
|
export function parsePackageIdentifier(identifier) {
|
|
382
|
-
// mcp:filesystem -> MCP registry
|
|
383
303
|
if (identifier.startsWith('mcp:')) {
|
|
384
304
|
return { type: 'mcp', name: identifier.slice(4) };
|
|
385
305
|
}
|
|
386
|
-
// skill:user/repo -> skill registry (or git fallback)
|
|
387
306
|
if (identifier.startsWith('skill:')) {
|
|
388
307
|
return { type: 'skill', name: identifier.slice(6) };
|
|
389
308
|
}
|
|
390
|
-
// plugin:name@source | plugin:/path | plugin:gh:user/repo — Phase 5 packaging
|
|
391
|
-
// umbrella. Spec after the prefix is the same grammar as `agents plugins install`.
|
|
392
309
|
if (identifier.startsWith('plugin:')) {
|
|
393
310
|
return { type: 'plugin', name: identifier.slice('plugin:'.length) };
|
|
394
311
|
}
|
|
395
|
-
// gh:user/repo -> git source
|
|
396
312
|
if (identifier.startsWith('gh:')) {
|
|
397
313
|
return { type: 'git', name: identifier };
|
|
398
314
|
}
|
|
399
|
-
// https://... or git@... -> git source
|
|
400
315
|
if (identifier.startsWith('https://') || identifier.startsWith('git@')) {
|
|
401
316
|
return { type: 'git', name: identifier };
|
|
402
317
|
}
|
|
403
|
-
// Local repo/path
|
|
404
318
|
if (identifier.startsWith('/') ||
|
|
405
319
|
identifier.startsWith('./') ||
|
|
406
320
|
identifier.startsWith('../') ||
|
|
407
321
|
fs.existsSync(identifier)) {
|
|
408
322
|
return { type: 'git', name: identifier };
|
|
409
323
|
}
|
|
410
|
-
// user/repo format -> could be either, need to search
|
|
411
324
|
if (identifier.includes('/') && !identifier.includes(':')) {
|
|
412
325
|
return { type: 'unknown', name: identifier };
|
|
413
326
|
}
|
|
414
|
-
// Single word -> search MCP registries first
|
|
415
327
|
return { type: 'unknown', name: identifier };
|
|
416
328
|
}
|
|
417
|
-
/** Resolve a package identifier to an installable package with source metadata. */
|
|
418
329
|
export async function resolvePackage(identifier) {
|
|
419
330
|
const parsed = parsePackageIdentifier(identifier);
|
|
420
331
|
if (parsed.type === 'plugin') {
|
|
@@ -448,16 +359,12 @@ export async function resolvePackage(identifier) {
|
|
|
448
359
|
skillEntry: entry,
|
|
449
360
|
};
|
|
450
361
|
}
|
|
451
|
-
// Entry found but has no installable repo (e.g. lobehub-only listings).
|
|
452
362
|
return null;
|
|
453
363
|
}
|
|
454
|
-
// Fall back to git shorthand when the identifier isn't in any registry.
|
|
455
364
|
const gitSource = parsed.name.startsWith('gh:') ? parsed.name : `gh:${parsed.name}`;
|
|
456
365
|
return { type: 'git', source: gitSource };
|
|
457
366
|
}
|
|
458
|
-
// Unknown type - search registries
|
|
459
367
|
if (parsed.type === 'unknown') {
|
|
460
|
-
// Try MCP first
|
|
461
368
|
const mcpEntry = await getMcpServerInfo(parsed.name);
|
|
462
369
|
if (mcpEntry) {
|
|
463
370
|
return {
|
|
@@ -466,47 +373,20 @@ export async function resolvePackage(identifier) {
|
|
|
466
373
|
mcpEntry,
|
|
467
374
|
};
|
|
468
375
|
}
|
|
469
|
-
// If it looks like a git path (user/repo), treat as git
|
|
470
376
|
if (parsed.name.includes('/')) {
|
|
471
377
|
return { type: 'git', source: `gh:${parsed.name}` };
|
|
472
378
|
}
|
|
473
379
|
}
|
|
474
380
|
return null;
|
|
475
381
|
}
|
|
476
|
-
// ============================================================================
|
|
477
|
-
// PUBLISH — generate a self-hosted skill index + verify integrity on install
|
|
478
|
-
// ============================================================================
|
|
479
|
-
/** Lowercase hex sha256 of a file's bytes. Small files only (SKILL.md). */
|
|
480
382
|
export function sha256OfFile(file) {
|
|
481
383
|
return createHash('sha256').update(fs.readFileSync(file)).digest('hex');
|
|
482
384
|
}
|
|
483
|
-
/**
|
|
484
|
-
* Parse an 'owner/repo' slug from a git remote URL (https or scp-style ssh) or
|
|
485
|
-
* a filesystem-path remote whose path is slug-shaped (`…/github.com/owner/repo`).
|
|
486
|
-
* Returns null if the remote is not a recognizable GitHub-style shape.
|
|
487
|
-
*
|
|
488
|
-
* Backslashes are folded to forward slashes first: a real git URL never
|
|
489
|
-
* contains one, but a local-path remote on Windows does
|
|
490
|
-
* (`C:\…\github.com\org\a.git`), and without the fold the same remote that
|
|
491
|
-
* parses as `org/a` on POSIX returns null on win32 — which made the
|
|
492
|
-
* projects-pull slug verification fail closed as `blocked` there (RUSH-2694).
|
|
493
|
-
*/
|
|
494
385
|
export function parseOwnerRepoFromRemote(remoteUrl) {
|
|
495
386
|
const s = remoteUrl.trim().replace(/\\/g, '/').replace(/\.git$/, '');
|
|
496
|
-
// https://github.com/owner/repo or git@github.com:owner/repo
|
|
497
387
|
const m = s.match(/github\.com[/:]([^/]+\/[^/]+)$/);
|
|
498
388
|
return m ? m[1] : null;
|
|
499
389
|
}
|
|
500
|
-
/**
|
|
501
|
-
* Walk a repo's skills/ and build a flat {@link SkillIndexDocument}. Each entry
|
|
502
|
-
* carries the sha256 of its SKILL.md so install can verify integrity after
|
|
503
|
-
* cloning.
|
|
504
|
-
*
|
|
505
|
-
* `repoSlug` is the 'owner/repo' the skills are published under, written into
|
|
506
|
-
* each entry's `repo` field so {@link skillEntryToGitSource} resolves it to
|
|
507
|
-
* `gh:owner/repo`. `identifier` is set to the skill's directory name so
|
|
508
|
-
* `agents install skill:<name>` resolves against this index.
|
|
509
|
-
*/
|
|
510
390
|
export function buildSkillIndex(repoPath, repoSlug, opts) {
|
|
511
391
|
const discovered = discoverSkillsFromRepo(repoPath);
|
|
512
392
|
const skills = discovered.map((s) => ({
|
|
@@ -526,13 +406,6 @@ export function buildSkillIndex(repoPath, repoSlug, opts) {
|
|
|
526
406
|
skills,
|
|
527
407
|
};
|
|
528
408
|
}
|
|
529
|
-
/**
|
|
530
|
-
* Verify a cloned skill's SKILL.md against the sha256 recorded in its registry
|
|
531
|
-
* entry. Returns ok when the entry carries no sha256 — indexes published before
|
|
532
|
-
* integrity hashes (or by third parties) simply skip the check. Returns an
|
|
533
|
-
* error when the file is missing or its hash differs, so install can abort
|
|
534
|
-
* rather than silently trusting a tampered artifact.
|
|
535
|
-
*/
|
|
536
409
|
export function verifySkillIntegrity(repoPath, entry) {
|
|
537
410
|
if (!entry.sha256)
|
|
538
411
|
return { ok: true };
|
package/dist/lib/reminders.d.ts
CHANGED
|
@@ -1,29 +1,8 @@
|
|
|
1
1
|
export interface Reminder {
|
|
2
|
-
/** Succinct form shown in the statusline (a few words). */
|
|
3
2
|
short: string;
|
|
4
|
-
/** Full principle, shown by `agents reminders`. Falls back to `short`. */
|
|
5
3
|
full: string;
|
|
6
4
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Point the reminders file at a fixture for tests, mirroring
|
|
9
|
-
* `setClaudeUsageCachePathForTest` in accounting/usage.ts. Returns the prior
|
|
10
|
-
* override so a test can restore it. Pass `null` to clear.
|
|
11
|
-
*/
|
|
12
5
|
export declare function setRemindersFilePathForTest(filePath: string | null): string | null;
|
|
13
6
|
export declare function remindersFilePath(): string;
|
|
14
|
-
/**
|
|
15
|
-
* Load reminders from disk.
|
|
16
|
-
*
|
|
17
|
-
* Returns `[]` when the file does not exist — the feature is simply not opted
|
|
18
|
-
* in. Throws on a present-but-malformed file so `agents reminders` can surface
|
|
19
|
-
* the problem; the statusline caller deliberately swallows that, because a
|
|
20
|
-
* broken prompt is worse than a missing reminder line.
|
|
21
|
-
*/
|
|
22
7
|
export declare function loadReminders(filePath?: string): Reminder[];
|
|
23
|
-
/**
|
|
24
|
-
* Deterministically pick one reminder for a session. Same `sessionId` always
|
|
25
|
-
* maps to the same reminder, so it is stable within a session; different session
|
|
26
|
-
* ids spread across the list, so concurrent agents show different reminders.
|
|
27
|
-
* Returns `null` when there are no reminders.
|
|
28
|
-
*/
|
|
29
8
|
export declare function pickReminderForSession(reminders: Reminder[], sessionId?: string): Reminder | null;
|
package/dist/lib/reminders.js
CHANGED
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Personal operating reminders.
|
|
3
|
-
*
|
|
4
|
-
* A small, user-owned list of principles kept in
|
|
5
|
-
* `~/.agents/reminders/reminders.yaml` and surfaced succinctly in the Claude
|
|
6
|
-
* statusline — one per session, chosen deterministically from the session id so
|
|
7
|
-
* concurrent agents each show a different one and it stays stable within a
|
|
8
|
-
* session. Presence of the file with at least one entry is the opt-in; there is
|
|
9
|
-
* no separate flag. The file syncs across the fleet via `agents repo push/pull`.
|
|
10
|
-
*/
|
|
11
1
|
import * as fs from 'node:fs';
|
|
12
2
|
import * as path from 'node:path';
|
|
13
3
|
import { parse as parseYaml } from 'yaml';
|
|
14
4
|
import { getUserAgentsDir } from './state.js';
|
|
15
5
|
let remindersFilePathOverride = null;
|
|
16
|
-
/**
|
|
17
|
-
* Point the reminders file at a fixture for tests, mirroring
|
|
18
|
-
* `setClaudeUsageCachePathForTest` in accounting/usage.ts. Returns the prior
|
|
19
|
-
* override so a test can restore it. Pass `null` to clear.
|
|
20
|
-
*/
|
|
21
6
|
export function setRemindersFilePathForTest(filePath) {
|
|
22
7
|
const prev = remindersFilePathOverride;
|
|
23
8
|
remindersFilePathOverride = filePath;
|
|
@@ -29,14 +14,6 @@ export function remindersFilePath() {
|
|
|
29
14
|
function isRecord(value) {
|
|
30
15
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
31
16
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Load reminders from disk.
|
|
34
|
-
*
|
|
35
|
-
* Returns `[]` when the file does not exist — the feature is simply not opted
|
|
36
|
-
* in. Throws on a present-but-malformed file so `agents reminders` can surface
|
|
37
|
-
* the problem; the statusline caller deliberately swallows that, because a
|
|
38
|
-
* broken prompt is worse than a missing reminder line.
|
|
39
|
-
*/
|
|
40
17
|
export function loadReminders(filePath = remindersFilePath()) {
|
|
41
18
|
let raw;
|
|
42
19
|
try {
|
|
@@ -64,12 +41,6 @@ export function loadReminders(filePath = remindersFilePath()) {
|
|
|
64
41
|
}
|
|
65
42
|
return reminders;
|
|
66
43
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Deterministically pick one reminder for a session. Same `sessionId` always
|
|
69
|
-
* maps to the same reminder, so it is stable within a session; different session
|
|
70
|
-
* ids spread across the list, so concurrent agents show different reminders.
|
|
71
|
-
* Returns `null` when there are no reminders.
|
|
72
|
-
*/
|
|
73
44
|
export function pickReminderForSession(reminders, sessionId) {
|
|
74
45
|
if (reminders.length === 0)
|
|
75
46
|
return null;
|
|
@@ -77,7 +48,6 @@ export function pickReminderForSession(reminders, sessionId) {
|
|
|
77
48
|
const index = key ? hashString(key) % reminders.length : 0;
|
|
78
49
|
return reminders[index];
|
|
79
50
|
}
|
|
80
|
-
/** FNV-1a 32-bit — stable, dependency-free, well-distributed for short ids. */
|
|
81
51
|
function hashString(value) {
|
|
82
52
|
let hash = 0x811c9dc5;
|
|
83
53
|
for (let i = 0; i < value.length; i++) {
|
|
@@ -3,34 +3,12 @@ interface RemoteAgentsJsonOptions<T> {
|
|
|
3
3
|
noFanoutEnv: string;
|
|
4
4
|
hosts?: string[];
|
|
5
5
|
parse: (stdout: string, machine: string) => T[] | RemoteAgentsJsonParseResult<T>;
|
|
6
|
-
/**
|
|
7
|
-
* Suppress the per-device "unreachable — skipped" stderr line. The skipped
|
|
8
|
-
* names still come back in {@link RemoteAgentsJsonResult.skipped}, so a caller
|
|
9
|
-
* that fans out by DEFAULT can report them once, compactly, instead of
|
|
10
|
-
* printing a line per offline box above its output. Never a silent drop.
|
|
11
|
-
*/
|
|
12
6
|
quiet?: boolean;
|
|
13
|
-
/** Per-peer deadline. Long-running maintenance commands override 12 seconds. */
|
|
14
7
|
timeoutMs?: number;
|
|
15
|
-
/**
|
|
16
|
-
* Opt-in early-exit for a globally-unique lookup (a full session UUID). When a
|
|
17
|
-
* peer returns an item that satisfies {@link isDefinitive}, the fan-out
|
|
18
|
-
* resolves immediately and SIGTERMs every still-outstanding peer instead of
|
|
19
|
-
* waiting for the slowest one to hit {@link REMOTE_TIMEOUT_MS}.
|
|
20
|
-
*
|
|
21
|
-
* OMITTED BY DEFAULT — tool-search, program-count, and the default session
|
|
22
|
-
* listing keep the all-settle behavior (ambiguity, or a label/prefix conflict,
|
|
23
|
-
* is only known once every peer has answered). Only the full-UUID resolve path
|
|
24
|
-
* opts in, since only a UUID guarantees the first hit is the only hit.
|
|
25
|
-
*/
|
|
26
8
|
earlyExit?: {
|
|
27
9
|
isDefinitive: (item: T, machine: string) => boolean;
|
|
28
10
|
};
|
|
29
11
|
}
|
|
30
|
-
/**
|
|
31
|
-
* The SSH boundary as a swappable dependency so the fan-out logic is testable
|
|
32
|
-
* without a live tailnet. Production wires this to the real {@link sshCapture}.
|
|
33
|
-
*/
|
|
34
12
|
export type SshCaptureFn = (target: string, remoteCmd: string, opts: {
|
|
35
13
|
timeoutMs: number;
|
|
36
14
|
signal?: AbortSignal;
|
|
@@ -49,11 +27,8 @@ export interface RemoteAgentsJsonParseResult<T> {
|
|
|
49
27
|
interface RemoteAgentsJsonResult<T> {
|
|
50
28
|
items: T[];
|
|
51
29
|
deviceCount: number;
|
|
52
|
-
/** Devices that were dialed but answered with an error / no CLI / a timeout. */
|
|
53
30
|
skipped: string[];
|
|
54
|
-
/** Devices that exited successfully but returned invalid JSON for this command. */
|
|
55
31
|
parseFailed: string[];
|
|
56
|
-
/** Whether automatic target discovery failed before any peer could be dialed. */
|
|
57
32
|
discoveryFailed: boolean;
|
|
58
33
|
}
|
|
59
34
|
export declare function normalizeRemoteAgentsJsonParse<T>(parsed: T[] | RemoteAgentsJsonParseResult<T>): RemoteAgentsJsonParseResult<T>;
|
|
@@ -61,13 +36,7 @@ export declare function parseRemoteAgentsJsonPayload<T>(stdout: string, machine:
|
|
|
61
36
|
items: T[];
|
|
62
37
|
parseFailed: boolean;
|
|
63
38
|
};
|
|
64
|
-
/** Build the command one peer runs, with a guard that prevents recursive fan-out. */
|
|
65
39
|
export declare function remoteAgentsJsonCommand(args: string[], noFanoutEnv: string, os?: string): string;
|
|
66
|
-
/**
|
|
67
|
-
* The subset of a spawned `ssh` child this capture loop drives. Structural so a
|
|
68
|
-
* unit test can feed synthetic `data`/`close` events through a fake without a
|
|
69
|
-
* live SSH connection.
|
|
70
|
-
*/
|
|
71
40
|
export interface CapturableChild {
|
|
72
41
|
stdout: {
|
|
73
42
|
on(event: 'data', listener: (chunk: Buffer) => void): unknown;
|
|
@@ -75,18 +44,6 @@ export interface CapturableChild {
|
|
|
75
44
|
on(event: 'error' | 'close', listener: (arg?: number | null) => void): unknown;
|
|
76
45
|
kill(signal?: NodeJS.Signals): unknown;
|
|
77
46
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Stream one child's stdout into memory under a hard per-peer byte ceiling.
|
|
80
|
-
*
|
|
81
|
-
* A cross-machine fan-out awaits every peer's capture under one `Promise.all`,
|
|
82
|
-
* so an unbounded buffer means a single runaway peer (a corrupt or
|
|
83
|
-
* pathologically large payload) exhausts the caller's heap and takes the whole
|
|
84
|
-
* sweep down — RUSH-2065. Once the accumulated bytes would exceed
|
|
85
|
-
* {@link REMOTE_STDOUT_MAX_BYTES}, the child is SIGKILLed and the capture settles
|
|
86
|
-
* as `code: null` (unreachable) rather than trust a truncated body. A definitive
|
|
87
|
-
* early-exit `signal` SIGTERMs the child the same way, and the timer is the
|
|
88
|
-
* per-peer deadline.
|
|
89
|
-
*/
|
|
90
47
|
export declare function captureBoundedStdout(child: CapturableChild, { timeoutMs, signal }: {
|
|
91
48
|
timeoutMs: number;
|
|
92
49
|
signal?: AbortSignal;
|
|
@@ -94,6 +51,5 @@ export declare function captureBoundedStdout(child: CapturableChild, { timeoutMs
|
|
|
94
51
|
code: number | null;
|
|
95
52
|
stdout: string;
|
|
96
53
|
}>;
|
|
97
|
-
/** Query explicit hosts, or every registered online peer when hosts is omitted. */
|
|
98
54
|
export declare function gatherRemoteAgentsJson<T>(options: RemoteAgentsJsonOptions<T>, deps?: GatherRemoteAgentsJsonDeps): Promise<RemoteAgentsJsonResult<T>>;
|
|
99
55
|
export {};
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared cross-machine fan-out for JSON-producing `agents` commands.
|
|
3
|
-
*
|
|
4
|
-
* Registered online devices are queried in parallel over the canonical SSH
|
|
5
|
-
* transport. A recursion-guard environment variable makes each peer answer for
|
|
6
|
-
* itself, and version-skewed or unreachable peers are skipped without hiding
|
|
7
|
-
* healthy results from the rest of the fleet.
|
|
8
|
-
*/
|
|
9
1
|
import { spawn } from 'child_process';
|
|
10
2
|
import { setMaxListeners } from 'node:events';
|
|
11
3
|
import chalk from 'chalk';
|
|
@@ -20,14 +12,11 @@ export function normalizeRemoteAgentsJsonParse(parsed) {
|
|
|
20
12
|
return Array.isArray(parsed) ? { items: parsed, valid: true } : parsed;
|
|
21
13
|
}
|
|
22
14
|
export function parseRemoteAgentsJsonPayload(stdout, machine, parse) {
|
|
23
|
-
// A Windows peer can prefix the JSON with a PowerShell CLIXML banner; strip it
|
|
24
|
-
// before handing stdout to the command-specific parser (RUSH-2286).
|
|
25
15
|
const parsed = normalizeRemoteAgentsJsonParse(parse(stripClixml(stdout), machine));
|
|
26
16
|
return parsed.valid
|
|
27
17
|
? { items: parsed.items, parseFailed: false }
|
|
28
18
|
: { items: [], parseFailed: true };
|
|
29
19
|
}
|
|
30
|
-
/** Build the command one peer runs, with a guard that prevents recursive fan-out. */
|
|
31
20
|
export function remoteAgentsJsonCommand(args, noFanoutEnv, os) {
|
|
32
21
|
if (remoteShellFor(os) === 'powershell') {
|
|
33
22
|
return buildWindowsAgentsCommand({ args, env: { [noFanoutEnv]: '1' } });
|
|
@@ -35,18 +24,6 @@ export function remoteAgentsJsonCommand(args, noFanoutEnv, os) {
|
|
|
35
24
|
const inner = `${noFanoutEnv}=1 agents ${args.map(shellQuote).join(' ')}`;
|
|
36
25
|
return `bash -lc ${shellQuote(inner)}`;
|
|
37
26
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Stream one child's stdout into memory under a hard per-peer byte ceiling.
|
|
40
|
-
*
|
|
41
|
-
* A cross-machine fan-out awaits every peer's capture under one `Promise.all`,
|
|
42
|
-
* so an unbounded buffer means a single runaway peer (a corrupt or
|
|
43
|
-
* pathologically large payload) exhausts the caller's heap and takes the whole
|
|
44
|
-
* sweep down — RUSH-2065. Once the accumulated bytes would exceed
|
|
45
|
-
* {@link REMOTE_STDOUT_MAX_BYTES}, the child is SIGKILLed and the capture settles
|
|
46
|
-
* as `code: null` (unreachable) rather than trust a truncated body. A definitive
|
|
47
|
-
* early-exit `signal` SIGTERMs the child the same way, and the timer is the
|
|
48
|
-
* per-peer deadline.
|
|
49
|
-
*/
|
|
50
27
|
export function captureBoundedStdout(child, { timeoutMs, signal }) {
|
|
51
28
|
return new Promise((resolve) => {
|
|
52
29
|
const decoded = new RemoteUtf8Accumulator();
|
|
@@ -58,22 +35,15 @@ export function captureBoundedStdout(child, { timeoutMs, signal }) {
|
|
|
58
35
|
settled = true;
|
|
59
36
|
clearTimeout(timer);
|
|
60
37
|
signal?.removeEventListener('abort', onAbort);
|
|
61
|
-
// A killed/aborted capture never cleanly ends its decoder; return what
|
|
62
|
-
// decoded so far (the caller treats a non-zero code as unreachable and
|
|
63
|
-
// ignores stdout anyway).
|
|
64
38
|
resolve({ code, stdout: code === null ? decoded.current() : decoded.end() });
|
|
65
39
|
};
|
|
66
40
|
const timer = setTimeout(() => {
|
|
67
41
|
child.kill('SIGKILL');
|
|
68
42
|
done(null);
|
|
69
43
|
}, timeoutMs);
|
|
70
|
-
// A definitive hit on a fast peer cancels the rest: SIGTERM the child so an
|
|
71
|
-
// unreachable peer is not left running to its full timeout.
|
|
72
44
|
const onAbort = () => { child.kill('SIGTERM'); done(null); };
|
|
73
45
|
signal?.addEventListener('abort', onAbort, { once: true });
|
|
74
46
|
child.stdout?.on('data', (data) => {
|
|
75
|
-
// Over the ceiling, SIGKILL the child and treat it as unreachable rather
|
|
76
|
-
// than trust a partial payload — the RUSH-2065 OOM guard.
|
|
77
47
|
if (stdoutBytes + data.byteLength > REMOTE_STDOUT_MAX_BYTES) {
|
|
78
48
|
child.kill('SIGKILL');
|
|
79
49
|
done(null);
|
|
@@ -94,7 +64,6 @@ const sshCapture = (target, remoteCmd, { timeoutMs, signal, extraSshArgs }) => {
|
|
|
94
64
|
const child = spawn('ssh', args, { stdio: ['ignore', 'pipe', 'ignore'] });
|
|
95
65
|
return captureBoundedStdout(child, { timeoutMs, signal });
|
|
96
66
|
};
|
|
97
|
-
/** Query explicit hosts, or every registered online peer when hosts is omitted. */
|
|
98
67
|
export async function gatherRemoteAgentsJson(options, deps = {}) {
|
|
99
68
|
const capture = deps.capture ?? sshCapture;
|
|
100
69
|
const self = machineId();
|
|
@@ -111,8 +80,6 @@ export async function gatherRemoteAgentsJson(options, deps = {}) {
|
|
|
111
80
|
return { items: [], deviceCount: 0, skipped: [], parseFailed: [], discoveryFailed: true };
|
|
112
81
|
}
|
|
113
82
|
for (const device of Object.values(devices)) {
|
|
114
|
-
// Live SSH-probe verdict first, cached tailscale snapshot only as a
|
|
115
|
-
// fallback — see isDialableDevice (mirrors session/remote-list.ts).
|
|
116
83
|
if (!isDialableDevice(device))
|
|
117
84
|
continue;
|
|
118
85
|
if (normalizeHost(device.name) === self)
|
|
@@ -129,19 +96,12 @@ export async function gatherRemoteAgentsJson(options, deps = {}) {
|
|
|
129
96
|
});
|
|
130
97
|
}
|
|
131
98
|
catch {
|
|
132
|
-
// A registered profile without a dialable address is not a peer yet.
|
|
133
99
|
}
|
|
134
100
|
}
|
|
135
101
|
}
|
|
136
102
|
const skipped = [];
|
|
137
103
|
const parseFailed = [];
|
|
138
|
-
// The controller exists ONLY for early-exit: the first definitive hit aborts
|
|
139
|
-
// every still-outstanding peer. When earlyExit is not requested there is no
|
|
140
|
-
// controller and no per-peer abort listener, so the default path is a plain
|
|
141
|
-
// all-settle Promise.all, byte-identical to before (tool-search, program-count).
|
|
142
104
|
const controller = options.earlyExit ? new AbortController() : undefined;
|
|
143
|
-
// A fleet can hold more peers than Node's default 10-listener cap; each peer's
|
|
144
|
-
// capture adds one abort listener, so lift the cap to avoid a spurious warning.
|
|
145
105
|
if (controller)
|
|
146
106
|
setMaxListeners(targets.length + 1, controller.signal);
|
|
147
107
|
let earlyResolved = false;
|
|
@@ -152,9 +112,6 @@ export async function gatherRemoteAgentsJson(options, deps = {}) {
|
|
|
152
112
|
signal: controller?.signal,
|
|
153
113
|
extraSshArgs: target.extraSshArgs,
|
|
154
114
|
});
|
|
155
|
-
// A peer we deliberately cancelled is neither a hit nor a failure — it never
|
|
156
|
-
// got to answer, so it must not pollute skipped/parseFailed (which drive the
|
|
157
|
-
// "unreachable" listing and the fail-closed partial-resolution gate).
|
|
158
115
|
const cancelled = controller?.signal.aborted ?? false;
|
|
159
116
|
if (result.code !== 0) {
|
|
160
117
|
if (!cancelled) {
|
|
@@ -178,7 +135,7 @@ export async function gatherRemoteAgentsJson(options, deps = {}) {
|
|
|
178
135
|
if (controller && options.earlyExit && !earlyResolved
|
|
179
136
|
&& parsed.items.some((item) => options.earlyExit.isDefinitive(item, target.machine))) {
|
|
180
137
|
earlyResolved = true;
|
|
181
|
-
controller.abort();
|
|
138
|
+
controller.abort();
|
|
182
139
|
}
|
|
183
140
|
return parsed.items;
|
|
184
141
|
}));
|