@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,45 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Placement scheduler for distributed teams.
|
|
3
|
-
*
|
|
4
|
-
* Decides WHERE an unpinned teammate runs, resolving the create→pin→pool→local
|
|
5
|
-
* cascade from the team's device pool and the live roster. Kept pure and
|
|
6
|
-
* I/O-free (plain data in, a device name or null out) so it is trivially
|
|
7
|
-
* testable and can be called from the hot launch path without SSH round-trips.
|
|
8
|
-
*
|
|
9
|
-
* 1. teammate has an explicit `--device` pin → that device
|
|
10
|
-
* 2. else the team pool has exactly one device → that device (whole team)
|
|
11
|
-
* 3. else the team pool has many devices → best-viable pick
|
|
12
|
-
* 4. else (no pin, no pool) → active worker pool
|
|
13
|
-
*
|
|
14
|
-
* Step 3 is cap-, health-, and harness-aware (RUSH-2002). When the caller
|
|
15
|
-
* supplies live {@link DevicePlacementSignal}s (probed reachability, headroom,
|
|
16
|
-
* load/mem, and whether the requested agent is installed + signed in), the pick:
|
|
17
|
-
* - EXCLUDES an unreachable device, an overloaded one (headroom `loaded`), a
|
|
18
|
-
* device at its `agents.max-concurrent` cap, and one the requested agent is
|
|
19
|
-
* not installed on;
|
|
20
|
-
* - RANKS the survivors by (a) agent installed + signed in, (b) lower load /
|
|
21
|
-
* memory (by headroom tier, then raw), (c) fewer running teammates, ties
|
|
22
|
-
* broken by pool order.
|
|
23
|
-
* With no signals it degrades to the original cap-aware least-loaded pick, so
|
|
24
|
-
* the pure roster-count path (and its tests) are unchanged.
|
|
25
|
-
*
|
|
26
|
-
* When every pool device is excluded, the pick FAILS LOUD ({@link
|
|
27
|
-
* NoViableDeviceError}) naming each device's reason — never a silent fall back
|
|
28
|
-
* to local, since the user asked for a remote pool. Pins are the user's own
|
|
29
|
-
* choice and are never second-guessed; a pool of one is respected for
|
|
30
|
-
* load/cap/reachability but still fails loud when the agent is provably not
|
|
31
|
-
* installed there (running it would be futile).
|
|
32
|
-
*
|
|
33
|
-
* A device whose name equals the local machine id is treated as "local" — it
|
|
34
|
-
* resolves to a null placement so the existing local spawn path runs unchanged,
|
|
35
|
-
* letting the local machine participate in a pool as just another member.
|
|
36
|
-
*/
|
|
37
1
|
import { machineId } from '../machine-id.js';
|
|
38
|
-
/**
|
|
39
|
-
* No device in the pool can host the teammate. Carries the per-device reasons so
|
|
40
|
-
* the caller can print exactly why the pool is unusable instead of silently
|
|
41
|
-
* degrading to a local run the user did not ask for.
|
|
42
|
-
*/
|
|
43
2
|
export class NoViableDeviceError extends Error {
|
|
44
3
|
excluded;
|
|
45
4
|
agentLabel;
|
|
@@ -50,17 +9,10 @@ export class NoViableDeviceError extends Error {
|
|
|
50
9
|
this.agentLabel = agentLabel;
|
|
51
10
|
}
|
|
52
11
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Whether a failed placement can become viable without changing the team.
|
|
55
|
-
* Capacity and load are time-varying; a pool with at least one such exclusion
|
|
56
|
-
* must remain schedulable so a later supervisor wave can retry it. A pool that
|
|
57
|
-
* is only missing the requested harness is a durable configuration failure.
|
|
58
|
-
*/
|
|
59
12
|
export function isTransientPlacementBlock(error) {
|
|
60
13
|
return error instanceof NoViableDeviceError
|
|
61
14
|
&& error.excluded.some((entry) => entry.reason === 'capped' || entry.reason === 'overloaded');
|
|
62
15
|
}
|
|
63
|
-
/** Build the user-facing fail-loud message from the per-device reasons. */
|
|
64
16
|
export function formatNoViableMessage(excluded, agentLabel) {
|
|
65
17
|
const anyNotInstalled = excluded.some((e) => e.reason === 'not-installed');
|
|
66
18
|
const allCapped = excluded.length > 0 && excluded.every((e) => e.reason === 'capped');
|
|
@@ -68,8 +20,6 @@ export function formatNoViableMessage(excluded, agentLabel) {
|
|
|
68
20
|
const perDevice = excluded
|
|
69
21
|
.map((e) => (e.detail ? `${e.device} (${e.reason} ${e.detail})` : `${e.device} (${e.reason})`))
|
|
70
22
|
.join(', ');
|
|
71
|
-
// When the whole pool lacks the agent, lead with the harness message the
|
|
72
|
-
// ticket specifies; otherwise summarize the mixed reasons.
|
|
73
23
|
const head = anyNotInstalled
|
|
74
24
|
? `No device in the team pool can run ${agent}.`
|
|
75
25
|
: allCapped
|
|
@@ -88,13 +38,9 @@ export function formatNoViableMessage(excluded, agentLabel) {
|
|
|
88
38
|
: perDevice;
|
|
89
39
|
return `${head} ${reasons}.${hint}`;
|
|
90
40
|
}
|
|
91
|
-
/** True when `device` names the local machine (case-insensitive). */
|
|
92
41
|
function isLocalDevice(device) {
|
|
93
42
|
return device.toLowerCase() === machineId();
|
|
94
43
|
}
|
|
95
|
-
/** Count RUNNING teammates per pool device. Pure. A null/empty hostName is a
|
|
96
|
-
* LOCAL teammate — it counts against the pool member that is this machine,
|
|
97
|
-
* otherwise a cap on the local device could never engage. */
|
|
98
44
|
function loadByDevice(devices, roster) {
|
|
99
45
|
const load = new Map();
|
|
100
46
|
for (const d of devices)
|
|
@@ -104,17 +50,12 @@ function loadByDevice(devices, roster) {
|
|
|
104
50
|
continue;
|
|
105
51
|
const host = r.hostName ? r.hostName : devices.find((d) => isLocalDevice(d));
|
|
106
52
|
if (!host)
|
|
107
|
-
continue;
|
|
53
|
+
continue;
|
|
108
54
|
if (load.has(host))
|
|
109
55
|
load.set(host, (load.get(host) ?? 0) + 1);
|
|
110
56
|
}
|
|
111
57
|
return load;
|
|
112
58
|
}
|
|
113
|
-
/**
|
|
114
|
-
* Pool devices excluded from auto-pick because they are at (or over) their
|
|
115
|
-
* `agents.max-concurrent` cap. Returned with the live counts so the caller can
|
|
116
|
-
* state the reason to the user instead of the device silently never winning.
|
|
117
|
-
*/
|
|
118
59
|
export function cappedDevices(devices, roster, maxConcurrent) {
|
|
119
60
|
const load = loadByDevice(devices, roster);
|
|
120
61
|
const capped = [];
|
|
@@ -128,16 +69,6 @@ export function cappedDevices(devices, roster, maxConcurrent) {
|
|
|
128
69
|
}
|
|
129
70
|
return capped;
|
|
130
71
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Pick the least-loaded device from the pool — the one with the fewest RUNNING
|
|
133
|
-
* teammates currently assigned to it. Ties break by pool order (first wins), so
|
|
134
|
-
* an empty pool fills round-robin-ish as teammates launch. Pure: counts the
|
|
135
|
-
* roster, no I/O.
|
|
136
|
-
*
|
|
137
|
-
* With `maxConcurrent`, devices at their cap are excluded; if EVERY device is
|
|
138
|
-
* capped this throws naming each cap and the fix — a loud failure beats a
|
|
139
|
-
* teammate silently landing on a machine its operator capped.
|
|
140
|
-
*/
|
|
141
72
|
export function pickLeastLoaded(devices, roster, maxConcurrent) {
|
|
142
73
|
if (devices.length === 0) {
|
|
143
74
|
throw new Error('pickLeastLoaded called with an empty device pool');
|
|
@@ -152,7 +83,6 @@ export function pickLeastLoaded(devices, roster, maxConcurrent) {
|
|
|
152
83
|
detail: `${load.get(device) ?? 0}/${maxConcurrent[device]}`,
|
|
153
84
|
})));
|
|
154
85
|
}
|
|
155
|
-
// Iterate the pool in declared order so the first device wins ties.
|
|
156
86
|
let best = eligible[0];
|
|
157
87
|
let bestLoad = load.get(best) ?? 0;
|
|
158
88
|
for (const d of eligible) {
|
|
@@ -164,32 +94,20 @@ export function pickLeastLoaded(devices, roster, maxConcurrent) {
|
|
|
164
94
|
}
|
|
165
95
|
return best;
|
|
166
96
|
}
|
|
167
|
-
/** Load cost for a signal: worst of load% and mem%, or undefined when neither
|
|
168
|
-
* was probed. The "how full is this box" number the finer rank tiebreak reads. */
|
|
169
97
|
function loadCost(s) {
|
|
170
98
|
if (!s)
|
|
171
99
|
return undefined;
|
|
172
100
|
const vals = [s.loadPercent, s.memPercent].filter((v) => typeof v === 'number');
|
|
173
101
|
return vals.length ? Math.max(...vals) : undefined;
|
|
174
102
|
}
|
|
175
|
-
/** Rank a headroom bucket into a load TIER (lower is less loaded). An unprobed
|
|
176
|
-
* device sits between `light` and `busy` — preferred over a known-busy box but
|
|
177
|
-
* not over a known-idle one. `loaded` is excluded before ranking, so it never
|
|
178
|
-
* reaches here. */
|
|
179
103
|
function headroomTier(h) {
|
|
180
104
|
switch (h) {
|
|
181
105
|
case 'idle': return 0;
|
|
182
106
|
case 'light': return 1;
|
|
183
107
|
case 'busy': return 3;
|
|
184
|
-
default: return 2;
|
|
108
|
+
default: return 2;
|
|
185
109
|
}
|
|
186
110
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Split the pool into the viable set and the excluded set (with reasons), from
|
|
189
|
-
* the caps + live signals. Pure — the caller decides what to do with an empty
|
|
190
|
-
* viable set. Reasons are checked in a stable order (unreachable → not-installed
|
|
191
|
-
* → overloaded → capped) so a device reports its most fundamental blocker first.
|
|
192
|
-
*/
|
|
193
111
|
export function classifyExclusions(devices, roster, opts) {
|
|
194
112
|
const load = loadByDevice(devices, roster);
|
|
195
113
|
const caps = opts?.maxConcurrent ?? {};
|
|
@@ -199,9 +117,6 @@ export function classifyExclusions(devices, roster, opts) {
|
|
|
199
117
|
for (const d of devices) {
|
|
200
118
|
const s = signals?.get(d);
|
|
201
119
|
if (s?.reachable === false) {
|
|
202
|
-
// A probe killed for exceeding its budget is a slow link, not a box that
|
|
203
|
-
// is down. Same exclusion either way — an unresponsive device is still not
|
|
204
|
-
// placeable — but the operator sees which one it was (PHNX-3682).
|
|
205
120
|
excluded.push({ device: d, reason: s.timedOut ? 'probe-timed-out' : 'unreachable' });
|
|
206
121
|
continue;
|
|
207
122
|
}
|
|
@@ -222,14 +137,6 @@ export function classifyExclusions(devices, roster, opts) {
|
|
|
222
137
|
}
|
|
223
138
|
return { eligible, excluded };
|
|
224
139
|
}
|
|
225
|
-
/**
|
|
226
|
-
* Health-, harness-, and load-aware pick over a pool (RUSH-2002). Filters
|
|
227
|
-
* unreachable / overloaded / capped / not-installed devices, then ranks the
|
|
228
|
-
* survivors by: (a) agent signed in, (b) lower load (headroom tier, then raw
|
|
229
|
-
* load cost), (c) fewer running teammates, ties broken by pool order. Throws
|
|
230
|
-
* {@link NoViableDeviceError} when nothing survives — never returns a local
|
|
231
|
-
* fallback. Pure: all I/O is pre-resolved into `opts.signals`.
|
|
232
|
-
*/
|
|
233
140
|
export function pickBestDevice(devices, roster, opts) {
|
|
234
141
|
if (devices.length === 0) {
|
|
235
142
|
throw new Error('pickBestDevice called with an empty device pool');
|
|
@@ -237,13 +144,6 @@ export function pickBestDevice(devices, roster, opts) {
|
|
|
237
144
|
const load = loadByDevice(devices, roster);
|
|
238
145
|
const { eligible, excluded } = classifyExclusions(devices, roster, opts);
|
|
239
146
|
if (eligible.length === 0) {
|
|
240
|
-
// A pool excluded ONLY for unreachability is a probe MISS / transient infra
|
|
241
|
-
// blip (a worker went briefly unresponsive during `teams start`), not proof
|
|
242
|
-
// the agent can't RUN there. Per the fail-loud contract — fire only on
|
|
243
|
-
// positive evidence (not-installed / saturated), never on a bare
|
|
244
|
-
// reachability miss — degrade to a best-effort roster-count pick so the wave
|
|
245
|
-
// retries and the real error surfaces at SSH dispatch, instead of a hard
|
|
246
|
-
// exit-1 that strands an all-remote pool on a transient blip.
|
|
247
147
|
const onlyUnreachable = excluded.every((e) => e.reason === 'unreachable');
|
|
248
148
|
if (!onlyUnreachable) {
|
|
249
149
|
throw new NoViableDeviceError(excluded, opts?.agentLabel);
|
|
@@ -261,66 +161,43 @@ export function pickBestDevice(devices, roster, opts) {
|
|
|
261
161
|
}
|
|
262
162
|
const signals = opts?.signals;
|
|
263
163
|
const order = new Map(devices.map((d, i) => [d, i]));
|
|
264
|
-
// Ascending composite sort — the first element is the best placement.
|
|
265
164
|
return [...eligible].sort((a, b) => {
|
|
266
165
|
const sa = signals?.get(a);
|
|
267
166
|
const sb = signals?.get(b);
|
|
268
|
-
// (a) signed-in agent first.
|
|
269
167
|
const signedIn = (sa?.signedIn === true ? 0 : 1) - (sb?.signedIn === true ? 0 : 1);
|
|
270
168
|
if (signedIn !== 0)
|
|
271
169
|
return signedIn;
|
|
272
|
-
// (a2) operator-preferred device next — `agents devices config <name> auto-launch.preferred on`
|
|
273
|
-
// boosts a box above its load-equal peers, overriding load-based order.
|
|
274
170
|
const preferred = opts?.preferred;
|
|
275
171
|
if (preferred && preferred.size > 0) {
|
|
276
172
|
const pref = (preferred.has(a) ? 0 : 1) - (preferred.has(b) ? 0 : 1);
|
|
277
173
|
if (pref !== 0)
|
|
278
174
|
return pref;
|
|
279
175
|
}
|
|
280
|
-
// (b) lower load — coarse headroom tier, then raw load cost.
|
|
281
176
|
const tier = headroomTier(sa?.headroom) - headroomTier(sb?.headroom);
|
|
282
177
|
if (tier !== 0)
|
|
283
178
|
return tier;
|
|
284
|
-
// (c) fewer running teammates.
|
|
285
179
|
const teammates = (load.get(a) ?? 0) - (load.get(b) ?? 0);
|
|
286
180
|
if (teammates !== 0)
|
|
287
181
|
return teammates;
|
|
288
|
-
// finer load tiebreak: a known-lower load wins; unknown sits mid (50).
|
|
289
182
|
const cost = (loadCost(sa) ?? 50) - (loadCost(sb) ?? 50);
|
|
290
183
|
if (cost !== 0)
|
|
291
184
|
return cost;
|
|
292
|
-
// stable: first declared in the pool wins.
|
|
293
185
|
return (order.get(a) ?? 0) - (order.get(b) ?? 0);
|
|
294
186
|
})[0];
|
|
295
187
|
}
|
|
296
|
-
/**
|
|
297
|
-
* Resolve where a teammate runs. Returns `{ device: null }` only when the
|
|
298
|
-
* explicitly/default-selected device is the local machine, and
|
|
299
|
-
* `{ device: <name> }` for a remote placement. See the cascade in the module
|
|
300
|
-
* header. Throws {@link NoViableDeviceError} when a required pool has no viable
|
|
301
|
-
* host — the caller surfaces it at `teams start` rather than falling back local.
|
|
302
|
-
*/
|
|
303
188
|
export function resolvePlacement(team, explicitDevice, roster, opts) {
|
|
304
|
-
// 1. Explicit pin wins — even without a pool — and is never second-guessed
|
|
305
|
-
// (the remote `agents run` surfaces any install/health issue there).
|
|
306
189
|
if (explicitDevice) {
|
|
307
190
|
return { device: isLocalDevice(explicitDevice) ? null : explicitDevice };
|
|
308
191
|
}
|
|
309
192
|
const pool = team.devices?.length ? team.devices : (opts?.defaultDevices ?? []);
|
|
310
|
-
// An omitted pool means automatic worker placement, never implicit local.
|
|
311
193
|
if (pool.length === 0)
|
|
312
194
|
throw new NoViableDeviceError([], opts?.agentLabel);
|
|
313
|
-
// 2. Pool of one → the whole team runs there. Respect the choice for
|
|
314
|
-
// load/cap/reachability, but still fail loud when the agent is provably
|
|
315
|
-
// NOT installed there — running it would be futile.
|
|
316
195
|
if (pool.length === 1) {
|
|
317
196
|
if (opts?.signals?.get(pool[0])?.installed === false) {
|
|
318
197
|
throw new NoViableDeviceError([{ device: pool[0], reason: 'not-installed' }], opts.agentLabel);
|
|
319
198
|
}
|
|
320
199
|
return { device: isLocalDevice(pool[0]) ? null : pool[0] };
|
|
321
200
|
}
|
|
322
|
-
// 3. Many → best viable pick. With live signals, this is health-, harness-,
|
|
323
|
-
// and load-aware; without them it degrades to the cap-aware roster count.
|
|
324
201
|
const picked = opts?.signals
|
|
325
202
|
? pickBestDevice(pool, roster, opts)
|
|
326
203
|
: pickLeastLoaded(pool, roster, opts?.maxConcurrent);
|
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
/** Event type priority tiers for filtering. Higher tiers surface more important events. */
|
|
2
1
|
export declare const PRIORITY: Record<string, string[]>;
|
|
3
|
-
/**
|
|
4
|
-
* Collapse sequential events of the same type into summary entries.
|
|
5
|
-
* Returns a cleaner list of events suitable for output.
|
|
6
|
-
*/
|
|
7
2
|
export declare function collapseEvents(events: any[], maxEvents?: number): any[];
|
|
8
|
-
/**
|
|
9
|
-
* Get a breakdown of tool calls by type.
|
|
10
|
-
*/
|
|
11
3
|
export declare function getToolBreakdown(events: any[]): Record<string, number>;
|
|
12
|
-
/** Group consecutive events of the same type into combined entries with counts and truncated content. */
|
|
13
4
|
export declare function groupAndFlattenEvents(events: any[]): any[];
|
|
14
|
-
/** Accumulated summary of an agent's activity: files touched, tools used, errors, and final message. */
|
|
15
5
|
export declare class AgentSummary {
|
|
16
6
|
agentId: string;
|
|
17
7
|
agentType: string;
|
|
@@ -34,18 +24,10 @@ export declare class AgentSummary {
|
|
|
34
24
|
toDict(detailLevel?: 'brief' | 'standard' | 'detailed'): any;
|
|
35
25
|
private truncate;
|
|
36
26
|
}
|
|
37
|
-
/** Build an AgentSummary by walking all events and accumulating file ops, tool calls, errors, and messages. */
|
|
38
27
|
export declare function summarizeEvents(agentId: string, agentType: string, status: string, events: any[], duration?: string | null): AgentSummary;
|
|
39
|
-
/**
|
|
40
|
-
* Compute the delta of new activity since a given point in time (ISO timestamp)
|
|
41
|
-
* or event index. Used for incremental status polling.
|
|
42
|
-
*/
|
|
43
28
|
export declare function getDelta(agentId: string, agentType: string, status: string, events: any[], since?: string | number): any;
|
|
44
|
-
/** Filter events to only those in the specified priority tiers (defaults to critical + important). */
|
|
45
29
|
export declare function filterEventsByPriority(events: any[], includeLevels?: string[] | null): any[];
|
|
46
|
-
/** Return the event type of the last tool-related or significant event, or null. */
|
|
47
30
|
export declare function getLastTool(events: any[]): string | null;
|
|
48
|
-
/** Lightweight status snapshot with counts, recent commands, and error flag. */
|
|
49
31
|
export interface QuickStatus {
|
|
50
32
|
agent_id: string;
|
|
51
33
|
agent_type: string;
|
|
@@ -59,14 +41,10 @@ export interface QuickStatus {
|
|
|
59
41
|
has_errors: boolean;
|
|
60
42
|
last_message: string | null;
|
|
61
43
|
}
|
|
62
|
-
/** Extract all tool_use events as {tool, args} pairs. */
|
|
63
44
|
export declare function getToolUses(events: any[]): Array<{
|
|
64
45
|
tool: string;
|
|
65
46
|
args: any;
|
|
66
47
|
}>;
|
|
67
|
-
/** Extract the last N complete messages from the event stream, joining streaming deltas. */
|
|
68
48
|
export declare function getLastMessages(events: any[], count?: number): string[];
|
|
69
|
-
/** Build a lightweight QuickStatus snapshot from agent events. */
|
|
70
49
|
export declare function getQuickStatus(agentId: string, agentType: string, status: string, events: any[]): QuickStatus;
|
|
71
|
-
/** Produce a one-line human-readable status summary string (e.g. "Running, modified 3 files, used bash 5 times"). */
|
|
72
50
|
export declare function getStatusSummary(agentId: string, agentType: string, status: string, events: any[], duration?: string | null): string;
|
|
@@ -19,7 +19,6 @@ function extractErrorFromRawEvents(events, maxChars = 500) {
|
|
|
19
19
|
}
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
|
-
/** Event type priority tiers for filtering. Higher tiers surface more important events. */
|
|
23
22
|
export const PRIORITY = {
|
|
24
23
|
critical: [
|
|
25
24
|
'error',
|
|
@@ -44,10 +43,6 @@ export const PRIORITY = {
|
|
|
44
43
|
'raw',
|
|
45
44
|
],
|
|
46
45
|
};
|
|
47
|
-
/**
|
|
48
|
-
* Collapse sequential events of the same type into summary entries.
|
|
49
|
-
* Returns a cleaner list of events suitable for output.
|
|
50
|
-
*/
|
|
51
46
|
export function collapseEvents(events, maxEvents = 20) {
|
|
52
47
|
if (events.length === 0)
|
|
53
48
|
return [];
|
|
@@ -56,7 +51,6 @@ export function collapseEvents(events, maxEvents = 20) {
|
|
|
56
51
|
while (i < events.length) {
|
|
57
52
|
const event = events[i];
|
|
58
53
|
const eventType = event.type || 'unknown';
|
|
59
|
-
// For thinking events, collapse sequential ones
|
|
60
54
|
if (eventType === 'thinking') {
|
|
61
55
|
let count = 1;
|
|
62
56
|
let lastContent = event.content || '';
|
|
@@ -82,7 +76,6 @@ export function collapseEvents(events, maxEvents = 20) {
|
|
|
82
76
|
i = j;
|
|
83
77
|
continue;
|
|
84
78
|
}
|
|
85
|
-
// For message events, keep the last content
|
|
86
79
|
if (eventType === 'message') {
|
|
87
80
|
collapsed.push({
|
|
88
81
|
type: 'message',
|
|
@@ -93,7 +86,6 @@ export function collapseEvents(events, maxEvents = 20) {
|
|
|
93
86
|
i++;
|
|
94
87
|
continue;
|
|
95
88
|
}
|
|
96
|
-
// Keep tool events as-is but truncate large content
|
|
97
89
|
if (['bash', 'file_write', 'file_read', 'file_create', 'file_delete', 'tool_use'].includes(eventType)) {
|
|
98
90
|
const cleaned = { ...event };
|
|
99
91
|
if (cleaned.command && cleaned.command.length > 200) {
|
|
@@ -103,24 +95,18 @@ export function collapseEvents(events, maxEvents = 20) {
|
|
|
103
95
|
i++;
|
|
104
96
|
continue;
|
|
105
97
|
}
|
|
106
|
-
// Keep errors and results
|
|
107
98
|
if (['error', 'result'].includes(eventType)) {
|
|
108
99
|
collapsed.push(event);
|
|
109
100
|
i++;
|
|
110
101
|
continue;
|
|
111
102
|
}
|
|
112
|
-
// Skip other event types
|
|
113
103
|
i++;
|
|
114
104
|
}
|
|
115
|
-
// Return only the last N events
|
|
116
105
|
if (collapsed.length > maxEvents) {
|
|
117
106
|
return collapsed.slice(-maxEvents);
|
|
118
107
|
}
|
|
119
108
|
return collapsed;
|
|
120
109
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Get a breakdown of tool calls by type.
|
|
123
|
-
*/
|
|
124
110
|
export function getToolBreakdown(events) {
|
|
125
111
|
const breakdown = {};
|
|
126
112
|
for (const event of events) {
|
|
@@ -147,7 +133,6 @@ export function getToolBreakdown(events) {
|
|
|
147
133
|
}
|
|
148
134
|
return breakdown;
|
|
149
135
|
}
|
|
150
|
-
/** Group consecutive events of the same type into combined entries with counts and truncated content. */
|
|
151
136
|
export function groupAndFlattenEvents(events) {
|
|
152
137
|
if (events.length === 0)
|
|
153
138
|
return [];
|
|
@@ -159,9 +144,6 @@ export function groupAndFlattenEvents(events) {
|
|
|
159
144
|
if (eventType === 'message' || eventType === 'thinking') {
|
|
160
145
|
let count = 1;
|
|
161
146
|
let combinedContent = event.content || '';
|
|
162
|
-
// Streaming token events (complete:false) get concatenated without a
|
|
163
|
-
// separator so tokens reassemble into readable prose. Whole-turn events
|
|
164
|
-
// get joined with newlines so distinct turns/thoughts stay separated.
|
|
165
147
|
const isStreaming = event.complete === false;
|
|
166
148
|
let j = i + 1;
|
|
167
149
|
while (j < events.length && events[j].type === eventType) {
|
|
@@ -263,7 +245,6 @@ export function groupAndFlattenEvents(events) {
|
|
|
263
245
|
}
|
|
264
246
|
return grouped;
|
|
265
247
|
}
|
|
266
|
-
/** Accumulated summary of an agent's activity: files touched, tools used, errors, and final message. */
|
|
267
248
|
export class AgentSummary {
|
|
268
249
|
agentId;
|
|
269
250
|
agentType;
|
|
@@ -345,7 +326,6 @@ export class AgentSummary {
|
|
|
345
326
|
return text.substring(0, maxLen - 3) + '...';
|
|
346
327
|
}
|
|
347
328
|
}
|
|
348
|
-
/** Build an AgentSummary by walking all events and accumulating file ops, tool calls, errors, and messages. */
|
|
349
329
|
export function summarizeEvents(agentId, agentType, status, events, duration = null) {
|
|
350
330
|
const summary = new AgentSummary(agentId, agentType, status, duration, events.length);
|
|
351
331
|
summary.eventsCache = events;
|
|
@@ -412,10 +392,6 @@ export function summarizeEvents(agentId, agentType, status, events, duration = n
|
|
|
412
392
|
else if (eventType === 'message') {
|
|
413
393
|
const content = event.content || '';
|
|
414
394
|
if (content) {
|
|
415
|
-
// Streaming token-by-token messages (e.g., grok) arrive as many small
|
|
416
|
-
// `message` events with complete:false; concatenate them so the final
|
|
417
|
-
// turn reads as one message. Whole-turn messages (claude, codex,
|
|
418
|
-
// gemini) keep their complete:true semantics — last one wins.
|
|
419
395
|
if (event.complete === false) {
|
|
420
396
|
summary.finalMessage = (summary.finalMessage || '') + content;
|
|
421
397
|
}
|
|
@@ -487,26 +463,17 @@ export function summarizeEvents(agentId, agentType, status, events, duration = n
|
|
|
487
463
|
}
|
|
488
464
|
return summary;
|
|
489
465
|
}
|
|
490
|
-
|
|
491
|
-
* Compute the delta of new activity since a given point in time (ISO timestamp)
|
|
492
|
-
* or event index. Used for incremental status polling.
|
|
493
|
-
*/
|
|
494
|
-
export function getDelta(agentId, agentType, status, events, since // Optional: ISO timestamp (string) or event index (number)
|
|
495
|
-
) {
|
|
496
|
-
// Filter events by timestamp (string) or index (number)
|
|
466
|
+
export function getDelta(agentId, agentType, status, events, since) {
|
|
497
467
|
let newEvents;
|
|
498
468
|
let sinceEvent = 0;
|
|
499
469
|
if (since === undefined || since === null) {
|
|
500
|
-
// No filter - return all events
|
|
501
470
|
newEvents = events;
|
|
502
471
|
}
|
|
503
472
|
else if (typeof since === 'number') {
|
|
504
|
-
// Backward compatibility: event index
|
|
505
473
|
sinceEvent = since;
|
|
506
474
|
newEvents = events.slice(sinceEvent);
|
|
507
475
|
}
|
|
508
476
|
else if (typeof since === 'string') {
|
|
509
|
-
// New behavior: timestamp filtering
|
|
510
477
|
const sinceDate = new Date(since);
|
|
511
478
|
newEvents = events.filter((e) => {
|
|
512
479
|
if (!e.timestamp)
|
|
@@ -522,7 +489,7 @@ export function getDelta(agentId, agentType, status, events, since // Optional:
|
|
|
522
489
|
return {
|
|
523
490
|
agent_id: agentId,
|
|
524
491
|
status: status,
|
|
525
|
-
since_event: sinceEvent,
|
|
492
|
+
since_event: sinceEvent,
|
|
526
493
|
new_events_count: 0,
|
|
527
494
|
has_changes: false,
|
|
528
495
|
new_files_created: [],
|
|
@@ -540,9 +507,9 @@ export function getDelta(agentId, agentType, status, events, since // Optional:
|
|
|
540
507
|
agent_id: agentId,
|
|
541
508
|
agent_type: agentType,
|
|
542
509
|
status: status,
|
|
543
|
-
since_event: sinceEvent,
|
|
510
|
+
since_event: sinceEvent,
|
|
544
511
|
new_events_count: newEvents.length,
|
|
545
|
-
current_event_count: sinceEvent + newEvents.length,
|
|
512
|
+
current_event_count: sinceEvent + newEvents.length,
|
|
546
513
|
has_changes: true,
|
|
547
514
|
new_files_created: Array.from(summary.filesCreated),
|
|
548
515
|
new_files_modified: Array.from(summary.filesModified),
|
|
@@ -551,15 +518,14 @@ export function getDelta(agentId, agentType, status, events, since // Optional:
|
|
|
551
518
|
new_bash_commands: summary.bashCommands.slice(-15),
|
|
552
519
|
new_messages: getLastMessages(newEvents, 5),
|
|
553
520
|
new_tool_count: summary.toolCallCount,
|
|
554
|
-
new_tool_calls: newEvents
|
|
521
|
+
new_tool_calls: newEvents
|
|
555
522
|
.filter((e) => ['tool_use', 'bash', 'file_write'].includes(e.type))
|
|
556
523
|
.slice(-5)
|
|
557
524
|
.map((e) => `${e.tool || 'unknown'}: ${e.command || e.path || ''}`),
|
|
558
|
-
latest_message: summary.finalMessage,
|
|
525
|
+
latest_message: summary.finalMessage,
|
|
559
526
|
new_errors: summary.errors,
|
|
560
527
|
};
|
|
561
528
|
}
|
|
562
|
-
/** Filter events to only those in the specified priority tiers (defaults to critical + important). */
|
|
563
529
|
export function filterEventsByPriority(events, includeLevels = null) {
|
|
564
530
|
if (!includeLevels) {
|
|
565
531
|
includeLevels = ['critical', 'important'];
|
|
@@ -573,7 +539,6 @@ export function filterEventsByPriority(events, includeLevels = null) {
|
|
|
573
539
|
}
|
|
574
540
|
return events.filter(e => allowedTypes.has(e.type));
|
|
575
541
|
}
|
|
576
|
-
/** Return the event type of the last tool-related or significant event, or null. */
|
|
577
542
|
export function getLastTool(events) {
|
|
578
543
|
if (events.length === 0)
|
|
579
544
|
return null;
|
|
@@ -585,7 +550,6 @@ export function getLastTool(events) {
|
|
|
585
550
|
}
|
|
586
551
|
return null;
|
|
587
552
|
}
|
|
588
|
-
/** Extract all tool_use events as {tool, args} pairs. */
|
|
589
553
|
export function getToolUses(events) {
|
|
590
554
|
const toolUses = [];
|
|
591
555
|
for (const event of events) {
|
|
@@ -597,7 +561,6 @@ export function getToolUses(events) {
|
|
|
597
561
|
}
|
|
598
562
|
return toolUses;
|
|
599
563
|
}
|
|
600
|
-
/** Extract the last N complete messages from the event stream, joining streaming deltas. */
|
|
601
564
|
export function getLastMessages(events, count = 3) {
|
|
602
565
|
const messages = [];
|
|
603
566
|
let currentBuffer = '';
|
|
@@ -605,11 +568,8 @@ export function getLastMessages(events, count = 3) {
|
|
|
605
568
|
for (const event of events) {
|
|
606
569
|
if (event.type === 'message') {
|
|
607
570
|
const content = event.content || '';
|
|
608
|
-
// For streaming events (delta=true), content fragments should be joined.
|
|
609
|
-
// We don't add newlines because these are likely parts of the same sentence/block.
|
|
610
571
|
currentBuffer += content;
|
|
611
572
|
isCollecting = true;
|
|
612
|
-
// If we hit an explicitly complete message, treat it as a boundary
|
|
613
573
|
if (event.complete) {
|
|
614
574
|
if (currentBuffer.trim()) {
|
|
615
575
|
messages.push(currentBuffer);
|
|
@@ -619,7 +579,6 @@ export function getLastMessages(events, count = 3) {
|
|
|
619
579
|
}
|
|
620
580
|
}
|
|
621
581
|
else {
|
|
622
|
-
// Any non-message event breaks the message stream
|
|
623
582
|
if (isCollecting) {
|
|
624
583
|
if (currentBuffer.trim()) {
|
|
625
584
|
messages.push(currentBuffer);
|
|
@@ -629,13 +588,11 @@ export function getLastMessages(events, count = 3) {
|
|
|
629
588
|
}
|
|
630
589
|
}
|
|
631
590
|
}
|
|
632
|
-
// Handle any remaining buffer at the end
|
|
633
591
|
if (isCollecting && currentBuffer.trim()) {
|
|
634
592
|
messages.push(currentBuffer);
|
|
635
593
|
}
|
|
636
594
|
return messages.slice(-count);
|
|
637
595
|
}
|
|
638
|
-
/** Build a lightweight QuickStatus snapshot from agent events. */
|
|
639
596
|
export function getQuickStatus(agentId, agentType, status, events) {
|
|
640
597
|
const filesCreatedSet = new Set();
|
|
641
598
|
const filesModifiedSet = new Set();
|
|
@@ -722,7 +679,6 @@ export function getQuickStatus(agentId, agentType, status, events) {
|
|
|
722
679
|
last_message: lastMessage,
|
|
723
680
|
};
|
|
724
681
|
}
|
|
725
|
-
/** Produce a one-line human-readable status summary string (e.g. "Running, modified 3 files, used bash 5 times"). */
|
|
726
682
|
export function getStatusSummary(agentId, agentType, status, events, duration = null) {
|
|
727
683
|
if (events.length === 0) {
|
|
728
684
|
if (status === 'running') {
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DAG supervisor — the continuous dispatch loop that makes the Factory
|
|
3
|
-
* dynamic.
|
|
4
|
-
*
|
|
5
|
-
* `teams start --watch` and `factory run` both use this. Each wave:
|
|
6
|
-
* 1. call startReady(team) to fire any now-ready teammates
|
|
7
|
-
* 2. listByTask(team) to count pending / running / done / failed
|
|
8
|
-
* 3. emit one status event (via the caller's callback)
|
|
9
|
-
* 4. exit when pending + running == 0 (DAG drained)
|
|
10
|
-
*
|
|
11
|
-
* Why a shared function:
|
|
12
|
-
* - the loop is the orchestration, the thing that lets any worker add
|
|
13
|
-
* tasks mid-flight via `agents teams add` and have them picked up
|
|
14
|
-
* - `factory run` is just `teams start --watch` with factory-flavored
|
|
15
|
-
* presentation; keeping them in sync avoids drift
|
|
16
|
-
*
|
|
17
|
-
* The caller supplies a presenter callback so the same loop can drive
|
|
18
|
-
* terminal output, json-per-wave output, or a TUI.
|
|
19
|
-
*/
|
|
20
1
|
import type { AgentManager, AgentProcess } from './agents.js';
|
|
21
2
|
import type { TeamBudgetWatcher } from '../budget/live-team.js';
|
|
22
3
|
import type { BreachInfo } from '../budget/enforce.js';
|
|
@@ -35,35 +16,16 @@ interface SupervisorOptions {
|
|
|
35
16
|
team: string;
|
|
36
17
|
intervalMs?: number;
|
|
37
18
|
maxWaves?: number;
|
|
38
|
-
/** Called once per wave. Return false to stop the loop gracefully. */
|
|
39
19
|
onWave: (summary: WaveSummary) => void | Promise<void> | boolean | Promise<boolean>;
|
|
40
|
-
/**
|
|
41
|
-
* Optional live-spend watcher (issue #399). Polled once per wave; on first
|
|
42
|
-
* breach the supervisor calls `manager.stopByTask(team)` and exits with
|
|
43
|
-
* `stoppedBy: 'budget'`. Dormant when null — supervisor behavior is unchanged
|
|
44
|
-
* for teams that never opt into budget enforcement.
|
|
45
|
-
*/
|
|
46
20
|
budgetWatcher?: TeamBudgetWatcher | null;
|
|
47
|
-
/** Called with the breach details when the budget watcher trips. */
|
|
48
21
|
onBudgetBreach?: (breach: BreachInfo) => void;
|
|
49
22
|
}
|
|
50
23
|
interface SupervisorResult {
|
|
51
24
|
waves: number;
|
|
52
25
|
stoppedBy: 'drained' | 'max-waves' | 'signal' | 'callback' | 'budget';
|
|
53
26
|
elapsed_ms: number;
|
|
54
|
-
/**
|
|
55
|
-
* Number of teammates in the `failed` state when the team drained. Only set
|
|
56
|
-
* for `stoppedBy === 'drained'`. A drained DAG means nothing is pending or
|
|
57
|
-
* running — NOT that everything succeeded — so callers that treat "drained"
|
|
58
|
-
* as success (e.g. a completion nudge) must check `failed === 0` first.
|
|
59
|
-
*/
|
|
60
27
|
failed?: number;
|
|
61
|
-
/** Set when `stoppedBy === 'budget'` — the breach that terminated the team. */
|
|
62
28
|
budgetBreach?: BreachInfo;
|
|
63
29
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Run the continuous DAG dispatcher until the team drains, the caller
|
|
66
|
-
* returns false from onWave, or SIGINT/SIGTERM arrives.
|
|
67
|
-
*/
|
|
68
30
|
export declare function runSupervisor(mgr: AgentManager, opts: SupervisorOptions): Promise<SupervisorResult>;
|
|
69
31
|
export {};
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Run the continuous DAG dispatcher until the team drains, the caller
|
|
3
|
-
* returns false from onWave, or SIGINT/SIGTERM arrives.
|
|
4
|
-
*/
|
|
5
1
|
export async function runSupervisor(mgr, opts) {
|
|
6
2
|
const intervalMs = opts.intervalMs ?? 8000;
|
|
7
3
|
const maxWaves = opts.maxWaves ?? 1000;
|
|
@@ -13,16 +9,7 @@ export async function runSupervisor(mgr, opts) {
|
|
|
13
9
|
process.once('SIGTERM', onSig);
|
|
14
10
|
try {
|
|
15
11
|
for (let wave = 1; wave <= maxWaves; wave++) {
|
|
16
|
-
// Pick up teammates added by other processes (e.g. the Planner's
|
|
17
|
-
// `agents teams add` calls). Without this the supervisor only ever
|
|
18
|
-
// sees teammates it created itself.
|
|
19
12
|
await mgr.rescanFromDisk();
|
|
20
|
-
// Distributed teammates: one ssh-per-host liveness/exit pre-pass BEFORE any
|
|
21
|
-
// polling this wave, so every subsequent per-teammate status read
|
|
22
|
-
// (startReady's roster scan + listByTask below) consumes a cached snapshot
|
|
23
|
-
// instead of each opening its own SSH handshake — no N-round-trips-per-wave
|
|
24
|
-
// blowup at 10+ remote teammates. No-op for all-local teams. Reads the
|
|
25
|
-
// in-memory roster directly, so it doesn't itself trigger a poll.
|
|
26
13
|
await mgr.prefetchRemoteStatus(team);
|
|
27
14
|
const launched = await mgr.startReady(team);
|
|
28
15
|
const all = await mgr.listByTask(team);
|
|
@@ -52,9 +39,6 @@ export async function runSupervisor(mgr, opts) {
|
|
|
52
39
|
if (keepGoing === false) {
|
|
53
40
|
return { waves: wave, stoppedBy: 'callback', elapsed_ms: Date.now() - startedAt };
|
|
54
41
|
}
|
|
55
|
-
// Live budget kill (issue #399). Poll AFTER the wave's callback so the
|
|
56
|
-
// most recent teammate stdout is already flushed to disk. On breach we
|
|
57
|
-
// stop every RUNNING teammate — the DAG effectively drains this wave.
|
|
58
42
|
if (opts.budgetWatcher) {
|
|
59
43
|
await opts.budgetWatcher.poll();
|
|
60
44
|
if (opts.budgetWatcher.breached()) {
|
|
@@ -71,11 +55,6 @@ export async function runSupervisor(mgr, opts) {
|
|
|
71
55
|
};
|
|
72
56
|
}
|
|
73
57
|
}
|
|
74
|
-
// Re-check drain AFTER the callback. The callback may have added new
|
|
75
|
-
// teammates mid-flight (that's the whole point of the dynamic DAG), so
|
|
76
|
-
// trusting the pre-callback snapshot would drain prematurely. Rescan
|
|
77
|
-
// too, because the callback could have triggered a sibling process
|
|
78
|
-
// that wrote a fresh meta.json.
|
|
79
58
|
await mgr.rescanFromDisk();
|
|
80
59
|
const afterCallback = await mgr.listByTask(team);
|
|
81
60
|
const stillLive = afterCallback.some((a) => a.status === 'pending' || a.status === 'running');
|