@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitor (event-triggered watcher) configuration, validation, and CRUD.
|
|
3
|
-
*
|
|
4
|
-
* A monitor is a routine whose trigger is a *watched source* instead of a
|
|
5
|
-
* *clock*. It watches a SOURCE, detects a CONDITION change, and fires an ACTION —
|
|
6
|
-
* reusing the routines daemon, dispatch engine, device model, and notify path.
|
|
7
|
-
*
|
|
8
|
-
* Monitors are YAML files in ~/.agents/monitors/. This module owns the on-disk
|
|
9
|
-
* shape (mirroring lib/routines.ts read/write helpers), hand-rolled validation
|
|
10
|
-
* (mirroring validateJob — no zod), and the device-owner eligibility gate.
|
|
11
|
-
*/
|
|
12
1
|
import type { AgentId } from '../types.js';
|
|
13
|
-
/** Source types a monitor can watch. */
|
|
14
2
|
export type MonitorSourceType = 'command' | 'poll' | 'poll-http' | 'webhook' | 'ws' | 'file' | 'device';
|
|
15
|
-
/** Webhook source filters — reuse the github/linear matcher shape from triggers/webhook.ts. */
|
|
16
3
|
export interface MonitorWebhookSource {
|
|
17
4
|
source: 'github' | 'linear';
|
|
18
5
|
event: string;
|
|
@@ -22,243 +9,69 @@ export interface MonitorWebhookSource {
|
|
|
22
9
|
teamKey?: string;
|
|
23
10
|
label?: string;
|
|
24
11
|
}
|
|
25
|
-
/**
|
|
26
|
-
* What a monitor watches. Exactly one source-payload field is populated, keyed by
|
|
27
|
-
* `type`: `command`/`interval` for command/poll, `url`/`interval` for poll-http,
|
|
28
|
-
* `wsUrl` for ws, `path` for file, `device` for device, `webhook` for webhook.
|
|
29
|
-
*/
|
|
30
12
|
export interface MonitorSource {
|
|
31
13
|
type: MonitorSourceType;
|
|
32
|
-
/** Shell command whose stdout is the observation (command, poll). */
|
|
33
14
|
command?: string;
|
|
34
|
-
/** Re-evaluation interval (poll, poll-http; optional for command/file/device). e.g. `30s`, `15m`, `8h`. */
|
|
35
15
|
interval?: string;
|
|
36
|
-
/** URL to GET (poll-http). */
|
|
37
16
|
url?: string;
|
|
38
|
-
/** WebSocket URL; each frame is an observation (ws). */
|
|
39
17
|
wsUrl?: string;
|
|
40
|
-
/** File or directory to watch (file). */
|
|
41
18
|
path?: string;
|
|
42
|
-
/** A registered fleet device whose health/reachability is the observation (device). */
|
|
43
19
|
device?: string;
|
|
44
|
-
/** Webhook trigger filters (webhook). */
|
|
45
20
|
webhook?: MonitorWebhookSource;
|
|
46
21
|
}
|
|
47
|
-
/** How an observation becomes a fire. */
|
|
48
22
|
export type MonitorConditionMode = 'on-change' | 'match' | 'every';
|
|
49
23
|
export interface MonitorCondition {
|
|
50
24
|
mode: MonitorConditionMode;
|
|
51
|
-
/** Regex (required for `match` mode) — fire when the observation matches. */
|
|
52
25
|
match?: string;
|
|
53
|
-
/**
|
|
54
|
-
* What counts as "the same event" for de-duplication. When set, the dedupe
|
|
55
|
-
* signature is the first regex match of this expression against the
|
|
56
|
-
* observation (so re-observing the same token is silent); when omitted, the
|
|
57
|
-
* full observation is the signature.
|
|
58
|
-
*/
|
|
59
26
|
dedupeKey?: string;
|
|
60
27
|
}
|
|
61
|
-
/** Action types a monitor can fire. */
|
|
62
28
|
export type MonitorActionType = 'run' | 'routine' | 'notify' | 'webhook-out';
|
|
63
|
-
/**
|
|
64
|
-
* What a monitor does on a fire. Shares the run-shaped fields (agent, prompt,
|
|
65
|
-
* mode, effort, timeout) conceptually with JobConfig (lib/routines.ts) so
|
|
66
|
-
* dispatch reuses the routines path (executeJobDetached). The fired event is
|
|
67
|
-
* injected into the prompt as `{event}`.
|
|
68
|
-
*/
|
|
69
29
|
export interface ActionConfig {
|
|
70
30
|
type: MonitorActionType;
|
|
71
|
-
/** run: which agent to spawn — a native harness id or a custom harness name (agents harness list). */
|
|
72
31
|
agent?: AgentId | (string & {});
|
|
73
|
-
/** run: the prompt; `{event}` is replaced with the fired event summary. */
|
|
74
32
|
prompt?: string;
|
|
75
|
-
/** run: execution mode (shared with routines). */
|
|
76
33
|
mode?: 'plan' | 'edit' | 'auto' | 'skip' | 'full';
|
|
77
|
-
/** run: reasoning effort (shared with routines). */
|
|
78
34
|
effort?: 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto';
|
|
79
|
-
/** run: kill the action if it runs longer than this (e.g. `10m`). */
|
|
80
35
|
timeout?: string;
|
|
81
|
-
/** routine: name of an existing routine to fire. */
|
|
82
36
|
routine?: string;
|
|
83
|
-
/** notify: override the owner channel (defaults to `notify.owner.channel`). */
|
|
84
37
|
notifyChannel?: string;
|
|
85
|
-
/** webhook-out: URL to POST the event to. */
|
|
86
38
|
url?: string;
|
|
87
|
-
/**
|
|
88
|
-
* Shell command that must exit 0 after a `run`/`routine` action settles.
|
|
89
|
-
* Asserts the stated effect actually happened (PHNX-2842) — e.g.
|
|
90
|
-
* `gh pr view 1682 --json state --jq .state | grep -qx MERGED`. `{event}` is
|
|
91
|
-
* replaced with the fired event summary, same as the prompt. Evaluated once
|
|
92
|
-
* the dispatched run is no longer `running`; a failed check makes the fire
|
|
93
|
-
* `ok: false` with effect `none` (`postcondition not met`), not a healthy
|
|
94
|
-
* `completed`. Notify/webhook-out already have a synchronous ok and refuse
|
|
95
|
-
* this field.
|
|
96
|
-
*/
|
|
97
39
|
postcondition?: string;
|
|
98
40
|
}
|
|
99
|
-
/** Full monitor configuration (persisted as YAML in ~/.agents/monitors/). */
|
|
100
41
|
export interface MonitorConfig {
|
|
101
42
|
name: string;
|
|
102
43
|
enabled: boolean;
|
|
103
44
|
source: MonitorSource;
|
|
104
45
|
condition: MonitorCondition;
|
|
105
46
|
action: ActionConfig;
|
|
106
|
-
/**
|
|
107
|
-
* Pin-to-one OWNER device — the single machine whose daemon evaluates the
|
|
108
|
-
* source and fires. Exactly-once for v1 (no distributed lock). When set, only
|
|
109
|
-
* that machine is eligible; everywhere else the monitor is inert.
|
|
110
|
-
*/
|
|
111
47
|
device?: string;
|
|
112
|
-
/**
|
|
113
|
-
* Fleet allowlist (advanced) — each listed device evaluates and fires
|
|
114
|
-
* independently, like routines' `devices`. Mutually exclusive with `device`.
|
|
115
|
-
*/
|
|
116
48
|
devices?: string[];
|
|
117
|
-
/**
|
|
118
|
-
* Does this monitor's SOURCE poll a fleet-shared queue (a PR list, a ticket
|
|
119
|
-
* tracker, the feed, a sync bucket) rather than the firing box's own state
|
|
120
|
-
* (its repos, sessions, caches)?
|
|
121
|
-
*
|
|
122
|
-
* This is the SING-9 placement switch for an UNPINNED monitor (no `device` /
|
|
123
|
-
* `devices`). A shared-input source has no per-box input, so every daemon
|
|
124
|
-
* firing it independently is a multi-executor race on shared state — the exact
|
|
125
|
-
* double-fire bug class. So an unpinned shared-input monitor fires only on the
|
|
126
|
-
* single owner (`interactive.host`, else the sole box on a one-device fleet),
|
|
127
|
-
* never on every daemon.
|
|
128
|
-
*
|
|
129
|
-
* Defaults differ by layer so the SAFE side is the default for each:
|
|
130
|
-
* - a **system built-in** (`scope: 'system'`) is treated as shared-input
|
|
131
|
-
* unless it sets `sharedInput: false`, so a built-in shipped with no pin
|
|
132
|
-
* can never fan out across the fleet — a device-local built-in opts back
|
|
133
|
-
* into fleet-wide firing with `sharedInput: false`;
|
|
134
|
-
* - a **user monitor** keeps its historical fleet-wide default and only
|
|
135
|
-
* becomes owner-restricted when it explicitly sets `sharedInput: true`.
|
|
136
|
-
*
|
|
137
|
-
* An explicit `device` / `devices` pin always wins and makes this moot — the
|
|
138
|
-
* author has already chosen the executor(s).
|
|
139
|
-
*/
|
|
140
49
|
sharedInput?: boolean;
|
|
141
|
-
/** Execute the ACTION on this machine over SSH (placement), distinct from the owner that fires it. */
|
|
142
50
|
runOn?: string;
|
|
143
|
-
/**
|
|
144
|
-
* Working directory for a `run` action, in the routines-portable form
|
|
145
|
-
* (`~/…`, or relative to the execution target's home). Optional: a monitor
|
|
146
|
-
* watches a source rather than owning a project, so `dispatchAction` defaults
|
|
147
|
-
* it to the target's home (`~`) when unset.
|
|
148
|
-
*
|
|
149
|
-
* Without this, every `run` action was blocked at readiness with
|
|
150
|
-
* `execution_context_missing` — `resolveJobExecutionContext` refuses an
|
|
151
|
-
* agent job carrying neither `project` nor `cwd` (`lib/routine-context.ts`),
|
|
152
|
-
* and a monitor had no field with which to supply one (RUSH-2681).
|
|
153
|
-
*/
|
|
154
51
|
cwd?: string;
|
|
155
|
-
/** Firehose guard: auto-pause the monitor if it fires more than `max` times per `per`. */
|
|
156
52
|
rateLimit?: {
|
|
157
53
|
max: number;
|
|
158
54
|
per: string;
|
|
159
55
|
};
|
|
160
|
-
/** User-defined prompt variables (expanded like routines' variables). */
|
|
161
56
|
variables?: Record<string, string>;
|
|
162
|
-
/** Pin the agent version for `run` actions (omit to use the run strategy). */
|
|
163
57
|
version?: string;
|
|
164
|
-
/**
|
|
165
|
-
* Which layer this monitor was read from — `user` (~/.agents/monitors/) or
|
|
166
|
-
* `system` (the npm-shipped built-in mirror ~/.agents/.system/monitors/).
|
|
167
|
-
* A DERIVED, runtime-only annotation stamped by `readMonitorFile`, never a
|
|
168
|
-
* persisted YAML field: it tags a built-in in `list`/`view` (mirroring
|
|
169
|
-
* routines' `(built-in)` label) and `writeMonitor` strips it before writing,
|
|
170
|
-
* so materializing a user copy of a built-in always lands as `user`.
|
|
171
|
-
*/
|
|
172
58
|
scope?: 'user' | 'system';
|
|
173
59
|
}
|
|
174
|
-
/**
|
|
175
|
-
* A fired event. `summary` is injected into the action prompt as `{event}`;
|
|
176
|
-
* `payload` carries the structured observation for `webhook-out` and inspection.
|
|
177
|
-
*/
|
|
178
60
|
export interface MonitorEvent {
|
|
179
61
|
monitorName: string;
|
|
180
62
|
firedAt: string;
|
|
181
63
|
summary: string;
|
|
182
64
|
payload: Record<string, unknown>;
|
|
183
65
|
}
|
|
184
|
-
/**
|
|
185
|
-
* Parse a human interval string (e.g. `30s`, `15m`, `8h`, `1d`, `1h30m`) into
|
|
186
|
-
* milliseconds. Unlike routines' parseTimeout, seconds are supported (polls tick
|
|
187
|
-
* in seconds). Returns null on empty/unparseable/zero input.
|
|
188
|
-
*/
|
|
189
66
|
export declare function parseInterval(interval: string): number | null;
|
|
190
|
-
/**
|
|
191
|
-
* True when an UNPINNED monitor must be placed on a single owner rather than
|
|
192
|
-
* fired by every daemon — the SING-9 guard against a shared-queue double-fire.
|
|
193
|
-
*
|
|
194
|
-
* A `device` / `devices` pin is an explicit executor choice, so it is never
|
|
195
|
-
* owner-overridden (returns false here). For an unpinned monitor the default is
|
|
196
|
-
* layer-specific, SAFE side first: a **system built-in** is treated as
|
|
197
|
-
* shared-input unless it opts out with `sharedInput: false`; a **user monitor**
|
|
198
|
-
* keeps its fleet-wide default and only opts IN with `sharedInput: true`.
|
|
199
|
-
*/
|
|
200
67
|
export declare function requiresSingleOwner(config: Pick<MonitorConfig, 'device' | 'devices' | 'scope' | 'sharedInput'>): boolean;
|
|
201
|
-
/**
|
|
202
|
-
* The single fleet box that owns unpinned shared-input monitors — PURE, so the
|
|
203
|
-
* placement rule is unit-testable without a live tailnet. Priority:
|
|
204
|
-
*
|
|
205
|
-
* 1. the configured `interactive.host` (the box the operator sits at);
|
|
206
|
-
* 2. else, on a fleet with no OTHER registered device, this box — a single-box
|
|
207
|
-
* install has no peer to race, so the built-in still fires here;
|
|
208
|
-
* 3. else `undefined` — a multi-box fleet with no interactive host has no safe
|
|
209
|
-
* single owner, so an unpinned shared-input monitor fires NOWHERE (fail safe:
|
|
210
|
-
* a silent no-op beats a fleet-wide double-fire) until one is pinned.
|
|
211
|
-
*
|
|
212
|
-
* `deviceNames` is the registered fleet (registry keys); `self` is `machineId()`.
|
|
213
|
-
*/
|
|
214
68
|
export declare function resolveSharedInputOwner(interactiveHost: string | undefined, deviceNames: string[], self: string): string | undefined;
|
|
215
|
-
/** Resolve {@link resolveSharedInputOwner} from live config + the device registry. */
|
|
216
69
|
export declare function monitorSharedInputOwner(): string | undefined;
|
|
217
|
-
/**
|
|
218
|
-
* True when the monitor may evaluate + fire on this machine. Owner semantics:
|
|
219
|
-
* `device` (single owner, exactly-once) → only that machine; else `devices`
|
|
220
|
-
* (allowlist) → any listed machine; else placement depends on shared-input: an
|
|
221
|
-
* unpinned SHARED-INPUT monitor (a system built-in by default, or a user monitor
|
|
222
|
-
* that set `sharedInput: true`) fires only on the resolved owner
|
|
223
|
-
* ({@link monitorSharedInputOwner}), so a built-in that polls a fleet-shared
|
|
224
|
-
* queue can never fan out across every daemon (SING-9); anything else is
|
|
225
|
-
* unrestricted. Both sides normalize so `Yosemite-S0` and
|
|
226
|
-
* `yosemite-s0.tailnet.ts.net` agree with `yosemite-s0`.
|
|
227
|
-
*
|
|
228
|
-
* `ownerHost` overrides the resolved owner for tests/callers that already know
|
|
229
|
-
* it; omit it in production to resolve from config + the device registry.
|
|
230
|
-
*/
|
|
231
70
|
export declare function monitorRunsOnThisDevice(config: Pick<MonitorConfig, 'device' | 'devices' | 'scope' | 'sharedInput'>, ownerHost?: string): boolean;
|
|
232
|
-
/**
|
|
233
|
-
* Validate a partial monitor config, returning a list of human-readable errors.
|
|
234
|
-
* Hand-rolled like validateJob (lib/routines.ts) — no zod. Rejects: no source,
|
|
235
|
-
* two sources, no action, two actions, match-mode without `match`, plus the
|
|
236
|
-
* per-type field/shape checks.
|
|
237
|
-
*/
|
|
238
71
|
export declare function validateMonitor(config: Partial<MonitorConfig>): string[];
|
|
239
|
-
/**
|
|
240
|
-
* List all monitor configs, unioning the user dir (~/.agents/monitors/) over the
|
|
241
|
-
* built-in system dir (~/.agents/.system/monitors/). Higher layer wins by name
|
|
242
|
-
* (first-seen), so a user monitor shadows a system built-in of the same name.
|
|
243
|
-
*/
|
|
244
72
|
export declare function listMonitors(): MonitorConfig[];
|
|
245
|
-
/**
|
|
246
|
-
* Read a single monitor config by name, checking the user dir then the system
|
|
247
|
-
* dir (a user monitor shadows a system built-in). Returns null if not found or
|
|
248
|
-
* corrupt.
|
|
249
|
-
*/
|
|
250
73
|
export declare function readMonitor(name: string): MonitorConfig | null;
|
|
251
|
-
/**
|
|
252
|
-
* Get the filesystem path of a monitor's YAML config in the USER dir, or null.
|
|
253
|
-
* User-layer only by design — like routines' getJobPath (lib/routines.ts), its
|
|
254
|
-
* caller (`agents monitors edit`) writes to the returned path, and the system
|
|
255
|
-
* mirror is pull-only. To edit a system built-in, `edit` materializes a user
|
|
256
|
-
* copy (prefilled via readMonitor()) rather than opening the mirror.
|
|
257
|
-
*/
|
|
258
74
|
export declare function getMonitorPath(name: string): string | null;
|
|
259
|
-
/** Write a monitor config to disk atomically, omitting fields that match defaults. */
|
|
260
75
|
export declare function writeMonitor(config: MonitorConfig): void;
|
|
261
|
-
/** Delete a monitor config file by name. Returns true if the file existed. */
|
|
262
76
|
export declare function deleteMonitor(name: string): boolean;
|
|
263
|
-
/** Enable or disable a monitor by name. */
|
|
264
77
|
export declare function setMonitorEnabled(name: string, enabled: boolean): void;
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitor (event-triggered watcher) configuration, validation, and CRUD.
|
|
3
|
-
*
|
|
4
|
-
* A monitor is a routine whose trigger is a *watched source* instead of a
|
|
5
|
-
* *clock*. It watches a SOURCE, detects a CONDITION change, and fires an ACTION —
|
|
6
|
-
* reusing the routines daemon, dispatch engine, device model, and notify path.
|
|
7
|
-
*
|
|
8
|
-
* Monitors are YAML files in ~/.agents/monitors/. This module owns the on-disk
|
|
9
|
-
* shape (mirroring lib/routines.ts read/write helpers), hand-rolled validation
|
|
10
|
-
* (mirroring validateJob — no zod), and the device-owner eligibility gate.
|
|
11
|
-
*/
|
|
12
1
|
import * as fs from 'fs';
|
|
13
2
|
import * as path from 'path';
|
|
14
3
|
import * as yaml from 'yaml';
|
|
@@ -19,7 +8,6 @@ import { machineId, normalizeHost } from '../machine-id.js';
|
|
|
19
8
|
import { loadDevicesSync } from '../devices/registry.js';
|
|
20
9
|
import { ALL_AGENT_IDS } from '../agents.js';
|
|
21
10
|
import { isCustomHarnessName } from '../profiles.js';
|
|
22
|
-
/** Default values applied to every monitor config when fields are omitted. */
|
|
23
11
|
const MONITOR_DEFAULTS = {
|
|
24
12
|
enabled: true,
|
|
25
13
|
};
|
|
@@ -34,11 +22,6 @@ const SOURCE_TYPES = [
|
|
|
34
22
|
];
|
|
35
23
|
const CONDITION_MODES = ['on-change', 'match', 'every'];
|
|
36
24
|
const ACTION_TYPES = ['run', 'routine', 'notify', 'webhook-out'];
|
|
37
|
-
/**
|
|
38
|
-
* Parse a human interval string (e.g. `30s`, `15m`, `8h`, `1d`, `1h30m`) into
|
|
39
|
-
* milliseconds. Unlike routines' parseTimeout, seconds are supported (polls tick
|
|
40
|
-
* in seconds). Returns null on empty/unparseable/zero input.
|
|
41
|
-
*/
|
|
42
25
|
export function parseInterval(interval) {
|
|
43
26
|
const match = interval.trim().match(/^(?:(\d+)w)?(?:(\d+)d)?(?:(\d+)h)?(?:(\d+)m)?(?:(\d+)s)?$/);
|
|
44
27
|
if (!match)
|
|
@@ -51,16 +34,7 @@ export function parseInterval(interval) {
|
|
|
51
34
|
const ms = ((((weeks * 7 + days) * 24 + hours) * 60 + minutes) * 60 + seconds) * 1000;
|
|
52
35
|
return ms > 0 ? ms : null;
|
|
53
36
|
}
|
|
54
|
-
|
|
55
|
-
* True when an UNPINNED monitor must be placed on a single owner rather than
|
|
56
|
-
* fired by every daemon — the SING-9 guard against a shared-queue double-fire.
|
|
57
|
-
*
|
|
58
|
-
* A `device` / `devices` pin is an explicit executor choice, so it is never
|
|
59
|
-
* owner-overridden (returns false here). For an unpinned monitor the default is
|
|
60
|
-
* layer-specific, SAFE side first: a **system built-in** is treated as
|
|
61
|
-
* shared-input unless it opts out with `sharedInput: false`; a **user monitor**
|
|
62
|
-
* keeps its fleet-wide default and only opts IN with `sharedInput: true`.
|
|
63
|
-
*/
|
|
37
|
+
// Unpinned system/shared-input monitors require one resolved owner; no owner means fire nowhere.
|
|
64
38
|
export function requiresSingleOwner(config) {
|
|
65
39
|
if (config.device || (config.devices && config.devices.length > 0))
|
|
66
40
|
return false;
|
|
@@ -68,29 +42,15 @@ export function requiresSingleOwner(config) {
|
|
|
68
42
|
return config.sharedInput !== false;
|
|
69
43
|
return config.sharedInput === true;
|
|
70
44
|
}
|
|
71
|
-
/**
|
|
72
|
-
* The single fleet box that owns unpinned shared-input monitors — PURE, so the
|
|
73
|
-
* placement rule is unit-testable without a live tailnet. Priority:
|
|
74
|
-
*
|
|
75
|
-
* 1. the configured `interactive.host` (the box the operator sits at);
|
|
76
|
-
* 2. else, on a fleet with no OTHER registered device, this box — a single-box
|
|
77
|
-
* install has no peer to race, so the built-in still fires here;
|
|
78
|
-
* 3. else `undefined` — a multi-box fleet with no interactive host has no safe
|
|
79
|
-
* single owner, so an unpinned shared-input monitor fires NOWHERE (fail safe:
|
|
80
|
-
* a silent no-op beats a fleet-wide double-fire) until one is pinned.
|
|
81
|
-
*
|
|
82
|
-
* `deviceNames` is the registered fleet (registry keys); `self` is `machineId()`.
|
|
83
|
-
*/
|
|
84
45
|
export function resolveSharedInputOwner(interactiveHost, deviceNames, self) {
|
|
85
46
|
if (typeof interactiveHost === 'string' && interactiveHost.trim()) {
|
|
86
47
|
return normalizeHost(interactiveHost);
|
|
87
48
|
}
|
|
88
49
|
const others = deviceNames.map((d) => normalizeHost(d)).filter((d) => d && d !== self);
|
|
89
50
|
if (others.length === 0)
|
|
90
|
-
return self;
|
|
91
|
-
return undefined;
|
|
51
|
+
return self;
|
|
52
|
+
return undefined;
|
|
92
53
|
}
|
|
93
|
-
/** Resolve {@link resolveSharedInputOwner} from live config + the device registry. */
|
|
94
54
|
export function monitorSharedInputOwner() {
|
|
95
55
|
const self = machineId();
|
|
96
56
|
const interactiveHost = readMeta().config?.interactiveHost;
|
|
@@ -103,20 +63,7 @@ export function monitorSharedInputOwner() {
|
|
|
103
63
|
}
|
|
104
64
|
return resolveSharedInputOwner(typeof interactiveHost === 'string' ? interactiveHost : undefined, deviceNames, self);
|
|
105
65
|
}
|
|
106
|
-
|
|
107
|
-
* True when the monitor may evaluate + fire on this machine. Owner semantics:
|
|
108
|
-
* `device` (single owner, exactly-once) → only that machine; else `devices`
|
|
109
|
-
* (allowlist) → any listed machine; else placement depends on shared-input: an
|
|
110
|
-
* unpinned SHARED-INPUT monitor (a system built-in by default, or a user monitor
|
|
111
|
-
* that set `sharedInput: true`) fires only on the resolved owner
|
|
112
|
-
* ({@link monitorSharedInputOwner}), so a built-in that polls a fleet-shared
|
|
113
|
-
* queue can never fan out across every daemon (SING-9); anything else is
|
|
114
|
-
* unrestricted. Both sides normalize so `Yosemite-S0` and
|
|
115
|
-
* `yosemite-s0.tailnet.ts.net` agree with `yosemite-s0`.
|
|
116
|
-
*
|
|
117
|
-
* `ownerHost` overrides the resolved owner for tests/callers that already know
|
|
118
|
-
* it; omit it in production to resolve from config + the device registry.
|
|
119
|
-
*/
|
|
66
|
+
// Explicit device/device lists remain the executor choice and bypass shared-input owner inference.
|
|
120
67
|
export function monitorRunsOnThisDevice(config, ownerHost) {
|
|
121
68
|
const self = machineId();
|
|
122
69
|
if (config.device)
|
|
@@ -131,7 +78,6 @@ export function monitorRunsOnThisDevice(config, ownerHost) {
|
|
|
131
78
|
}
|
|
132
79
|
return true;
|
|
133
80
|
}
|
|
134
|
-
/** Count the populated source-payload fields to detect "two sources". */
|
|
135
81
|
function populatedSourceFields(source) {
|
|
136
82
|
const fields = [
|
|
137
83
|
['command', source.command],
|
|
@@ -143,7 +89,6 @@ function populatedSourceFields(source) {
|
|
|
143
89
|
];
|
|
144
90
|
return fields.filter(([, v]) => v !== undefined && v !== null && v !== '').map(([k]) => k);
|
|
145
91
|
}
|
|
146
|
-
/** Which source-payload field each source type requires. */
|
|
147
92
|
const SOURCE_TYPE_FIELD = {
|
|
148
93
|
command: 'command',
|
|
149
94
|
poll: 'command',
|
|
@@ -153,7 +98,6 @@ const SOURCE_TYPE_FIELD = {
|
|
|
153
98
|
file: 'path',
|
|
154
99
|
device: 'device',
|
|
155
100
|
};
|
|
156
|
-
/** Count the populated action-payload fields to detect "two actions". */
|
|
157
101
|
function populatedActionFields(action) {
|
|
158
102
|
const fields = [
|
|
159
103
|
['agent', action.agent],
|
|
@@ -162,12 +106,6 @@ function populatedActionFields(action) {
|
|
|
162
106
|
];
|
|
163
107
|
return fields.filter(([, v]) => v !== undefined && v !== null && v !== '').map(([k]) => k);
|
|
164
108
|
}
|
|
165
|
-
/**
|
|
166
|
-
* Validate a partial monitor config, returning a list of human-readable errors.
|
|
167
|
-
* Hand-rolled like validateJob (lib/routines.ts) — no zod. Rejects: no source,
|
|
168
|
-
* two sources, no action, two actions, match-mode without `match`, plus the
|
|
169
|
-
* per-type field/shape checks.
|
|
170
|
-
*/
|
|
171
109
|
export function validateMonitor(config) {
|
|
172
110
|
const errors = [];
|
|
173
111
|
if (!config.name || typeof config.name !== 'string') {
|
|
@@ -177,7 +115,6 @@ export function validateMonitor(config) {
|
|
|
177
115
|
errors.push(`invalid name ${JSON.stringify(config.name)}: must be a single path segment ` +
|
|
178
116
|
`(no '/', '\\\\', or null bytes, and not '.' or '..')`);
|
|
179
117
|
}
|
|
180
|
-
// ─── SOURCE ───────────────────────────────────────────────────────────────
|
|
181
118
|
const source = config.source;
|
|
182
119
|
if (!source || typeof source !== 'object') {
|
|
183
120
|
errors.push('a source is required (source: { type, ... })');
|
|
@@ -189,7 +126,6 @@ export function validateMonitor(config) {
|
|
|
189
126
|
const populated = populatedSourceFields(source);
|
|
190
127
|
if (source.type && SOURCE_TYPES.includes(source.type)) {
|
|
191
128
|
const required = SOURCE_TYPE_FIELD[source.type];
|
|
192
|
-
// Two sources: any populated field that doesn't belong to this type.
|
|
193
129
|
const stray = populated.filter((f) => f !== required);
|
|
194
130
|
if (stray.length > 0) {
|
|
195
131
|
errors.push(`source has conflicting fields (${[required, ...stray].join(', ')}); specify exactly one source`);
|
|
@@ -201,7 +137,6 @@ export function validateMonitor(config) {
|
|
|
201
137
|
else if (populated.length > 1) {
|
|
202
138
|
errors.push(`source has conflicting fields (${populated.join(', ')}); specify exactly one source`);
|
|
203
139
|
}
|
|
204
|
-
// Interval-bearing sources must carry a parseable interval.
|
|
205
140
|
if ((source.type === 'poll' || source.type === 'poll-http') && source.interval === undefined) {
|
|
206
141
|
errors.push(`source.type '${source.type}' requires source.interval (e.g. 30s, 15m, 8h)`);
|
|
207
142
|
}
|
|
@@ -221,7 +156,6 @@ export function validateMonitor(config) {
|
|
|
221
156
|
}
|
|
222
157
|
}
|
|
223
158
|
}
|
|
224
|
-
// ─── CONDITION ──────────────────────────────────────────────────────────────
|
|
225
159
|
const condition = config.condition;
|
|
226
160
|
if (!condition || typeof condition !== 'object') {
|
|
227
161
|
errors.push('a condition is required (condition: { mode, ... })');
|
|
@@ -252,7 +186,6 @@ export function validateMonitor(config) {
|
|
|
252
186
|
}
|
|
253
187
|
}
|
|
254
188
|
}
|
|
255
|
-
// ─── ACTION ─────────────────────────────────────────────────────────────────
|
|
256
189
|
const action = config.action;
|
|
257
190
|
if (!action || typeof action !== 'object') {
|
|
258
191
|
errors.push('an action is required (action: { type, ... })');
|
|
@@ -269,7 +202,6 @@ export function validateMonitor(config) {
|
|
|
269
202
|
};
|
|
270
203
|
if (action.type && ACTION_TYPES.includes(action.type)) {
|
|
271
204
|
const required = requiredByType[action.type];
|
|
272
|
-
// Two actions: a populated field that belongs to a different action type.
|
|
273
205
|
const stray = populatedAct.filter((f) => f !== required);
|
|
274
206
|
if (stray.length > 0) {
|
|
275
207
|
errors.push(`action has conflicting fields (${[...(required ? [required] : []), ...stray].join(', ')}); specify exactly one action`);
|
|
@@ -313,7 +245,6 @@ export function validateMonitor(config) {
|
|
|
313
245
|
}
|
|
314
246
|
}
|
|
315
247
|
}
|
|
316
|
-
// ─── PLACEMENT ───────────────────────────────────────────────────────────────
|
|
317
248
|
if (config.device !== undefined && config.devices !== undefined) {
|
|
318
249
|
errors.push("device (single owner) and devices (allowlist) are mutually exclusive — pick one");
|
|
319
250
|
}
|
|
@@ -342,7 +273,6 @@ export function validateMonitor(config) {
|
|
|
342
273
|
if (config.cwd !== undefined && (typeof config.cwd !== 'string' || config.cwd.trim() === '')) {
|
|
343
274
|
errors.push('cwd must be a non-empty path (home-relative or ~/…)');
|
|
344
275
|
}
|
|
345
|
-
// ─── HYGIENE ─────────────────────────────────────────────────────────────────
|
|
346
276
|
if (config.rateLimit !== undefined) {
|
|
347
277
|
const rl = config.rateLimit;
|
|
348
278
|
if (!rl || typeof rl !== 'object' || typeof rl.max !== 'number' || rl.max <= 0) {
|
|
@@ -385,10 +315,6 @@ function readMonitorFile(filePath, scope = 'user') {
|
|
|
385
315
|
...MONITOR_DEFAULTS,
|
|
386
316
|
...parsed,
|
|
387
317
|
name: parsed.name || path.basename(filePath).replace(/\.ya?ml$/, ''),
|
|
388
|
-
// Enabled unless the user explicitly disables it — same default for user
|
|
389
|
-
// and system layers, so a built-in is visible and on like any other
|
|
390
|
-
// system resource. `scope` is stamped below for the (built-in) tag, not
|
|
391
|
-
// used to gate enablement.
|
|
392
318
|
enabled: hasEnabled ? parsed.enabled !== false : (MONITOR_DEFAULTS.enabled ?? true),
|
|
393
319
|
scope,
|
|
394
320
|
};
|
|
@@ -397,18 +323,12 @@ function readMonitorFile(filePath, scope = 'user') {
|
|
|
397
323
|
return null;
|
|
398
324
|
}
|
|
399
325
|
}
|
|
400
|
-
/** The layered monitor dirs, user before system so user shadows system by name. */
|
|
401
326
|
function monitorLayers() {
|
|
402
327
|
return [
|
|
403
328
|
{ scope: 'user', path: getMonitorsDir() },
|
|
404
329
|
{ scope: 'system', path: getSystemMonitorsDir() },
|
|
405
330
|
];
|
|
406
331
|
}
|
|
407
|
-
/**
|
|
408
|
-
* List all monitor configs, unioning the user dir (~/.agents/monitors/) over the
|
|
409
|
-
* built-in system dir (~/.agents/.system/monitors/). Higher layer wins by name
|
|
410
|
-
* (first-seen), so a user monitor shadows a system built-in of the same name.
|
|
411
|
-
*/
|
|
412
332
|
export function listMonitors() {
|
|
413
333
|
ensureAgentsDir();
|
|
414
334
|
const monitors = [];
|
|
@@ -426,11 +346,6 @@ export function listMonitors() {
|
|
|
426
346
|
}
|
|
427
347
|
return monitors;
|
|
428
348
|
}
|
|
429
|
-
/**
|
|
430
|
-
* Read a single monitor config by name, checking the user dir then the system
|
|
431
|
-
* dir (a user monitor shadows a system built-in). Returns null if not found or
|
|
432
|
-
* corrupt.
|
|
433
|
-
*/
|
|
434
349
|
export function readMonitor(name) {
|
|
435
350
|
ensureAgentsDir();
|
|
436
351
|
for (const { scope, path: dir } of monitorLayers()) {
|
|
@@ -442,13 +357,6 @@ export function readMonitor(name) {
|
|
|
442
357
|
}
|
|
443
358
|
return null;
|
|
444
359
|
}
|
|
445
|
-
/**
|
|
446
|
-
* Get the filesystem path of a monitor's YAML config in the USER dir, or null.
|
|
447
|
-
* User-layer only by design — like routines' getJobPath (lib/routines.ts), its
|
|
448
|
-
* caller (`agents monitors edit`) writes to the returned path, and the system
|
|
449
|
-
* mirror is pull-only. To edit a system built-in, `edit` materializes a user
|
|
450
|
-
* copy (prefilled via readMonitor()) rather than opening the mirror.
|
|
451
|
-
*/
|
|
452
360
|
export function getMonitorPath(name) {
|
|
453
361
|
const dir = getMonitorsDir();
|
|
454
362
|
for (const ext of ['.yml', '.yaml']) {
|
|
@@ -458,7 +366,6 @@ export function getMonitorPath(name) {
|
|
|
458
366
|
}
|
|
459
367
|
return null;
|
|
460
368
|
}
|
|
461
|
-
/** Write a monitor config to disk atomically, omitting fields that match defaults. */
|
|
462
369
|
export function writeMonitor(config) {
|
|
463
370
|
ensureAgentsDir();
|
|
464
371
|
const dir = getMonitorsDir();
|
|
@@ -472,15 +379,12 @@ export function writeMonitor(config) {
|
|
|
472
379
|
const output = { ...config };
|
|
473
380
|
if (output.enabled === true)
|
|
474
381
|
delete output.enabled;
|
|
475
|
-
// `scope` is a derived read-time annotation, never part of the on-disk schema —
|
|
476
|
-
// strip it so a materialized user copy of a built-in doesn't persist `scope: system`.
|
|
477
382
|
delete output.scope;
|
|
478
383
|
const devArr = output.devices;
|
|
479
384
|
if (!devArr || devArr.length === 0)
|
|
480
385
|
delete output.devices;
|
|
481
386
|
atomicWriteFileSync(filePath, yaml.stringify(output));
|
|
482
387
|
}
|
|
483
|
-
/** Delete a monitor config file by name. Returns true if the file existed. */
|
|
484
388
|
export function deleteMonitor(name) {
|
|
485
389
|
const dir = getMonitorsDir();
|
|
486
390
|
for (const ext of ['.yml', '.yaml']) {
|
|
@@ -492,7 +396,6 @@ export function deleteMonitor(name) {
|
|
|
492
396
|
}
|
|
493
397
|
return false;
|
|
494
398
|
}
|
|
495
|
-
/** Enable or disable a monitor by name. */
|
|
496
399
|
export function setMonitorEnabled(name, enabled) {
|
|
497
400
|
const monitor = readMonitor(name);
|
|
498
401
|
if (!monitor)
|
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitor action dispatch.
|
|
3
|
-
*
|
|
4
|
-
* On a fire, the monitor feeds the event to an action. Every `run`/`routine`
|
|
5
|
-
* action goes through the *same* detached spawn cron and webhook fires use
|
|
6
|
-
* (executeJobDetached, lib/daemon/runner.ts) — a monitor never duplicates spawn logic,
|
|
7
|
-
* it synthesizes a JobConfig and hands it to the one dispatch seam. `notify`
|
|
8
|
-
* routes the owner through the one channel seam (sendToOwner → lookupTransport,
|
|
9
|
-
* lib/notify.ts) — recipient from notify.owner, no hardcoded chat id, and an
|
|
10
|
-
* unresolvable channel comes back as `ok: false` instead of exiting the daemon;
|
|
11
|
-
* `webhook-out` POSTs the event.
|
|
12
|
-
*/
|
|
13
1
|
import type { Meta } from '../types.js';
|
|
14
2
|
import type { ActionConfig, MonitorConfig, MonitorEvent } from './config.js';
|
|
15
|
-
/** Outcome of a dispatched action. */
|
|
16
3
|
export interface DispatchResult {
|
|
17
4
|
kind: ActionConfig['type'];
|
|
18
5
|
ok: boolean;
|
|
19
|
-
/** Run id for `run`/`routine` actions dispatched through executeJobDetached. */
|
|
20
6
|
runId?: string;
|
|
21
7
|
error?: string;
|
|
22
8
|
}
|
|
23
|
-
/** Replace `{event}` in a prompt with the fired event summary. */
|
|
24
9
|
export declare function injectEvent(prompt: string, event: MonitorEvent): string;
|
|
25
|
-
/**
|
|
26
|
-
* Dispatch a monitor's action for a fired event. `run` synthesizes a JobConfig
|
|
27
|
-
* (event injected into the prompt, action fields mapped onto the routines shape,
|
|
28
|
-
* runOn → host placement) and calls executeJobDetached — the exact path routines
|
|
29
|
-
* use. `routine` fires an existing routine with the event injected. `notify` and
|
|
30
|
-
* `webhook-out` are terminal side-effects.
|
|
31
|
-
*/
|
|
32
10
|
export declare function dispatchAction(monitor: MonitorConfig, event: MonitorEvent, meta?: Meta): Promise<DispatchResult>;
|
|
@@ -1,41 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Monitor action dispatch.
|
|
3
|
-
*
|
|
4
|
-
* On a fire, the monitor feeds the event to an action. Every `run`/`routine`
|
|
5
|
-
* action goes through the *same* detached spawn cron and webhook fires use
|
|
6
|
-
* (executeJobDetached, lib/daemon/runner.ts) — a monitor never duplicates spawn logic,
|
|
7
|
-
* it synthesizes a JobConfig and hands it to the one dispatch seam. `notify`
|
|
8
|
-
* routes the owner through the one channel seam (sendToOwner → lookupTransport,
|
|
9
|
-
* lib/notify.ts) — recipient from notify.owner, no hardcoded chat id, and an
|
|
10
|
-
* unresolvable channel comes back as `ok: false` instead of exiting the daemon;
|
|
11
|
-
* `webhook-out` POSTs the event.
|
|
12
|
-
*/
|
|
13
1
|
import { executeJobDetached } from '../daemon/runner.js';
|
|
14
2
|
import { readJob } from '../scheduling/routines.js';
|
|
15
3
|
import { sendToOwner } from '../notify.js';
|
|
16
|
-
/** Replace `{event}` in a prompt with the fired event summary. */
|
|
17
4
|
export function injectEvent(prompt, event) {
|
|
18
5
|
return prompt.replace(/\{event\}/g, event.summary);
|
|
19
6
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Dispatch a monitor's action for a fired event. `run` synthesizes a JobConfig
|
|
22
|
-
* (event injected into the prompt, action fields mapped onto the routines shape,
|
|
23
|
-
* runOn → host placement) and calls executeJobDetached — the exact path routines
|
|
24
|
-
* use. `routine` fires an existing routine with the event injected. `notify` and
|
|
25
|
-
* `webhook-out` are terminal side-effects.
|
|
26
|
-
*/
|
|
27
7
|
export async function dispatchAction(monitor, event, meta) {
|
|
28
8
|
const action = monitor.action;
|
|
29
9
|
if (action.type === 'run') {
|
|
30
10
|
const job = {
|
|
31
11
|
name: monitor.name,
|
|
32
|
-
// This job is not a routine — no definition, no yaml, never listed by
|
|
33
|
-
// `agents routines` — so it can never be a member of this device's routine
|
|
34
|
-
// activation manifest and MUST NOT be gated on it. Before this marker the
|
|
35
|
-
// gate refused every monitor `run` action with `wrong_owner` and an empty
|
|
36
|
-
// allowlist ("Job '<name>' can only run on: "), so no monitor action ever
|
|
37
|
-
// executed (RUSH-2681). The monitor's own `device:` pin already resolved
|
|
38
|
-
// exactly-once ownership before this dispatch.
|
|
39
12
|
dispatchedBy: 'monitor',
|
|
40
13
|
agent: action.agent,
|
|
41
14
|
mode: action.mode ?? 'auto',
|
|
@@ -43,12 +16,6 @@ export async function dispatchAction(monitor, event, meta) {
|
|
|
43
16
|
timeout: action.timeout ?? '10m',
|
|
44
17
|
enabled: true,
|
|
45
18
|
prompt: injectEvent(action.prompt ?? '', event),
|
|
46
|
-
// A monitor watches a source; it owns no project, and until `cwd` existed
|
|
47
|
-
// it had no field able to supply one — so `resolveJobExecutionContext`
|
|
48
|
-
// blocked every `run` action with `execution_context_missing`
|
|
49
|
-
// (lib/routine-context.ts) once the eligibility gate above stopped
|
|
50
|
-
// swallowing them first. `~` is the execution TARGET's home, so it stays
|
|
51
|
-
// portable across a `runOn:` SSH hop.
|
|
52
19
|
cwd: monitor.cwd ?? '~',
|
|
53
20
|
...(monitor.variables ? { variables: monitor.variables } : {}),
|
|
54
21
|
...(monitor.version ? { version: monitor.version } : {}),
|
|
@@ -70,7 +37,6 @@ export async function dispatchAction(monitor, event, meta) {
|
|
|
70
37
|
if (!routine) {
|
|
71
38
|
return { kind: 'routine', ok: false, error: `routine '${action.routine}' not found` };
|
|
72
39
|
}
|
|
73
|
-
// Inject the event into the routine's prompt so the fired routine sees it.
|
|
74
40
|
const fired = { ...routine, prompt: injectEvent(routine.prompt ?? '', event) };
|
|
75
41
|
try {
|
|
76
42
|
const runMeta = await executeJobDetached(fired);
|
|
@@ -90,7 +56,6 @@ export async function dispatchAction(monitor, event, meta) {
|
|
|
90
56
|
});
|
|
91
57
|
return { kind: 'notify', ok: result.ok, ...(result.ok ? {} : { error: result.error }) };
|
|
92
58
|
}
|
|
93
|
-
// webhook-out
|
|
94
59
|
if (!action.url)
|
|
95
60
|
return { kind: 'webhook-out', ok: false, error: 'action.url is required' };
|
|
96
61
|
try {
|