@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
package/dist/lib/loop.d.ts
CHANGED
|
@@ -1,155 +1,49 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Autonomous loop driver (issue #332).
|
|
3
|
-
*
|
|
4
|
-
* Re-injects an entrypoint each iteration until a stop condition is met. The
|
|
5
|
-
* driver is the deterministic skeleton; the entrypoint inside stays dynamic (it
|
|
6
|
-
* can spawn subagents freely). Every guard — `max_iterations`, `budget`, the
|
|
7
|
-
* `until: signal` condition, SIGINT/SIGTERM — lives OUTSIDE the agent, so the
|
|
8
|
-
* agent cannot vote past a kill-switch (the standard answer to runaway-loop and
|
|
9
|
-
* runaway-cost failure modes; see docs/execution.md).
|
|
10
|
-
*
|
|
11
|
-
* Structure mirrors the teams supervisor (`runSupervisor` in teams/supervisor.ts):
|
|
12
|
-
* a bounded for-loop with a hard cap, a SIGINT/SIGTERM trap that flips a stop
|
|
13
|
-
* flag, a per-iteration guard check, an interval sleep, and a typed `stoppedBy`
|
|
14
|
-
* union for the exit reason.
|
|
15
|
-
*
|
|
16
|
-
* Token accounting: the budget cap is a TOKEN hard-cap, enforced after each
|
|
17
|
-
* turn from the usage events parsed off the agent's stream-json output. Token
|
|
18
|
-
* extraction reuses `extractUsageEvents` from budget/enforce.ts (read-only
|
|
19
|
-
* import) rather than re-implementing the per-provider parsing.
|
|
20
|
-
*/
|
|
21
1
|
import type { AgentId } from './types.js';
|
|
22
2
|
import type { ExecOptions } from './exec.js';
|
|
23
3
|
import { type Checkpoint } from './checkpoint.js';
|
|
24
|
-
/** Loop block config; see docs/execution.md. */
|
|
25
4
|
export interface LoopConfig {
|
|
26
|
-
/** Stop condition. `signal` reads loop-signal.json; absence is fail-closed. */
|
|
27
5
|
until?: 'signal';
|
|
28
|
-
/** Hard cap on iterations. */
|
|
29
6
|
maxIterations?: number;
|
|
30
|
-
/** Token hard-cap, enforced outside the agent. */
|
|
31
7
|
budget?: number;
|
|
32
|
-
/** Delay between iterations: "0" back-to-back, "30m" paces. */
|
|
33
8
|
interval?: string;
|
|
34
9
|
}
|
|
35
|
-
/** The loop-signal.json contract the entrypoint writes each iteration. */
|
|
36
10
|
export interface LoopSignal {
|
|
37
11
|
continue: boolean;
|
|
38
12
|
reason?: string;
|
|
39
13
|
}
|
|
40
|
-
/** Why the loop stopped. Mirrors the teams supervisor exit reasons. */
|
|
41
14
|
export type LoopStoppedBy = 'condition-met' | 'budget' | 'stalled' | 'max' | 'signal' | 'error';
|
|
42
|
-
/** Result of a loop run. */
|
|
43
15
|
interface LoopResult {
|
|
44
|
-
/** Iterations actually executed. */
|
|
45
16
|
iterations: number;
|
|
46
17
|
stoppedBy: LoopStoppedBy;
|
|
47
18
|
elapsedMs: number;
|
|
48
|
-
/** Cumulative tokens consumed across all iterations. */
|
|
49
19
|
tokens: number;
|
|
50
|
-
/** Last loop-signal read, if any. */
|
|
51
20
|
lastSignal?: LoopSignal;
|
|
52
21
|
}
|
|
53
|
-
/** What a single iteration's run function returns. */
|
|
54
22
|
export interface IterationResult {
|
|
55
23
|
exitCode: number;
|
|
56
|
-
/** Tokens consumed this iteration (input + output + cache). */
|
|
57
24
|
tokens: number;
|
|
58
25
|
}
|
|
59
|
-
/** Per-iteration run function — the injectable seam that makes the driver testable. */
|
|
60
26
|
export type RunIteration = (options: ExecOptions) => Promise<IterationResult>;
|
|
61
|
-
/** Context the driver needs that isn't part of ExecOptions. */
|
|
62
27
|
export interface LoopContext {
|
|
63
28
|
runId: string;
|
|
64
29
|
runDir: string;
|
|
65
30
|
agent: AgentId;
|
|
66
31
|
version?: string;
|
|
67
|
-
/** Iteration to start at (1 for a fresh run, checkpoint.iteration+1 for a resume). */
|
|
68
32
|
startIteration?: number;
|
|
69
|
-
/** Tokens already consumed before this driver started (carried across a resume). */
|
|
70
33
|
startTokens?: number;
|
|
71
|
-
/**
|
|
72
|
-
* On a resume, the killed run's LAST iteration session id. The first resumed
|
|
73
|
-
* iteration `/continue`s from it to thread conversation memory forward.
|
|
74
|
-
* Undefined on a fresh run (iteration 1 mints its own id, no prior to continue).
|
|
75
|
-
*/
|
|
76
34
|
sessionId?: string;
|
|
77
35
|
}
|
|
78
|
-
/** Dependency seams for testing. */
|
|
79
36
|
export interface LoopDeps {
|
|
80
|
-
/** Per-iteration runner. Defaults to a token-capturing spawn (defaultRunIteration). */
|
|
81
37
|
runIteration?: RunIteration;
|
|
82
|
-
/** Sleep function (ms). Defaults to setTimeout-backed. Injectable so tests don't wait. */
|
|
83
38
|
sleep?: (ms: number) => Promise<void>;
|
|
84
|
-
/** Checkpoint writer. Defaults to writeCheckpoint. */
|
|
85
39
|
writeCheckpoint?: (c: Checkpoint) => void;
|
|
86
40
|
}
|
|
87
|
-
/** Path to a run's loop-signal.json. */
|
|
88
41
|
export declare function loopSignalPath(runDir: string): string;
|
|
89
|
-
/**
|
|
90
|
-
* Build the prompt for iteration >= 2 so the agent CONTINUES the prior
|
|
91
|
-
* iteration's conversation instead of starting fresh.
|
|
92
|
-
*
|
|
93
|
-
* This reuses the repo's established cross-process Claude-continuity mechanism —
|
|
94
|
-
* the `/continue <id>` skill (see `buildFallbackPrompt` in exec.ts, which hands
|
|
95
|
-
* a rate-limit successor `/continue ${prevSessionId}`). The skill loads the
|
|
96
|
-
* prior transcript via `agents sessions <id>`, so continuity does NOT depend on
|
|
97
|
-
* the provider's native session being "active"; it reads the transcript off
|
|
98
|
-
* disk. That is why each loop iteration can safely pin a FRESH session id (the
|
|
99
|
-
* `--session-id` flag CREATES a session — re-passing one errors "Session ID
|
|
100
|
-
* already in use") while still threading the conversation forward via the
|
|
101
|
-
* prior id.
|
|
102
|
-
*
|
|
103
|
-
* The original entrypoint is re-appended after the continue directive so the
|
|
104
|
-
* agent both recalls the prior turn AND knows what to do this iteration.
|
|
105
|
-
*/
|
|
106
42
|
export declare function buildLoopContinuePrompt(prevSessionId: string, entrypoint: string): string;
|
|
107
|
-
/**
|
|
108
|
-
* The universal (Tier-2) resume directive: a `/continue <id>` first message that
|
|
109
|
-
* tells the agent to load the prior transcript via `agents sessions <id>` and
|
|
110
|
-
* pick up. Works for ANY agent that ships the `/continue` command — the resume
|
|
111
|
-
* path for agents without a native `--resume` (gemini, grok, opencode, …). An
|
|
112
|
-
* optional follow-on prompt is appended after a blank line; omitted when empty so
|
|
113
|
-
* a bare resume sends just the directive.
|
|
114
|
-
*/
|
|
115
43
|
export declare function buildContinuePrompt(sessionId: string, prompt?: string): string;
|
|
116
|
-
/**
|
|
117
|
-
* Resolve a loop interval string to milliseconds. `"0"` is an explicit
|
|
118
|
-
* back-to-back run (0ms). Any other string must parse via parseTimeout
|
|
119
|
-
* (e.g. "30m", "1h"); an unparseable value (e.g. "30s", "5", "abc") is a
|
|
120
|
-
* configuration error and must NOT silently coalesce to 0 (which would run the
|
|
121
|
-
* loop full-speed on a typo). Throws on bad input; validate at config build
|
|
122
|
-
* time (validateLoopInterval) so the error surfaces before the loop starts.
|
|
123
|
-
*/
|
|
124
44
|
export declare function parseLoopInterval(interval: string | undefined): number;
|
|
125
|
-
/**
|
|
126
|
-
* Read and parse loop-signal.json. Returns null when the file is absent or
|
|
127
|
-
* unparseable — the caller treats null as fail-closed (continue:false).
|
|
128
|
-
*/
|
|
129
45
|
export declare function readLoopSignal(runDir: string): LoopSignal | null;
|
|
130
|
-
/** Delete loop-signal.json so a stale signal never carries into the next iteration. */
|
|
131
46
|
export declare function clearLoopSignal(runDir: string): void;
|
|
132
|
-
/**
|
|
133
|
-
* Default per-iteration runner: spawn the agent, tee stdout, and sum token usage
|
|
134
|
-
* off the stream. This is a purpose-built token-capturing spawn for the loop's
|
|
135
|
-
* budget guard, not a re-implementation of exec's fallback/budget machinery —
|
|
136
|
-
* it reuses `buildExecCommand` / `buildExecEnv` (the canonical command/env
|
|
137
|
-
* builders) and `extractUsageEvents` (the canonical stream parser). The agent
|
|
138
|
-
* is forced to JSON/headless so the usage stream is parseable.
|
|
139
|
-
*/
|
|
140
47
|
export declare function defaultRunIteration(options: ExecOptions): Promise<IterationResult>;
|
|
141
|
-
/**
|
|
142
|
-
* Run the autonomous loop. Returns when a guard trips, the until-condition is
|
|
143
|
-
* met, the iteration cap is reached, or a signal arrives.
|
|
144
|
-
*
|
|
145
|
-
* stoppedBy semantics:
|
|
146
|
-
* - `condition-met` — until=signal and the signal said stop (continue:false
|
|
147
|
-
* OR the file was absent/corrupt → fail-closed).
|
|
148
|
-
* - `budget` — cumulative tokens crossed the budget cap (checked after
|
|
149
|
-
* each turn, outside the agent).
|
|
150
|
-
* - `max` — ran maxIterations iterations without any earlier stop.
|
|
151
|
-
* - `signal` — SIGINT/SIGTERM arrived; checkpoint is written before exit.
|
|
152
|
-
* - `error` — an iteration threw or exited non-zero.
|
|
153
|
-
*/
|
|
154
48
|
export declare function runLoop(execOptions: ExecOptions, loop: LoopConfig, ctx: LoopContext, deps?: LoopDeps): Promise<LoopResult>;
|
|
155
49
|
export {};
|
package/dist/lib/loop.js
CHANGED
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Autonomous loop driver (issue #332).
|
|
3
|
-
*
|
|
4
|
-
* Re-injects an entrypoint each iteration until a stop condition is met. The
|
|
5
|
-
* driver is the deterministic skeleton; the entrypoint inside stays dynamic (it
|
|
6
|
-
* can spawn subagents freely). Every guard — `max_iterations`, `budget`, the
|
|
7
|
-
* `until: signal` condition, SIGINT/SIGTERM — lives OUTSIDE the agent, so the
|
|
8
|
-
* agent cannot vote past a kill-switch (the standard answer to runaway-loop and
|
|
9
|
-
* runaway-cost failure modes; see docs/execution.md).
|
|
10
|
-
*
|
|
11
|
-
* Structure mirrors the teams supervisor (`runSupervisor` in teams/supervisor.ts):
|
|
12
|
-
* a bounded for-loop with a hard cap, a SIGINT/SIGTERM trap that flips a stop
|
|
13
|
-
* flag, a per-iteration guard check, an interval sleep, and a typed `stoppedBy`
|
|
14
|
-
* union for the exit reason.
|
|
15
|
-
*
|
|
16
|
-
* Token accounting: the budget cap is a TOKEN hard-cap, enforced after each
|
|
17
|
-
* turn from the usage events parsed off the agent's stream-json output. Token
|
|
18
|
-
* extraction reuses `extractUsageEvents` from budget/enforce.ts (read-only
|
|
19
|
-
* import) rather than re-implementing the per-provider parsing.
|
|
20
|
-
*/
|
|
21
1
|
import { spawn } from 'child_process';
|
|
22
2
|
import { randomUUID } from 'crypto';
|
|
23
3
|
import * as fs from 'fs';
|
|
@@ -29,50 +9,16 @@ import { writeCheckpoint } from './checkpoint.js';
|
|
|
29
9
|
import { mailboxDir } from './mailbox.js';
|
|
30
10
|
import { composeWin32CommandLine } from './platform/index.js';
|
|
31
11
|
const defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
32
|
-
/** Path to a run's loop-signal.json. */
|
|
33
12
|
export function loopSignalPath(runDir) {
|
|
34
13
|
return path.join(runDir, 'loop-signal.json');
|
|
35
14
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Build the prompt for iteration >= 2 so the agent CONTINUES the prior
|
|
38
|
-
* iteration's conversation instead of starting fresh.
|
|
39
|
-
*
|
|
40
|
-
* This reuses the repo's established cross-process Claude-continuity mechanism —
|
|
41
|
-
* the `/continue <id>` skill (see `buildFallbackPrompt` in exec.ts, which hands
|
|
42
|
-
* a rate-limit successor `/continue ${prevSessionId}`). The skill loads the
|
|
43
|
-
* prior transcript via `agents sessions <id>`, so continuity does NOT depend on
|
|
44
|
-
* the provider's native session being "active"; it reads the transcript off
|
|
45
|
-
* disk. That is why each loop iteration can safely pin a FRESH session id (the
|
|
46
|
-
* `--session-id` flag CREATES a session — re-passing one errors "Session ID
|
|
47
|
-
* already in use") while still threading the conversation forward via the
|
|
48
|
-
* prior id.
|
|
49
|
-
*
|
|
50
|
-
* The original entrypoint is re-appended after the continue directive so the
|
|
51
|
-
* agent both recalls the prior turn AND knows what to do this iteration.
|
|
52
|
-
*/
|
|
53
15
|
export function buildLoopContinuePrompt(prevSessionId, entrypoint) {
|
|
54
16
|
return buildContinuePrompt(prevSessionId, entrypoint);
|
|
55
17
|
}
|
|
56
|
-
/**
|
|
57
|
-
* The universal (Tier-2) resume directive: a `/continue <id>` first message that
|
|
58
|
-
* tells the agent to load the prior transcript via `agents sessions <id>` and
|
|
59
|
-
* pick up. Works for ANY agent that ships the `/continue` command — the resume
|
|
60
|
-
* path for agents without a native `--resume` (gemini, grok, opencode, …). An
|
|
61
|
-
* optional follow-on prompt is appended after a blank line; omitted when empty so
|
|
62
|
-
* a bare resume sends just the directive.
|
|
63
|
-
*/
|
|
64
18
|
export function buildContinuePrompt(sessionId, prompt) {
|
|
65
19
|
const directive = `/continue ${sessionId}`;
|
|
66
20
|
return prompt && prompt.trim() ? `${directive}\n\n${prompt}` : directive;
|
|
67
21
|
}
|
|
68
|
-
/**
|
|
69
|
-
* Resolve a loop interval string to milliseconds. `"0"` is an explicit
|
|
70
|
-
* back-to-back run (0ms). Any other string must parse via parseTimeout
|
|
71
|
-
* (e.g. "30m", "1h"); an unparseable value (e.g. "30s", "5", "abc") is a
|
|
72
|
-
* configuration error and must NOT silently coalesce to 0 (which would run the
|
|
73
|
-
* loop full-speed on a typo). Throws on bad input; validate at config build
|
|
74
|
-
* time (validateLoopInterval) so the error surfaces before the loop starts.
|
|
75
|
-
*/
|
|
76
22
|
export function parseLoopInterval(interval) {
|
|
77
23
|
if (interval === undefined)
|
|
78
24
|
return 0;
|
|
@@ -84,10 +30,6 @@ export function parseLoopInterval(interval) {
|
|
|
84
30
|
}
|
|
85
31
|
return ms;
|
|
86
32
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Read and parse loop-signal.json. Returns null when the file is absent or
|
|
89
|
-
* unparseable — the caller treats null as fail-closed (continue:false).
|
|
90
|
-
*/
|
|
91
33
|
export function readLoopSignal(runDir) {
|
|
92
34
|
const file = loopSignalPath(runDir);
|
|
93
35
|
if (!fs.existsSync(file))
|
|
@@ -102,7 +44,6 @@ export function readLoopSignal(runDir) {
|
|
|
102
44
|
return null;
|
|
103
45
|
}
|
|
104
46
|
}
|
|
105
|
-
/** Delete loop-signal.json so a stale signal never carries into the next iteration. */
|
|
106
47
|
export function clearLoopSignal(runDir) {
|
|
107
48
|
const file = loopSignalPath(runDir);
|
|
108
49
|
try {
|
|
@@ -110,20 +51,9 @@ export function clearLoopSignal(runDir) {
|
|
|
110
51
|
fs.unlinkSync(file);
|
|
111
52
|
}
|
|
112
53
|
catch {
|
|
113
|
-
/* best-effort: a missing file is the desired state anyway. */
|
|
114
54
|
}
|
|
115
55
|
}
|
|
116
|
-
/**
|
|
117
|
-
* Default per-iteration runner: spawn the agent, tee stdout, and sum token usage
|
|
118
|
-
* off the stream. This is a purpose-built token-capturing spawn for the loop's
|
|
119
|
-
* budget guard, not a re-implementation of exec's fallback/budget machinery —
|
|
120
|
-
* it reuses `buildExecCommand` / `buildExecEnv` (the canonical command/env
|
|
121
|
-
* builders) and `extractUsageEvents` (the canonical stream parser). The agent
|
|
122
|
-
* is forced to JSON/headless so the usage stream is parseable.
|
|
123
|
-
*/
|
|
124
56
|
export function defaultRunIteration(options) {
|
|
125
|
-
// Force the stream-json output the usage parser needs; a loop iteration is
|
|
126
|
-
// always headless (re-injected programmatically, never an interactive TUI).
|
|
127
57
|
const execOptions = { ...options, json: true, headless: true, interactive: false };
|
|
128
58
|
const cmd = buildExecCommand(execOptions);
|
|
129
59
|
const [executable, ...args] = cmd;
|
|
@@ -131,10 +61,6 @@ export function defaultRunIteration(options) {
|
|
|
131
61
|
const cwd = execOptions.cwd || process.cwd();
|
|
132
62
|
const model = execOptions.model ?? `${execOptions.agent}-default`;
|
|
133
63
|
return new Promise((resolve, reject) => {
|
|
134
|
-
// DEP0190-safe shell spawn: on the win32 shell path compose ONE fully-quoted
|
|
135
|
-
// command line and pass an EMPTY args array (see composeWin32CommandLine) so
|
|
136
|
-
// Node never concatenates the args array — which carries the re-injected
|
|
137
|
-
// prompt — into the cmd.exe line unescaped.
|
|
138
64
|
const useShell = process.platform === 'win32' && (!path.isAbsolute(executable) || executable.endsWith('.cmd'));
|
|
139
65
|
const spawnCommand = useShell ? composeWin32CommandLine(executable, args) : executable;
|
|
140
66
|
const spawnArgs = useShell ? [] : args;
|
|
@@ -165,19 +91,6 @@ export function defaultRunIteration(options) {
|
|
|
165
91
|
});
|
|
166
92
|
});
|
|
167
93
|
}
|
|
168
|
-
/**
|
|
169
|
-
* Run the autonomous loop. Returns when a guard trips, the until-condition is
|
|
170
|
-
* met, the iteration cap is reached, or a signal arrives.
|
|
171
|
-
*
|
|
172
|
-
* stoppedBy semantics:
|
|
173
|
-
* - `condition-met` — until=signal and the signal said stop (continue:false
|
|
174
|
-
* OR the file was absent/corrupt → fail-closed).
|
|
175
|
-
* - `budget` — cumulative tokens crossed the budget cap (checked after
|
|
176
|
-
* each turn, outside the agent).
|
|
177
|
-
* - `max` — ran maxIterations iterations without any earlier stop.
|
|
178
|
-
* - `signal` — SIGINT/SIGTERM arrived; checkpoint is written before exit.
|
|
179
|
-
* - `error` — an iteration threw or exited non-zero.
|
|
180
|
-
*/
|
|
181
94
|
export async function runLoop(execOptions, loop, ctx, deps) {
|
|
182
95
|
const runIteration = deps?.runIteration ?? defaultRunIteration;
|
|
183
96
|
const sleep = deps?.sleep ?? defaultSleep;
|
|
@@ -185,38 +98,19 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
185
98
|
const startedAt = Date.now();
|
|
186
99
|
const maxIterations = loop.maxIterations ?? 1000;
|
|
187
100
|
const intervalMs = parseLoopInterval(loop.interval);
|
|
188
|
-
// Per-iteration session pinning (issue #332). `--session-id` CREATES a
|
|
189
|
-
// session, so each iteration must pin a DISTINCT id — re-passing one errors
|
|
190
|
-
// "Session ID already in use". Iteration 1 pins `firstSessionId`; iteration
|
|
191
|
-
// >= 2 mints a fresh id AND injects `/continue <prior id>` so the agent
|
|
192
|
-
// threads the prior conversation forward (see buildLoopContinuePrompt).
|
|
193
|
-
//
|
|
194
|
-
// `prevSessionId` is the id whose transcript the NEXT iteration continues
|
|
195
|
-
// from. On a resume it is ctx.sessionId (the killed run's last session);
|
|
196
|
-
// on a fresh run it starts undefined and is set after iteration 1.
|
|
197
101
|
const firstSessionId = randomUUID();
|
|
198
102
|
let prevSessionId = ctx.sessionId;
|
|
199
|
-
// The session id recorded in the checkpoint is the most recent iteration's id
|
|
200
|
-
// (what a resume must continue from). Seeded to the resume id or iter-1 id.
|
|
201
103
|
let lastIterationSessionId = ctx.sessionId ?? firstSessionId;
|
|
202
104
|
const startIteration = ctx.startIteration ?? 1;
|
|
203
|
-
// The loop re-injects the entrypoint every iteration, so a prompt is required.
|
|
204
|
-
// The command layer enforces this before dispatch; assert it here so the
|
|
205
|
-
// continuity prompt-builder has a defined entrypoint to thread.
|
|
206
105
|
if (execOptions.prompt === undefined) {
|
|
207
106
|
throw new Error('runLoop requires execOptions.prompt — the loop re-injects the entrypoint each iteration.');
|
|
208
107
|
}
|
|
209
108
|
const entrypointPrompt = execOptions.prompt;
|
|
210
|
-
// `/continue` continuity only applies to claude (the skill + native resume
|
|
211
|
-
// surface). Other agents run each iteration as an independent fresh
|
|
212
|
-
// conversation — warn so the lost continuity is never silent.
|
|
213
109
|
const continuitySupported = ctx.agent === 'claude';
|
|
214
110
|
if (!continuitySupported && maxIterations !== 1) {
|
|
215
111
|
process.stderr.write(`[loop] WARNING: cross-iteration conversation continuity applies to claude only. ` +
|
|
216
112
|
`Each ${ctx.agent} iteration runs as an independent fresh conversation (no /continue handoff).\n`);
|
|
217
113
|
}
|
|
218
|
-
// Surface the run-level mailbox id (otherwise undiscoverable — runId is not in
|
|
219
|
-
// the session registry) so an operator can message the loop mid-flight.
|
|
220
114
|
process.stderr.write(`[loop] mailbox: agents message ${ctx.runId} "<text>"\n`);
|
|
221
115
|
let tokens = ctx.startTokens ?? 0;
|
|
222
116
|
let lastSignal;
|
|
@@ -231,9 +125,6 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
231
125
|
agent: ctx.agent,
|
|
232
126
|
version: ctx.version,
|
|
233
127
|
prompt: entrypointPrompt,
|
|
234
|
-
// Resume must continue from the LAST iteration's conversation, so the
|
|
235
|
-
// checkpoint records that iteration's session id (the one a future
|
|
236
|
-
// `/continue` should thread from), not a single pinned id.
|
|
237
128
|
sessionId: lastIterationSessionId,
|
|
238
129
|
iteration,
|
|
239
130
|
loop,
|
|
@@ -257,22 +148,10 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
257
148
|
checkpoint(iteration - 1);
|
|
258
149
|
return done(iteration - startIteration, 'signal');
|
|
259
150
|
}
|
|
260
|
-
// Pin a DISTINCT session id every iteration (`--session-id` CREATES a
|
|
261
|
-
// session; re-passing one errors "Session ID already in use"). The first
|
|
262
|
-
// executed iteration of a fresh run reuses firstSessionId; every later
|
|
263
|
-
// iteration mints a new id.
|
|
264
151
|
const iterationSessionId = prevSessionId === undefined ? firstSessionId : randomUUID();
|
|
265
|
-
// Continuity: when a prior iteration exists (prevSessionId set) and the
|
|
266
|
-
// agent supports it, thread the conversation forward via the established
|
|
267
|
-
// `/continue <prior id>` prompt-injection. Otherwise re-inject the bare
|
|
268
|
-
// entrypoint. prevSessionId is set after iteration 1 of a fresh run, or
|
|
269
|
-
// carried in from ctx.sessionId on a resume.
|
|
270
152
|
const iterationPrompt = prevSessionId !== undefined && continuitySupported
|
|
271
153
|
? buildLoopContinuePrompt(prevSessionId, entrypointPrompt)
|
|
272
154
|
: entrypointPrompt;
|
|
273
|
-
// AGENTS_LOOP_SIGNAL / AGENTS_RUN_DIR: tell the entrypoint where to write
|
|
274
|
-
// loop-signal.json so the guard (read OUTSIDE the agent) can see it. The
|
|
275
|
-
// agent never decides whether to continue — it only writes its vote.
|
|
276
155
|
const iterOptions = {
|
|
277
156
|
...execOptions,
|
|
278
157
|
prompt: iterationPrompt,
|
|
@@ -282,9 +161,6 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
282
161
|
AGENTS_RUN_DIR: ctx.runDir,
|
|
283
162
|
AGENTS_LOOP_SIGNAL: loopSignalPath(ctx.runDir),
|
|
284
163
|
AGENTS_LOOP_ITERATION: String(iteration),
|
|
285
|
-
// Every iteration is a fresh session, so key the mailbox by the stable
|
|
286
|
-
// run id — one box for the whole loop. Overrides the per-iteration
|
|
287
|
-
// AGENTS_MAILBOX_DIR that buildExecEnv would derive from sessionId.
|
|
288
164
|
AGENTS_MAILBOX_DIR: mailboxDir(ctx.runId),
|
|
289
165
|
},
|
|
290
166
|
};
|
|
@@ -293,8 +169,6 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
293
169
|
result = await runIteration(iterOptions);
|
|
294
170
|
}
|
|
295
171
|
catch (err) {
|
|
296
|
-
// A SIGINT/SIGTERM mid-iteration kills the child; the resulting throw
|
|
297
|
-
// is a signal stop, not an error. Check the stop flag first.
|
|
298
172
|
if (stopSignal) {
|
|
299
173
|
checkpoint(iteration - 1);
|
|
300
174
|
return done(iteration - startIteration, 'signal');
|
|
@@ -303,14 +177,10 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
303
177
|
process.stderr.write(`[loop] iteration ${iteration} failed: ${err.message}\n`);
|
|
304
178
|
return done(iteration - startIteration, 'error');
|
|
305
179
|
}
|
|
306
|
-
// This iteration's conversation is now on disk under iterationSessionId.
|
|
307
|
-
// The next iteration continues from it; a checkpoint records it for resume.
|
|
308
180
|
prevSessionId = iterationSessionId;
|
|
309
181
|
lastIterationSessionId = iterationSessionId;
|
|
310
182
|
tokens += result.tokens;
|
|
311
183
|
const completed = iteration - startIteration + 1;
|
|
312
|
-
// until=signal: read the signal the entrypoint wrote this iteration.
|
|
313
|
-
// Absent/corrupt OR continue:false => stop (fail-closed).
|
|
314
184
|
if (loop.until === 'signal') {
|
|
315
185
|
lastSignal = readLoopSignal(ctx.runDir) ?? { continue: false, reason: 'loop-signal.json absent (fail-closed)' };
|
|
316
186
|
clearLoopSignal(ctx.runDir);
|
|
@@ -319,14 +189,10 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
319
189
|
return done(completed, 'condition-met');
|
|
320
190
|
}
|
|
321
191
|
}
|
|
322
|
-
// Budget (token hard-cap), enforced after the turn — outside the agent.
|
|
323
192
|
if (loop.budget !== undefined && tokens >= loop.budget) {
|
|
324
193
|
checkpoint(iteration);
|
|
325
194
|
return done(completed, 'budget');
|
|
326
195
|
}
|
|
327
|
-
// A non-zero exit is a hard error — UNLESS a signal arrived mid-iteration.
|
|
328
|
-
// Ctrl-C kills the child (non-zero exit / SIGINT exit code); that is a
|
|
329
|
-
// 'signal' stop (exit 130), not an 'error'. Check the stop flag first.
|
|
330
196
|
if (result.exitCode !== 0) {
|
|
331
197
|
if (stopSignal) {
|
|
332
198
|
checkpoint(iteration);
|
|
@@ -340,7 +206,6 @@ export async function runLoop(execOptions, loop, ctx, deps) {
|
|
|
340
206
|
if (stopSignal) {
|
|
341
207
|
return done(completed, 'signal');
|
|
342
208
|
}
|
|
343
|
-
// Pace between iterations. Skip the sleep after the final iteration.
|
|
344
209
|
if (iteration < maxIterations && intervalMs > 0) {
|
|
345
210
|
await sleep(intervalMs);
|
|
346
211
|
if (stopSignal) {
|
package/dist/lib/machine-id.d.ts
CHANGED
|
@@ -1,21 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This machine's stable, human-readable id. Lives in a dependency-free leaf so
|
|
3
|
-
* low-level modules (state.ts) can key per-device paths off it without importing
|
|
4
|
-
* the secrets/session-sync layer (which would create a cycle).
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Normalize a raw hostname into a stable device id: first label only,
|
|
8
|
-
* lowercased, non-alphanumerics collapsed to hyphens. `zion.tail…ts.net` and
|
|
9
|
-
* `ZION` both become `zion`. The single source for this transform — machineId()
|
|
10
|
-
* and cross-machine session grouping must agree or the local machine won't
|
|
11
|
-
* match its own registry key.
|
|
12
|
-
*/
|
|
13
1
|
export declare function normalizeHost(raw: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* This machine's stable, human-readable id, used as its R2 sync prefix, session
|
|
16
|
-
* mirror directory, `agents devices` self-key, and per-device config folder.
|
|
17
|
-
* Tailnet hostnames (zion, yosemite-s0, mac-mini) are already unique and
|
|
18
|
-
* readable; we lowercase and strip any domain suffix. Overridable via
|
|
19
|
-
* AGENTS_SYNC_MACHINE_ID for tests and unusual setups.
|
|
20
|
-
*/
|
|
21
2
|
export declare function machineId(): string;
|
package/dist/lib/machine-id.js
CHANGED
|
@@ -1,26 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This machine's stable, human-readable id. Lives in a dependency-free leaf so
|
|
3
|
-
* low-level modules (state.ts) can key per-device paths off it without importing
|
|
4
|
-
* the secrets/session-sync layer (which would create a cycle).
|
|
5
|
-
*/
|
|
6
1
|
import * as os from 'os';
|
|
7
|
-
/**
|
|
8
|
-
* Normalize a raw hostname into a stable device id: first label only,
|
|
9
|
-
* lowercased, non-alphanumerics collapsed to hyphens. `zion.tail…ts.net` and
|
|
10
|
-
* `ZION` both become `zion`. The single source for this transform — machineId()
|
|
11
|
-
* and cross-machine session grouping must agree or the local machine won't
|
|
12
|
-
* match its own registry key.
|
|
13
|
-
*/
|
|
14
2
|
export function normalizeHost(raw) {
|
|
15
3
|
return raw.split('.')[0].trim().toLowerCase().replace(/[^a-z0-9_-]/g, '-') || 'unknown';
|
|
16
4
|
}
|
|
17
|
-
/**
|
|
18
|
-
* This machine's stable, human-readable id, used as its R2 sync prefix, session
|
|
19
|
-
* mirror directory, `agents devices` self-key, and per-device config folder.
|
|
20
|
-
* Tailnet hostnames (zion, yosemite-s0, mac-mini) are already unique and
|
|
21
|
-
* readable; we lowercase and strip any domain suffix. Overridable via
|
|
22
|
-
* AGENTS_SYNC_MACHINE_ID for tests and unusual setups.
|
|
23
|
-
*/
|
|
24
5
|
export function machineId() {
|
|
25
6
|
return normalizeHost(process.env.AGENTS_SYNC_MACHINE_ID || os.hostname());
|
|
26
7
|
}
|
package/dist/lib/mailbox-gc.d.ts
CHANGED
|
@@ -8,16 +8,9 @@ export interface GcResult {
|
|
|
8
8
|
}
|
|
9
9
|
interface GcOptions {
|
|
10
10
|
root?: string;
|
|
11
|
-
/** Feed store root. Defaults to getFeedDir(). */
|
|
12
11
|
feedRoot?: string;
|
|
13
12
|
now?: Date;
|
|
14
|
-
/** Age in minutes after which consumed entries are pruned. Default 24h. */
|
|
15
13
|
maxConsumedAgeMinutes?: number;
|
|
16
14
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Sweep all mailboxes. For dead boxes (not in `activeBoxIds`), archive every
|
|
19
|
-
* pending message as `dropped: dead` and remove any feed block tied to that
|
|
20
|
-
* mailbox. For live boxes, drop expired messages and prune old consumed files.
|
|
21
|
-
*/
|
|
22
15
|
export declare function gcMailbox(activeBoxIds: Set<string>, options?: GcOptions): GcResult;
|
|
23
16
|
export {};
|
package/dist/lib/mailbox-gc.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mailbox liveness sweep and GC.
|
|
3
|
-
*
|
|
4
|
-
* A box whose owning agent is no longer alive is a ghost: pending messages will
|
|
5
|
-
* never be drained, and any feed block tied to that box is stale. This module
|
|
6
|
-
* archives dead-box messages and prunes old consumed entries so the spool stays
|
|
7
|
-
* bounded under fleet load.
|
|
8
|
-
*/
|
|
9
1
|
import * as fs from 'fs';
|
|
10
2
|
import * as path from 'path';
|
|
11
3
|
import { getFeedDir, getMailboxRootDir } from './state.js';
|
|
@@ -49,7 +41,6 @@ function archiveAllPending(boxDir, reason, feedRoot) {
|
|
|
49
41
|
recordMessageReceipt(msg.blockId, { msgId: msg.msgId, status: reason === 'expired' ? 'expired' : 'dropped', at: new Date().toISOString(), from: msg.from }, feedRoot);
|
|
50
42
|
}
|
|
51
43
|
catch {
|
|
52
|
-
// Receipt surfacing is best-effort; never stall GC.
|
|
53
44
|
}
|
|
54
45
|
}
|
|
55
46
|
}
|
|
@@ -59,7 +50,6 @@ function archiveAllPending(boxDir, reason, feedRoot) {
|
|
|
59
50
|
n++;
|
|
60
51
|
}
|
|
61
52
|
catch {
|
|
62
|
-
// ignore racing writers
|
|
63
53
|
}
|
|
64
54
|
}
|
|
65
55
|
}
|
|
@@ -86,17 +76,11 @@ function pruneConsumed(boxDir, maxAgeMinutes, now) {
|
|
|
86
76
|
n++;
|
|
87
77
|
}
|
|
88
78
|
catch {
|
|
89
|
-
// ignore
|
|
90
79
|
}
|
|
91
80
|
}
|
|
92
81
|
}
|
|
93
82
|
return n;
|
|
94
83
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Sweep all mailboxes. For dead boxes (not in `activeBoxIds`), archive every
|
|
97
|
-
* pending message as `dropped: dead` and remove any feed block tied to that
|
|
98
|
-
* mailbox. For live boxes, drop expired messages and prune old consumed files.
|
|
99
|
-
*/
|
|
100
84
|
export function gcMailbox(activeBoxIds, options = {}) {
|
|
101
85
|
const root = options.root ?? getMailboxRootDir();
|
|
102
86
|
const feedRoot = options.feedRoot;
|
|
@@ -117,8 +101,6 @@ export function gcMailbox(activeBoxIds, options = {}) {
|
|
|
117
101
|
catch {
|
|
118
102
|
return result;
|
|
119
103
|
}
|
|
120
|
-
// Pre-compute dead blocks so we remove each once, regardless of how many
|
|
121
|
-
// messages reference it.
|
|
122
104
|
const blocksToRemove = new Set();
|
|
123
105
|
for (const block of listBlocks(feedRoot)) {
|
|
124
106
|
if (!activeBoxIds.has(block.mailboxId)) {
|
|
@@ -134,7 +116,6 @@ export function gcMailbox(activeBoxIds, options = {}) {
|
|
|
134
116
|
result.deadBoxes++;
|
|
135
117
|
result.messagesDroppedDead += archiveAllPending(boxDir, 'dead', feedRoot);
|
|
136
118
|
result.consumedPruned += pruneConsumed(boxDir, maxConsumedAgeMinutes, now);
|
|
137
|
-
// Also prune the empty box dir if it is now empty.
|
|
138
119
|
try {
|
|
139
120
|
for (const sub of ['inbox', 'processing', 'consumed']) {
|
|
140
121
|
const subdir = path.join(boxDir, sub);
|
|
@@ -147,20 +128,14 @@ export function gcMailbox(activeBoxIds, options = {}) {
|
|
|
147
128
|
}
|
|
148
129
|
}
|
|
149
130
|
catch {
|
|
150
|
-
// ignore
|
|
151
131
|
}
|
|
152
132
|
}
|
|
153
133
|
else {
|
|
154
|
-
// Live box: archive expired messages (same path as drain/peek) so GC does
|
|
155
|
-
// not leave expired files in inbox/processing while only bumping metrics.
|
|
156
134
|
result.messagesDroppedExpired += sweepExpired(boxDir, name, now, feedRoot);
|
|
157
135
|
result.consumedPruned += pruneConsumed(boxDir, maxConsumedAgeMinutes, now);
|
|
158
136
|
}
|
|
159
137
|
}
|
|
160
138
|
for (const blockId of blocksToRemove) {
|
|
161
|
-
// A dead box's block is kept for up to maxConsumedAgeMinutes after a bounce
|
|
162
|
-
// receipt is written so the operator/sender can see the failure. Stale blocks
|
|
163
|
-
// (older than the prune window) are removed.
|
|
164
139
|
if (blockAgeMinutes(blockId, feedRoot, now) >= maxConsumedAgeMinutes) {
|
|
165
140
|
if (removeBlock(blockId, feedRoot)) {
|
|
166
141
|
result.blocksRemoved++;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resolve an `agents message <target>` argument to exactly one destination —
|
|
3
|
-
* a cloud task, one live local/teams/loop agent, or an error. The anti-misroute
|
|
4
|
-
* rule lives here: a target that matches zero or more-than-one live agent is
|
|
5
|
-
* NEVER guessed; the caller reports it. Pure (no I/O) so it is unit-testable.
|
|
6
|
-
*/
|
|
7
1
|
import type { ActiveSession } from './session/active.js';
|
|
8
2
|
import type { HostTask } from './hosts/tasks.js';
|
|
9
3
|
type MessageResolution = {
|
|
@@ -21,19 +15,7 @@ type MessageResolution = {
|
|
|
21
15
|
label: string;
|
|
22
16
|
}>;
|
|
23
17
|
};
|
|
24
|
-
/**
|
|
25
|
-
* The mailbox id a live session's box is keyed by. Teams stamp a durable
|
|
26
|
-
* `agentId` (== the Claude session id for Claude teammates); a bare run has
|
|
27
|
-
* only its `sessionId`. The spawn-time `AGENTS_MAILBOX_DIR` wiring must key the
|
|
28
|
-
* box by this same id — this is the single source of truth for both sides.
|
|
29
|
-
*/
|
|
30
18
|
export declare function mailboxIdForActiveSession(s: ActiveSession): string | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Resolve `target` against the live sessions. Exact id matches win over prefix
|
|
33
|
-
* matches; results are de-duped by canonical mailbox id (collapsed subagents
|
|
34
|
-
* share one). `isCloudTask` is consulted first so a cloud task id routes to the
|
|
35
|
-
* cloud provider.
|
|
36
|
-
*/
|
|
37
19
|
export declare function resolveMessageTarget(target: string, sessions: ActiveSession[], isCloudTask: (id: string) => boolean): MessageResolution;
|
|
38
20
|
export type HostTaskRoute = {
|
|
39
21
|
kind: 'reroute';
|
|
@@ -47,18 +29,5 @@ export type HostTaskRoute = {
|
|
|
47
29
|
} | {
|
|
48
30
|
kind: 'not-found';
|
|
49
31
|
};
|
|
50
|
-
/**
|
|
51
|
-
* Decide how `agents message <target>` should handle a target that matched no
|
|
52
|
-
* local/cloud session (RUSH-2366 follow-up): `getActiveSessions()` has no
|
|
53
|
-
* visibility into a detached `agents run --device <host> --no-follow`
|
|
54
|
-
* dispatch, whose only local record is the `~/.agents/.cache/hosts/<id>.json`
|
|
55
|
-
* sidecar `agents devices ps` reads. Pure — the caller does the actual lookup
|
|
56
|
-
* (`resolveTaskRef`) and I/O (the ssh reroute).
|
|
57
|
-
*
|
|
58
|
-
* `remoteRef` prefers the remote agent's OWN identity (its captured session id
|
|
59
|
-
* or `--name` handle) over the LOCAL dispatch-record id the user typed here —
|
|
60
|
-
* the live process on the host registers itself under the former, never the
|
|
61
|
-
* latter.
|
|
62
|
-
*/
|
|
63
32
|
export declare function decideHostTaskRoute(task: HostTask | null, target: string): HostTaskRoute;
|
|
64
33
|
export {};
|