@phnx-labs/agents-cli 1.22.119 → 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 +236 -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 +20 -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
|
@@ -1,40 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Follow a dispatched host run by streaming its remote log.
|
|
3
|
-
*
|
|
4
|
-
* The run writes combined output to a log file on the host and its exit code to
|
|
5
|
-
* a sibling `.exit` file. The primary path opens one long-lived
|
|
6
|
-
* `ssh ... tail -f` stream (durable, offset-tracked — a dropped connection
|
|
7
|
-
* reconnects from the saved offset) and finishes when the remote-side watcher
|
|
8
|
-
* emits the exit sentinel. Rich transcript-parser rendering is a fast-follow.
|
|
9
|
-
*
|
|
10
|
-
* Efficiency: a healthy follow holds exactly one ssh process/socket for the
|
|
11
|
-
* whole run instead of spawning once per poll cycle. If the connection drops,
|
|
12
|
-
* the next stream resumes at the byte offset already flushed locally.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Cap for the LOCAL mirror of a distributed teammate's remote log. `followHostTask`
|
|
16
|
-
* appends remote bytes into the local mirror forever; a team can spin 10+ chatty
|
|
17
|
-
* remote teammates, so the orchestrator must keep a bounded window (the full log
|
|
18
|
-
* always lives on the host). The teams remote path (agents.ts readNewEvents) writes
|
|
19
|
-
* its own append into each teammate's `stdout.log`, then truncates that file to its
|
|
20
|
-
* trailing `REMOTE_MIRROR_MAX_BYTES` — the parser has already consumed the bytes
|
|
21
|
-
* (status/digest updated via lastReadPos), so trailing-tail history is dead weight.
|
|
22
|
-
*/
|
|
23
1
|
export declare const REMOTE_MIRROR_MAX_BYTES: number;
|
|
24
|
-
/**
|
|
25
|
-
* Pull the new bytes of a remote log since `offset` in ONE ssh round-trip.
|
|
26
|
-
*
|
|
27
|
-
* The teams remote-teammate monitor calls this each poll to advance its offset-tail
|
|
28
|
-
* cursor into the host's log, mirroring only the delta into the local `stdout.log`
|
|
29
|
-
* the stream-json parser consumes. Byte-exact (raw Buffer, no UTF-8 decode) so a
|
|
30
|
-
* multibyte character split at the `tail -c` boundary neither drifts the offset nor
|
|
31
|
-
* renders as U+FFFD — the same discipline `fetchProgress` uses. `bytes.length` is
|
|
32
|
-
* the exact wire count; `newOffset` is `offset + bytes.length`.
|
|
33
|
-
*
|
|
34
|
-
* Returns null on a transient ssh failure (the caller retries next poll without
|
|
35
|
-
* advancing). `remoteLog` is a $HOME-prefixed path with a safe basename; it's
|
|
36
|
-
* shell-quoted defensively even so.
|
|
37
|
-
*/
|
|
38
2
|
export declare function pullRemoteLogDelta(target: string, opts: {
|
|
39
3
|
remoteLog: string;
|
|
40
4
|
offset: number;
|
|
@@ -46,54 +10,20 @@ export declare function pullRemoteLogDelta(target: string, opts: {
|
|
|
46
10
|
export interface FollowOptions {
|
|
47
11
|
remoteLog: string;
|
|
48
12
|
remoteExit: string;
|
|
49
|
-
/** Mirror remote output into this task's local log too. */
|
|
50
13
|
taskId: string;
|
|
51
|
-
/** Print streamed output to stdout. */
|
|
52
14
|
echo?: boolean;
|
|
53
|
-
/** Overall wall-clock cap; returns -1 on timeout. */
|
|
54
15
|
timeoutMs?: number;
|
|
55
|
-
/** Fast poll interval while output is flowing (default 1500ms). */
|
|
56
16
|
pollMs?: number;
|
|
57
|
-
/** Idle-backoff ceiling (default 4× the fast interval, min 4000ms). */
|
|
58
17
|
maxPollMs?: number;
|
|
59
18
|
extraSshArgs?: string[];
|
|
60
19
|
remoteShell?: 'posix' | 'powershell';
|
|
61
20
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Build the per-task sentinel that separates the log tail from the exit-file
|
|
64
|
-
* contents in one combined fetch. The task id (8 hex chars) makes collision with
|
|
65
|
-
* the agent's own output effectively impossible; callers still split on the LAST
|
|
66
|
-
* occurrence so a token echoed into the log can never be mistaken for the real
|
|
67
|
-
* trailing marker.
|
|
68
|
-
*/
|
|
69
21
|
export declare function exitMarker(taskId: string): string;
|
|
70
|
-
/**
|
|
71
|
-
* Split a combined fetch (`<log bytes><marker><exit>`) back into its parts at the
|
|
72
|
-
* BYTE level. Splits on the LAST marker occurrence, so even if the agent's own
|
|
73
|
-
* output happened to echo the token, the real trailing sentinel still wins.
|
|
74
|
-
* Returns null when the marker is absent (a transient fetch miss — the remote
|
|
75
|
-
* shell never ran our printf), telling the caller to retry without advancing.
|
|
76
|
-
*
|
|
77
|
-
* Byte-level (not string) is load-bearing: `logChunk.length` is the EXACT number
|
|
78
|
-
* of log bytes consumed on the wire, which the follow loop adds to its offset. A
|
|
79
|
-
* string split would first UTF-8-decode, turning any multibyte char split at the
|
|
80
|
-
* `tail -c` boundary into a U+FFFD whose re-encoded length ≠ the wire bytes,
|
|
81
|
-
* drifting the offset (see followHostTask). `consumed` is returned explicitly for
|
|
82
|
-
* clarity; it always equals `logChunk.length`.
|
|
83
|
-
*/
|
|
84
22
|
export declare function splitProgressBytes(buf: Buffer, taskId: string): {
|
|
85
23
|
logChunk: Buffer;
|
|
86
24
|
exit: Buffer;
|
|
87
25
|
consumed: number;
|
|
88
26
|
} | null;
|
|
89
|
-
/**
|
|
90
|
-
* One round-trip: new log bytes since `offset`, the sentinel, then the exit
|
|
91
|
-
* file. Returns null on a transient fetch miss (ssh error / marker absent) so
|
|
92
|
-
* the caller simply retries next cycle without advancing the offset.
|
|
93
|
-
*
|
|
94
|
-
* `remoteLog`/`remoteExit` are $HOME-prefixed paths with safe (hex) basenames —
|
|
95
|
-
* intentionally unquoted so the remote shell expands $HOME.
|
|
96
|
-
*/
|
|
97
27
|
export declare function fetchProgress(target: string, opts: {
|
|
98
28
|
remoteLog: string;
|
|
99
29
|
remoteExit: string;
|
|
@@ -111,32 +41,12 @@ export declare function buildWindowsProgressCommand(opts: {
|
|
|
111
41
|
taskId: string;
|
|
112
42
|
offset: number;
|
|
113
43
|
}): string;
|
|
114
|
-
/**
|
|
115
|
-
* Remote shell for the persistent follow stream.
|
|
116
|
-
*
|
|
117
|
-
* Protocol: stream `tail -c +<offset+1> -f <log>` as raw stdout until `.exit`
|
|
118
|
-
* becomes non-empty, give tail one more polling interval to flush final bytes,
|
|
119
|
-
* stop it, then print the same per-task sentinel and `cat` the exit file on
|
|
120
|
-
* stderr. Keeping the terminal frame off stdout lets log bytes pass through
|
|
121
|
-
* live without buffering and without confusing agent output for our marker.
|
|
122
|
-
* `remoteLog`/`remoteExit` are dispatch-generated `$HOME` paths with safe hex
|
|
123
|
-
* basenames (or absolute paths in localhost integration tests), so they stay
|
|
124
|
-
* unquoted to preserve `$HOME` expansion just like `fetchProgress`.
|
|
125
|
-
*/
|
|
126
44
|
export declare function buildStreamingFollowCommand(opts: {
|
|
127
45
|
remoteLog: string;
|
|
128
46
|
remoteExit: string;
|
|
129
47
|
taskId: string;
|
|
130
48
|
offset: number;
|
|
131
49
|
}): string;
|
|
132
|
-
/** Extract the remote watcher frame from stderr, if the stream ended normally. */
|
|
133
50
|
export declare function parseStreamingExitFrame(stderr: Buffer, taskId: string): Buffer | null;
|
|
134
|
-
/**
|
|
135
|
-
* True when the local mirror file IS the very file we're tailing — the
|
|
136
|
-
* localhost-as-host case, where `remoteLog` ($HOME-expanded) and `localLogPath`
|
|
137
|
-
* resolve to the same inode. Appending our read bytes back into it would feed the
|
|
138
|
-
* tail and multiply the log, so the caller must skip the mirror write.
|
|
139
|
-
*/
|
|
140
51
|
export declare function mirrorAliasesSource(localId: string | null, remoteId: string | null): boolean;
|
|
141
|
-
/** Tail the remote log to stdout until the run finishes; return its exit code. */
|
|
142
52
|
export declare function followHostTask(target: string, opts: FollowOptions): Promise<number>;
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Follow a dispatched host run by streaming its remote log.
|
|
3
|
-
*
|
|
4
|
-
* The run writes combined output to a log file on the host and its exit code to
|
|
5
|
-
* a sibling `.exit` file. The primary path opens one long-lived
|
|
6
|
-
* `ssh ... tail -f` stream (durable, offset-tracked — a dropped connection
|
|
7
|
-
* reconnects from the saved offset) and finishes when the remote-side watcher
|
|
8
|
-
* emits the exit sentinel. Rich transcript-parser rendering is a fast-follow.
|
|
9
|
-
*
|
|
10
|
-
* Efficiency: a healthy follow holds exactly one ssh process/socket for the
|
|
11
|
-
* whole run instead of spawning once per poll cycle. If the connection drops,
|
|
12
|
-
* the next stream resumes at the byte offset already flushed locally.
|
|
13
|
-
*/
|
|
14
1
|
import * as fs from 'fs';
|
|
15
2
|
import { sshExec, sshExecRaw, sshExecRawStream } from '../ssh-exec.js';
|
|
16
3
|
import { encodePowershell } from './remote-cmd.js';
|
|
@@ -18,68 +5,20 @@ import { localLogPath } from './tasks.js';
|
|
|
18
5
|
function sleep(ms) {
|
|
19
6
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
20
7
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Cap for the LOCAL mirror of a distributed teammate's remote log. `followHostTask`
|
|
23
|
-
* appends remote bytes into the local mirror forever; a team can spin 10+ chatty
|
|
24
|
-
* remote teammates, so the orchestrator must keep a bounded window (the full log
|
|
25
|
-
* always lives on the host). The teams remote path (agents.ts readNewEvents) writes
|
|
26
|
-
* its own append into each teammate's `stdout.log`, then truncates that file to its
|
|
27
|
-
* trailing `REMOTE_MIRROR_MAX_BYTES` — the parser has already consumed the bytes
|
|
28
|
-
* (status/digest updated via lastReadPos), so trailing-tail history is dead weight.
|
|
29
|
-
*/
|
|
30
8
|
export const REMOTE_MIRROR_MAX_BYTES = 512 * 1024;
|
|
31
|
-
/**
|
|
32
|
-
* Pull the new bytes of a remote log since `offset` in ONE ssh round-trip.
|
|
33
|
-
*
|
|
34
|
-
* The teams remote-teammate monitor calls this each poll to advance its offset-tail
|
|
35
|
-
* cursor into the host's log, mirroring only the delta into the local `stdout.log`
|
|
36
|
-
* the stream-json parser consumes. Byte-exact (raw Buffer, no UTF-8 decode) so a
|
|
37
|
-
* multibyte character split at the `tail -c` boundary neither drifts the offset nor
|
|
38
|
-
* renders as U+FFFD — the same discipline `fetchProgress` uses. `bytes.length` is
|
|
39
|
-
* the exact wire count; `newOffset` is `offset + bytes.length`.
|
|
40
|
-
*
|
|
41
|
-
* Returns null on a transient ssh failure (the caller retries next poll without
|
|
42
|
-
* advancing). `remoteLog` is a $HOME-prefixed path with a safe basename; it's
|
|
43
|
-
* shell-quoted defensively even so.
|
|
44
|
-
*/
|
|
45
9
|
export function pullRemoteLogDelta(target, opts) {
|
|
46
|
-
// remoteLog is a dispatch-generated `$HOME/.agents/.cache/hosts/<hex>.log` path —
|
|
47
|
-
// interpolate UNQUOTED so the remote shell expands `$HOME` (shellQuote would
|
|
48
|
-
// single-quote it into a literal `$HOME`, and the tail would find nothing). The
|
|
49
|
-
// hex basename is injection-safe, matching fetchProgress below.
|
|
50
10
|
const remote = `tail -c +${opts.offset + 1} ${opts.remoteLog} 2>/dev/null`;
|
|
51
11
|
const res = sshExecRaw(target, remote, { timeoutMs: 20000, multiplex: true, extraSshArgs: opts.extraSshArgs });
|
|
52
12
|
if (res.code === null)
|
|
53
|
-
return null;
|
|
13
|
+
return null;
|
|
54
14
|
return { bytes: res.stdout, newOffset: opts.offset + res.stdout.length };
|
|
55
15
|
}
|
|
56
16
|
const STREAM_EXIT_POLL_SECONDS = 1;
|
|
57
|
-
/**
|
|
58
|
-
* Build the per-task sentinel that separates the log tail from the exit-file
|
|
59
|
-
* contents in one combined fetch. The task id (8 hex chars) makes collision with
|
|
60
|
-
* the agent's own output effectively impossible; callers still split on the LAST
|
|
61
|
-
* occurrence so a token echoed into the log can never be mistaken for the real
|
|
62
|
-
* trailing marker.
|
|
63
|
-
*/
|
|
64
17
|
export function exitMarker(taskId) {
|
|
65
18
|
return `\n@@AGENTS_HOST_EXIT_${taskId}@@\n`;
|
|
66
19
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Split a combined fetch (`<log bytes><marker><exit>`) back into its parts at the
|
|
69
|
-
* BYTE level. Splits on the LAST marker occurrence, so even if the agent's own
|
|
70
|
-
* output happened to echo the token, the real trailing sentinel still wins.
|
|
71
|
-
* Returns null when the marker is absent (a transient fetch miss — the remote
|
|
72
|
-
* shell never ran our printf), telling the caller to retry without advancing.
|
|
73
|
-
*
|
|
74
|
-
* Byte-level (not string) is load-bearing: `logChunk.length` is the EXACT number
|
|
75
|
-
* of log bytes consumed on the wire, which the follow loop adds to its offset. A
|
|
76
|
-
* string split would first UTF-8-decode, turning any multibyte char split at the
|
|
77
|
-
* `tail -c` boundary into a U+FFFD whose re-encoded length ≠ the wire bytes,
|
|
78
|
-
* drifting the offset (see followHostTask). `consumed` is returned explicitly for
|
|
79
|
-
* clarity; it always equals `logChunk.length`.
|
|
80
|
-
*/
|
|
81
20
|
export function splitProgressBytes(buf, taskId) {
|
|
82
|
-
const marker = Buffer.from(exitMarker(taskId), 'utf8');
|
|
21
|
+
const marker = Buffer.from(exitMarker(taskId), 'utf8');
|
|
83
22
|
const idx = buf.lastIndexOf(marker);
|
|
84
23
|
if (idx === -1)
|
|
85
24
|
return null;
|
|
@@ -89,27 +28,11 @@ export function splitProgressBytes(buf, taskId) {
|
|
|
89
28
|
consumed: idx,
|
|
90
29
|
};
|
|
91
30
|
}
|
|
92
|
-
/**
|
|
93
|
-
* One round-trip: new log bytes since `offset`, the sentinel, then the exit
|
|
94
|
-
* file. Returns null on a transient fetch miss (ssh error / marker absent) so
|
|
95
|
-
* the caller simply retries next cycle without advancing the offset.
|
|
96
|
-
*
|
|
97
|
-
* `remoteLog`/`remoteExit` are $HOME-prefixed paths with safe (hex) basenames —
|
|
98
|
-
* intentionally unquoted so the remote shell expands $HOME.
|
|
99
|
-
*/
|
|
100
31
|
export function fetchProgress(target, opts) {
|
|
101
|
-
// Derive the printf format from the SAME exitMarker the parser splits on, so
|
|
102
|
-
// the emitted sentinel and the one we look for can never desync. The marker's
|
|
103
|
-
// only escape-sensitive bytes are its newlines (→ `\n`); it carries no `%`,
|
|
104
|
-
// single-quote, or other printf/shell-special chars (task id is hex).
|
|
105
32
|
const printfArg = exitMarker(opts.taskId).replace(/\n/g, '\\n');
|
|
106
33
|
const remote = opts.remoteShell === 'powershell'
|
|
107
34
|
? buildWindowsProgressCommand(opts)
|
|
108
35
|
: `tail -c +${opts.offset + 1} ${opts.remoteLog} 2>/dev/null; printf '${printfArg}'; cat ${opts.remoteExit} 2>/dev/null`;
|
|
109
|
-
// Raw bytes (no UTF-8 decode): the log tail must be counted and re-emitted
|
|
110
|
-
// byte-for-byte so a multibyte char split at the `tail -c` boundary neither
|
|
111
|
-
// drifts the offset nor renders as U+FFFD. The exit code is pure ASCII → safe
|
|
112
|
-
// to decode to a string for the caller's `.trim()`.
|
|
113
36
|
const res = sshExecRaw(target, remote, { timeoutMs: 20000, extraSshArgs: opts.extraSshArgs });
|
|
114
37
|
const parts = splitProgressBytes(res.stdout, opts.taskId);
|
|
115
38
|
if (!parts)
|
|
@@ -132,18 +55,6 @@ export function buildWindowsProgressCommand(opts) {
|
|
|
132
55
|
].join('; ');
|
|
133
56
|
return `powershell -NoProfile -EncodedCommand ${encodePowershell(script)}`;
|
|
134
57
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Remote shell for the persistent follow stream.
|
|
137
|
-
*
|
|
138
|
-
* Protocol: stream `tail -c +<offset+1> -f <log>` as raw stdout until `.exit`
|
|
139
|
-
* becomes non-empty, give tail one more polling interval to flush final bytes,
|
|
140
|
-
* stop it, then print the same per-task sentinel and `cat` the exit file on
|
|
141
|
-
* stderr. Keeping the terminal frame off stdout lets log bytes pass through
|
|
142
|
-
* live without buffering and without confusing agent output for our marker.
|
|
143
|
-
* `remoteLog`/`remoteExit` are dispatch-generated `$HOME` paths with safe hex
|
|
144
|
-
* basenames (or absolute paths in localhost integration tests), so they stay
|
|
145
|
-
* unquoted to preserve `$HOME` expansion just like `fetchProgress`.
|
|
146
|
-
*/
|
|
147
58
|
export function buildStreamingFollowCommand(opts) {
|
|
148
59
|
const printfArg = exitMarker(opts.taskId).replace(/\n/g, '\\n');
|
|
149
60
|
return [
|
|
@@ -165,7 +76,6 @@ export function buildStreamingFollowCommand(opts) {
|
|
|
165
76
|
`cat ${opts.remoteExit} >&2 2>/dev/null`,
|
|
166
77
|
].join('\n');
|
|
167
78
|
}
|
|
168
|
-
/** Extract the remote watcher frame from stderr, if the stream ended normally. */
|
|
169
79
|
export function parseStreamingExitFrame(stderr, taskId) {
|
|
170
80
|
const marker = Buffer.from(exitMarker(taskId), 'utf8');
|
|
171
81
|
const idx = stderr.lastIndexOf(marker);
|
|
@@ -173,25 +83,14 @@ export function parseStreamingExitFrame(stderr, taskId) {
|
|
|
173
83
|
return null;
|
|
174
84
|
return stderr.subarray(idx + marker.length);
|
|
175
85
|
}
|
|
176
|
-
/**
|
|
177
|
-
* File identity (`dev:ino`) of a path on the remote host, or null if it can't be
|
|
178
|
-
* stat'd. GNU (`-c`) then BSD (`-f`) format, so it works on Linux and macOS hosts.
|
|
179
|
-
*/
|
|
180
86
|
function readRemoteFileId(target, remotePath, extraSshArgs) {
|
|
181
87
|
const res = sshExec(target, `stat -c '%d:%i' ${remotePath} 2>/dev/null || stat -f '%d:%i' ${remotePath} 2>/dev/null`, { timeoutMs: 8000, extraSshArgs });
|
|
182
88
|
const id = res.stdout.trim();
|
|
183
89
|
return id || null;
|
|
184
90
|
}
|
|
185
|
-
/**
|
|
186
|
-
* True when the local mirror file IS the very file we're tailing — the
|
|
187
|
-
* localhost-as-host case, where `remoteLog` ($HOME-expanded) and `localLogPath`
|
|
188
|
-
* resolve to the same inode. Appending our read bytes back into it would feed the
|
|
189
|
-
* tail and multiply the log, so the caller must skip the mirror write.
|
|
190
|
-
*/
|
|
191
91
|
export function mirrorAliasesSource(localId, remoteId) {
|
|
192
92
|
return localId !== null && remoteId !== null && localId === remoteId;
|
|
193
93
|
}
|
|
194
|
-
/** Tail the remote log to stdout until the run finishes; return its exit code. */
|
|
195
94
|
export async function followHostTask(target, opts) {
|
|
196
95
|
const fastMs = opts.pollMs ?? 1500;
|
|
197
96
|
const maxMs = Math.max(opts.maxPollMs ?? fastMs * 4, 4000);
|
|
@@ -199,10 +98,6 @@ export async function followHostTask(target, opts) {
|
|
|
199
98
|
const local = localLogPath(opts.taskId);
|
|
200
99
|
let offset = 0;
|
|
201
100
|
let waitMs = fastMs;
|
|
202
|
-
// localhost-as-host guard: when the local mirror and the remote log are the
|
|
203
|
-
// same physical file, appending our read bytes back would feed the tail and
|
|
204
|
-
// multiply the log (a plain `--host localhost` follow otherwise tripled it).
|
|
205
|
-
// Detect via file identity and echo-only in that case.
|
|
206
101
|
let mirror = true;
|
|
207
102
|
try {
|
|
208
103
|
const s = fs.statSync(local);
|
|
@@ -210,7 +105,7 @@ export async function followHostTask(target, opts) {
|
|
|
210
105
|
mirror = false;
|
|
211
106
|
}
|
|
212
107
|
}
|
|
213
|
-
catch {
|
|
108
|
+
catch { }
|
|
214
109
|
const flush = (logChunk) => {
|
|
215
110
|
if (logChunk.length === 0)
|
|
216
111
|
return false;
|
|
@@ -220,9 +115,9 @@ export async function followHostTask(target, opts) {
|
|
|
220
115
|
try {
|
|
221
116
|
fs.appendFileSync(local, logChunk);
|
|
222
117
|
}
|
|
223
|
-
catch {
|
|
118
|
+
catch { }
|
|
224
119
|
}
|
|
225
|
-
offset += logChunk.length;
|
|
120
|
+
offset += logChunk.length;
|
|
226
121
|
return true;
|
|
227
122
|
};
|
|
228
123
|
if (opts.remoteShell === 'powershell') {
|
|
@@ -267,15 +162,10 @@ export async function followHostTask(target, opts) {
|
|
|
267
162
|
const code = parseInt(exitFrame.toString('utf8').trim(), 10);
|
|
268
163
|
return Number.isFinite(code) ? code : 0;
|
|
269
164
|
}
|
|
270
|
-
// SSH dropped before the remote watcher emitted the exit sentinel. Stdout
|
|
271
|
-
// chunks were flushed as they arrived, so reconnect from the advanced offset.
|
|
272
|
-
// If no bytes arrived, back off like the old idle poll.
|
|
273
165
|
if (Date.now() > deadline) {
|
|
274
166
|
process.stderr.write('\n[hosts] follow timed out; the run continues on the host. Reattach with: agents logs ' + opts.taskId + ' -f\n');
|
|
275
167
|
return -1;
|
|
276
168
|
}
|
|
277
|
-
// Reconnect quickly while output flows; ease toward maxMs when the stream
|
|
278
|
-
// drops without bytes so a flapping idle host does not spin ssh processes.
|
|
279
169
|
waitMs = gotOutput ? fastMs : Math.min(maxMs, Math.round(waitMs * 1.5));
|
|
280
170
|
await sleep(waitMs);
|
|
281
171
|
}
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Devices host provider: the Tailscale fleet as dispatch targets.
|
|
3
|
-
*
|
|
4
|
-
* Bridges the devices registry (`agents devices`, ~/.agents/.history/devices/
|
|
5
|
-
* registry.json) into the host pool behind the same `HostProvider` seam as
|
|
6
|
-
* `local` — the Tailscale-backed device provider described in docs/fleet.md. With
|
|
7
|
-
* it, a machine registered once via `agents devices sync` becomes a resolvable
|
|
8
|
-
* `--device`/`--device` dispatch target, participates in capability routing, and
|
|
9
|
-
* is enumerable by target pickers — not just resolvable by exact name.
|
|
10
|
-
*
|
|
11
|
-
* Password-auth devices are listed (the pool stays honest about what exists)
|
|
12
|
-
* but marked `dispatchable: false`; resolving one for dispatch throws the same
|
|
13
|
-
* typed `DeviceOffloadUnsupportedError` as before — offload rides `sshExec`,
|
|
14
|
-
* whose SSH_OPTS force `BatchMode=yes`.
|
|
15
|
-
*
|
|
16
|
-
* Precedence is unchanged: this provider registers AFTER `local`, so an
|
|
17
|
-
* enrolled host shadows a same-name device in both list dedup and resolve
|
|
18
|
-
* order, exactly like the old tier-2 devices fall-through in resolveHost.
|
|
19
|
-
*/
|
|
20
1
|
import type { Host, HostProvider, HostProviderCapabilities, HostStatus } from '../types.js';
|
|
21
2
|
export declare class DevicesHostProvider implements HostProvider {
|
|
22
3
|
readonly id: "devices";
|
|
@@ -1,44 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Devices host provider: the Tailscale fleet as dispatch targets.
|
|
3
|
-
*
|
|
4
|
-
* Bridges the devices registry (`agents devices`, ~/.agents/.history/devices/
|
|
5
|
-
* registry.json) into the host pool behind the same `HostProvider` seam as
|
|
6
|
-
* `local` — the Tailscale-backed device provider described in docs/fleet.md. With
|
|
7
|
-
* it, a machine registered once via `agents devices sync` becomes a resolvable
|
|
8
|
-
* `--device`/`--device` dispatch target, participates in capability routing, and
|
|
9
|
-
* is enumerable by target pickers — not just resolvable by exact name.
|
|
10
|
-
*
|
|
11
|
-
* Password-auth devices are listed (the pool stays honest about what exists)
|
|
12
|
-
* but marked `dispatchable: false`; resolving one for dispatch throws the same
|
|
13
|
-
* typed `DeviceOffloadUnsupportedError` as before — offload rides `sshExec`,
|
|
14
|
-
* whose SSH_OPTS force `BatchMode=yes`.
|
|
15
|
-
*
|
|
16
|
-
* Precedence is unchanged: this provider registers AFTER `local`, so an
|
|
17
|
-
* enrolled host shadows a same-name device in both list dedup and resolve
|
|
18
|
-
* order, exactly like the old tier-2 devices fall-through in resolveHost.
|
|
19
|
-
*/
|
|
20
1
|
import { loadDevices, getDevice } from '../../devices/registry.js';
|
|
21
2
|
import { resolveDeviceProfile } from '../../devices/resolve-profile.js';
|
|
22
3
|
import { DeviceOffloadUnsupportedError } from '../types.js';
|
|
23
|
-
/** Tailscale's own presence bit, when the sync captured one. */
|
|
24
4
|
function statusOf(device) {
|
|
25
5
|
if (!device.tailscale)
|
|
26
6
|
return 'unknown';
|
|
27
7
|
return device.tailscale.online ? 'online' : 'offline';
|
|
28
8
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Bridge a device profile into a `Host`. dnsName (stable across IP churn) is
|
|
31
|
-
* preferred over ip; `source: 'inline'` makes `sshTargetFor` emit `user@address`.
|
|
32
|
-
* Capability tags come from an enrolled overlay entry for the device in
|
|
33
|
-
* agents.yaml (`Meta.hosts`) — that entry shadows this row by provider
|
|
34
|
-
* precedence, carrying the caps.
|
|
35
|
-
*/
|
|
36
9
|
function deviceToPoolHost(rawDevice) {
|
|
37
|
-
// Effective profile: central config (ssh.*/platform) overlays discovery.
|
|
38
10
|
const device = resolveDeviceProfile(rawDevice);
|
|
39
11
|
const address = device.address.dnsName ?? device.address.ip;
|
|
40
12
|
if (!address)
|
|
41
|
-
return null;
|
|
13
|
+
return null;
|
|
42
14
|
return {
|
|
43
15
|
name: device.name,
|
|
44
16
|
provider: 'devices',
|
|
@@ -55,7 +27,6 @@ function deviceToPoolHost(rawDevice) {
|
|
|
55
27
|
export class DevicesHostProvider {
|
|
56
28
|
id = 'devices';
|
|
57
29
|
capabilities() {
|
|
58
|
-
// mutate stays false: `agents devices sync/add/set` own the registry.
|
|
59
30
|
return { directory: true, mutate: false, presence: true, relay: false, lease: false };
|
|
60
31
|
}
|
|
61
32
|
async list() {
|
|
@@ -72,11 +43,7 @@ export class DevicesHostProvider {
|
|
|
72
43
|
const raw = await getDevice(name);
|
|
73
44
|
if (!raw)
|
|
74
45
|
return null;
|
|
75
|
-
// Effective profile: central config (ssh.*/platform) overlays discovery —
|
|
76
|
-
// the password-auth refusal and the dial shape both follow the config.
|
|
77
46
|
const device = resolveDeviceProfile(raw);
|
|
78
|
-
// Keep the long-standing typed refusal for password auth (BatchMode=yes
|
|
79
|
-
// can't answer a prompt).
|
|
80
47
|
if (device.auth.method === 'password') {
|
|
81
48
|
throw new DeviceOffloadUnsupportedError(device.name);
|
|
82
49
|
}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local host provider: the v1 directory.
|
|
3
|
-
*
|
|
4
|
-
* `list()` is the union of ssh-config `Host` stanzas (read-only, connection
|
|
5
|
-
* details owned by ssh) and inline entries the user registered. The host
|
|
6
|
-
* overlay (caps/os, keyed by name) is merged onto both. We never copy or
|
|
7
|
-
* rewrite ssh config.
|
|
8
|
-
*
|
|
9
|
-
* PHNX-3315: registrations are DEVICE-SCOPED — each box writes only its own
|
|
10
|
-
* `hosts:` block in `devices/<machine>/agents.yaml` (via `Meta.deviceHosts`),
|
|
11
|
-
* so N boxes no longer rewrite one shared `hosts:` map (the pull conflict).
|
|
12
|
-
* Reads are the cross-box UNION of every device doc, plus any lingering central
|
|
13
|
-
* legacy entries drained by the migration.
|
|
14
|
-
*/
|
|
15
1
|
import type { Host, HostProvider, HostProviderCapabilities } from '../types.js';
|
|
16
2
|
export declare class LocalHostProvider implements HostProvider {
|
|
17
3
|
readonly id: "local";
|
|
@@ -1,27 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Local host provider: the v1 directory.
|
|
3
|
-
*
|
|
4
|
-
* `list()` is the union of ssh-config `Host` stanzas (read-only, connection
|
|
5
|
-
* details owned by ssh) and inline entries the user registered. The host
|
|
6
|
-
* overlay (caps/os, keyed by name) is merged onto both. We never copy or
|
|
7
|
-
* rewrite ssh config.
|
|
8
|
-
*
|
|
9
|
-
* PHNX-3315: registrations are DEVICE-SCOPED — each box writes only its own
|
|
10
|
-
* `hosts:` block in `devices/<machine>/agents.yaml` (via `Meta.deviceHosts`),
|
|
11
|
-
* so N boxes no longer rewrite one shared `hosts:` map (the pull conflict).
|
|
12
|
-
* Reads are the cross-box UNION of every device doc, plus any lingering central
|
|
13
|
-
* legacy entries drained by the migration.
|
|
14
|
-
*/
|
|
15
1
|
import { readMeta, updateMeta } from '../../state.js';
|
|
16
2
|
import { unionDeviceHosts } from '../../devices/device-docs.js';
|
|
17
3
|
import { listSshConfigHosts, isSshConfigHost } from '../ssh-config.js';
|
|
18
|
-
/** The EFFECTIVE host overlay: the cross-box union of every device doc's
|
|
19
|
-
* `hosts:` block, with any lingering central-legacy `hosts:` entries as a base
|
|
20
|
-
* (a device doc wins on a name collision). Newest `addedAt` wins across boxes. */
|
|
21
4
|
function entries() {
|
|
22
5
|
return { ...readMeta().hosts, ...unionDeviceHosts() };
|
|
23
6
|
}
|
|
24
|
-
/** THIS box's OWN host registrations (the writable slice in the device doc). */
|
|
25
7
|
function ownEntries(meta = readMeta()) {
|
|
26
8
|
return meta.deviceHosts ?? {};
|
|
27
9
|
}
|
|
@@ -47,12 +29,10 @@ export class LocalHostProvider {
|
|
|
47
29
|
const overlay = entries();
|
|
48
30
|
const out = [];
|
|
49
31
|
const seen = new Set();
|
|
50
|
-
// Inline + overlaid hosts from the registry.
|
|
51
32
|
for (const [name, entry] of Object.entries(overlay)) {
|
|
52
33
|
out.push(toHost(name, entry, true));
|
|
53
34
|
seen.add(name);
|
|
54
35
|
}
|
|
55
|
-
// ssh-config hosts not already carrying an overlay → available, not enrolled.
|
|
56
36
|
for (const name of listSshConfigHosts()) {
|
|
57
37
|
if (seen.has(name))
|
|
58
38
|
continue;
|
|
@@ -77,12 +57,10 @@ export class LocalHostProvider {
|
|
|
77
57
|
...(spec.caps && spec.caps.length ? { caps: spec.caps } : {}),
|
|
78
58
|
addedAt: spec.addedAt ?? new Date().toISOString(),
|
|
79
59
|
};
|
|
80
|
-
// Device-scoped: land in THIS box's device doc, never the shared central map.
|
|
81
60
|
updateMeta((meta) => ({ ...meta, deviceHosts: { ...ownEntries(meta), [spec.name]: entry } }));
|
|
82
61
|
return toHost(spec.name, entry, true);
|
|
83
62
|
}
|
|
84
63
|
async remove(name) {
|
|
85
|
-
// A box only owns the registrations in its own device doc; drop from there.
|
|
86
64
|
updateMeta((meta) => {
|
|
87
65
|
const hosts = { ...ownEntries(meta) };
|
|
88
66
|
delete hosts[name];
|
|
@@ -1,113 +1,35 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Host readiness + bootstrap.
|
|
3
|
-
*
|
|
4
|
-
* Before a dispatch we ensure the box is reachable and has agents-cli. Enrollment
|
|
5
|
-
* can additionally install/upgrade agents-cli to match the local version (version
|
|
6
|
-
* parity) using the same shape as scripts/sandbox.sh. We never copy `.history`.
|
|
7
|
-
*/
|
|
8
1
|
import type { Host } from './types.js';
|
|
9
|
-
/** Resolve this CLI's own version by walking up to the nearest package.json. */
|
|
10
2
|
export declare function localCliVersion(): string | null;
|
|
11
|
-
/** ssh command that confirms reachability and echoes the OS. POSIX boxes answer
|
|
12
|
-
* `uname -s`; a Windows target has no `uname` (ssh lands in cmd.exe/PowerShell),
|
|
13
|
-
* so it runs a tiny PowerShell probe. Pure/exported so both branches are
|
|
14
|
-
* unit-testable without ssh. */
|
|
15
3
|
export declare function buildProbeCommand(os?: string): string;
|
|
16
|
-
/**
|
|
17
|
-
* Reachability + OS probe over ssh. `os` is the caller's hint (device-registry
|
|
18
|
-
* platform / enrolled `HostEntry.os`); when it marks the host Windows we take
|
|
19
|
-
* the PowerShell path and report that known platform, otherwise POSIX + uname.
|
|
20
|
-
*/
|
|
21
4
|
export declare function probeHost(target: string, os?: string, extraSshArgs?: string[]): {
|
|
22
5
|
reachable: boolean;
|
|
23
6
|
os?: string;
|
|
24
7
|
};
|
|
25
|
-
/** ssh command that prints the remote agents-cli version. Pure/exported. */
|
|
26
8
|
export declare function buildRemoteVersionCommand(os?: string): string;
|
|
27
|
-
/** ssh command that installs/upgrades agents-cli to `spec` then `agents setup`.
|
|
28
|
-
* PowerShell has no `tail`/`[ -d ]`/`||`, so the Windows branch uses native
|
|
29
|
-
* equivalents (`Select-Object -Last`, `Test-Path`). Pure/exported. */
|
|
30
9
|
export declare function buildBootstrapCommand(spec: string, os?: string): string;
|
|
31
|
-
/** Install (or upgrade to) a specific agents-cli version on the remote, then `agents setup`. */
|
|
32
10
|
export declare function bootstrapAgentsCli(target: string, version: string | null, os?: string, extraSshArgs?: string[]): {
|
|
33
11
|
ok: boolean;
|
|
34
12
|
output: string;
|
|
35
13
|
};
|
|
36
14
|
export interface ReadyProbe {
|
|
37
|
-
/** ssh connected and the remote login shell ran (our sentinel came back). */
|
|
38
15
|
reachable: boolean;
|
|
39
|
-
/** Remote agents-cli version (no leading `v`), or null if not installed. */
|
|
40
16
|
version: string | null;
|
|
41
|
-
/** Raw `agents view`/`list` output, for installed-agent checks. */
|
|
42
17
|
view: string;
|
|
43
|
-
/** True when the ssh probe timed out before the sentinel arrived. */
|
|
44
18
|
timedOut?: boolean;
|
|
45
19
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Answer every readiness question in ONE ssh round-trip: reachable? (the login
|
|
48
|
-
* shell ran and echoed our sentinel), agents-cli version, and the installed-agent
|
|
49
|
-
* listing. This replaces three sequential probes (`true` + `agents --version` +
|
|
50
|
-
* `agents view`) — 3 handshakes collapse to 1. Reachability keys off the sentinel
|
|
51
|
-
* rather than the exit code, so a command that ran-but-failed is never mistaken
|
|
52
|
-
* for a dead connection (only ssh's own failure drops the sentinel).
|
|
53
|
-
*/
|
|
54
|
-
/**
|
|
55
|
-
* The one-shot readiness command (version + sentinel + agent listing). The
|
|
56
|
-
* Windows branch emits the sentinel with `Write-Output` and branches on
|
|
57
|
-
* `$LASTEXITCODE` (no `printf`/`||`); `parseReadyProbe` keys off the sentinel
|
|
58
|
-
* substring, so the missing leading newline vs the POSIX `printf '\n…'` form is
|
|
59
|
-
* absorbed by its `.trim()`. Pure/exported so both branches are unit-testable.
|
|
60
|
-
*
|
|
61
|
-
* With `ingestUsage`, the probe first runs `agents __usage-ingest` on the
|
|
62
|
-
* dispatcher's daemon-state envelope, which the caller pipes to stdin
|
|
63
|
-
* (PHNX-4116): the chosen worker then holds the dispatcher's current usage
|
|
64
|
-
* numbers at dispatch instead of waiting for the next 15-minute usage-sync
|
|
65
|
-
* tick. The ingest writes nothing to stdout (only `--reply` does), so the
|
|
66
|
-
* version/sentinel/listing shape `parseReadyProbe` reads is unchanged. On
|
|
67
|
-
* Windows the `agents.ps1` shim drops ssh-piped stdin, so PowerShell reads it
|
|
68
|
-
* into a temp file and hands the verb `--from <path>`.
|
|
69
|
-
*/
|
|
70
20
|
export declare function buildReadyProbeCommand(os?: string, opts?: {
|
|
71
21
|
ingestUsage?: boolean;
|
|
72
22
|
}): string;
|
|
73
23
|
export declare function readyProbe(target: string, os?: string, extraSshArgs?: string[]): ReadyProbe;
|
|
74
|
-
/** Pure parser for `readyProbe` output (unit-tested without ssh). */
|
|
75
24
|
export declare function parseReadyProbe(stdout: string): ReadyProbe;
|
|
76
|
-
/** True if `view` output lists the named agent (word-boundary, case-insensitive). */
|
|
77
25
|
export declare function viewHasAgent(view: string, agent: string): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* True when `version` is a concrete pin the remote must already have installed
|
|
80
|
-
* (e.g. `0.145.0`, `2.1.207`). Aliases (`latest` / `oldest` / `pinned` /
|
|
81
|
-
* `default` / `all` / `any`) resolve against the remote's own install set and
|
|
82
|
-
* are not preflight-checked here.
|
|
83
|
-
*/
|
|
84
26
|
export declare function isConcreteVersionPin(version?: string | null): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Installed version strings for `agent` from `agents view --json` output.
|
|
87
|
-
* Returns `[]` when the agent row is absent, `undefined` when `view` is not
|
|
88
|
-
* JSON (text `agents list` fallback) so callers can degrade.
|
|
89
|
-
*/
|
|
90
27
|
export declare function viewAgentVersions(view: string, agent: string): string[] | undefined;
|
|
91
|
-
/**
|
|
92
|
-
* Whether a concrete `agent@version` is installed according to remote view
|
|
93
|
-
* output. JSON path is authoritative; text listing falls back to a whole-token
|
|
94
|
-
* version match. `undefined` only when the text path has the agent but no
|
|
95
|
-
* version token to confirm against (callers treat that as unverified).
|
|
96
|
-
*/
|
|
97
28
|
export declare function viewHasAgentVersion(view: string, agent: string, version: string): boolean | undefined;
|
|
98
|
-
/** Actionable fail-loud message for a missing remote pin (RUSH-2313). */
|
|
99
29
|
export declare function missingPinnedVersionMessage(hostName: string, agent: string, version: string, installed?: string[]): string;
|
|
100
|
-
/** Account eligibility extracted from one device's `agents view --json`. */
|
|
101
30
|
interface ViewAgentAccountEligibility {
|
|
102
|
-
/** At least one account can launch immediately. */
|
|
103
31
|
signedIn: boolean | undefined;
|
|
104
|
-
/** At least one account can launch immediately or enter the harness login flow. */
|
|
105
32
|
pickerEligible: boolean | undefined;
|
|
106
|
-
/**
|
|
107
|
-
* The remote box's own aggregate exclusion reason when it is not signed in
|
|
108
|
-
* (`runReady.reason` — e.g. `all signed_out`), for the operator-facing
|
|
109
|
-
* placement error. Undefined when ready, absent, or on an older remote CLI.
|
|
110
|
-
*/
|
|
111
33
|
reason?: string;
|
|
112
34
|
}
|
|
113
35
|
/**
|
|
@@ -141,33 +63,12 @@ export declare function viewAgentAccountEligibility(view: string, agent: string,
|
|
|
141
63
|
export declare function viewAgentSignedIn(view: string, agent: string): boolean | undefined;
|
|
142
64
|
interface EnsureReadyOptions {
|
|
143
65
|
agent: string;
|
|
144
|
-
/**
|
|
145
|
-
* Explicit version pin (e.g. `"0.145.0"`). Concrete pins fail loud when the
|
|
146
|
-
* remote does not have that version installed so a detached `--no-follow`
|
|
147
|
-
* dispatch never reports "Dispatched" for a pin the box cannot run
|
|
148
|
-
* (RUSH-2313). Aliases (`latest` / …) are left for the remote CLI to resolve.
|
|
149
|
-
*/
|
|
150
66
|
version?: string;
|
|
151
|
-
/** Throw instead of warn when the agent isn't installed remotely. */
|
|
152
67
|
requireAgent?: boolean;
|
|
153
68
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Pure readiness verdict for the agent/version half of {@link ensureHostReady}
|
|
156
|
-
* (unit-tested without SSH). Returns warnings for soft agent-missing cases, or
|
|
157
|
-
* throws (via the caller's `throw new Error`) when a concrete pin is missing.
|
|
158
|
-
*/
|
|
159
69
|
export declare function evaluateHostAgentInstall(view: string, opts: EnsureReadyOptions, hostName: string): {
|
|
160
70
|
warnings: string[];
|
|
161
71
|
};
|
|
162
|
-
/**
|
|
163
|
-
* Verify a host can run the agent: reachable + agents-cli present. Throws with an
|
|
164
|
-
* actionable message otherwise. Agent-not-installed is a warning by default (the
|
|
165
|
-
* remote `agents run` will surface it); pass requireAgent to make it fatal.
|
|
166
|
-
* A concrete `version` pin always fails loud when that version is absent
|
|
167
|
-
* (RUSH-2313) — never a silent "Dispatched" for a pin the box cannot run.
|
|
168
|
-
*
|
|
169
|
-
* One ssh round-trip (`readyProbe`) covers all three checks.
|
|
170
|
-
*/
|
|
171
72
|
export declare function ensureHostReady(host: Host, opts: EnsureReadyOptions): {
|
|
172
73
|
warnings: string[];
|
|
173
74
|
};
|