@phnx-labs/agents-cli 1.22.119 → 1.22.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/README.md +19 -2
- package/dist/bootstrap.d.ts +0 -15
- package/dist/bootstrap.js +10 -409
- package/dist/cli/command-registry.d.ts +0 -58
- package/dist/cli/command-registry.js +2 -74
- package/dist/commands/accounts.d.ts +0 -17
- package/dist/commands/accounts.js +1 -52
- package/dist/commands/alias.d.ts +0 -12
- package/dist/commands/alias.js +0 -6
- package/dist/commands/apply.d.ts +0 -15
- package/dist/commands/apply.js +0 -63
- package/dist/commands/audit.d.ts +0 -12
- package/dist/commands/audit.js +0 -13
- package/dist/commands/auth.js +4 -12
- package/dist/commands/beta.d.ts +0 -6
- package/dist/commands/beta.js +2 -6
- package/dist/commands/browser-sessions-picker.d.ts +0 -8
- package/dist/commands/browser-sessions-picker.js +0 -26
- package/dist/commands/browser.d.ts +0 -57
- package/dist/commands/browser.js +0 -80
- package/dist/commands/budget.d.ts +0 -13
- package/dist/commands/budget.js +0 -2
- package/dist/commands/cli.d.ts +0 -12
- package/dist/commands/cli.js +0 -4
- package/dist/commands/cloud.d.ts +0 -9
- package/dist/commands/cloud.js +0 -43
- package/dist/commands/commands.d.ts +0 -9
- package/dist/commands/commands.js +0 -18
- package/dist/commands/computer-sessions-picker.d.ts +0 -11
- package/dist/commands/computer-sessions-picker.js +0 -29
- package/dist/commands/computer.d.ts +0 -62
- package/dist/commands/computer.js +3 -114
- package/dist/commands/config.d.ts +0 -14
- package/dist/commands/config.js +21 -60
- package/dist/commands/cost.d.ts +0 -11
- package/dist/commands/cost.js +1 -17
- package/dist/commands/daemon-test-harness.d.ts +0 -32
- package/dist/commands/daemon-test-harness.js +1 -36
- package/dist/commands/daemon.d.ts +0 -46
- package/dist/commands/daemon.js +8 -255
- package/dist/commands/detach-core.d.ts +0 -28
- package/dist/commands/detach-core.js +0 -30
- package/dist/commands/detach.d.ts +1 -12
- package/dist/commands/detach.js +16 -52
- package/dist/commands/device-config-test-harness.js +0 -12
- package/dist/commands/doctor.d.ts +0 -103
- package/dist/commands/doctor.js +3 -279
- package/dist/commands/events.d.ts +0 -29
- package/dist/commands/events.js +1 -55
- package/dist/commands/exec.d.ts +0 -163
- package/dist/commands/exec.js +15 -964
- package/dist/commands/factory.d.ts +0 -6
- package/dist/commands/factory.js +0 -2
- package/dist/commands/feed-watch.js +0 -20
- package/dist/commands/feed.d.ts +0 -38
- package/dist/commands/feed.js +1 -151
- package/dist/commands/feedback.d.ts +0 -5
- package/dist/commands/feedback.js +0 -5
- package/dist/commands/fleet-capture.d.ts +0 -12
- package/dist/commands/fleet-capture.js +1 -39
- package/dist/commands/focus.d.ts +6 -94
- package/dist/commands/focus.js +13 -183
- package/dist/commands/fork.d.ts +0 -21
- package/dist/commands/fork.js +0 -45
- package/dist/commands/funnel.d.ts +0 -3
- package/dist/commands/go.d.ts +2 -71
- package/dist/commands/go.js +5 -99
- package/dist/commands/harness-hooks.d.ts +0 -41
- package/dist/commands/harness-hooks.js +0 -48
- package/dist/commands/harness-wizard.d.ts +0 -137
- package/dist/commands/harness-wizard.js +0 -109
- package/dist/commands/harness.d.ts +0 -63
- package/dist/commands/harness.js +0 -103
- package/dist/commands/hooks.d.ts +0 -9
- package/dist/commands/hooks.js +0 -26
- package/dist/commands/humans.d.ts +0 -8
- package/dist/commands/humans.js +0 -8
- package/dist/commands/import.d.ts +0 -22
- package/dist/commands/import.js +0 -79
- package/dist/commands/insights.d.ts +0 -37
- package/dist/commands/insights.js +3 -115
- package/dist/commands/inspect.d.ts +0 -117
- package/dist/commands/inspect.js +2 -448
- package/dist/commands/lease.d.ts +0 -28
- package/dist/commands/lease.js +0 -43
- package/dist/commands/logs.d.ts +0 -23
- package/dist/commands/logs.js +0 -30
- package/dist/commands/mailboxes.d.ts +0 -18
- package/dist/commands/mailboxes.js +0 -29
- package/dist/commands/mcp.d.ts +0 -9
- package/dist/commands/mcp.js +0 -53
- package/dist/commands/memory.d.ts +0 -7
- package/dist/commands/memory.js +0 -7
- package/dist/commands/menubar.d.ts +0 -8
- package/dist/commands/menubar.js +0 -24
- package/dist/commands/message.d.ts +0 -23
- package/dist/commands/message.js +0 -50
- package/dist/commands/mine.d.ts +0 -22
- package/dist/commands/mine.js +0 -21
- package/dist/commands/models.d.ts +0 -8
- package/dist/commands/models.js +0 -33
- package/dist/commands/modes.d.ts +0 -10
- package/dist/commands/modes.js +0 -13
- package/dist/commands/monitors.d.ts +0 -9
- package/dist/commands/monitors.js +3 -160
- package/dist/commands/open.d.ts +0 -26
- package/dist/commands/open.js +0 -10
- package/dist/commands/output.d.ts +0 -18
- package/dist/commands/output.js +1 -34
- package/dist/commands/packages-materialize.d.ts +0 -11
- package/dist/commands/packages-materialize.js +0 -3
- package/dist/commands/packages.d.ts +0 -10
- package/dist/commands/packages.js +0 -50
- package/dist/commands/perf.d.ts +0 -41
- package/dist/commands/perf.js +0 -55
- package/dist/commands/permissions.d.ts +0 -9
- package/dist/commands/permissions.js +0 -43
- package/dist/commands/plugins.d.ts +0 -14
- package/dist/commands/plugins.js +2 -55
- package/dist/commands/profiles.d.ts +0 -25
- package/dist/commands/profiles.js +0 -27
- package/dist/commands/projects-todo.d.ts +2 -0
- package/dist/commands/projects-todo.js +132 -0
- package/dist/commands/projects.d.ts +0 -85
- package/dist/commands/projects.js +344 -291
- package/dist/commands/prune.js +0 -30
- package/dist/commands/ps-roster.d.ts +92 -0
- package/dist/commands/ps-roster.js +744 -0
- package/dist/commands/ps.d.ts +6 -0
- package/dist/commands/ps.js +98 -0
- package/dist/commands/refresh-rules.d.ts +0 -13
- package/dist/commands/refresh-rules.js +0 -14
- package/dist/commands/reminders.d.ts +0 -7
- package/dist/commands/repo.d.ts +0 -89
- package/dist/commands/repo.js +7 -205
- package/dist/commands/resource-view.d.ts +0 -33
- package/dist/commands/resource-view.js +0 -49
- package/dist/commands/resume.d.ts +1 -19
- package/dist/commands/resume.js +0 -50
- package/dist/commands/route.d.ts +0 -10
- package/dist/commands/route.js +0 -19
- package/dist/commands/routines.d.ts +0 -42
- package/dist/commands/routines.js +5 -290
- package/dist/commands/routines.test-fixture.d.ts +0 -34
- package/dist/commands/routines.test-fixture.js +4 -100
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +1 -6
- package/dist/commands/run-account-picker.d.ts +0 -59
- package/dist/commands/run-account-picker.js +0 -71
- package/dist/commands/run-broadcast.d.ts +0 -9
- package/dist/commands/run-broadcast.js +0 -7
- package/dist/commands/run-cloud.d.ts +0 -15
- package/dist/commands/run-cloud.js +0 -37
- package/dist/commands/run-device-picker.d.ts +0 -25
- package/dist/commands/run-device-picker.js +1 -53
- package/dist/commands/secrets-passthrough.d.ts +0 -31
- package/dist/commands/secrets-passthrough.js +0 -10
- package/dist/commands/send.d.ts +0 -20
- package/dist/commands/send.js +14 -18
- package/dist/commands/sessions-backfill.d.ts +0 -7
- package/dist/commands/sessions-backfill.js +1 -16
- package/dist/commands/sessions-backup-setup.js +0 -11
- package/dist/commands/sessions-bookmark.d.ts +0 -8
- package/dist/commands/sessions-bookmark.js +0 -28
- package/dist/commands/sessions-browser.d.ts +2 -117
- package/dist/commands/sessions-browser.js +5 -243
- package/dist/commands/sessions-export.d.ts +1 -26
- package/dist/commands/sessions-export.js +3 -81
- package/dist/commands/sessions-import.d.ts +0 -14
- package/dist/commands/sessions-import.js +0 -59
- package/dist/commands/sessions-inject.d.ts +0 -60
- package/dist/commands/sessions-inject.js +3 -96
- package/dist/commands/sessions-migrate.d.ts +2 -37
- package/dist/commands/sessions-migrate.js +7 -159
- package/dist/commands/sessions-optimize.d.ts +0 -12
- package/dist/commands/sessions-picker-factory.d.ts +0 -7
- package/dist/commands/sessions-picker-factory.js +0 -8
- package/dist/commands/sessions-picker.d.ts +4 -103
- package/dist/commands/sessions-picker.js +13 -352
- package/dist/commands/sessions-render.d.ts +1 -2
- package/dist/commands/sessions-render.js +3 -7
- package/dist/commands/sessions-resume.d.ts +1 -24
- package/dist/commands/sessions-resume.js +2 -65
- package/dist/commands/sessions-share.d.ts +1 -9
- package/dist/commands/sessions-share.js +1 -45
- package/dist/commands/sessions-stats.d.ts +0 -24
- package/dist/commands/sessions-stats.js +0 -49
- package/dist/commands/sessions-stop.d.ts +1 -20
- package/dist/commands/sessions-stop.js +4 -9
- package/dist/commands/sessions-tail.d.ts +1 -19
- package/dist/commands/sessions-tail.js +3 -36
- package/dist/commands/sessions-trace.d.ts +5 -36
- package/dist/commands/sessions-trace.js +7 -82
- package/dist/commands/sessions.d.ts +1 -666
- package/dist/commands/sessions.js +30 -2279
- package/dist/commands/sessions.test-fixture.d.ts +0 -9
- package/dist/commands/sessions.test-fixture.js +8 -23
- package/dist/commands/setup-accounts.d.ts +0 -6
- package/dist/commands/setup-browser.d.ts +0 -23
- package/dist/commands/setup-browser.js +0 -28
- package/dist/commands/setup-computer.d.ts +0 -16
- package/dist/commands/setup-computer.js +0 -28
- package/dist/commands/setup-fleet.d.ts +0 -8
- package/dist/commands/setup-fleet.js +0 -11
- package/dist/commands/setup-mine.d.ts +0 -14
- package/dist/commands/setup-mine.js +0 -25
- package/dist/commands/setup-preferences.d.ts +0 -47
- package/dist/commands/setup-preferences.js +0 -53
- package/dist/commands/setup-secrets.d.ts +2 -24
- package/dist/commands/setup-secrets.js +0 -24
- package/dist/commands/setup-term.d.ts +0 -21
- package/dist/commands/setup-term.js +0 -21
- package/dist/commands/setup-terminal.d.ts +0 -1
- package/dist/commands/setup-terminal.js +0 -1
- package/dist/commands/setup-tools.d.ts +2 -0
- package/dist/commands/setup-tools.js +73 -0
- package/dist/commands/setup.d.ts +0 -20
- package/dist/commands/setup.js +4 -57
- package/dist/commands/skills.d.ts +0 -9
- package/dist/commands/skills.js +1 -22
- package/dist/commands/snapshot.d.ts +0 -9
- package/dist/commands/snapshot.js +0 -10
- package/dist/commands/ssh.d.ts +0 -64
- package/dist/commands/ssh.js +9 -420
- package/dist/commands/status.d.ts +0 -12
- package/dist/commands/status.js +0 -26
- package/dist/commands/subagents.d.ts +0 -8
- package/dist/commands/subagents.js +0 -31
- package/dist/commands/sync.d.ts +0 -37
- package/dist/commands/sync.js +0 -256
- package/dist/commands/teams-picker.d.ts +0 -3
- package/dist/commands/teams-picker.js +0 -34
- package/dist/commands/teams.d.ts +1 -76
- package/dist/commands/teams.js +9 -477
- package/dist/commands/tmux.d.ts +0 -25
- package/dist/commands/tmux.js +0 -46
- package/dist/commands/traces.js +0 -19
- package/dist/commands/trash.d.ts +0 -17
- package/dist/commands/trash.js +1 -11
- package/dist/commands/uninstall.d.ts +0 -9
- package/dist/commands/uninstall.js +0 -6
- package/dist/commands/update.d.ts +0 -22
- package/dist/commands/update.js +0 -44
- package/dist/commands/upgrade.d.ts +0 -1
- package/dist/commands/upgrade.js +0 -1
- package/dist/commands/utils.d.ts +0 -85
- package/dist/commands/utils.js +1 -95
- package/dist/commands/versions.d.ts +0 -16
- package/dist/commands/versions.js +0 -134
- package/dist/commands/view.d.ts +0 -90
- package/dist/commands/view.js +4 -343
- package/dist/commands/watchdog.d.ts +0 -19
- package/dist/commands/watchdog.js +3 -43
- package/dist/commands/webhook.d.ts +0 -8
- package/dist/commands/webhook.js +0 -14
- package/dist/commands/workflows.d.ts +0 -8
- package/dist/commands/workflows.js +0 -6
- package/dist/index.d.ts +0 -25
- package/dist/index.js +5 -119
- package/dist/lib/account-capabilities.d.ts +0 -34
- package/dist/lib/account-capabilities.js +0 -32
- package/dist/lib/account-catalog.d.ts +0 -128
- package/dist/lib/account-catalog.js +8 -154
- package/dist/lib/account-provider-registry.d.ts +0 -14
- package/dist/lib/account-provider-registry.js +0 -8
- package/dist/lib/account-registry.d.ts +0 -74
- package/dist/lib/account-registry.js +14 -189
- package/dist/lib/account-schema.d.ts +0 -19
- package/dist/lib/account-schema.js +0 -43
- package/dist/lib/accounting/account-launch.d.ts +0 -15
- package/dist/lib/accounting/account-launch.js +1 -3
- package/dist/lib/accounting/account-pool-collect.d.ts +0 -26
- package/dist/lib/accounting/account-pool-collect.js +0 -42
- package/dist/lib/accounting/account-pool.d.ts +0 -41
- package/dist/lib/accounting/account-pool.js +0 -17
- package/dist/lib/accounting/capacity.d.ts +0 -32
- package/dist/lib/accounting/capacity.js +0 -32
- package/dist/lib/accounting/rotate.d.ts +0 -518
- package/dist/lib/accounting/rotate.js +4 -598
- package/dist/lib/accounting/usage-ingest.d.ts +0 -1
- package/dist/lib/accounting/usage-ingest.js +0 -44
- package/dist/lib/accounting/usage-sync.d.ts +0 -60
- package/dist/lib/accounting/usage-sync.js +4 -51
- package/dist/lib/accounting/usage.d.ts +0 -632
- package/dist/lib/accounting/usage.js +14 -1055
- package/dist/lib/accounts/add.d.ts +0 -60
- package/dist/lib/accounts/add.js +0 -127
- package/dist/lib/accounts/auth-operation-lock.d.ts +0 -1
- package/dist/lib/accounts/auth-operation-lock.js +0 -4
- package/dist/lib/accounts/migrate.d.ts +0 -9
- package/dist/lib/accounts/migrate.js +3 -42
- package/dist/lib/accounts/slots.d.ts +0 -25
- package/dist/lib/accounts/slots.js +1 -49
- package/dist/lib/acp/client.d.ts +0 -16
- package/dist/lib/acp/client.js +0 -29
- package/dist/lib/acp/harnesses.d.ts +0 -15
- package/dist/lib/acp/harnesses.js +0 -16
- package/dist/lib/acp/run.d.ts +0 -8
- package/dist/lib/acp/run.js +0 -8
- package/dist/lib/actor.d.ts +1 -71
- package/dist/lib/actor.js +1 -99
- package/dist/lib/add-dir.d.ts +0 -46
- package/dist/lib/add-dir.js +1 -70
- package/dist/lib/address.d.ts +0 -17
- package/dist/lib/address.js +0 -15
- package/dist/lib/agent-cli-commands.d.ts +0 -10
- package/dist/lib/agent-cli-commands.js +0 -10
- package/dist/lib/agent-modes.d.ts +0 -29
- package/dist/lib/agent-modes.js +0 -31
- package/dist/lib/agent-spec/agents.d.ts +0 -426
- package/dist/lib/agent-spec/agents.js +37 -924
- package/dist/lib/agent-spec/index.d.ts +0 -5
- package/dist/lib/agent-spec/index.js +0 -14
- package/dist/lib/agent-spec/materialize.d.ts +0 -10
- package/dist/lib/agent-spec/materialize.js +2 -139
- package/dist/lib/agent-spec/package-resolve.d.ts +0 -8
- package/dist/lib/agent-spec/package-resolve.js +1 -44
- package/dist/lib/agent-spec/package-schema.d.ts +0 -2
- package/dist/lib/agent-spec/package-schema.js +0 -11
- package/dist/lib/agent-spec/package-types.d.ts +0 -27
- package/dist/lib/agent-spec/package-types.js +0 -1
- package/dist/lib/agent-spec/primitives.d.ts +0 -18
- package/dist/lib/agent-spec/primitives.js +0 -27
- package/dist/lib/agent-spec/provider.js +0 -2
- package/dist/lib/agent-spec/resolve.d.ts +0 -23
- package/dist/lib/agent-spec/resolve.js +0 -41
- package/dist/lib/agent-spec/types.d.ts +0 -34
- package/dist/lib/agent-spec/types.js +0 -6
- package/dist/lib/agents.d.ts +0 -1
- package/dist/lib/agents.js +0 -1
- package/dist/lib/analytics/mix-commands.d.ts +0 -23
- package/dist/lib/analytics/mix-commands.js +0 -26
- package/dist/lib/analytics/recipes.d.ts +0 -1
- package/dist/lib/analytics/recipes.js +5 -10
- package/dist/lib/analytics/usage-db.js +4 -6
- package/dist/lib/answer-router.d.ts +0 -61
- package/dist/lib/answer-router.js +0 -57
- package/dist/lib/app-bundle-install.d.ts +0 -13
- package/dist/lib/app-bundle-install.js +0 -50
- package/dist/lib/artifact-actions.d.ts +0 -15
- package/dist/lib/artifact-actions.js +0 -18
- package/dist/lib/artifacts-client.d.ts +0 -10
- package/dist/lib/artifacts-client.js +0 -17
- package/dist/lib/ask-classifier.d.ts +0 -38
- package/dist/lib/ask-classifier.js +0 -27
- package/dist/lib/audit/log.d.ts +0 -47
- package/dist/lib/audit/log.js +1 -59
- package/dist/lib/auth-health.d.ts +0 -213
- package/dist/lib/auth-health.js +16 -266
- package/dist/lib/auth-mint.d.ts +0 -83
- package/dist/lib/auth-mint.js +8 -85
- package/dist/lib/auto-pull-worker.d.ts +0 -10
- package/dist/lib/auto-pull-worker.js +3 -48
- package/dist/lib/auto-pull.d.ts +0 -64
- package/dist/lib/auto-pull.js +0 -79
- package/dist/lib/beta.d.ts +0 -9
- package/dist/lib/beta.js +0 -9
- package/dist/lib/binary-shadow.d.ts +0 -22
- package/dist/lib/binary-shadow.js +4 -34
- package/dist/lib/boot-profile.d.ts +0 -10
- package/dist/lib/boot-profile.js +1 -31
- package/dist/lib/brand.d.ts +0 -20
- package/dist/lib/brand.js +0 -50
- package/dist/lib/browser/context.d.ts +0 -54
- package/dist/lib/browser/context.js +0 -49
- package/dist/lib/browser/paths.d.ts +0 -21
- package/dist/lib/browser/paths.js +0 -26
- package/dist/lib/browser/record.d.ts +0 -34
- package/dist/lib/browser/record.js +0 -38
- package/dist/lib/browser/sessions-list.d.ts +1 -79
- package/dist/lib/browser/sessions-list.js +2 -98
- package/dist/lib/browser-client.d.ts +0 -112
- package/dist/lib/browser-client.js +1 -90
- package/dist/lib/budget/config.d.ts +0 -6
- package/dist/lib/budget/config.js +0 -29
- package/dist/lib/budget/enforce.d.ts +0 -50
- package/dist/lib/budget/enforce.js +0 -27
- package/dist/lib/budget/ledger.d.ts +0 -23
- package/dist/lib/budget/ledger.js +0 -28
- package/dist/lib/budget/live-cloud.d.ts +0 -26
- package/dist/lib/budget/live-cloud.js +0 -12
- package/dist/lib/budget/live-team.d.ts +0 -17
- package/dist/lib/budget/live-team.js +1 -35
- package/dist/lib/budget/preflight.d.ts +0 -51
- package/dist/lib/budget/preflight.js +0 -36
- package/dist/lib/byok-usage.d.ts +0 -20
- package/dist/lib/byok-usage.js +1 -24
- package/dist/lib/capabilities.d.ts +0 -24
- package/dist/lib/capabilities.js +0 -29
- package/dist/lib/catchup.d.ts +0 -87
- package/dist/lib/catchup.js +1 -81
- package/dist/lib/channels/owner-forward.d.ts +0 -70
- package/dist/lib/channels/owner-forward.js +1 -43
- package/dist/lib/channels/owner-sink.js +0 -21
- package/dist/lib/channels/providers/desktop.d.ts +0 -37
- package/dist/lib/channels/providers/desktop.js +0 -72
- package/dist/lib/channels/providers/index.d.ts +0 -1
- package/dist/lib/channels/providers/index.js +2 -6
- package/dist/lib/channels/providers/mailbox.js +0 -7
- package/dist/lib/channels/providers/openclaw-telegram.js +0 -8
- package/dist/lib/channels/providers/rush.d.ts +0 -2
- package/dist/lib/channels/providers/rush.js +0 -26
- package/dist/lib/channels/providers/session.d.ts +2 -0
- package/dist/lib/channels/providers/session.js +26 -0
- package/dist/lib/channels/registry.d.ts +0 -27
- package/dist/lib/channels/registry.js +0 -10
- package/dist/lib/channels/resolve.d.ts +0 -19
- package/dist/lib/channels/resolve.js +0 -2
- package/dist/lib/channels/send.d.ts +0 -50
- package/dist/lib/channels/send.js +0 -25
- package/dist/lib/checkpoint.d.ts +0 -36
- package/dist/lib/checkpoint.js +0 -28
- package/dist/lib/claude-account-token.d.ts +0 -98
- package/dist/lib/claude-account-token.js +7 -169
- package/dist/lib/claude-statusline.d.ts +0 -41
- package/dist/lib/claude-statusline.js +0 -68
- package/dist/lib/cli-entry.d.ts +0 -26
- package/dist/lib/cli-entry.js +1 -61
- package/dist/lib/cli-resources.d.ts +31 -89
- package/dist/lib/cli-resources.js +116 -152
- package/dist/lib/cloud/antigravity.d.ts +0 -29
- package/dist/lib/cloud/antigravity.js +0 -36
- package/dist/lib/cloud/codex.d.ts +0 -8
- package/dist/lib/cloud/codex.js +0 -41
- package/dist/lib/cloud/cursor.d.ts +0 -5
- package/dist/lib/cloud/cursor.js +2 -7
- package/dist/lib/cloud/dispatch.d.ts +0 -13
- package/dist/lib/cloud/dispatch.js +1 -48
- package/dist/lib/cloud/factory.d.ts +0 -52
- package/dist/lib/cloud/factory.js +3 -67
- package/dist/lib/cloud/host.d.ts +0 -39
- package/dist/lib/cloud/host.js +5 -48
- package/dist/lib/cloud/registry.d.ts +0 -25
- package/dist/lib/cloud/registry.js +0 -29
- package/dist/lib/cloud/rush.d.ts +0 -47
- package/dist/lib/cloud/rush.js +1 -82
- package/dist/lib/cloud/session-index.d.ts +0 -27
- package/dist/lib/cloud/session-index.js +1 -32
- package/dist/lib/cloud/store.d.ts +0 -18
- package/dist/lib/cloud/store.js +0 -28
- package/dist/lib/cloud/stream.d.ts +0 -14
- package/dist/lib/cloud/stream.js +0 -25
- package/dist/lib/cloud/types.d.ts +0 -168
- package/dist/lib/cloud/types.js +0 -46
- package/dist/lib/cloudflare/creds.d.ts +0 -2
- package/dist/lib/cloudflare/creds.js +0 -14
- package/dist/lib/cloudflare/provision.d.ts +0 -8
- package/dist/lib/cloudflare/provision.js +1 -19
- package/dist/lib/codex-home.d.ts +0 -60
- package/dist/lib/codex-home.js +2 -72
- package/dist/lib/codex-policy.d.ts +0 -10
- package/dist/lib/codex-policy.js +0 -13
- package/dist/lib/command-skills.d.ts +0 -10
- package/dist/lib/command-skills.js +0 -10
- package/dist/lib/commands.d.ts +0 -74
- package/dist/lib/commands.js +0 -112
- package/dist/lib/comms-render.d.ts +0 -5
- package/dist/lib/comms-render.js +0 -5
- package/dist/lib/computer/context.d.ts +0 -23
- package/dist/lib/computer/context.js +0 -14
- package/dist/lib/computer/policy.d.ts +0 -20
- package/dist/lib/computer/policy.js +0 -53
- package/dist/lib/computer/record.d.ts +0 -33
- package/dist/lib/computer/record.js +1 -48
- package/dist/lib/computer/sessions-list.d.ts +1 -128
- package/dist/lib/computer/sessions-list.js +6 -165
- package/dist/lib/computer-client.d.ts +0 -106
- package/dist/lib/computer-client.js +5 -86
- package/dist/lib/concurrency.d.ts +0 -14
- package/dist/lib/concurrency.js +0 -3
- package/dist/lib/config-drift.d.ts +0 -31
- package/dist/lib/config-drift.js +0 -32
- package/dist/lib/config-keys.d.ts +1 -65
- package/dist/lib/config-keys.js +6 -52
- package/dist/lib/config-transfer.d.ts +0 -14
- package/dist/lib/config-transfer.js +0 -26
- package/dist/lib/convert.d.ts +0 -17
- package/dist/lib/convert.js +0 -18
- package/dist/lib/crabbox/cli.d.ts +0 -156
- package/dist/lib/crabbox/cli.js +1 -188
- package/dist/lib/crabbox/config.d.ts +0 -18
- package/dist/lib/crabbox/config.js +1 -19
- package/dist/lib/crabbox/lease.d.ts +0 -93
- package/dist/lib/crabbox/lease.js +4 -148
- package/dist/lib/crabbox/progress.d.ts +0 -56
- package/dist/lib/crabbox/progress.js +2 -49
- package/dist/lib/crabbox/runtimes.d.ts +0 -94
- package/dist/lib/crabbox/runtimes.js +1 -111
- package/dist/lib/crabbox/setup-copy.d.ts +0 -64
- package/dist/lib/crabbox/setup-copy.js +1 -53
- package/dist/lib/daemon/account-state-daemon-service.d.ts +0 -48
- package/dist/lib/daemon/account-state-daemon-service.js +2 -63
- package/dist/lib/daemon/attention-notify-service.d.ts +0 -12
- package/dist/lib/daemon/attention-notify-service.js +1 -24
- package/dist/lib/daemon/auth-sync-service.d.ts +0 -28
- package/dist/lib/daemon/auth-sync-service.js +0 -56
- package/dist/lib/daemon/catchup-service.d.ts +0 -34
- package/dist/lib/daemon/catchup-service.js +0 -30
- package/dist/lib/daemon/daemon.d.ts +0 -374
- package/dist/lib/daemon/daemon.js +44 -1049
- package/dist/lib/daemon/daemon.test-fixture.d.ts +0 -19
- package/dist/lib/daemon/daemon.test-fixture.js +1 -24
- package/dist/lib/daemon/device-probe-service.d.ts +0 -16
- package/dist/lib/daemon/device-probe-service.js +0 -20
- package/dist/lib/daemon/feed-stream-service.d.ts +0 -15
- package/dist/lib/daemon/feed-stream-service.js +0 -20
- package/dist/lib/daemon/harness-update-service.d.ts +2 -61
- package/dist/lib/daemon/harness-update-service.js +6 -86
- package/dist/lib/daemon/heartbeat-service.d.ts +0 -1
- package/dist/lib/daemon/heartbeat-service.js +0 -1
- package/dist/lib/daemon/leaked-daemons.d.ts +0 -46
- package/dist/lib/daemon/leaked-daemons.js +2 -78
- package/dist/lib/daemon/monitor-engine-service.d.ts +0 -13
- package/dist/lib/daemon/monitor-engine-service.js +3 -15
- package/dist/lib/daemon/runner.d.ts +0 -194
- package/dist/lib/daemon/runner.js +39 -760
- package/dist/lib/daemon/self-heal-service.d.ts +18 -17
- package/dist/lib/daemon/self-heal-service.js +83 -37
- package/dist/lib/daemon/self-update-service.d.ts +1 -131
- package/dist/lib/daemon/self-update-service.js +26 -189
- package/dist/lib/daemon/service.d.ts +0 -73
- package/dist/lib/daemon/service.js +0 -34
- package/dist/lib/daemon/session-index-service.d.ts +0 -12
- package/dist/lib/daemon/session-index-service.js +0 -23
- package/dist/lib/daemon/session-state-service.d.ts +0 -8
- package/dist/lib/daemon/session-state-service.js +0 -8
- package/dist/lib/daemon/session-summarizer-service.d.ts +0 -14
- package/dist/lib/daemon/session-summarizer-service.js +1 -19
- package/dist/lib/daemon/session-title-service.d.ts +0 -25
- package/dist/lib/daemon/session-title-service.js +0 -32
- package/dist/lib/daemon/state-dir-check-service.d.ts +0 -24
- package/dist/lib/daemon/state-dir-check-service.js +0 -29
- package/dist/lib/daemon/supervisor.d.ts +0 -112
- package/dist/lib/daemon/supervisor.js +4 -147
- package/dist/lib/daemon/testdata/process-view-daemon.js +0 -2
- package/dist/lib/daemon/testdata/process-view-start.js +0 -5
- package/dist/lib/daemon/tmux-reap-service.d.ts +0 -1
- package/dist/lib/daemon/tmux-reap-service.js +0 -1
- package/dist/lib/daemon/usage-sync-service.d.ts +0 -23
- package/dist/lib/daemon/usage-sync-service.js +0 -26
- package/dist/lib/daemon/watchdog-service.d.ts +0 -9
- package/dist/lib/daemon/watchdog-service.js +0 -13
- package/dist/lib/daemon/webhook-receiver-service.d.ts +0 -1
- package/dist/lib/daemon/webhook-receiver-service.js +0 -1
- package/dist/lib/daemon-health.d.ts +0 -55
- package/dist/lib/daemon-health.js +4 -77
- package/dist/lib/daemon-services.d.ts +0 -36
- package/dist/lib/daemon-services.js +0 -45
- package/dist/lib/daemon-ticks.d.ts +0 -126
- package/dist/lib/daemon-ticks.js +1 -156
- package/dist/lib/daemon-webhooks.d.ts +0 -57
- package/dist/lib/daemon-webhooks.js +2 -54
- package/dist/lib/deeplink/register.d.ts +0 -15
- package/dist/lib/deeplink/register.js +0 -60
- package/dist/lib/deeplink/url.d.ts +0 -24
- package/dist/lib/deeplink/url.js +1 -33
- package/dist/lib/device-config.d.ts +1 -192
- package/dist/lib/device-config.js +86 -240
- package/dist/lib/devices/config-migration.d.ts +0 -43
- package/dist/lib/devices/config-migration.js +7 -127
- package/dist/lib/devices/connect.d.ts +0 -168
- package/dist/lib/devices/connect.js +6 -254
- package/dist/lib/devices/device-docs.d.ts +0 -24
- package/dist/lib/devices/device-docs.js +0 -46
- package/dist/lib/devices/discovery-policy.d.ts +0 -30
- package/dist/lib/devices/discovery-policy.js +3 -34
- package/dist/lib/devices/doctor-findings.d.ts +0 -109
- package/dist/lib/devices/doctor-findings.js +30 -326
- package/dist/lib/devices/doctor-overview-cache.d.ts +0 -33
- package/dist/lib/devices/doctor-overview-cache.js +0 -81
- package/dist/lib/devices/fleet-divergence.d.ts +0 -89
- package/dist/lib/devices/fleet-divergence.js +1 -60
- package/dist/lib/devices/fleet-inventory.d.ts +0 -27
- package/dist/lib/devices/fleet-inventory.js +0 -38
- package/dist/lib/devices/fleet.d.ts +0 -95
- package/dist/lib/devices/fleet.js +0 -79
- package/dist/lib/devices/harness-inventory.d.ts +0 -75
- package/dist/lib/devices/harness-inventory.js +0 -101
- package/dist/lib/devices/health-report.d.ts +0 -37
- package/dist/lib/devices/health-report.js +0 -73
- package/dist/lib/devices/health.d.ts +0 -71
- package/dist/lib/devices/health.js +2 -82
- package/dist/lib/devices/interactive-host.d.ts +0 -10
- package/dist/lib/devices/interactive-host.js +0 -34
- package/dist/lib/devices/known-hosts.d.ts +0 -45
- package/dist/lib/devices/known-hosts.js +0 -77
- package/dist/lib/devices/pending.d.ts +0 -31
- package/dist/lib/devices/pending.js +7 -67
- package/dist/lib/devices/pool.d.ts +0 -36
- package/dist/lib/devices/pool.js +0 -30
- package/dist/lib/devices/reachability.d.ts +0 -25
- package/dist/lib/devices/reachability.js +0 -14
- package/dist/lib/devices/registry.d.ts +0 -141
- package/dist/lib/devices/registry.js +4 -151
- package/dist/lib/devices/resolve-profile.d.ts +0 -18
- package/dist/lib/devices/resolve-profile.js +0 -18
- package/dist/lib/devices/resolve-target.d.ts +0 -20
- package/dist/lib/devices/resolve-target.js +1 -51
- package/dist/lib/devices/rollout-verify.d.ts +1 -81
- package/dist/lib/devices/rollout-verify.js +0 -77
- package/dist/lib/devices/self-host.d.ts +0 -7
- package/dist/lib/devices/self-host.js +1 -29
- package/dist/lib/devices/ssh-config.d.ts +0 -18
- package/dist/lib/devices/ssh-config.js +0 -9
- package/dist/lib/devices/stats-cache.d.ts +0 -48
- package/dist/lib/devices/stats-cache.js +0 -80
- package/dist/lib/devices/sync.d.ts +0 -97
- package/dist/lib/devices/sync.js +0 -88
- package/dist/lib/devices/tailscale.d.ts +0 -18
- package/dist/lib/devices/tailscale.js +1 -38
- package/dist/lib/devices/terminfo.d.ts +0 -27
- package/dist/lib/devices/terminfo.js +2 -64
- package/dist/lib/devices/worker-pick.d.ts +0 -15
- package/dist/lib/devices/worker-pick.js +0 -48
- package/dist/lib/diff-text.d.ts +0 -18
- package/dist/lib/diff-text.js +0 -15
- package/dist/lib/doctor-diff.d.ts +0 -79
- package/dist/lib/doctor-diff.js +2 -181
- package/dist/lib/drift-sync.d.ts +0 -29
- package/dist/lib/drift-sync.js +0 -40
- package/dist/lib/drift.d.ts +0 -43
- package/dist/lib/drift.js +0 -31
- package/dist/lib/event-families.d.ts +0 -17
- package/dist/lib/event-families.js +0 -33
- package/dist/lib/event-provenance.d.ts +0 -4
- package/dist/lib/event-provenance.js +0 -5
- package/dist/lib/event-stream.d.ts +0 -29
- package/dist/lib/event-stream.js +0 -36
- package/dist/lib/events-ingest.d.ts +0 -27
- package/dist/lib/events-ingest.js +0 -54
- package/dist/lib/exec-account-home.d.ts +0 -24
- package/dist/lib/exec-account-home.js +0 -41
- package/dist/lib/exec-bounded.d.ts +1 -37
- package/dist/lib/exec-bounded.js +10 -46
- package/dist/lib/exec.d.ts +3 -583
- package/dist/lib/exec.js +18 -1025
- package/dist/lib/factory/snapshot.js +1 -15
- package/dist/lib/feed/activity-stream.d.ts +0 -27
- package/dist/lib/feed/activity-stream.js +4 -80
- package/dist/lib/feed/activity.d.ts +1 -243
- package/dist/lib/feed/activity.js +8 -273
- package/dist/lib/feed/answer.d.ts +0 -103
- package/dist/lib/feed/answer.js +0 -267
- package/dist/lib/feed/attention.d.ts +0 -56
- package/dist/lib/feed/attention.js +0 -161
- package/dist/lib/feed/envelope.d.ts +2 -17
- package/dist/lib/feed/envelope.js +0 -14
- package/dist/lib/feed/events.d.ts +0 -118
- package/dist/lib/feed/events.js +13 -213
- package/dist/lib/feed/feed.d.ts +1 -250
- package/dist/lib/feed/feed.js +24 -334
- package/dist/lib/feed/hub-server.d.ts +0 -100
- package/dist/lib/feed/hub-server.js +1 -191
- package/dist/lib/feed/hub.d.ts +0 -53
- package/dist/lib/feed/hub.js +0 -89
- package/dist/lib/feed/pr-status.d.ts +1 -19
- package/dist/lib/feed/pr-status.js +0 -18
- package/dist/lib/feed/tool-activity.d.ts +0 -59
- package/dist/lib/feed/tool-activity.js +1 -119
- package/dist/lib/feed/tools.d.ts +0 -100
- package/dist/lib/feed/tools.js +0 -89
- package/dist/lib/feed/watch.d.ts +0 -33
- package/dist/lib/feed/watch.js +2 -94
- package/dist/lib/feed-broadcast.d.ts +0 -148
- package/dist/lib/feed-broadcast.js +1 -283
- package/dist/lib/feed-outcome.d.ts +0 -50
- package/dist/lib/feed-outcome.js +1 -67
- package/dist/lib/feed-policy.d.ts +0 -6
- package/dist/lib/feed-policy.js +1 -27
- package/dist/lib/feed-post.d.ts +0 -61
- package/dist/lib/feed-post.js +4 -61
- package/dist/lib/feed-ranking.d.ts +1 -1
- package/dist/lib/fleet/apply.d.ts +0 -64
- package/dist/lib/fleet/apply.js +0 -125
- package/dist/lib/fleet/auth-sync.d.ts +0 -48
- package/dist/lib/fleet/auth-sync.js +4 -49
- package/dist/lib/fleet/capture.d.ts +0 -26
- package/dist/lib/fleet/capture.js +1 -36
- package/dist/lib/fleet/manifest.d.ts +0 -38
- package/dist/lib/fleet/manifest.js +0 -40
- package/dist/lib/fleet/types.d.ts +1 -138
- package/dist/lib/fleet/types.js +0 -12
- package/dist/lib/fleet-cache.d.ts +0 -12
- package/dist/lib/fleet-cache.js +0 -24
- package/dist/lib/fleet-shared-state.d.ts +6 -59
- package/dist/lib/fleet-shared-state.js +5 -51
- package/dist/lib/fleet-status.d.ts +0 -27
- package/dist/lib/fleet-status.js +0 -48
- package/dist/lib/format.d.ts +0 -74
- package/dist/lib/format.js +3 -77
- package/dist/lib/friction-heuristics.d.ts +0 -20
- package/dist/lib/friction-heuristics.js +0 -8
- package/dist/lib/fs-atomic.d.ts +0 -51
- package/dist/lib/fs-atomic.js +8 -66
- package/dist/lib/fs-walk.d.ts +0 -13
- package/dist/lib/fs-walk.js +0 -22
- package/dist/lib/fuzzy.d.ts +0 -29
- package/dist/lib/fuzzy.js +0 -31
- package/dist/lib/gemini-settings.js +0 -12
- package/dist/lib/git.d.ts +0 -366
- package/dist/lib/git.js +7 -574
- package/dist/lib/github/ci-failure.d.ts +30 -0
- package/dist/lib/github/ci-failure.js +95 -0
- package/dist/lib/github/gh-overload.d.ts +0 -38
- package/dist/lib/github/gh-overload.js +3 -55
- package/dist/lib/github/pr-mergeable.d.ts +3 -34
- package/dist/lib/github/pr-mergeable.js +2 -42
- package/dist/lib/github/pr-verdict.d.ts +0 -44
- package/dist/lib/github/pr-verdict.js +0 -36
- package/dist/lib/github/project-prs.d.ts +135 -105
- package/dist/lib/github/project-prs.js +530 -170
- package/dist/lib/github/release-drift.d.ts +45 -0
- package/dist/lib/github/release-drift.js +91 -0
- package/dist/lib/github/rest.d.ts +0 -50
- package/dist/lib/github/rest.js +0 -49
- package/dist/lib/github/viewer.d.ts +27 -0
- package/dist/lib/github/viewer.js +101 -0
- package/dist/lib/goose-commands.d.ts +0 -29
- package/dist/lib/goose-commands.js +3 -48
- package/dist/lib/harness/adapter.d.ts +0 -151
- package/dist/lib/harness/adapter.js +0 -41
- package/dist/lib/harness/adapters/claude.d.ts +0 -8
- package/dist/lib/harness/adapters/claude.js +0 -89
- package/dist/lib/harness/adapters/codex.js +0 -18
- package/dist/lib/harness/adapters/copilot.js +0 -3
- package/dist/lib/harness/adapters/cursor.js +0 -16
- package/dist/lib/harness/adapters/droid.js +0 -3
- package/dist/lib/harness/adapters/kimi.js +0 -19
- package/dist/lib/harness/adapters/muse.js +0 -9
- package/dist/lib/harness/adapters/opencode.js +0 -2
- package/dist/lib/harness/exec-config-version.d.ts +0 -2
- package/dist/lib/harness/exec-config-version.js +0 -13
- package/dist/lib/harness/index.js +0 -10
- package/dist/lib/harness-auth-capabilities.d.ts +0 -26
- package/dist/lib/harness-auth-capabilities.js +0 -18
- package/dist/lib/harness-connection-test.d.ts +0 -27
- package/dist/lib/harness-connection-test.js +2 -20
- package/dist/lib/heal.d.ts +0 -45
- package/dist/lib/heal.js +2 -82
- package/dist/lib/help.d.ts +0 -32
- package/dist/lib/help.js +0 -41
- package/dist/lib/helper-download.d.ts +0 -85
- package/dist/lib/helper-download.js +0 -95
- package/dist/lib/helper-versions.d.ts +0 -51
- package/dist/lib/helper-versions.js +1 -45
- package/dist/lib/hooks/cache.d.ts +0 -40
- package/dist/lib/hooks/cache.js +8 -122
- package/dist/lib/hooks/install.d.ts +0 -253
- package/dist/lib/hooks/install.js +49 -822
- package/dist/lib/hooks/match.d.ts +0 -24
- package/dist/lib/hooks/match.js +0 -31
- package/dist/lib/hooks/profile.d.ts +0 -21
- package/dist/lib/hooks/profile.js +0 -28
- package/dist/lib/hosts/credential-transport.d.ts +0 -6
- package/dist/lib/hosts/credential-transport.js +0 -17
- package/dist/lib/hosts/credentials.d.ts +0 -35
- package/dist/lib/hosts/credentials.js +0 -38
- package/dist/lib/hosts/dispatch.d.ts +0 -140
- package/dist/lib/hosts/dispatch.js +0 -176
- package/dist/lib/hosts/logs.d.ts +0 -25
- package/dist/lib/hosts/logs.js +1 -51
- package/dist/lib/hosts/option.d.ts +0 -12
- package/dist/lib/hosts/option.js +0 -12
- package/dist/lib/hosts/passthrough.d.ts +0 -129
- package/dist/lib/hosts/passthrough.js +12 -249
- package/dist/lib/hosts/progress.d.ts +0 -90
- package/dist/lib/hosts/progress.js +5 -115
- package/dist/lib/hosts/providers/devices.d.ts +0 -19
- package/dist/lib/hosts/providers/devices.js +1 -34
- package/dist/lib/hosts/providers/local.d.ts +0 -14
- package/dist/lib/hosts/providers/local.js +0 -22
- package/dist/lib/hosts/ready.d.ts +0 -99
- package/dist/lib/hosts/ready.js +0 -101
- package/dist/lib/hosts/reconcile.d.ts +0 -38
- package/dist/lib/hosts/reconcile.js +1 -50
- package/dist/lib/hosts/reconnect.d.ts +0 -75
- package/dist/lib/hosts/reconnect.js +0 -98
- package/dist/lib/hosts/registry.d.ts +0 -74
- package/dist/lib/hosts/registry.js +0 -110
- package/dist/lib/hosts/remote-cmd.d.ts +1 -228
- package/dist/lib/hosts/remote-cmd.js +19 -294
- package/dist/lib/hosts/remote-cmd.test-fixture.d.ts +0 -1
- package/dist/lib/hosts/remote-cmd.test-fixture.js +0 -12
- package/dist/lib/hosts/remote-os.d.ts +0 -19
- package/dist/lib/hosts/remote-os.js +0 -22
- package/dist/lib/hosts/remote-session-id.d.ts +0 -22
- package/dist/lib/hosts/remote-session-id.js +0 -24
- package/dist/lib/hosts/routing-flag.d.ts +0 -21
- package/dist/lib/hosts/routing-flag.js +0 -21
- package/dist/lib/hosts/run-target.d.ts +0 -53
- package/dist/lib/hosts/run-target.js +0 -56
- package/dist/lib/hosts/session-index.d.ts +1 -53
- package/dist/lib/hosts/session-index.js +2 -59
- package/dist/lib/hosts/session-marker.d.ts +0 -31
- package/dist/lib/hosts/session-marker.js +0 -32
- package/dist/lib/hosts/ssh-config.d.ts +0 -25
- package/dist/lib/hosts/ssh-config.js +1 -32
- package/dist/lib/hosts/tasks.d.ts +0 -54
- package/dist/lib/hosts/tasks.js +0 -35
- package/dist/lib/hosts/types.d.ts +0 -39
- package/dist/lib/hosts/types.js +0 -22
- package/dist/lib/humans.d.ts +0 -21
- package/dist/lib/humans.js +0 -30
- package/dist/lib/identity/client.d.ts +1 -35
- package/dist/lib/identity/client.js +3 -29
- package/dist/lib/identity/index.d.ts +3 -27
- package/dist/lib/identity/index.js +8 -24
- package/dist/lib/import.d.ts +0 -104
- package/dist/lib/import.js +1 -137
- package/dist/lib/installations/active-check.d.ts +0 -53
- package/dist/lib/installations/active-check.js +0 -49
- package/dist/lib/installations/index.d.ts +0 -9
- package/dist/lib/installations/index.js +0 -9
- package/dist/lib/installations/installation-lock.js +0 -8
- package/dist/lib/installations/launch-gate.d.ts +0 -56
- package/dist/lib/installations/launch-gate.js +0 -83
- package/dist/lib/installations/migrate.d.ts +0 -100
- package/dist/lib/installations/migrate.js +105 -572
- package/dist/lib/installations/native-command.d.ts +0 -1
- package/dist/lib/installations/native-command.js +0 -6
- package/dist/lib/installations/resolve.d.ts +0 -24
- package/dist/lib/installations/resolve.js +0 -24
- package/dist/lib/installations/shims.d.ts +0 -395
- package/dist/lib/installations/shims.js +30 -957
- package/dist/lib/installations/store.d.ts +0 -199
- package/dist/lib/installations/store.js +1 -297
- package/dist/lib/installations/strategies.d.ts +0 -44
- package/dist/lib/installations/strategies.js +0 -87
- package/dist/lib/installations/types.d.ts +1 -67
- package/dist/lib/installations/types.js +0 -6
- package/dist/lib/installations/update-cancellation.d.ts +0 -74
- package/dist/lib/installations/update-cancellation.js +0 -74
- package/dist/lib/installations/update-policy.d.ts +0 -57
- package/dist/lib/installations/update-policy.js +0 -62
- package/dist/lib/installations/update-runtime.d.ts +0 -88
- package/dist/lib/installations/update-runtime.js +1 -127
- package/dist/lib/installations/update.d.ts +0 -53
- package/dist/lib/installations/update.js +0 -95
- package/dist/lib/installations/versions.d.ts +0 -310
- package/dist/lib/installations/versions.js +14 -837
- package/dist/lib/isolation-boundary-report.d.ts +0 -7
- package/dist/lib/isolation-boundary-report.js +0 -7
- package/dist/lib/launch-identity.d.ts +0 -8
- package/dist/lib/launch-identity.js +0 -8
- package/dist/lib/linear-autoclose.d.ts +0 -25
- package/dist/lib/linear-autoclose.js +0 -19
- package/dist/lib/linear-cache.d.ts +0 -57
- package/dist/lib/linear-cache.js +1 -81
- package/dist/lib/linear-project-counts.d.ts +0 -83
- package/dist/lib/linear-project-counts.js +2 -64
- package/dist/lib/linear-projects.d.ts +0 -62
- package/dist/lib/linear-projects.js +0 -85
- package/dist/lib/linear-rate-limit.d.ts +0 -21
- package/dist/lib/linear-rate-limit.js +1 -93
- package/dist/lib/linux-userns.d.ts +1 -42
- package/dist/lib/linux-userns.js +0 -47
- package/dist/lib/lock-compromise.d.ts +0 -7
- package/dist/lib/lock-compromise.js +0 -7
- package/dist/lib/log-follow.d.ts +0 -2
- package/dist/lib/log-follow.js +5 -15
- package/dist/lib/loop.d.ts +0 -106
- package/dist/lib/loop.js +0 -135
- package/dist/lib/machine-id.d.ts +0 -19
- package/dist/lib/machine-id.js +0 -19
- package/dist/lib/mailbox-gc.d.ts +0 -7
- package/dist/lib/mailbox-gc.js +0 -25
- package/dist/lib/mailbox-target.d.ts +0 -31
- package/dist/lib/mailbox-target.js +0 -27
- package/dist/lib/mailbox.d.ts +0 -77
- package/dist/lib/mailbox.js +5 -105
- package/dist/lib/manifest.d.ts +0 -4
- package/dist/lib/manifest.js +0 -36
- package/dist/lib/markdown.d.ts +0 -3
- package/dist/lib/markdown.js +0 -9
- package/dist/lib/mcp-registry.d.ts +1 -50
- package/dist/lib/mcp-registry.js +0 -64
- package/dist/lib/mcp.d.ts +0 -115
- package/dist/lib/mcp.js +3 -199
- package/dist/lib/memory-cache.d.ts +0 -11
- package/dist/lib/memory-cache.js +0 -9
- package/dist/lib/memory.d.ts +0 -52
- package/dist/lib/memory.js +12 -74
- package/dist/lib/menubar/download-menubar.d.ts +0 -35
- package/dist/lib/menubar/download-menubar.js +0 -38
- package/dist/lib/menubar/install-menubar.d.ts +0 -405
- package/dist/lib/menubar/install-menubar.js +25 -667
- package/dist/lib/menubar/migrate-prefs.d.ts +0 -47
- package/dist/lib/menubar/migrate-prefs.js +1 -70
- package/dist/lib/menubar/notify-desktop.d.ts +0 -82
- package/dist/lib/menubar/notify-desktop.js +0 -68
- package/dist/lib/menubar/resolve-version.d.ts +0 -41
- package/dist/lib/menubar/resolve-version.js +2 -44
- package/dist/lib/menubar/snapshot.d.ts +13 -66
- package/dist/lib/menubar/snapshot.js +45 -39
- package/dist/lib/merged-resources.d.ts +0 -10
- package/dist/lib/merged-resources.js +0 -10
- package/dist/lib/migrate-fold.d.ts +0 -31
- package/dist/lib/migrate-fold.js +6 -38
- package/dist/lib/model-tier-overrides.d.ts +0 -30
- package/dist/lib/model-tier-overrides.js +0 -14
- package/dist/lib/model-tiers.d.ts +0 -43
- package/dist/lib/model-tiers.js +5 -78
- package/dist/lib/models.d.ts +0 -145
- package/dist/lib/models.js +3 -333
- package/dist/lib/monitors/config.d.ts +0 -187
- package/dist/lib/monitors/config.js +4 -101
- package/dist/lib/monitors/dispatch.d.ts +0 -22
- package/dist/lib/monitors/dispatch.js +0 -35
- package/dist/lib/monitors/engine.d.ts +1 -53
- package/dist/lib/monitors/engine.js +17 -106
- package/dist/lib/monitors/fingerprint.d.ts +0 -43
- package/dist/lib/monitors/fingerprint.js +0 -57
- package/dist/lib/monitors/pid-watch.d.ts +0 -31
- package/dist/lib/monitors/pid-watch.js +0 -31
- package/dist/lib/monitors/remote.d.ts +0 -52
- package/dist/lib/monitors/remote.js +0 -42
- package/dist/lib/monitors/sources/command.d.ts +2 -9
- package/dist/lib/monitors/sources/command.js +13 -34
- package/dist/lib/monitors/sources/device.d.ts +0 -10
- package/dist/lib/monitors/sources/device.js +0 -14
- package/dist/lib/monitors/sources/failure.d.ts +0 -27
- package/dist/lib/monitors/sources/failure.js +0 -27
- package/dist/lib/monitors/sources/file.d.ts +0 -10
- package/dist/lib/monitors/sources/file.js +0 -11
- package/dist/lib/monitors/sources/http.d.ts +0 -7
- package/dist/lib/monitors/sources/http.js +0 -9
- package/dist/lib/monitors/sources/index.d.ts +0 -9
- package/dist/lib/monitors/sources/index.js +0 -9
- package/dist/lib/monitors/sources/poll.d.ts +0 -8
- package/dist/lib/monitors/sources/poll.js +0 -8
- package/dist/lib/monitors/sources/types.d.ts +0 -18
- package/dist/lib/monitors/sources/types.js +0 -8
- package/dist/lib/monitors/sources/webhook.d.ts +0 -7
- package/dist/lib/monitors/sources/webhook.js +0 -7
- package/dist/lib/monitors/sources/ws.d.ts +0 -10
- package/dist/lib/monitors/sources/ws.js +3 -13
- package/dist/lib/monitors/state.d.ts +0 -132
- package/dist/lib/monitors/state.js +2 -86
- package/dist/lib/native-accounts.d.ts +0 -32
- package/dist/lib/native-accounts.js +0 -17
- package/dist/lib/net-close.d.ts +0 -9
- package/dist/lib/net-close.js +0 -5
- package/dist/lib/notify.d.ts +0 -47
- package/dist/lib/notify.js +0 -30
- package/dist/lib/onepassword.d.ts +0 -14
- package/dist/lib/onepassword.js +0 -12
- package/dist/lib/open-url.d.ts +0 -38
- package/dist/lib/open-url.js +1 -69
- package/dist/lib/openclaw-keychain.js +2 -7
- package/dist/lib/operator.d.ts +0 -9
- package/dist/lib/operator.js +0 -34
- package/dist/lib/origin-machine.d.ts +0 -16
- package/dist/lib/origin-machine.js +0 -16
- package/dist/lib/output/git-output.d.ts +0 -31
- package/dist/lib/output/git-output.js +4 -43
- package/dist/lib/overdue.d.ts +0 -35
- package/dist/lib/overdue.js +0 -60
- package/dist/lib/owner-message.d.ts +0 -20
- package/dist/lib/owner-message.js +1 -40
- package/dist/lib/packages/output-home.d.ts +0 -28
- package/dist/lib/packages/output-home.js +0 -114
- package/dist/lib/paths.d.ts +0 -26
- package/dist/lib/paths.js +1 -27
- package/dist/lib/percentile.d.ts +0 -11
- package/dist/lib/percentile.js +0 -11
- package/dist/lib/perf/db.d.ts +0 -16
- package/dist/lib/perf/db.js +3 -32
- package/dist/lib/perf/spool.d.ts +0 -12
- package/dist/lib/perf/spool.js +0 -13
- package/dist/lib/perf/types.d.ts +0 -26
- package/dist/lib/perf/types.js +0 -1
- package/dist/lib/permissions-registry.d.ts +0 -48
- package/dist/lib/permissions-registry.js +0 -108
- package/dist/lib/permissions.d.ts +0 -215
- package/dist/lib/permissions.js +4 -407
- package/dist/lib/picker.d.ts +0 -124
- package/dist/lib/picker.js +0 -140
- package/dist/lib/placement.d.ts +0 -57
- package/dist/lib/placement.js +0 -47
- package/dist/lib/platform/exec.d.ts +0 -73
- package/dist/lib/platform/exec.js +0 -80
- package/dist/lib/platform/index.d.ts +0 -14
- package/dist/lib/platform/index.js +0 -14
- package/dist/lib/platform/ipc.d.ts +0 -10
- package/dist/lib/platform/ipc.js +0 -13
- package/dist/lib/platform/links.d.ts +0 -14
- package/dist/lib/platform/links.js +0 -25
- package/dist/lib/platform/paths.d.ts +0 -48
- package/dist/lib/platform/paths.js +0 -52
- package/dist/lib/platform/posixpath.d.ts +0 -18
- package/dist/lib/platform/posixpath.js +0 -62
- package/dist/lib/platform/process.d.ts +0 -67
- package/dist/lib/platform/process.js +5 -99
- package/dist/lib/platform/winpath.d.ts +0 -50
- package/dist/lib/platform/winpath.js +0 -81
- package/dist/lib/plugins/plugin-marketplace.d.ts +0 -165
- package/dist/lib/plugins/plugin-marketplace.js +10 -238
- package/dist/lib/plugins/plugins.d.ts +0 -238
- package/dist/lib/plugins/plugins.js +20 -454
- package/dist/lib/plugins/skills.d.ts +0 -86
- package/dist/lib/plugins/skills.js +1 -139
- package/dist/lib/pr-land-detach.d.ts +0 -17
- package/dist/lib/pr-land-detach.js +0 -30
- package/dist/lib/pricing/cost.d.ts +0 -29
- package/dist/lib/pricing/cost.js +0 -38
- package/dist/lib/pricing/index.d.ts +0 -6
- package/dist/lib/pricing/index.js +0 -6
- package/dist/lib/pricing/table.d.ts +0 -8
- package/dist/lib/pricing/table.js +3 -56
- package/dist/lib/probe.d.ts +0 -5
- package/dist/lib/probe.js +0 -40
- package/dist/lib/profiles-presets.d.ts +0 -20
- package/dist/lib/profiles-presets.js +1 -36
- package/dist/lib/profiles.d.ts +0 -185
- package/dist/lib/profiles.js +1 -158
- package/dist/lib/project-doctor.d.ts +0 -29
- package/dist/lib/project-doctor.js +0 -26
- package/dist/lib/project-focus.d.ts +0 -41
- package/dist/lib/project-focus.js +0 -49
- package/dist/lib/project-import.d.ts +0 -41
- package/dist/lib/project-import.js +0 -36
- package/dist/lib/project-key.d.ts +0 -65
- package/dist/lib/project-key.js +0 -70
- package/dist/lib/project-launch.d.ts +0 -49
- package/dist/lib/project-launch.js +2 -91
- package/dist/lib/project-probe.d.ts +0 -86
- package/dist/lib/project-probe.js +1 -88
- package/dist/lib/project-pull.d.ts +0 -96
- package/dist/lib/project-pull.js +0 -122
- package/dist/lib/project-resources.d.ts +0 -44
- package/dist/lib/project-resources.js +7 -171
- package/dist/lib/project-root.d.ts +0 -95
- package/dist/lib/project-root.js +0 -101
- package/dist/lib/project-schedule.d.ts +0 -43
- package/dist/lib/project-schedule.js +0 -52
- package/dist/lib/project-status.d.ts +0 -108
- package/dist/lib/project-status.js +0 -117
- package/dist/lib/projects.d.ts +0 -197
- package/dist/lib/projects.js +1 -213
- package/dist/lib/pwsh.d.ts +0 -41
- package/dist/lib/pwsh.js +0 -51
- package/dist/lib/quick-todo.d.ts +84 -0
- package/dist/lib/quick-todo.js +243 -0
- package/dist/lib/reconcile-and-repair.d.ts +0 -78
- package/dist/lib/reconcile-and-repair.js +3 -66
- package/dist/lib/redact.d.ts +0 -29
- package/dist/lib/redact.js +0 -54
- package/dist/lib/refresh-coordinator.d.ts +0 -15
- package/dist/lib/refresh-coordinator.js +0 -10
- package/dist/lib/refresh.d.ts +0 -39
- package/dist/lib/refresh.js +0 -45
- package/dist/lib/registry.d.ts +0 -65
- package/dist/lib/registry.js +0 -127
- package/dist/lib/reminders.d.ts +0 -21
- package/dist/lib/reminders.js +0 -30
- package/dist/lib/remote-agents-json.d.ts +0 -44
- package/dist/lib/remote-agents-json.js +1 -44
- package/dist/lib/reserved-stores.d.ts +0 -28
- package/dist/lib/reserved-stores.js +2 -28
- package/dist/lib/resource-aliases.d.ts +0 -12
- package/dist/lib/resource-aliases.js +0 -12
- package/dist/lib/resource-content-diff.d.ts +0 -28
- package/dist/lib/resource-content-diff.js +7 -34
- package/dist/lib/resource-inventory.d.ts +0 -51
- package/dist/lib/resource-inventory.js +0 -45
- package/dist/lib/resource-patterns.d.ts +0 -32
- package/dist/lib/resource-patterns.js +0 -34
- package/dist/lib/resource-profiles.d.ts +0 -7
- package/dist/lib/resource-profiles.js +0 -11
- package/dist/lib/resources/types.d.ts +0 -50
- package/dist/lib/resources/types.js +0 -7
- package/dist/lib/resources/workflows.d.ts +0 -7
- package/dist/lib/resources/workflows.js +0 -13
- package/dist/lib/resources.d.ts +0 -65
- package/dist/lib/resources.js +0 -78
- package/dist/lib/routers.d.ts +0 -67
- package/dist/lib/routers.js +0 -60
- package/dist/lib/routine-activation.d.ts +0 -23
- package/dist/lib/routine-activation.js +0 -24
- package/dist/lib/routine-context.d.ts +1 -91
- package/dist/lib/routine-context.js +0 -107
- package/dist/lib/routine-notify-owner.d.ts +0 -79
- package/dist/lib/routine-notify-owner.js +1 -103
- package/dist/lib/routine-notify.d.ts +0 -70
- package/dist/lib/routine-notify.js +1 -75
- package/dist/lib/routine-process-cleanup.d.ts +0 -1
- package/dist/lib/routine-process-cleanup.js +1 -4
- package/dist/lib/routine-readiness.d.ts +0 -63
- package/dist/lib/routine-readiness.js +4 -86
- package/dist/lib/routines-format.d.ts +0 -40
- package/dist/lib/routines-format.js +0 -67
- package/dist/lib/routines-placement.d.ts +0 -33
- package/dist/lib/routines-placement.js +0 -40
- package/dist/lib/routines-project.d.ts +0 -57
- package/dist/lib/routines-project.js +6 -80
- package/dist/lib/rules/compile.d.ts +0 -66
- package/dist/lib/rules/compile.js +6 -118
- package/dist/lib/rules/compose.d.ts +0 -56
- package/dist/lib/rules/compose.js +2 -83
- package/dist/lib/rules/rules.d.ts +0 -23
- package/dist/lib/rules/rules.js +0 -35
- package/dist/lib/rules/run-sync.d.ts +0 -16
- package/dist/lib/rules/run-sync.js +1 -44
- package/dist/lib/run-config.d.ts +0 -7
- package/dist/lib/run-config.js +0 -8
- package/dist/lib/run-defaults.d.ts +0 -14
- package/dist/lib/run-defaults.js +0 -14
- package/dist/lib/run-notify.d.ts +0 -18
- package/dist/lib/run-notify.js +0 -36
- package/dist/lib/run-trace-sync.d.ts +0 -21
- package/dist/lib/run-trace-sync.js +2 -66
- package/dist/lib/rush-session.d.ts +0 -26
- package/dist/lib/rush-session.js +0 -28
- package/dist/lib/sandbox.d.ts +0 -45
- package/dist/lib/sandbox.js +5 -93
- package/dist/lib/scheduler.d.ts +0 -28
- package/dist/lib/scheduler.js +0 -45
- package/dist/lib/scheduling/routines.d.ts +0 -652
- package/dist/lib/scheduling/routines.js +8 -475
- package/dist/lib/secrets-cli.d.ts +3 -8
- package/dist/lib/secrets-cli.js +1 -19
- package/dist/lib/secrets-client.d.ts +0 -117
- package/dist/lib/secrets-client.js +4 -275
- package/dist/lib/secrets-policy.d.ts +0 -142
- package/dist/lib/secrets-policy.js +4 -237
- package/dist/lib/secrets-types.d.ts +0 -87
- package/dist/lib/secrets-types.js +0 -13
- package/dist/lib/self-heal/checks/hook-manifest.js +0 -25
- package/dist/lib/self-heal/checks/hook-runtime.js +0 -5
- package/dist/lib/self-heal/checks/install-staging.d.ts +0 -1
- package/dist/lib/self-heal/checks/install-staging.js +1 -28
- package/dist/lib/self-heal/checks/menubar-helper.js +0 -5
- package/dist/lib/self-heal/checks/path.js +0 -9
- package/dist/lib/self-heal/checks/resources.js +0 -5
- package/dist/lib/self-heal/checks/shadowing.js +2 -16
- package/dist/lib/self-heal/checks/shims.js +0 -14
- package/dist/lib/self-heal/child.d.ts +12 -0
- package/dist/lib/self-heal/child.js +23 -0
- package/dist/lib/self-heal/registry.d.ts +0 -9
- package/dist/lib/self-heal/registry.js +0 -16
- package/dist/lib/self-heal/types.d.ts +0 -12
- package/dist/lib/self-heal/types.js +0 -15
- package/dist/lib/self-update.d.ts +0 -312
- package/dist/lib/self-update.js +9 -360
- package/dist/lib/service-manifest.d.ts +0 -39
- package/dist/lib/service-manifest.js +0 -72
- package/dist/lib/session/active.d.ts +13 -869
- package/dist/lib/session/active.js +20 -976
- package/dist/lib/session/actor-sidecar.d.ts +1 -32
- package/dist/lib/session/actor-sidecar.js +1 -41
- package/dist/lib/session/bookmarks.d.ts +0 -33
- package/dist/lib/session/bookmarks.js +0 -37
- package/dist/lib/session/bundle.d.ts +0 -86
- package/dist/lib/session/bundle.js +0 -54
- package/dist/lib/session/claude-accounts.d.ts +0 -40
- package/dist/lib/session/claude-accounts.js +0 -49
- package/dist/lib/session/cloud.d.ts +1 -23
- package/dist/lib/session/cloud.js +0 -26
- package/dist/lib/session/db.d.ts +5 -658
- package/dist/lib/session/db.js +22 -1443
- package/dist/lib/session/detached.d.ts +0 -21
- package/dist/lib/session/detached.js +0 -29
- package/dist/lib/session/discover.d.ts +3 -420
- package/dist/lib/session/discover.js +30 -1123
- package/dist/lib/session/fork.d.ts +1 -41
- package/dist/lib/session/fork.js +0 -19
- package/dist/lib/session/ghostty-tabs.d.ts +0 -24
- package/dist/lib/session/ghostty-tabs.js +0 -37
- package/dist/lib/session/glance-files.d.ts +19 -0
- package/dist/lib/session/glance-files.js +258 -0
- package/dist/lib/session/hook-sessions.d.ts +0 -33
- package/dist/lib/session/hook-sessions.js +4 -99
- package/dist/lib/session/host-link.d.ts +1 -94
- package/dist/lib/session/host-link.js +1 -81
- package/dist/lib/session/inject-target.d.ts +8 -0
- package/dist/lib/session/inject-target.js +32 -0
- package/dist/lib/session/inject.d.ts +0 -15
- package/dist/lib/session/inject.js +0 -15
- package/dist/lib/session/live-metadata.d.ts +1 -34
- package/dist/lib/session/live-metadata.js +1 -73
- package/dist/lib/session/local-tmux-attach.d.ts +0 -37
- package/dist/lib/session/local-tmux-attach.js +1 -76
- package/dist/lib/session/migrate-targets.d.ts +0 -46
- package/dist/lib/session/migrate-targets.js +0 -24
- package/dist/lib/session/migrations.d.ts +0 -12
- package/dist/lib/session/migrations.js +1 -20
- package/dist/lib/session/mirror.d.ts +0 -32
- package/dist/lib/session/mirror.js +0 -77
- package/dist/lib/session/origin-machine.js +0 -3
- package/dist/lib/session/pid-registry.d.ts +0 -80
- package/dist/lib/session/pid-registry.js +2 -81
- package/dist/lib/session/presence.d.ts +0 -39
- package/dist/lib/session/presence.js +2 -52
- package/dist/lib/session/process-view.d.ts +0 -11
- package/dist/lib/session/process-view.js +0 -25
- package/dist/lib/session/projection.d.ts +0 -3
- package/dist/lib/session/projection.js +0 -10
- package/dist/lib/session/provenance.d.ts +1 -37
- package/dist/lib/session/provenance.js +0 -69
- package/dist/lib/session/recovery.d.ts +1 -40
- package/dist/lib/session/recovery.js +2 -80
- package/dist/lib/session/relative-time.js +0 -3
- package/dist/lib/session/remote/peer-stream.d.ts +0 -42
- package/dist/lib/session/remote/peer-stream.js +0 -64
- package/dist/lib/session/remote/remote-bundle.d.ts +0 -6
- package/dist/lib/session/remote/remote-bundle.js +0 -21
- package/dist/lib/session/remote/remote-list.d.ts +1 -110
- package/dist/lib/session/remote/remote-list.js +5 -139
- package/dist/lib/session/remote/remote.d.ts +0 -98
- package/dist/lib/session/remote/remote.js +3 -119
- package/dist/lib/session/remote/watch.d.ts +1 -34
- package/dist/lib/session/remote/watch.js +12 -72
- package/dist/lib/session/remote-active.d.ts +0 -35
- package/dist/lib/session/remote-active.js +0 -48
- package/dist/lib/session/remote-bundle.js +0 -2
- package/dist/lib/session/remote-list.js +0 -2
- package/dist/lib/session/remote-preview-cache.d.ts +0 -7
- package/dist/lib/session/remote-preview-cache.js +1 -76
- package/dist/lib/session/remote.js +0 -2
- package/dist/lib/session/resume-command.d.ts +0 -6
- package/dist/lib/session/resume-command.js +0 -6
- package/dist/lib/session/resume-owner.d.ts +1 -52
- package/dist/lib/session/resume-owner.js +0 -56
- package/dist/lib/session/run-names.d.ts +0 -24
- package/dist/lib/session/run-names.js +0 -26
- package/dist/lib/session/session-cache.d.ts +2 -146
- package/dist/lib/session/session-cache.js +26 -203
- package/dist/lib/session/short-id.js +0 -3
- package/dist/lib/session/sync/agents.d.ts +0 -68
- package/dist/lib/session/sync/agents.js +0 -0
- package/dist/lib/session/sync/backend.d.ts +0 -39
- package/dist/lib/session/sync/backend.js +0 -45
- package/dist/lib/session/sync/config.d.ts +0 -27
- package/dist/lib/session/sync/config.js +0 -56
- package/dist/lib/session/sync/managed-config.d.ts +0 -17
- package/dist/lib/session/sync/managed-config.js +0 -17
- package/dist/lib/session/sync/managed-key.d.ts +0 -38
- package/dist/lib/session/sync/managed-key.js +1 -42
- package/dist/lib/session/sync/net-client.d.ts +0 -36
- package/dist/lib/session/sync/net-client.js +0 -30
- package/dist/lib/session/sync/provision.d.ts +0 -2
- package/dist/lib/session/sync/provision.js +0 -13
- package/dist/lib/session/sync/r2.d.ts +0 -20
- package/dist/lib/session/sync/r2.js +0 -20
- package/dist/lib/session/sync/transcript-crypto.d.ts +0 -37
- package/dist/lib/session/sync/transcript-crypto.js +5 -37
- package/dist/lib/session/sync/worker-template.d.ts +0 -5
- package/dist/lib/session/sync/worker-template.js +0 -40
- package/dist/lib/session/testdata/pid-registry-namespace.js +0 -2
- package/dist/lib/session/testdata/process-view-private.js +0 -1
- package/dist/lib/session/throughput.d.ts +0 -24
- package/dist/lib/session/throughput.js +1 -25
- package/dist/lib/session/timeline-pass.d.ts +1 -63
- package/dist/lib/session/timeline-pass.js +161 -148
- package/dist/lib/session/title.d.ts +0 -182
- package/dist/lib/session/title.js +0 -139
- package/dist/lib/session/tool-index.d.ts +2 -21
- package/dist/lib/session/tool-index.js +3 -75
- package/dist/lib/session/tool-store.d.ts +2 -48
- package/dist/lib/session/tool-store.js +1 -33
- package/dist/lib/session/viewing-in.d.ts +0 -67
- package/dist/lib/session/viewing-in.js +1 -71
- package/dist/lib/session/watch.js +0 -2
- package/dist/lib/session/width.js +0 -3
- package/dist/lib/sessions-client.d.ts +0 -46
- package/dist/lib/sessions-client.js +36 -113
- package/dist/lib/settings-manifest.d.ts +1 -17
- package/dist/lib/settings-manifest.js +4 -57
- package/dist/lib/setup-tool-install.d.ts +0 -1
- package/dist/lib/setup-tool-install.js +2 -7
- package/dist/lib/setup-tool-status.d.ts +0 -3
- package/dist/lib/setup-tool-status.js +4 -14
- package/dist/lib/sha256-asset.d.ts +0 -20
- package/dist/lib/sha256-asset.js +0 -20
- package/dist/lib/share-runtime.d.ts +0 -10
- package/dist/lib/share-runtime.js +1 -27
- package/dist/lib/shim-heal.d.ts +0 -15
- package/dist/lib/shim-heal.js +3 -29
- package/dist/lib/signin-badge.d.ts +0 -72
- package/dist/lib/signin-badge.js +0 -86
- package/dist/lib/sink-format.d.ts +0 -32
- package/dist/lib/sink-format.js +0 -14
- package/dist/lib/smart-launch.d.ts +0 -75
- package/dist/lib/smart-launch.js +1 -83
- package/dist/lib/snapshot.d.ts +0 -46
- package/dist/lib/snapshot.js +5 -31
- package/dist/lib/spinner.d.ts +0 -37
- package/dist/lib/spinner.js +0 -37
- package/dist/lib/sqlite.d.ts +0 -13
- package/dist/lib/sqlite.js +3 -71
- package/dist/lib/ssh-exec.d.ts +0 -209
- package/dist/lib/ssh-exec.js +11 -248
- package/dist/lib/ssh-tunnel.d.ts +0 -43
- package/dist/lib/ssh-tunnel.js +2 -48
- package/dist/lib/staleness/checkers/commands.d.ts +0 -4
- package/dist/lib/staleness/checkers/commands.js +0 -4
- package/dist/lib/staleness/checkers/hooks.d.ts +0 -10
- package/dist/lib/staleness/checkers/hooks.js +0 -15
- package/dist/lib/staleness/checkers/mcp.d.ts +0 -9
- package/dist/lib/staleness/checkers/mcp.js +0 -9
- package/dist/lib/staleness/checkers/permissions.d.ts +0 -12
- package/dist/lib/staleness/checkers/permissions.js +0 -13
- package/dist/lib/staleness/checkers/plugins.d.ts +0 -8
- package/dist/lib/staleness/checkers/plugins.js +0 -8
- package/dist/lib/staleness/checkers/rules.d.ts +0 -15
- package/dist/lib/staleness/checkers/rules.js +0 -26
- package/dist/lib/staleness/checkers/skills.d.ts +0 -4
- package/dist/lib/staleness/checkers/skills.js +0 -4
- package/dist/lib/staleness/checkers/subagents.d.ts +0 -9
- package/dist/lib/staleness/checkers/subagents.js +0 -9
- package/dist/lib/staleness/checkers/types.d.ts +0 -34
- package/dist/lib/staleness/checkers/types.js +0 -19
- package/dist/lib/staleness/checkers/workflows.d.ts +0 -7
- package/dist/lib/staleness/checkers/workflows.js +0 -7
- package/dist/lib/staleness/detectors/commands.js +0 -17
- package/dist/lib/staleness/detectors/hooks.js +1 -6
- package/dist/lib/staleness/detectors/mcp.js +0 -4
- package/dist/lib/staleness/detectors/permissions.js +10 -23
- package/dist/lib/staleness/detectors/rules.js +0 -6
- package/dist/lib/staleness/detectors/skills.d.ts +0 -1
- package/dist/lib/staleness/detectors/skills.js +1 -12
- package/dist/lib/staleness/detectors/types.d.ts +0 -10
- package/dist/lib/staleness/fingerprint.d.ts +0 -19
- package/dist/lib/staleness/fingerprint.js +0 -35
- package/dist/lib/staleness/index.d.ts +0 -28
- package/dist/lib/staleness/index.js +1 -45
- package/dist/lib/staleness/layers.d.ts +0 -23
- package/dist/lib/staleness/layers.js +0 -34
- package/dist/lib/staleness/prune.d.ts +0 -71
- package/dist/lib/staleness/prune.js +2 -27
- package/dist/lib/staleness/registry.d.ts +0 -10
- package/dist/lib/staleness/registry.js +3 -33
- package/dist/lib/staleness/types.d.ts +0 -36
- package/dist/lib/staleness/types.js +0 -5
- package/dist/lib/staleness/writers/commands.js +1 -48
- package/dist/lib/staleness/writers/hooks.js +1 -18
- package/dist/lib/staleness/writers/kinds.d.ts +0 -12
- package/dist/lib/staleness/writers/kinds.js +0 -1
- package/dist/lib/staleness/writers/lazy-map.d.ts +0 -11
- package/dist/lib/staleness/writers/mcp.js +0 -13
- package/dist/lib/staleness/writers/plugins.js +0 -4
- package/dist/lib/staleness/writers/rules.d.ts +0 -1
- package/dist/lib/staleness/writers/rules.js +1 -19
- package/dist/lib/staleness/writers/skills.js +3 -14
- package/dist/lib/staleness/writers/sources.d.ts +0 -11
- package/dist/lib/staleness/writers/sources.js +0 -32
- package/dist/lib/staleness/writers/subagents.js +0 -16
- package/dist/lib/staleness/writers/types.d.ts +0 -58
- package/dist/lib/staleness/writers/workflows.js +1 -1
- package/dist/lib/standalone-tools.d.ts +24 -0
- package/dist/lib/standalone-tools.js +58 -0
- package/dist/lib/star-nudge.d.ts +0 -32
- package/dist/lib/star-nudge.js +2 -36
- package/dist/lib/startup/command-registry.d.ts +0 -45
- package/dist/lib/startup/command-registry.js +1 -46
- package/dist/lib/startup/dev-build.d.ts +0 -9
- package/dist/lib/startup/dev-build.js +1 -42
- package/dist/lib/startup/root-command.d.ts +0 -19
- package/dist/lib/startup/root-command.js +0 -19
- package/dist/lib/startup/spellcheck.d.ts +0 -13
- package/dist/lib/startup/spellcheck.js +0 -13
- package/dist/lib/state.d.ts +0 -376
- package/dist/lib/state.js +19 -737
- package/dist/lib/storage/selection.d.ts +0 -40
- package/dist/lib/storage/selection.js +0 -29
- package/dist/lib/subagents-registry.d.ts +0 -56
- package/dist/lib/subagents-registry.js +0 -99
- package/dist/lib/subagents.d.ts +0 -128
- package/dist/lib/subagents.js +1 -158
- package/dist/lib/summarizer/config.d.ts +0 -37
- package/dist/lib/summarizer/config.js +0 -37
- package/dist/lib/summarizer/pass.d.ts +0 -20
- package/dist/lib/summarizer/pass.js +1 -34
- package/dist/lib/summarizer/summarize.d.ts +1 -49
- package/dist/lib/summarizer/summarize.js +0 -35
- package/dist/lib/sync-passphrase.d.ts +0 -16
- package/dist/lib/sync-passphrase.js +1 -18
- package/dist/lib/sync-status.d.ts +0 -72
- package/dist/lib/sync-status.js +0 -55
- package/dist/lib/sync-umbrella.d.ts +0 -54
- package/dist/lib/sync-umbrella.js +0 -48
- package/dist/lib/system-run-sync.d.ts +0 -5
- package/dist/lib/system-run-sync.js +1 -31
- package/dist/lib/teams/agents.d.ts +1 -444
- package/dist/lib/teams/agents.js +11 -871
- package/dist/lib/teams/api.d.ts +2 -52
- package/dist/lib/teams/api.js +4 -63
- package/dist/lib/teams/debug.d.ts +0 -6
- package/dist/lib/teams/debug.js +0 -6
- package/dist/lib/teams/delivery.d.ts +0 -41
- package/dist/lib/teams/delivery.js +0 -32
- package/dist/lib/teams/file_ops.d.ts +0 -11
- package/dist/lib/teams/file_ops.js +0 -11
- package/dist/lib/teams/forEach.d.ts +0 -76
- package/dist/lib/teams/forEach.js +1 -77
- package/dist/lib/teams/index.d.ts +1 -7
- package/dist/lib/teams/index.js +1 -7
- package/dist/lib/teams/parsers.d.ts +0 -4
- package/dist/lib/teams/parsers.js +0 -81
- package/dist/lib/teams/persistence.d.ts +0 -2
- package/dist/lib/teams/persistence.js +0 -12
- package/dist/lib/teams/placement-probe.d.ts +0 -12
- package/dist/lib/teams/placement-probe.js +1 -51
- package/dist/lib/teams/pr-watch.d.ts +0 -107
- package/dist/lib/teams/pr-watch.js +1 -107
- package/dist/lib/teams/registry.d.ts +0 -36
- package/dist/lib/teams/registry.js +0 -47
- package/dist/lib/teams/remoteWorktree.d.ts +0 -50
- package/dist/lib/teams/remoteWorktree.js +1 -96
- package/dist/lib/teams/scheduler.d.ts +0 -111
- package/dist/lib/teams/scheduler.js +2 -125
- package/dist/lib/teams/summarizer.d.ts +0 -22
- package/dist/lib/teams/summarizer.js +6 -50
- package/dist/lib/teams/supervisor.d.ts +0 -38
- package/dist/lib/teams/supervisor.js +0 -21
- package/dist/lib/teams/worktree.d.ts +0 -95
- package/dist/lib/teams/worktree.js +3 -110
- package/dist/lib/template.d.ts +0 -21
- package/dist/lib/template.js +0 -23
- package/dist/lib/term-client.d.ts +0 -26
- package/dist/lib/term-client.js +0 -48
- package/dist/lib/term-driver.d.ts +0 -5
- package/dist/lib/term-driver.js +0 -8
- package/dist/lib/terminal/backends/ghostty.d.ts +0 -2
- package/dist/lib/terminal/backends/ghostty.js +0 -12
- package/dist/lib/terminal/backends/index.d.ts +0 -17
- package/dist/lib/terminal/backends/index.js +0 -15
- package/dist/lib/terminal/backends/iterm.d.ts +0 -2
- package/dist/lib/terminal/backends/iterm.js +0 -10
- package/dist/lib/terminal/backends/terminal-app.d.ts +0 -10
- package/dist/lib/terminal/backends/terminal-app.js +0 -30
- package/dist/lib/terminal/backends/tmux.d.ts +0 -10
- package/dist/lib/terminal/backends/tmux.js +0 -2
- package/dist/lib/terminal/backends/vscodium-agent.d.ts +0 -25
- package/dist/lib/terminal/backends/vscodium-agent.js +0 -36
- package/dist/lib/terminal/engine.d.ts +0 -17
- package/dist/lib/terminal/engine.js +0 -10
- package/dist/lib/terminal/index.d.ts +0 -8
- package/dist/lib/terminal/inject.d.ts +1 -173
- package/dist/lib/terminal/inject.js +0 -146
- package/dist/lib/terminal/policy.d.ts +0 -8
- package/dist/lib/terminal/policy.js +0 -1
- package/dist/lib/terminal/preferred.d.ts +0 -66
- package/dist/lib/terminal/preferred.js +0 -30
- package/dist/lib/terminal/quote.d.ts +0 -8
- package/dist/lib/terminal/quote.js +0 -8
- package/dist/lib/terminal/resolve.d.ts +0 -46
- package/dist/lib/terminal/resolve.js +0 -30
- package/dist/lib/terminal/run-surface.d.ts +0 -56
- package/dist/lib/terminal/run-surface.js +0 -46
- package/dist/lib/terminal/shell.d.ts +0 -3
- package/dist/lib/terminal/shell.js +0 -13
- package/dist/lib/terminal/transport.d.ts +0 -14
- package/dist/lib/terminal/transport.js +1 -30
- package/dist/lib/terminal/types.d.ts +0 -40
- package/dist/lib/terminal/types.js +0 -10
- package/dist/lib/text/relative-time.d.ts +0 -36
- package/dist/lib/text/relative-time.js +0 -43
- package/dist/lib/text/short-id.d.ts +0 -16
- package/dist/lib/text/short-id.js +0 -16
- package/dist/lib/text/width.d.ts +0 -24
- package/dist/lib/text/width.js +10 -52
- package/dist/lib/tmux/binary.d.ts +0 -36
- package/dist/lib/tmux/binary.js +0 -28
- package/dist/lib/tmux/index.d.ts +0 -5
- package/dist/lib/tmux/index.js +0 -5
- package/dist/lib/tmux/orphan-reap.d.ts +0 -253
- package/dist/lib/tmux/orphan-reap.js +3 -299
- package/dist/lib/tmux/paths.d.ts +0 -14
- package/dist/lib/tmux/paths.js +0 -14
- package/dist/lib/tmux/session.d.ts +0 -263
- package/dist/lib/tmux/session.js +6 -344
- package/dist/lib/traces/backend.d.ts +0 -20
- package/dist/lib/traces/backend.js +0 -23
- package/dist/lib/traces/classify.d.ts +0 -20
- package/dist/lib/traces/classify.js +0 -7
- package/dist/lib/traces/insights.d.ts +1 -84
- package/dist/lib/traces/insights.js +0 -126
- package/dist/lib/traces/phenotype.d.ts +0 -69
- package/dist/lib/traces/phenotype.js +0 -150
- package/dist/lib/traces/provision.d.ts +0 -1
- package/dist/lib/traces/provision.js +0 -5
- package/dist/lib/traces/schema2-build.d.ts +3 -60
- package/dist/lib/traces/schema2-build.js +8 -149
- package/dist/lib/traces/schema2-danger.d.ts +0 -30
- package/dist/lib/traces/schema2-danger.js +1 -63
- package/dist/lib/traces/schema2.d.ts +0 -11
- package/dist/lib/traces/segments.d.ts +0 -44
- package/dist/lib/traces/segments.js +0 -65
- package/dist/lib/traces/sync.d.ts +2 -239
- package/dist/lib/traces/sync.js +15 -237
- package/dist/lib/traces/worker-template.d.ts +0 -3
- package/dist/lib/traces/worker-template.js +0 -29
- package/dist/lib/triggers/handlers.d.ts +0 -82
- package/dist/lib/triggers/handlers.js +0 -75
- package/dist/lib/triggers/webhook.d.ts +0 -158
- package/dist/lib/triggers/webhook.js +0 -143
- package/dist/lib/types.d.ts +0 -736
- package/dist/lib/types.js +0 -50
- package/dist/lib/uninstall.d.ts +0 -17
- package/dist/lib/uninstall.js +0 -75
- package/dist/lib/usage-backoff.d.ts +0 -20
- package/dist/lib/usage-backoff.js +3 -60
- package/dist/lib/usage-refresh.d.ts +0 -154
- package/dist/lib/usage-refresh.js +8 -212
- package/dist/lib/verbs.d.ts +0 -12
- package/dist/lib/verbs.js +0 -12
- package/dist/lib/version-duplicates.d.ts +0 -6
- package/dist/lib/version-duplicates.js +0 -6
- package/dist/lib/version.d.ts +0 -55
- package/dist/lib/version.js +1 -58
- package/dist/lib/view-types.d.ts +0 -48
- package/dist/lib/warn-unpushed.d.ts +0 -27
- package/dist/lib/warn-unpushed.js +1 -45
- package/dist/lib/watchdog/history.d.ts +0 -1
- package/dist/lib/watchdog/history.js +0 -3
- package/dist/lib/watchdog/index.js +0 -2
- package/dist/lib/watchdog/log.d.ts +0 -19
- package/dist/lib/watchdog/log.js +0 -34
- package/dist/lib/watchdog/read.d.ts +0 -27
- package/dist/lib/watchdog/read.js +3 -58
- package/dist/lib/watchdog/rotate.d.ts +0 -139
- package/dist/lib/watchdog/rotate.js +2 -151
- package/dist/lib/watchdog/runner.d.ts +0 -125
- package/dist/lib/watchdog/runner.js +3 -223
- package/dist/lib/watchdog/service.d.ts +0 -1
- package/dist/lib/watchdog/service.js +0 -2
- package/dist/lib/watchdog/watchdog-agent.d.ts +0 -31
- package/dist/lib/watchdog/watchdog-agent.js +0 -27
- package/dist/lib/watchdog/watchdog.d.ts +0 -7
- package/dist/lib/watchdog/watchdog.js +0 -10
- package/dist/lib/watchdog/watchdogTail.js +0 -7
- package/dist/lib/whats-new.d.ts +0 -10
- package/dist/lib/whats-new.js +0 -21
- package/dist/lib/workflows-registry.d.ts +0 -45
- package/dist/lib/workflows-registry.js +0 -60
- package/dist/lib/workflows.d.ts +0 -282
- package/dist/lib/workflows.js +3 -213
- package/dist/lib/worktree/held.d.ts +0 -89
- package/dist/lib/worktree/held.js +1 -103
- package/dist/lib/wrap.d.ts +0 -32
- package/dist/lib/wrap.js +0 -32
- package/dist/lib/yaml-io.d.ts +0 -45
- package/dist/lib/yaml-io.js +0 -47
- package/dist/session-tracker/dist/adapters/claude.js +0 -2
- package/dist/session-tracker/dist/hook.sh +4 -37
- package/dist/session-tracker/dist/index.d.ts +0 -7
- package/dist/session-tracker/dist/index.js +0 -5
- package/dist/session-tracker/dist/install-hook.d.ts +0 -5
- package/dist/session-tracker/dist/install-hook.js +1 -15
- package/dist/session-tracker/dist/prune-state.js +0 -4
- package/dist/session-tracker/dist/reader.js +0 -4
- package/dist/session-tracker/dist/state-file.d.ts +0 -3
- package/dist/session-tracker/dist/state-file.js +3 -8
- package/package.json +3 -4
- package/scripts/postinstall.js +8 -116
- package/dist/lib/session/artifacts.d.ts +0 -14
- package/dist/lib/session/artifacts.js +0 -101
- package/dist/lib/session/bash-command.d.ts +0 -63
- package/dist/lib/session/bash-command.js +0 -490
- package/dist/lib/session/digest.d.ts +0 -66
- package/dist/lib/session/digest.js +0 -328
- package/dist/lib/session/highlights.d.ts +0 -151
- package/dist/lib/session/highlights.js +0 -391
- package/dist/lib/session/insights.d.ts +0 -165
- package/dist/lib/session/insights.js +0 -563
- package/dist/lib/session/linear.d.ts +0 -19
- package/dist/lib/session/linear.js +0 -99
- package/dist/lib/session/parse.d.ts +0 -224
- package/dist/lib/session/parse.js +0 -2408
- package/dist/lib/session/prompt.d.ts +0 -213
- package/dist/lib/session/prompt.js +0 -601
- package/dist/lib/session/render.d.ts +0 -133
- package/dist/lib/session/render.js +0 -1047
- package/dist/lib/session/share-html.d.ts +0 -35
- package/dist/lib/session/share-html.js +0 -319
- package/dist/lib/session/shell-programs.d.ts +0 -33
- package/dist/lib/session/shell-programs.js +0 -380
- package/dist/lib/session/state.d.ts +0 -269
- package/dist/lib/session/state.js +0 -777
- package/dist/lib/session/stream-render.d.ts +0 -4
- package/dist/lib/session/stream-render.js +0 -131
- package/dist/lib/session/tail.d.ts +0 -88
- package/dist/lib/session/tail.js +0 -294
- package/dist/lib/session/team-filter.d.ts +0 -129
- package/dist/lib/session/team-filter.js +0 -269
- package/dist/lib/session/timeline.d.ts +0 -172
- package/dist/lib/session/timeline.js +0 -636
- package/dist/lib/session/tool-calls.d.ts +0 -132
- package/dist/lib/session/tool-calls.js +0 -674
- package/dist/lib/session/trajectory-compare.d.ts +0 -48
- package/dist/lib/session/trajectory-compare.js +0 -116
- package/dist/lib/session/trajectory-html.d.ts +0 -19
- package/dist/lib/session/trajectory-html.js +0 -771
- package/dist/lib/session/trajectory-lineage.d.ts +0 -93
- package/dist/lib/session/trajectory-lineage.js +0 -195
- package/dist/lib/session/trajectory-text.d.ts +0 -38
- package/dist/lib/session/trajectory-text.js +0 -284
- package/dist/lib/session/trajectory.d.ts +0 -145
- package/dist/lib/session/trajectory.js +0 -394
- package/dist/lib/session/types.d.ts +0 -627
- package/dist/lib/session/types.js +0 -43
package/dist/lib/run-notify.js
CHANGED
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Desktop notification when a headless `agents run` finishes (`--notify`).
|
|
3
|
-
*
|
|
4
|
-
* The notifying process is the one that OWNS the run. That is the whole point:
|
|
5
|
-
* the menu bar's quick dispatch used to post its completion notice from the
|
|
6
|
-
* dispatching MenubarHelper's process-termination callback, so a helper that
|
|
7
|
-
* restarted (an upgrade, a crash) took the callback with it — the run kept
|
|
8
|
-
* going, reparented to launchd, and no notification could ever fire. Posting
|
|
9
|
-
* from the run process instead means the notice survives anything that happens
|
|
10
|
-
* to the menu bar, and `notifyDesktop` spawns a FRESH one-shot notifier, so it
|
|
11
|
-
* does not need a helper to have been running at dispatch time either.
|
|
12
|
-
*
|
|
13
|
-
* Armed once via `process.on('exit')` so it covers every way the run command
|
|
14
|
-
* terminates — local spawn, `--device` dispatch, `--lease` box, the error path —
|
|
15
|
-
* rather than being sprinkled over ~50 `process.exit` call sites where the next
|
|
16
|
-
* new exit path would silently miss it.
|
|
17
|
-
*/
|
|
18
1
|
import * as path from 'path';
|
|
19
2
|
import { notifyDesktop } from './menubar/notify-desktop.js';
|
|
20
|
-
/** Notification body cap: a banner truncates anyway, and a wall of text is noise. */
|
|
21
3
|
const BODY_MAX = 120;
|
|
22
4
|
function shorten(text, max = BODY_MAX) {
|
|
23
5
|
const flat = text.replace(/\s+/g, ' ').trim();
|
|
24
6
|
return flat.length > max ? `${flat.slice(0, max - 1)}…` : flat;
|
|
25
7
|
}
|
|
26
|
-
/**
|
|
27
|
-
* The finish notification for one run. Pure — the exit handler and the tests
|
|
28
|
-
* both build through here, so what ships is what is asserted.
|
|
29
|
-
*/
|
|
30
8
|
export function buildRunFinishNotification(ctx, exitCode) {
|
|
31
9
|
const label = ctx.name?.trim() || ctx.agent;
|
|
32
10
|
const project = ctx.cwd ? path.basename(ctx.cwd) : undefined;
|
|
@@ -35,25 +13,17 @@ export function buildRunFinishNotification(ctx, exitCode) {
|
|
|
35
13
|
const n = {
|
|
36
14
|
title: ok ? `${label} finished` : `${label} failed`,
|
|
37
15
|
body: shorten(ctx.prompt?.trim() || `${ctx.agent} run`),
|
|
38
|
-
// The harness that ran becomes the banner's right-hand avatar, so a finished
|
|
39
|
-
// run is identifiable at a glance even when `--name` renamed the title.
|
|
40
16
|
agent: ctx.agent,
|
|
41
|
-
// Categorize so the companion can offer the run's follow-up buttons; a
|
|
42
|
-
// failed run gets the failure category, a clean one the done category.
|
|
43
17
|
category: ok ? 'done' : 'failure',
|
|
44
18
|
};
|
|
45
19
|
if (where)
|
|
46
20
|
n.subtitle = where;
|
|
47
21
|
if (ctx.sessionId)
|
|
48
22
|
n.sessionId = ctx.sessionId;
|
|
49
|
-
// The primary click target: a report opens the report file, else the PR url.
|
|
50
23
|
if (ctx.reportPath)
|
|
51
24
|
n.action = `open:${ctx.reportPath}`;
|
|
52
25
|
else if (ctx.url)
|
|
53
26
|
n.action = `url:${ctx.url}`;
|
|
54
|
-
// Follow-up buttons the companion renders: open the report when one exists,
|
|
55
|
-
// open the PR when a url is known. `open-report` reuses the `open:` action
|
|
56
|
-
// resolution; `open-pr` opens `ctx.url`.
|
|
57
27
|
const choices = [];
|
|
58
28
|
if (ctx.reportPath)
|
|
59
29
|
choices.push({ id: 'open-report', label: 'Open report' });
|
|
@@ -63,12 +33,6 @@ export function buildRunFinishNotification(ctx, exitCode) {
|
|
|
63
33
|
n.choices = choices;
|
|
64
34
|
return n;
|
|
65
35
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Post the finish notification when this process exits. Best-effort by
|
|
68
|
-
* construction: `notifyDesktop` swallows its own failures, and a run killed
|
|
69
|
-
* outright (SIGKILL) never reaches an exit handler — that is the documented
|
|
70
|
-
* limit, not a case to paper over.
|
|
71
|
-
*/
|
|
72
36
|
export function armRunFinishNotification(ctx) {
|
|
73
37
|
process.on('exit', (code) => {
|
|
74
38
|
notifyDesktop(buildRunFinishNotification(ctx, code));
|
|
@@ -1,28 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The policy gate, pure and unit-testable. `disabled` is the resolved
|
|
3
|
-
* `--no-trace-sync` (commander maps it to `traceSync === false`).
|
|
4
|
-
*/
|
|
5
1
|
export declare function shouldAutoSyncTraces(disabled: boolean): boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Arm a fire-and-forget `agents traces sync` for when this process exits.
|
|
8
|
-
* No-op unless {@link shouldAutoSyncTraces} passes. Best-effort by
|
|
9
|
-
* construction: a missing binary or a stalled child never affects the run.
|
|
10
|
-
* The spawn happens in the exit handler because the upload is async work Node
|
|
11
|
-
* cannot run after `exit` — a watchdog here could never fire.
|
|
12
|
-
*/
|
|
13
2
|
export declare function armRunFinishTraceSync(opts?: {
|
|
14
3
|
disabled?: boolean;
|
|
15
4
|
}): void;
|
|
16
|
-
/**
|
|
17
|
-
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
18
|
-
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
19
|
-
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
20
|
-
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
21
|
-
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
|
22
|
-
* gap so the tapped link resolves instead of 404ing. No-op unless
|
|
23
|
-
* {@link shouldAutoSyncTraces} passes (signed in + already opted into the store);
|
|
24
|
-
* the incremental watermark keeps the push to essentially just this session.
|
|
25
|
-
*/
|
|
26
5
|
export declare function fireTraceSyncInBackground(opts?: {
|
|
27
6
|
disabled?: boolean;
|
|
28
7
|
}): void;
|
|
@@ -1,97 +1,33 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-sync this device's just-finished session trace when a local, headless
|
|
3
|
-
* `agents run` exits (PHNX-3628).
|
|
4
|
-
*
|
|
5
|
-
* Why exit-armed + spawn, exactly like `run-notify`: the sync reads this
|
|
6
|
-
* device's `sessions.db` and PUTs redacted shards over the network — async work
|
|
7
|
-
* that CANNOT run inside a `process.on('exit')` handler (Node runs no more
|
|
8
|
-
* microtasks after exit). So, mirroring `notifyDesktop`, on exit we SPAWN a
|
|
9
|
-
* detached `agents traces sync` and unref it; it finishes after the parent is
|
|
10
|
-
* gone, and the run itself returns immediately instead of waiting on the PUTs.
|
|
11
|
-
*
|
|
12
|
-
* The upload is incremental by construction (`syncTraces` de-dups by the
|
|
13
|
-
* `traces-sync.json` mtime watermark), so the spawned sync pushes essentially
|
|
14
|
-
* just the session that finished, not the whole history.
|
|
15
|
-
*
|
|
16
|
-
* Default policy: fire ONLY when the user has ALREADY opted into the traces
|
|
17
|
-
* store — i.e. they are signed in AND have run `agents traces sync` at least
|
|
18
|
-
* once (`hasSyncedBefore`). A user who never synced is never touched. Opt out
|
|
19
|
-
* of a given run with `--no-trace-sync` or `AGENTS_NO_TRACE_SYNC=1`.
|
|
20
|
-
*
|
|
21
|
-
* Local runs only: a run placed on another machine (`--device`/`--on`/
|
|
22
|
-
* `--computer`/`--where device:`, `--lease`, `--box`, or `--cloud`) has its
|
|
23
|
-
* trajectory on the REMOTE box, not this device's `sessions.db`, so arming here
|
|
24
|
-
* would upload nothing useful — the remote box runs its own exit sync. The
|
|
25
|
-
* caller gates every remote-placement signal out before arming (it reuses the
|
|
26
|
-
* file's own `hostTargetGiven` predicate plus `--lease`/`--box`; `--cloud`
|
|
27
|
-
* returns earlier).
|
|
28
|
-
*/
|
|
29
1
|
import { spawn } from 'child_process';
|
|
30
2
|
import { getCliLaunch } from './cli-entry.js';
|
|
31
3
|
import { readSession } from './identity/client.js';
|
|
32
4
|
import { hasSyncedBefore } from './traces/sync.js';
|
|
33
|
-
/**
|
|
34
|
-
* The policy gate, pure and unit-testable. `disabled` is the resolved
|
|
35
|
-
* `--no-trace-sync` (commander maps it to `traceSync === false`).
|
|
36
|
-
*/
|
|
37
5
|
export function shouldAutoSyncTraces(disabled) {
|
|
38
6
|
if (disabled)
|
|
39
7
|
return false;
|
|
40
8
|
if (process.env.AGENTS_NO_TRACE_SYNC === '1')
|
|
41
9
|
return false;
|
|
42
10
|
if (!readSession())
|
|
43
|
-
return false;
|
|
11
|
+
return false;
|
|
44
12
|
if (!hasSyncedBefore())
|
|
45
|
-
return false;
|
|
13
|
+
return false;
|
|
46
14
|
return true;
|
|
47
15
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Spawn a detached, unref'd `agents traces sync` and return immediately. The one
|
|
50
|
-
* place the fire-and-forget child is built, shared by the run-exit arm and the
|
|
51
|
-
* feed/notify important-post trigger.
|
|
52
|
-
*
|
|
53
|
-
* Re-invoke this CLI through getCliLaunch, NOT a hand-rolled
|
|
54
|
-
* [process.execPath, process.argv[1], …] — under the compiled standalone binary
|
|
55
|
-
* argv[1] is the bun virtual entry (/$bunfs/root/agents), which would become a
|
|
56
|
-
* bogus subcommand and silently no-op the whole feature (cli-entry.ts). The
|
|
57
|
-
* spawned `traces sync` is a fresh process with its own event loop, so its own
|
|
58
|
-
* per-request network timeouts (syncTraces) bound it.
|
|
59
|
-
*/
|
|
60
16
|
function spawnDetachedTraceSync() {
|
|
61
17
|
try {
|
|
62
18
|
const { command, args } = getCliLaunch(['traces', 'sync']);
|
|
63
19
|
const child = spawn(command, args, { detached: true, stdio: 'ignore' });
|
|
64
|
-
// A child that never starts (ENOENT) emits an async 'error'; without a
|
|
65
|
-
// listener Node re-throws it as uncaught. Swallow — this is best-effort.
|
|
66
20
|
child.on('error', () => { });
|
|
67
21
|
child.unref();
|
|
68
22
|
}
|
|
69
23
|
catch {
|
|
70
|
-
// A synchronous spawn failure must never change the caller's outcome.
|
|
71
24
|
}
|
|
72
25
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Arm a fire-and-forget `agents traces sync` for when this process exits.
|
|
75
|
-
* No-op unless {@link shouldAutoSyncTraces} passes. Best-effort by
|
|
76
|
-
* construction: a missing binary or a stalled child never affects the run.
|
|
77
|
-
* The spawn happens in the exit handler because the upload is async work Node
|
|
78
|
-
* cannot run after `exit` — a watchdog here could never fire.
|
|
79
|
-
*/
|
|
80
26
|
export function armRunFinishTraceSync(opts = {}) {
|
|
81
27
|
if (!shouldAutoSyncTraces(!!opts.disabled))
|
|
82
28
|
return;
|
|
83
29
|
process.on('exit', spawnDetachedTraceSync);
|
|
84
30
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Fire a fire-and-forget `agents traces sync` NOW (not on exit). An important
|
|
87
|
-
* owner-bound ping (`feed post --level important`, `agents send --to owner`,
|
|
88
|
-
* `send --to owner`) links the caller's `…/console/sessions/<id>` page, and that
|
|
89
|
-
* page only exists once the session's shard has been uploaded — trace sync fires
|
|
90
|
-
* on run exit (PHNX-3628), not when a mid-run ping is posted. This closes that
|
|
91
|
-
* gap so the tapped link resolves instead of 404ing. No-op unless
|
|
92
|
-
* {@link shouldAutoSyncTraces} passes (signed in + already opted into the store);
|
|
93
|
-
* the incremental watermark keeps the push to essentially just this session.
|
|
94
|
-
*/
|
|
95
31
|
export function fireTraceSyncInBackground(opts = {}) {
|
|
96
32
|
if (!shouldAutoSyncTraces(!!opts.disabled))
|
|
97
33
|
return;
|
|
@@ -1,27 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rush session freshness — the ONE judgment shared by every consumer of
|
|
3
|
-
* ~/.rush/user.yaml (cloud dispatch, cloud session source, secrets sync driver).
|
|
4
|
-
*
|
|
5
|
-
* A Rush session stores `expires_at` as Unix MILLISECONDS — the same unit
|
|
6
|
-
* rush/cli writes and reads it in (`sessionTokenFresh` in auth_reader.go compares
|
|
7
|
-
* against `time.Now()...UnixMilli()`), and the same unit the JWT `exp` claim maps
|
|
8
|
-
* to (`exp * 1000`). So freshness must compare it against `Date.now()` (ms), NOT
|
|
9
|
-
* `Date.now() / 1000` (seconds). Comparing ms against seconds was PHNX-3805: a
|
|
10
|
-
* long-expired session (e.g. `expires_at: 1788157222000`) read as `1.788e12 <=
|
|
11
|
-
* 1.788e9` → always false → never expired, so `agents cloud providers` reported
|
|
12
|
-
* Rush `available: true` on a dead session and every dispatch failed with a 401.
|
|
13
|
-
*
|
|
14
|
-
* Two values mean "never expires" and MUST NOT be read as an absolute timestamp:
|
|
15
|
-
* - `0` — an opaque Phoenix `pid_` bearer written by `rush login`;
|
|
16
|
-
* `0` = non-expiring by contract (mirrors rush/cli's isFresh,
|
|
17
|
-
* the same fix RUSH-1310 landed for the daemon-less freshness
|
|
18
|
-
* check and PHNX-3637 landed for the release endpoints).
|
|
19
|
-
* - `undefined` — a token written without an expiry.
|
|
20
|
-
*
|
|
21
|
-
* Reading `expires_at: 0` as epoch-1970 was PHNX-3645: every Phoenix-authed box
|
|
22
|
-
* had its valid, non-expiring session rejected as "Rush session expired at
|
|
23
|
-
* 1970-01-01", so `agents run --cloud`, `agents secrets push/pull` over Rush,
|
|
24
|
-
* and cloud session discovery all refused to run. Every consumer that parses
|
|
25
|
-
* freshness routes through this predicate so the special-case lives in one place.
|
|
26
|
-
*/
|
|
27
1
|
export declare function isRushSessionExpired(expiresAt: number | undefined): boolean;
|
package/dist/lib/rush-session.js
CHANGED
|
@@ -1,33 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rush session freshness — the ONE judgment shared by every consumer of
|
|
3
|
-
* ~/.rush/user.yaml (cloud dispatch, cloud session source, secrets sync driver).
|
|
4
|
-
*
|
|
5
|
-
* A Rush session stores `expires_at` as Unix MILLISECONDS — the same unit
|
|
6
|
-
* rush/cli writes and reads it in (`sessionTokenFresh` in auth_reader.go compares
|
|
7
|
-
* against `time.Now()...UnixMilli()`), and the same unit the JWT `exp` claim maps
|
|
8
|
-
* to (`exp * 1000`). So freshness must compare it against `Date.now()` (ms), NOT
|
|
9
|
-
* `Date.now() / 1000` (seconds). Comparing ms against seconds was PHNX-3805: a
|
|
10
|
-
* long-expired session (e.g. `expires_at: 1788157222000`) read as `1.788e12 <=
|
|
11
|
-
* 1.788e9` → always false → never expired, so `agents cloud providers` reported
|
|
12
|
-
* Rush `available: true` on a dead session and every dispatch failed with a 401.
|
|
13
|
-
*
|
|
14
|
-
* Two values mean "never expires" and MUST NOT be read as an absolute timestamp:
|
|
15
|
-
* - `0` — an opaque Phoenix `pid_` bearer written by `rush login`;
|
|
16
|
-
* `0` = non-expiring by contract (mirrors rush/cli's isFresh,
|
|
17
|
-
* the same fix RUSH-1310 landed for the daemon-less freshness
|
|
18
|
-
* check and PHNX-3637 landed for the release endpoints).
|
|
19
|
-
* - `undefined` — a token written without an expiry.
|
|
20
|
-
*
|
|
21
|
-
* Reading `expires_at: 0` as epoch-1970 was PHNX-3645: every Phoenix-authed box
|
|
22
|
-
* had its valid, non-expiring session rejected as "Rush session expired at
|
|
23
|
-
* 1970-01-01", so `agents run --cloud`, `agents secrets push/pull` over Rush,
|
|
24
|
-
* and cloud session discovery all refused to run. Every consumer that parses
|
|
25
|
-
* freshness routes through this predicate so the special-case lives in one place.
|
|
26
|
-
*/
|
|
27
1
|
export function isRushSessionExpired(expiresAt) {
|
|
28
|
-
// `0` (non-expiring pid_ bearer) and a missing value are never expired.
|
|
29
2
|
if (typeof expiresAt !== 'number' || expiresAt === 0)
|
|
30
3
|
return false;
|
|
31
|
-
// expires_at is Unix milliseconds — compare ms to ms.
|
|
32
4
|
return expiresAt <= Date.now();
|
|
33
5
|
}
|
package/dist/lib/sandbox.d.ts
CHANGED
|
@@ -1,60 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sandbox environment for routine job execution.
|
|
3
|
-
*
|
|
4
|
-
* Creates an overlay HOME directory per job with symlinked allowed
|
|
5
|
-
* directories and agent-specific config files (permissions, settings).
|
|
6
|
-
* The spawned agent process sees only the overlay, limiting filesystem
|
|
7
|
-
* access to explicitly allowed paths.
|
|
8
|
-
*/
|
|
9
1
|
import type { JobConfig } from './scheduling/routines.js';
|
|
10
2
|
import type { AgentId } from './types.js';
|
|
11
|
-
/**
|
|
12
|
-
* Absolute path to this host's `gh` config directory (`hosts.yml` + `config.yml`),
|
|
13
|
-
* or null when the host has never run `gh auth login`. Prefer `GH_CONFIG_DIR` when
|
|
14
|
-
* the parent already pinned one; otherwise `$XDG_CONFIG_HOME/gh` or `~/.config/gh`.
|
|
15
|
-
*/
|
|
16
3
|
export declare function resolveHostGhConfigDir(): string | null;
|
|
17
|
-
/** True when this host holds usable GitHub CLI auth (hosts.yml or a token env). */
|
|
18
4
|
export declare function hostHasGhAuth(): boolean;
|
|
19
|
-
/** Build a restricted environment for a sandboxed process, setting HOME to the overlay. */
|
|
20
5
|
export declare function buildSpawnEnv(overlayHome: string, extraEnv?: Record<string, string>): Record<string, string>;
|
|
21
|
-
/**
|
|
22
|
-
* Get the overlay HOME directory path for a named job.
|
|
23
|
-
*
|
|
24
|
-
* The job name originates from routine YAML (`name:` field or file basename),
|
|
25
|
-
* which can arrive from a synced user/system config repo. `safeJoin` contains
|
|
26
|
-
* it to a single segment beneath the routines dir so a crafted name such as
|
|
27
|
-
* `../../../..` cannot steer `prepareJobHome`/`cleanJobHome` (which does a
|
|
28
|
-
* recursive `rmSync`) at a path outside `~/.agents/routines`.
|
|
29
|
-
*/
|
|
30
6
|
export declare function getJobHomePath(name: string): string;
|
|
31
|
-
/** Create a fresh overlay HOME for a job, including agent config and allowed-dir symlinks. */
|
|
32
7
|
export declare function prepareJobHome(config: JobConfig, version?: string): string;
|
|
33
|
-
/** Link only the selected harness login into the disposable routine HOME. */
|
|
34
8
|
export declare function linkVersionAuth(overlayHome: string, agent: AgentId, version?: string): void;
|
|
35
|
-
/**
|
|
36
|
-
* Link this host's `gh` config directory into the disposable overlay so
|
|
37
|
-
* `$HOME/.config/gh` resolves even when `GH_CONFIG_DIR` is unset. Mirrors
|
|
38
|
-
* `generateCursorConfig`: same-host credentials, never copied to another box.
|
|
39
|
-
*/
|
|
40
9
|
export declare function linkHostGhConfig(overlayHome: string): void;
|
|
41
|
-
/**
|
|
42
|
-
* Refuse to launch a sandboxed child when THIS host holds GitHub auth but the
|
|
43
|
-
* spawn env would hide it. The RUSH-2860 failure mode was silent: the monitor
|
|
44
|
-
* fire recorded `ok` (spawn succeeded) while every `gh` call inside the child
|
|
45
|
-
* failed. Prefer forwarding (buildSpawnEnv / linkHostGhConfig); this assert is
|
|
46
|
-
* the regression tripwire — if forwarding ever regresses, fail loud at spawn
|
|
47
|
-
* instead of recording a hollow success. No-ops when the host has no gh auth
|
|
48
|
-
* (jobs that do not need GitHub still run).
|
|
49
|
-
*/
|
|
50
10
|
export declare function assertSandboxForwardsHostGhAuth(spawnEnv: Record<string, string>): void;
|
|
51
|
-
/** Link this host's Cursor login and CLI config into the disposable overlay. */
|
|
52
11
|
export declare function generateCursorConfig(overlayHome: string): void;
|
|
53
|
-
/** Remove a job's overlay HOME directory entirely. */
|
|
54
12
|
export declare function cleanJobHome(name: string): void;
|
|
55
|
-
/** Symlink allowed directories into the overlay HOME, skipping paths outside the real HOME. */
|
|
56
13
|
export declare function symlinkAllowedDirs(overlayHome: string, dirs: string[]): void;
|
|
57
|
-
/** Generate a Claude settings.json in the overlay with scoped permissions from the job config. */
|
|
58
14
|
export declare function generateClaudeConfig(overlayHome: string, config: JobConfig): void;
|
|
59
|
-
/** Generate a Codex config.toml in the overlay with model and approval-mode settings. */
|
|
60
15
|
export declare function generateCodexConfig(overlayHome: string, config: JobConfig): void;
|
package/dist/lib/sandbox.js
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sandbox environment for routine job execution.
|
|
3
|
-
*
|
|
4
|
-
* Creates an overlay HOME directory per job with symlinked allowed
|
|
5
|
-
* directories and agent-specific config files (permissions, settings).
|
|
6
|
-
* The spawned agent process sees only the overlay, limiting filesystem
|
|
7
|
-
* access to explicitly allowed paths.
|
|
8
|
-
*/
|
|
9
1
|
import * as fs from 'fs';
|
|
10
2
|
import * as path from 'path';
|
|
11
3
|
import * as os from 'os';
|
|
@@ -22,7 +14,6 @@ function resolveRealHome() {
|
|
|
22
14
|
return home;
|
|
23
15
|
}
|
|
24
16
|
}
|
|
25
|
-
/** Environment variables forwarded from the parent process into the sandbox. */
|
|
26
17
|
const ENV_ALLOWLIST = [
|
|
27
18
|
'PATH',
|
|
28
19
|
'SHELL',
|
|
@@ -44,21 +35,16 @@ const ENV_ALLOWLIST = [
|
|
|
44
35
|
'VISUAL',
|
|
45
36
|
'NO_COLOR',
|
|
46
37
|
'FORCE_COLOR',
|
|
47
|
-
// GitHub CLI — same host credentials interactive `agents run` already sees.
|
|
48
|
-
// Without these, a sandboxed monitor `--run` child has no gh auth even when
|
|
49
|
-
// the daemon user is logged in (RUSH-2860).
|
|
50
38
|
'GH_TOKEN',
|
|
51
39
|
'GH_HOST',
|
|
52
40
|
'GH_ENTERPRISE_TOKEN',
|
|
53
41
|
'GITHUB_TOKEN',
|
|
54
42
|
'GH_CONFIG_DIR',
|
|
55
43
|
];
|
|
56
|
-
/** Tools safe to grant as wildcards (no filesystem access). */
|
|
57
44
|
const SAFE_TOOLS = {
|
|
58
45
|
web_search: 'WebSearch(*)',
|
|
59
46
|
web_fetch: 'WebFetch(*)',
|
|
60
47
|
};
|
|
61
|
-
/** Bare tool names that get scoped to allow.dirs, never wildcarded. */
|
|
62
48
|
const DIR_SCOPED_TOOLS = new Set(['read', 'write', 'edit', 'glob', 'grep', 'notebook_edit']);
|
|
63
49
|
function tomlString(value) {
|
|
64
50
|
if (/[\r\n]/.test(value)) {
|
|
@@ -66,15 +52,7 @@ function tomlString(value) {
|
|
|
66
52
|
}
|
|
67
53
|
return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
|
|
68
54
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Absolute path to this host's `gh` config directory (`hosts.yml` + `config.yml`),
|
|
71
|
-
* or null when the host has never run `gh auth login`. Prefer `GH_CONFIG_DIR` when
|
|
72
|
-
* the parent already pinned one; otherwise `$XDG_CONFIG_HOME/gh` or `~/.config/gh`.
|
|
73
|
-
*/
|
|
74
55
|
export function resolveHostGhConfigDir() {
|
|
75
|
-
// Honor an explicit pin only when it actually exists; otherwise fall through
|
|
76
|
-
// to the default locations so a stale/broken GH_CONFIG_DIR cannot hide a
|
|
77
|
-
// healthy ~/.config/gh (RUSH-2860).
|
|
78
56
|
if (process.env.GH_CONFIG_DIR && fs.existsSync(process.env.GH_CONFIG_DIR)) {
|
|
79
57
|
return process.env.GH_CONFIG_DIR;
|
|
80
58
|
}
|
|
@@ -82,7 +60,6 @@ export function resolveHostGhConfigDir() {
|
|
|
82
60
|
const ghDir = path.join(configHome, 'gh');
|
|
83
61
|
return fs.existsSync(ghDir) ? ghDir : null;
|
|
84
62
|
}
|
|
85
|
-
/** True when this host holds usable GitHub CLI auth (hosts.yml or a token env). */
|
|
86
63
|
export function hostHasGhAuth() {
|
|
87
64
|
if (process.env.GH_TOKEN || process.env.GH_ENTERPRISE_TOKEN || process.env.GITHUB_TOKEN) {
|
|
88
65
|
return true;
|
|
@@ -92,7 +69,6 @@ export function hostHasGhAuth() {
|
|
|
92
69
|
return false;
|
|
93
70
|
return fs.existsSync(path.join(dir, 'hosts.yml'));
|
|
94
71
|
}
|
|
95
|
-
/** Build a restricted environment for a sandboxed process, setting HOME to the overlay. */
|
|
96
72
|
export function buildSpawnEnv(overlayHome, extraEnv) {
|
|
97
73
|
const env = {
|
|
98
74
|
HOME: overlayHome,
|
|
@@ -103,11 +79,6 @@ export function buildSpawnEnv(overlayHome, extraEnv) {
|
|
|
103
79
|
env[key] = process.env[key];
|
|
104
80
|
}
|
|
105
81
|
}
|
|
106
|
-
// Pin GH_CONFIG_DIR at the REAL host config so `gh` does not look under the
|
|
107
|
-
// disposable overlay HOME (which has no hosts.yml). Same posture as linking
|
|
108
|
-
// Cursor's auth.json — forward the credentials the daemon user already holds
|
|
109
|
-
// (RUSH-2860). Always prefer resolveHostGhConfigDir over a stale allowlisted
|
|
110
|
-
// value; an explicit extraEnv GH_CONFIG_DIR still wins below.
|
|
111
82
|
const hostGh = resolveHostGhConfigDir();
|
|
112
83
|
if (hostGh) {
|
|
113
84
|
env.GH_CONFIG_DIR = hostGh;
|
|
@@ -120,19 +91,9 @@ export function buildSpawnEnv(overlayHome, extraEnv) {
|
|
|
120
91
|
}
|
|
121
92
|
return env;
|
|
122
93
|
}
|
|
123
|
-
/**
|
|
124
|
-
* Get the overlay HOME directory path for a named job.
|
|
125
|
-
*
|
|
126
|
-
* The job name originates from routine YAML (`name:` field or file basename),
|
|
127
|
-
* which can arrive from a synced user/system config repo. `safeJoin` contains
|
|
128
|
-
* it to a single segment beneath the routines dir so a crafted name such as
|
|
129
|
-
* `../../../..` cannot steer `prepareJobHome`/`cleanJobHome` (which does a
|
|
130
|
-
* recursive `rmSync`) at a path outside `~/.agents/routines`.
|
|
131
|
-
*/
|
|
132
94
|
export function getJobHomePath(name) {
|
|
133
95
|
return path.join(safeJoin(getRoutinesDir(), name), 'home');
|
|
134
96
|
}
|
|
135
|
-
/** Create a fresh overlay HOME for a job, including agent config and allowed-dir symlinks. */
|
|
136
97
|
export function prepareJobHome(config, version) {
|
|
137
98
|
const overlayHome = getJobHomePath(config.name);
|
|
138
99
|
cleanJobHome(config.name);
|
|
@@ -147,25 +108,12 @@ export function prepareJobHome(config, version) {
|
|
|
147
108
|
else if (config.agent === 'cursor') {
|
|
148
109
|
generateCursorConfig(overlayHome);
|
|
149
110
|
}
|
|
150
|
-
// Host tool credentials / setup the overlay HOME would otherwise hide.
|
|
151
|
-
// Cursor already links its own auth above; gh is harness-agnostic and needed
|
|
152
|
-
// by every sandboxed `--run` that shells out to `gh` (RUSH-2860 — monitor
|
|
153
|
-
// merge agents saw "not logged into any GitHub hosts" while the daemon user
|
|
154
|
-
// was fine).
|
|
155
|
-
//
|
|
156
|
-
// Deliberately NOT linking the real ~/.agents here. It would put the secrets
|
|
157
|
-
// master key (.secrets-key) and the encrypted store (.cache/secrets) together
|
|
158
|
-
// at a predictable path inside the overlay, through a writable symlink, in a
|
|
159
|
-
// child whose prompt can carry untrusted text from a watched source. The
|
|
160
|
-
// separate "agents-cli is not set up" defect (state.ts ignores AGENTS_USER_DIR)
|
|
161
|
-
// gets its own scoped change: RUSH-2954.
|
|
162
111
|
linkHostGhConfig(overlayHome);
|
|
163
112
|
if (config.allow?.dirs) {
|
|
164
113
|
symlinkAllowedDirs(overlayHome, config.allow.dirs);
|
|
165
114
|
}
|
|
166
115
|
return overlayHome;
|
|
167
116
|
}
|
|
168
|
-
/** Link only the selected harness login into the disposable routine HOME. */
|
|
169
117
|
export function linkVersionAuth(overlayHome, agent, version) {
|
|
170
118
|
if (!version)
|
|
171
119
|
return;
|
|
@@ -185,18 +133,13 @@ export function linkVersionAuth(overlayHome, agent, version) {
|
|
|
185
133
|
try {
|
|
186
134
|
fs.rmSync(target, { force: true });
|
|
187
135
|
}
|
|
188
|
-
catch {
|
|
136
|
+
catch { }
|
|
189
137
|
try {
|
|
190
138
|
createLink(source, target);
|
|
191
139
|
}
|
|
192
|
-
catch {
|
|
140
|
+
catch { }
|
|
193
141
|
}
|
|
194
142
|
}
|
|
195
|
-
/**
|
|
196
|
-
* Link this host's `gh` config directory into the disposable overlay so
|
|
197
|
-
* `$HOME/.config/gh` resolves even when `GH_CONFIG_DIR` is unset. Mirrors
|
|
198
|
-
* `generateCursorConfig`: same-host credentials, never copied to another box.
|
|
199
|
-
*/
|
|
200
143
|
export function linkHostGhConfig(overlayHome) {
|
|
201
144
|
const realGhDir = resolveHostGhConfigDir();
|
|
202
145
|
if (!realGhDir || !fs.existsSync(realGhDir))
|
|
@@ -209,18 +152,8 @@ export function linkHostGhConfig(overlayHome) {
|
|
|
209
152
|
createLink(realGhDir, overlayGhDir);
|
|
210
153
|
}
|
|
211
154
|
catch {
|
|
212
|
-
/* cross-volume or link creation refused: GH_CONFIG_DIR in buildSpawnEnv is the backup */
|
|
213
155
|
}
|
|
214
156
|
}
|
|
215
|
-
/**
|
|
216
|
-
* Refuse to launch a sandboxed child when THIS host holds GitHub auth but the
|
|
217
|
-
* spawn env would hide it. The RUSH-2860 failure mode was silent: the monitor
|
|
218
|
-
* fire recorded `ok` (spawn succeeded) while every `gh` call inside the child
|
|
219
|
-
* failed. Prefer forwarding (buildSpawnEnv / linkHostGhConfig); this assert is
|
|
220
|
-
* the regression tripwire — if forwarding ever regresses, fail loud at spawn
|
|
221
|
-
* instead of recording a hollow success. No-ops when the host has no gh auth
|
|
222
|
-
* (jobs that do not need GitHub still run).
|
|
223
|
-
*/
|
|
224
157
|
export function assertSandboxForwardsHostGhAuth(spawnEnv) {
|
|
225
158
|
if (!hostHasGhAuth())
|
|
226
159
|
return;
|
|
@@ -234,7 +167,6 @@ export function assertSandboxForwardsHostGhAuth(spawnEnv) {
|
|
|
234
167
|
'(no GH_CONFIG_DIR / ~/.config/gh / GH_TOKEN). Refusing to launch — ' +
|
|
235
168
|
'the agent would record ok then fail every gh call (RUSH-2860).');
|
|
236
169
|
}
|
|
237
|
-
/** Link this host's Cursor login and CLI config into the disposable overlay. */
|
|
238
170
|
export function generateCursorConfig(overlayHome) {
|
|
239
171
|
const realCursorDir = path.join(process.env.AGENTS_REAL_HOME || resolveRealHome(), '.cursor');
|
|
240
172
|
const realAuth = path.join(realCursorDir, 'auth.json');
|
|
@@ -244,18 +176,14 @@ export function generateCursorConfig(overlayHome) {
|
|
|
244
176
|
fs.mkdirSync(overlayCursorDir, { recursive: true });
|
|
245
177
|
const overlayAuth = path.join(overlayCursorDir, 'auth.json');
|
|
246
178
|
if (process.platform === 'win32') {
|
|
247
|
-
// File symlinks need Developer Mode on Windows. A same-volume hard link
|
|
248
|
-
// shares the credential inode without copying its contents to another host.
|
|
249
179
|
try {
|
|
250
180
|
fs.linkSync(realAuth, overlayAuth);
|
|
251
181
|
}
|
|
252
|
-
catch {
|
|
182
|
+
catch { }
|
|
253
183
|
}
|
|
254
184
|
else {
|
|
255
185
|
fs.symlinkSync(realAuth, overlayAuth);
|
|
256
186
|
}
|
|
257
|
-
// cli-config.json carries account identity alongside the file-store token, so
|
|
258
|
-
// it must remain linked rather than copied.
|
|
259
187
|
const realCliConfig = path.join(realCursorDir, 'cli-config.json');
|
|
260
188
|
if (fs.existsSync(realCliConfig)) {
|
|
261
189
|
const overlayCliConfig = path.join(overlayCursorDir, 'cli-config.json');
|
|
@@ -265,29 +193,24 @@ export function generateCursorConfig(overlayHome) {
|
|
|
265
193
|
else
|
|
266
194
|
fs.symlinkSync(realCliConfig, overlayCliConfig);
|
|
267
195
|
}
|
|
268
|
-
catch {
|
|
196
|
+
catch { }
|
|
269
197
|
}
|
|
270
198
|
}
|
|
271
|
-
/** Remove a job's overlay HOME directory entirely. */
|
|
272
199
|
export function cleanJobHome(name) {
|
|
273
200
|
const overlayHome = getJobHomePath(name);
|
|
274
201
|
if (fs.existsSync(overlayHome)) {
|
|
275
202
|
fs.rmSync(overlayHome, { recursive: true, force: true });
|
|
276
203
|
}
|
|
277
204
|
}
|
|
278
|
-
/** Symlink allowed directories into the overlay HOME, skipping paths outside the real HOME. */
|
|
279
205
|
export function symlinkAllowedDirs(overlayHome, dirs) {
|
|
280
206
|
const realHome = resolveRealHome();
|
|
281
207
|
for (const dir of dirs) {
|
|
282
208
|
const expanded = dir.replace(/^~/, realHome);
|
|
283
|
-
// Resolve .. and symlinks to prevent path traversal outside HOME
|
|
284
209
|
let realPath;
|
|
285
210
|
try {
|
|
286
|
-
// Use realpath if the directory exists (resolves symlinks)
|
|
287
211
|
realPath = fs.realpathSync(expanded);
|
|
288
212
|
}
|
|
289
213
|
catch {
|
|
290
|
-
// Directory doesn't exist yet — resolve .. components without following symlinks
|
|
291
214
|
realPath = path.resolve(expanded);
|
|
292
215
|
}
|
|
293
216
|
if (!realPath.startsWith(realHome + path.sep) && realPath !== realHome) {
|
|
@@ -299,15 +222,12 @@ export function symlinkAllowedDirs(overlayHome, dirs) {
|
|
|
299
222
|
fs.mkdirSync(parentDir, { recursive: true });
|
|
300
223
|
if (!fs.existsSync(symlinkTarget)) {
|
|
301
224
|
try {
|
|
302
|
-
// createLink uses a junction for directories on Windows (no elevation),
|
|
303
|
-
// a plain symlink on POSIX — allowed dirs are directories.
|
|
304
225
|
createLink(realPath, symlinkTarget);
|
|
305
226
|
}
|
|
306
|
-
catch {
|
|
227
|
+
catch { }
|
|
307
228
|
}
|
|
308
229
|
}
|
|
309
230
|
}
|
|
310
|
-
/** Generate a Claude settings.json in the overlay with scoped permissions from the job config. */
|
|
311
231
|
export function generateClaudeConfig(overlayHome, config) {
|
|
312
232
|
const realHome = resolveRealHome();
|
|
313
233
|
const claudeDir = path.join(overlayHome, '.claude');
|
|
@@ -316,32 +236,25 @@ export function generateClaudeConfig(overlayHome, config) {
|
|
|
316
236
|
const enabledTools = new Set(config.allow?.tools || []);
|
|
317
237
|
if (config.allow?.tools) {
|
|
318
238
|
for (const tool of config.allow.tools) {
|
|
319
|
-
// Safe wildcards (no filesystem access)
|
|
320
239
|
if (tool in SAFE_TOOLS) {
|
|
321
240
|
allowPermissions.push(SAFE_TOOLS[tool]);
|
|
322
241
|
continue;
|
|
323
242
|
}
|
|
324
|
-
// Bare filesystem tool names — permissions come from allow.dirs
|
|
325
243
|
if (DIR_SCOPED_TOOLS.has(tool)) {
|
|
326
244
|
continue;
|
|
327
245
|
}
|
|
328
|
-
// Bare "bash" — must use scoped pattern like "Bash(git *)"
|
|
329
246
|
if (tool === 'bash') {
|
|
330
247
|
throw new Error('Bare "bash" not allowed in sandbox — use scoped patterns like "Bash(git *)"');
|
|
331
248
|
}
|
|
332
|
-
// Reject wildcard patterns like Bash(*), Read(*)
|
|
333
249
|
if (/^\w+\(\*\)$/.test(tool)) {
|
|
334
250
|
throw new Error(`Wildcard "${tool}" not allowed in sandbox — use scoped patterns`);
|
|
335
251
|
}
|
|
336
|
-
// Scoped pattern like "Bash(git *)" — pass through
|
|
337
252
|
allowPermissions.push(tool);
|
|
338
253
|
}
|
|
339
254
|
}
|
|
340
|
-
// Scope filesystem tools to allowed dirs
|
|
341
255
|
if (config.allow?.dirs) {
|
|
342
256
|
for (const dir of config.allow.dirs) {
|
|
343
257
|
const resolved = dir.replace(/^~/, realHome);
|
|
344
|
-
// Read always granted for allowed dirs
|
|
345
258
|
allowPermissions.push(`Read(${resolved}/**)`);
|
|
346
259
|
if (config.mode === 'edit') {
|
|
347
260
|
allowPermissions.push(`Write(${resolved}/**)`);
|
|
@@ -366,7 +279,6 @@ export function generateClaudeConfig(overlayHome, config) {
|
|
|
366
279
|
};
|
|
367
280
|
fs.writeFileSync(path.join(claudeDir, 'settings.json'), JSON.stringify(settings, null, 2), 'utf-8');
|
|
368
281
|
}
|
|
369
|
-
/** Generate a Codex config.toml in the overlay with model and approval-mode settings. */
|
|
370
282
|
export function generateCodexConfig(overlayHome, config) {
|
|
371
283
|
const codexDir = path.join(overlayHome, '.codex');
|
|
372
284
|
fs.mkdirSync(codexDir, { recursive: true });
|
package/dist/lib/scheduler.d.ts
CHANGED
|
@@ -1,37 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cron-based job scheduler for routines.
|
|
3
|
-
*
|
|
4
|
-
* Wraps the croner library to manage scheduled jobs in-memory. The daemon
|
|
5
|
-
* process creates a single JobScheduler instance that loads enabled jobs
|
|
6
|
-
* on startup and reloads them on SIGHUP.
|
|
7
|
-
*/
|
|
8
1
|
import { Cron } from 'croner';
|
|
9
2
|
import type { JobConfig } from './scheduling/routines.js';
|
|
10
|
-
/** How a fire was triggered, carrying the scheduler's intended UTC slot time. */
|
|
11
3
|
interface TriggerContext {
|
|
12
|
-
/** The ALIGNED cron slot this callback fires for, for the single-fire claim
|
|
13
|
-
* keyed on (routine, scheduledFor). Derived by {@link fireSlot} — NOT croner's
|
|
14
|
-
* raw `currentRun()`, which carries wall-clock jitter. */
|
|
15
4
|
scheduledFor?: Date;
|
|
16
5
|
}
|
|
17
|
-
/**
|
|
18
|
-
* The aligned occurrence boundary a fire callback belongs to — the value the
|
|
19
|
-
* single-fire `(routine, scheduledFor)` claim keys on.
|
|
20
|
-
*
|
|
21
|
-
* croner's `currentRun()` inside a fire callback is the JITTERED wall-clock
|
|
22
|
-
* trigger instant (it carries milliseconds — verified against croner 10.x), not
|
|
23
|
-
* the aligned schedule boundary. Keying `slotRunId` on it directly minted a
|
|
24
|
-
* distinct run id per delivery, so two callbacks for one occurrence each claimed
|
|
25
|
-
* a different run dir and both launched, and a live fire never collided with its
|
|
26
|
-
* catch-up twin (`missedRunId`, which keys on the aligned boundary). Flooring the
|
|
27
|
-
* fire to its schedule boundary via {@link alignedSlotForFire} makes the claim a
|
|
28
|
-
* structural claim on the occurrence identity (SING-15). Always returns a
|
|
29
|
-
* concrete Date — `currentRun()` falls back to now, and an unresolvable boundary
|
|
30
|
-
* falls back to the fire instant — so the forward path never dispatches without a
|
|
31
|
-
* durable slot key.
|
|
32
|
-
*/
|
|
33
6
|
export declare function fireSlot(cron: Cron): Date;
|
|
34
|
-
/** In-memory cron scheduler that triggers a callback when jobs fire. */
|
|
35
7
|
export declare class JobScheduler {
|
|
36
8
|
private jobs;
|
|
37
9
|
private onTrigger;
|