@phnx-labs/agents-cli 1.22.120 → 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 +227 -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 +17 -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
|
@@ -6,17 +6,12 @@ export * from './package-types.js';
|
|
|
6
6
|
export { parseAgentPackageManifest, loadAgentPackageManifest } from './package-schema.js';
|
|
7
7
|
export { resolveAgentPackage, effectiveResources } from './package-resolve.js';
|
|
8
8
|
export { materializeAgentPackage, sha256OfReceiptFile } from './materialize.js';
|
|
9
|
-
/** Shared `--help` epilog so every agent-spec command documents the same grammar. */
|
|
10
9
|
export declare const AGENT_SPEC_HELP: string;
|
|
11
|
-
/** Resolve a spec (single or comma-list) into concrete installed targets. */
|
|
12
10
|
export declare function resolveAgentTargets(spec: string, opts?: ResolveOptions): AgentTarget[];
|
|
13
|
-
/** Resolve a spec that must name exactly one installed version. */
|
|
14
11
|
export declare function resolveSingleAgentTarget(spec: string, opts?: ResolveOptions): {
|
|
15
12
|
agent: AgentId;
|
|
16
13
|
version: string;
|
|
17
14
|
source: import('./types.js').VersionSource;
|
|
18
15
|
};
|
|
19
|
-
/** Resolve a read/list command's version filter (undefined → all, @default → the default, else concrete). */
|
|
20
16
|
export declare function resolveVersionFilter(agent: AgentId, qualifier: string | undefined | null, opts?: ResolveOptions): VersionFilter;
|
|
21
|
-
/** Concrete version filter for list/display commands (undefined → show all, @default → the default version). */
|
|
22
17
|
export declare function resolveListFilter(agent: AgentId, qualifier: string | undefined | null, opts?: ResolveOptions): string | undefined;
|
|
@@ -1,40 +1,26 @@
|
|
|
1
|
-
// Public API for the agent-spec engine. Commands import from here and get the
|
|
2
|
-
// production provider bound automatically; tests import the pure `./resolve.js`
|
|
3
|
-
// core directly and inject a fake provider.
|
|
4
|
-
//
|
|
5
|
-
// One vocabulary, one resolver, reused by every subcommand that accepts
|
|
6
|
-
// `<agent>[@<qualifier>]`. Built for the hot path: exact / @pinned / bare specs
|
|
7
|
-
// resolve with no directory enumeration; only @latest/@oldest/@all enumerate,
|
|
8
|
-
// via the mtime-cached provider.
|
|
9
1
|
import { defaultVersionProvider } from './provider.js';
|
|
10
2
|
import * as core from './resolve.js';
|
|
11
3
|
export * from './types.js';
|
|
12
4
|
export * from './primitives.js';
|
|
13
|
-
// Portable agent-package resolver + native-home materializer (PHNX-3838).
|
|
14
5
|
export * from './package-types.js';
|
|
15
6
|
export { parseAgentPackageManifest, loadAgentPackageManifest } from './package-schema.js';
|
|
16
7
|
export { resolveAgentPackage, effectiveResources } from './package-resolve.js';
|
|
17
8
|
export { materializeAgentPackage, sha256OfReceiptFile } from './materialize.js';
|
|
18
|
-
/** Shared `--help` epilog so every agent-spec command documents the same grammar. */
|
|
19
9
|
export const AGENT_SPEC_HELP = 'Agent spec: <agent>[@<qualifier>]. Qualifiers: ' +
|
|
20
10
|
'@latest (highest installed), @oldest (lowest installed), ' +
|
|
21
11
|
'@pinned / @default (your configured default — synonyms), ' +
|
|
22
12
|
'@all (every installed version), or an exact @x.y.z. ' +
|
|
23
13
|
'Bare <agent> uses the resolved default (project pin → global default). ' +
|
|
24
14
|
'Comma-separate to combine: claude@all,codex@latest.';
|
|
25
|
-
/** Resolve a spec (single or comma-list) into concrete installed targets. */
|
|
26
15
|
export function resolveAgentTargets(spec, opts = {}) {
|
|
27
16
|
return core.resolveAgentTargets(spec, defaultVersionProvider, opts);
|
|
28
17
|
}
|
|
29
|
-
/** Resolve a spec that must name exactly one installed version. */
|
|
30
18
|
export function resolveSingleAgentTarget(spec, opts = {}) {
|
|
31
19
|
return core.resolveSingleAgentTarget(spec, defaultVersionProvider, opts);
|
|
32
20
|
}
|
|
33
|
-
/** Resolve a read/list command's version filter (undefined → all, @default → the default, else concrete). */
|
|
34
21
|
export function resolveVersionFilter(agent, qualifier, opts = {}) {
|
|
35
22
|
return core.resolveVersionFilter(agent, qualifier, defaultVersionProvider, opts);
|
|
36
23
|
}
|
|
37
|
-
/** Concrete version filter for list/display commands (undefined → show all, @default → the default version). */
|
|
38
24
|
export function resolveListFilter(agent, qualifier, opts = {}) {
|
|
39
25
|
return core.resolveListFilter(agent, qualifier, defaultVersionProvider, opts);
|
|
40
26
|
}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import type { MaterializationReceipt, MaterializeOptions, ResolvedAgentPackage } from './package-types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Materialize `resolved` into a fresh native home for `options.harness`. Fails
|
|
4
|
-
* closed (throws `AgentPackageError`, writes nothing new) when the harness is
|
|
5
|
-
* not declared supported by the package, or when any effective resource needs
|
|
6
|
-
* a capability the harness+version does not have. Idempotent and
|
|
7
|
-
* deterministic: re-running against the same `outputHome` with the same
|
|
8
|
-
* inputs produces a byte-identical receipt and prunes any managed path this
|
|
9
|
-
* materializer previously wrote that the current resource set no longer needs.
|
|
10
|
-
*/
|
|
11
2
|
export declare function materializeAgentPackage(resolved: ResolvedAgentPackage, options: MaterializeOptions): MaterializationReceipt;
|
|
12
|
-
/** Lowercase hex sha256 of arbitrary bytes — exposed for callers that want to verify the receipt file's own digest (Factory's observed-digest record). */
|
|
13
3
|
export declare function sha256OfReceiptFile(receiptPath: string): string;
|
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Native-home materializer (PHNX-3838).
|
|
3
|
-
*
|
|
4
|
-
* `materializeAgentPackage` is the harness-adapter layer: it takes the ONE
|
|
5
|
-
* canonical result `resolveAgentPackage` already decided and projects it into
|
|
6
|
-
* a fresh, isolated native home for one harness (Claude Code, Codex, or
|
|
7
|
-
* OpenCode). It reuses the codebase's existing native-projection primitives
|
|
8
|
-
* instead of re-deriving per-harness format knowledge:
|
|
9
|
-
*
|
|
10
|
-
* - `agentConfigDirName` / `AGENTS[..].capabilities.rules.file` (agent-spec/agents.ts)
|
|
11
|
-
* for instructions placement
|
|
12
|
-
* - `subagentTarget(...)` + its registered transforms (subagents-registry.ts)
|
|
13
|
-
* for subagent projection
|
|
14
|
-
* - `writeMcpConfig` (lib/mcp.ts) for per-harness MCP config format
|
|
15
|
-
* - `registerHooksToSettings` (lib/hooks/install.ts) for per-harness hook
|
|
16
|
-
* registration, including its stale-registration GC
|
|
17
|
-
*
|
|
18
|
-
* It writes a deterministic, unsigned `materialization-receipt.json` — every
|
|
19
|
-
* `target` path it lists is a path THIS materializer owns, so a second run
|
|
20
|
-
* whose resource set shrank can prune exactly those paths without touching
|
|
21
|
-
* anything else in the output home.
|
|
22
|
-
*/
|
|
23
1
|
import * as crypto from 'crypto';
|
|
24
2
|
import * as fs from 'fs';
|
|
25
3
|
import * as path from 'path';
|
|
@@ -63,18 +41,8 @@ function removePath(p) {
|
|
|
63
41
|
fs.unlinkSync(p);
|
|
64
42
|
}
|
|
65
43
|
catch {
|
|
66
|
-
/* already gone */
|
|
67
44
|
}
|
|
68
45
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Fail closed: every effective resource's kind must be a supported capability
|
|
71
|
-
* on this harness+version. MCP carries two finer-grained sub-capabilities the
|
|
72
|
-
* coarse `mcp` flag does not cover — `mcpHttp` (remote transport at all) and
|
|
73
|
-
* `mcpHeaders` (custom headers on a remote server) — mirroring the check
|
|
74
|
-
* `registerMcp` already applies (agent-spec/agents.ts). Skipping these let a
|
|
75
|
-
* harness with `mcpHttp: false` (e.g. opencode) or `mcpHeaders: false` (e.g.
|
|
76
|
-
* codex) silently receive an http/sse server or a header it cannot express.
|
|
77
|
-
*/
|
|
78
46
|
function assertCapabilitiesSupported(resources, harness, harnessVersion) {
|
|
79
47
|
const unsupported = [];
|
|
80
48
|
for (const r of resources) {
|
|
@@ -99,35 +67,12 @@ function assertCapabilitiesSupported(resources, harness, harnessVersion) {
|
|
|
99
67
|
throw new AgentPackageError(`${harness}@${harnessVersion} cannot materialize this package: ${unsupported.length} unsupported capability request(s)`, 'unsupported-capability', unsupported);
|
|
100
68
|
}
|
|
101
69
|
}
|
|
102
|
-
/**
|
|
103
|
-
* The load-bearing containment invariant: every path this materializer is about
|
|
104
|
-
* to write to (or delete) must, once symlinks in its existing prefix are
|
|
105
|
-
* resolved, stay inside `realOutputHome` (the realpath of the output home). The
|
|
106
|
-
* writers form their targets by APPENDING the harness config dir + resource name
|
|
107
|
-
* to `outputHome` — so a symlink planted at that join point (e.g. an
|
|
108
|
-
* `outputHome/.claude` symlink → the live `~/.claude`) redirects the write
|
|
109
|
-
* outside the output home. `resolveOutputHome`'s front-door guard can't see that
|
|
110
|
-
* child; this check, in the materializer that every writer already funnels
|
|
111
|
-
* through, is what protects a direct (Factory / Prix Cloud) caller too. Called
|
|
112
|
-
* BEFORE any `mkdirSync`/`copyFileSync`/`rmSync`, since `mkdir -p` would happily
|
|
113
|
-
* traverse the symlink first.
|
|
114
|
-
*/
|
|
115
70
|
function assertTargetContained(realOutputHome, target, label) {
|
|
116
71
|
const canonical = realpathExistingPrefix(target);
|
|
117
72
|
if (canonical !== realOutputHome && !canonical.startsWith(realOutputHome + path.sep)) {
|
|
118
73
|
throw new AgentPackageError(`${label}: refusing to write outside the output home — '${target}' resolves outside '${realOutputHome}'`, 'path-escape');
|
|
119
74
|
}
|
|
120
75
|
}
|
|
121
|
-
/**
|
|
122
|
-
* The final-leaf guard, stricter than {@link assertTargetContained}: it also
|
|
123
|
-
* refuses a symlink planted AT the leaf itself. `assertTargetContained` resolves
|
|
124
|
-
* an existing leaf symlink and catches it only when the target is outside — but a
|
|
125
|
-
* DANGLING leaf symlink (its target does not exist yet) resolves via the leaf's
|
|
126
|
-
* real parent, reads as contained, and then `copyFileSync`/`writeFileSync`/
|
|
127
|
-
* `chmodSync` FOLLOWS it and creates/overwrites the file at the link's
|
|
128
|
-
* destination. So `lstat` the leaf and reject any symlink outright. Called
|
|
129
|
-
* immediately before each write/chmod of a concrete destination file.
|
|
130
|
-
*/
|
|
131
76
|
function assertLeafSafe(realOutputHome, leaf, label) {
|
|
132
77
|
assertTargetContained(realOutputHome, leaf, label);
|
|
133
78
|
let lst;
|
|
@@ -135,7 +80,7 @@ function assertLeafSafe(realOutputHome, leaf, label) {
|
|
|
135
80
|
lst = fs.lstatSync(leaf);
|
|
136
81
|
}
|
|
137
82
|
catch {
|
|
138
|
-
return;
|
|
83
|
+
return;
|
|
139
84
|
}
|
|
140
85
|
if (lst.isSymbolicLink()) {
|
|
141
86
|
throw new AgentPackageError(`${label}: refusing to write through a symlink at '${leaf}'`, 'path-escape');
|
|
@@ -148,9 +93,6 @@ function materializeInstructions(resource, harness, outputHome, realOutputHome)
|
|
|
148
93
|
}
|
|
149
94
|
const agentDir = path.join(outputHome, agentConfigDirName(harness));
|
|
150
95
|
const destFile = path.join(agentDir, cap.file);
|
|
151
|
-
// Ancestor guard BEFORE mkdir (else `mkdir -p` traverses a symlinked config
|
|
152
|
-
// dir into the live home); leaf guard AFTER mkdir (a symlink planted at the
|
|
153
|
-
// file itself, e.g. on a re-run into a reused home).
|
|
154
96
|
assertTargetContained(realOutputHome, destFile, `${harness} instructions`);
|
|
155
97
|
fs.mkdirSync(path.dirname(destFile), { recursive: true });
|
|
156
98
|
assertLeafSafe(realOutputHome, destFile, `${harness} instructions`);
|
|
@@ -171,9 +113,6 @@ function materializeSubagent(resource, harness, outputHome, realOutputHome) {
|
|
|
171
113
|
throw new AgentPackageError(`${harness} has no subagent target registered`, 'unsupported-capability');
|
|
172
114
|
}
|
|
173
115
|
const dir = target.dir(outputHome);
|
|
174
|
-
// Ancestor guard BEFORE the write's `mkdir -p` (a symlinked `.claude/agents`
|
|
175
|
-
// would otherwise be traversed); leaf guard on the concrete subagent file the
|
|
176
|
-
// writer forms itself, so a preplanted symlink AT that leaf can't redirect it.
|
|
177
116
|
assertTargetContained(realOutputHome, dir, `${harness} subagent '${resource.name}'`);
|
|
178
117
|
fs.mkdirSync(dir, { recursive: true });
|
|
179
118
|
const occupied = target.occupied(dir, resource.name)[0];
|
|
@@ -181,19 +120,6 @@ function materializeSubagent(resource, harness, outputHome, realOutputHome) {
|
|
|
181
120
|
target.write(dir, { name: resource.name, path: resource.sourcePath });
|
|
182
121
|
return path.relative(outputHome, occupied.path);
|
|
183
122
|
}
|
|
184
|
-
/**
|
|
185
|
-
* MCP servers write into one shared per-harness config file that may also
|
|
186
|
-
* carry unrelated content the materializer does not own (an oauth account, a
|
|
187
|
-
* project list — anything the real harness binary writes into that same file
|
|
188
|
-
* once the pod actually runs it). `writeMcpConfig`'s `overwrite` mode already
|
|
189
|
-
* preserves every other top-level key; `allowEmpty: true` is what lets THIS
|
|
190
|
-
* call — which always knows the complete current mcp resource set, including
|
|
191
|
-
* zero — converge the mcp section to exactly that set, rather than the
|
|
192
|
-
* generic path-based pruner deleting the whole file when the package's last
|
|
193
|
-
* mcp resource is removed (that would take the unrelated content with it).
|
|
194
|
-
* Runs whenever the file already exists so a package with zero mcp resources
|
|
195
|
-
* that never wrote one doesn't spuriously create an empty config.
|
|
196
|
-
*/
|
|
197
123
|
function materializeMcp(resources, harness, outputHome, realOutputHome) {
|
|
198
124
|
const configPath = getMcpConfigPathForHome(harness, outputHome);
|
|
199
125
|
if (resources.length === 0 && !fs.existsSync(configPath))
|
|
@@ -209,9 +135,6 @@ function materializeMcp(resources, harness, outputHome, realOutputHome) {
|
|
|
209
135
|
headers: r.mcp.headers,
|
|
210
136
|
}));
|
|
211
137
|
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
212
|
-
// The shared config is a regular file the materializer (and, later, the harness
|
|
213
|
-
// itself) rewrites in place; a SYMLINK at that leaf is never something we wrote,
|
|
214
|
-
// so refuse it before writeMcpConfig follows it out of the output home.
|
|
215
138
|
assertLeafSafe(realOutputHome, configPath, `${harness} mcp config`);
|
|
216
139
|
try {
|
|
217
140
|
writeMcpConfig(harness, configPath, servers, 'overwrite', { allowEmpty: true });
|
|
@@ -227,27 +150,14 @@ function materializeHooks(resources, harness, outputHome, realOutputHome) {
|
|
|
227
150
|
if (resources.length === 0)
|
|
228
151
|
return targets;
|
|
229
152
|
const hooksDir = getHooksDirInHome(harness, outputHome);
|
|
230
|
-
// Guarding the hooks dir also protects the harness settings.json that
|
|
231
|
-
// registerHooksToSettings writes below — both live under the same
|
|
232
|
-
// agent-config-dir ancestor, so a symlink there is caught before either write.
|
|
233
153
|
assertTargetContained(realOutputHome, hooksDir, `${harness} hooks dir`);
|
|
234
154
|
fs.mkdirSync(hooksDir, { recursive: true });
|
|
235
|
-
// The hooks-dir guard catches a symlinked ANCESTOR, but registerHooksToSettings
|
|
236
|
-
// (called below) writes a per-harness settings/registrar leaf under that dir's
|
|
237
|
-
// sibling config root — settings.json, codex hooks.json/config.toml, the
|
|
238
|
-
// opencode plugin. A symlink planted AT one of those leaves would redirect that
|
|
239
|
-
// write; fail loud here, before any hook script is copied.
|
|
240
155
|
for (const settingsLeaf of hookRegistrationTargets(harness, outputHome)) {
|
|
241
156
|
assertLeafSafe(realOutputHome, settingsLeaf, `${harness} hook settings`);
|
|
242
157
|
}
|
|
243
158
|
const manifest = {};
|
|
244
159
|
for (const r of resources) {
|
|
245
160
|
const { def, scriptPath } = r.hook;
|
|
246
|
-
// The hook name is attacker-controlled (it comes from the package's
|
|
247
|
-
// hooks/*.yaml `name:`) and is used as a filename here — a name like
|
|
248
|
-
// '../../../.config/foo' would copy + chmod +x OUTSIDE the output home.
|
|
249
|
-
// Require a single safe path segment AND re-assert containment before the
|
|
250
|
-
// write, failing loud rather than escaping.
|
|
251
161
|
if (!isSafeSegmentName(r.name)) {
|
|
252
162
|
throw new AgentPackageError(`${harness}: hook name '${r.name}' is not a safe single path segment`, 'invalid-resource');
|
|
253
163
|
}
|
|
@@ -256,42 +166,21 @@ function materializeHooks(resources, harness, outputHome, realOutputHome) {
|
|
|
256
166
|
if (!destScript.startsWith(hooksDirResolved + path.sep)) {
|
|
257
167
|
throw new AgentPackageError(`${harness}: hook '${r.name}' resolves outside the hooks directory`, 'invalid-resource');
|
|
258
168
|
}
|
|
259
|
-
// The check above is textual (name-traversal); this one refuses a preplanted
|
|
260
|
-
// symlink AT the script leaf, which both copyFileSync AND chmodSync would
|
|
261
|
-
// otherwise follow — chmod +x on a file outside the output home.
|
|
262
169
|
assertLeafSafe(realOutputHome, destScript, `${harness} hook '${r.name}'`);
|
|
263
170
|
fs.copyFileSync(scriptPath, destScript);
|
|
264
171
|
fs.chmodSync(destScript, 0o755);
|
|
265
172
|
manifest[r.name] = { script: destScript, events: def.events, matcher: def.matcher, timeout: def.timeout };
|
|
266
173
|
targets.set(r.name, path.relative(outputHome, destScript));
|
|
267
174
|
}
|
|
268
|
-
// `skipGlobalShimSweep`: this manifest is the PACKAGE's hooks only, so the
|
|
269
|
-
// default orphan-shim sweep would delete every unrelated `.sh` from the ONE
|
|
270
|
-
// process-global shim dir (`~/.agents/.cache/shims/hooks/`) — the operator's
|
|
271
|
-
// real hooks. Materialization is isolated to `outputHome`, so it must never
|
|
272
|
-
// GC that global directory (PHNX-3838).
|
|
273
175
|
const result = registerHooksToSettings(harness, outputHome, manifest, undefined, { skipGlobalShimSweep: true });
|
|
274
176
|
if (result.errors.length > 0) {
|
|
275
177
|
throw new AgentPackageError(`${harness}: failed to register hook(s) — ${result.errors.join('; ')}`, 'invalid-resource');
|
|
276
178
|
}
|
|
277
179
|
return targets;
|
|
278
180
|
}
|
|
279
|
-
/** Deterministic package ref used in the receipt — `<slug>@<manifest-digest-prefix>`, since packages carry no separate semver here. */
|
|
280
181
|
function packageRef(resolved) {
|
|
281
182
|
return `${resolved.manifest.slug}@${resolved.digest.slice(0, 12)}`;
|
|
282
183
|
}
|
|
283
|
-
/**
|
|
284
|
-
* True when `rel` is a target this pruner may safely delete: a non-empty,
|
|
285
|
-
* `..`-free RELATIVE path whose CANONICAL form (symlinks in its existing prefix
|
|
286
|
-
* resolved) stays strictly inside `realOutputHome`. The receipt is unsigned and
|
|
287
|
-
* sits inside the output home, so a planted receipt could carry a `target` of
|
|
288
|
-
* `../../victim`, `/etc/passwd`, OR an innocuous-looking `skills/keep.txt` sitting
|
|
289
|
-
* one level under a symlinked ancestor (`outputHome/skills` → a victim dir) — a
|
|
290
|
-
* purely textual containment check misses the last shape because `removePath`'s
|
|
291
|
-
* `lstat` only refuses to follow the FINAL component, still traversing symlinked
|
|
292
|
-
* ancestors. Realpath-verify before deleting; skip (never delete) anything that
|
|
293
|
-
* escapes.
|
|
294
|
-
*/
|
|
295
184
|
function isSafeContainedTarget(realOutputHome, outputHome, rel) {
|
|
296
185
|
if (typeof rel !== 'string' || rel.length === 0 || rel.includes('\0'))
|
|
297
186
|
return false;
|
|
@@ -302,19 +191,15 @@ function isSafeContainedTarget(realOutputHome, outputHome, rel) {
|
|
|
302
191
|
const canonical = realpathExistingPrefix(path.resolve(outputHome, rel));
|
|
303
192
|
return canonical.startsWith(realOutputHome + path.sep);
|
|
304
193
|
}
|
|
305
|
-
/** Delete any path this materializer owned in a PRIOR run of this exact output home that is no longer part of the current resource set. */
|
|
306
194
|
function pruneStaleManagedPaths(realOutputHome, outputHome, previousTargets, currentTargets) {
|
|
307
195
|
for (const rel of previousTargets) {
|
|
308
196
|
if (currentTargets.has(rel))
|
|
309
197
|
continue;
|
|
310
|
-
// The prior receipt is unsigned; never delete a target that escapes the
|
|
311
|
-
// output home — textually OR through a symlinked ancestor.
|
|
312
198
|
if (!isSafeContainedTarget(realOutputHome, outputHome, rel))
|
|
313
199
|
continue;
|
|
314
200
|
removePath(path.join(outputHome, rel));
|
|
315
201
|
}
|
|
316
202
|
}
|
|
317
|
-
/** Structurally validate an untrusted, unsigned prior receipt before its targets are ever trusted for deletion. */
|
|
318
203
|
function isValidReceipt(value) {
|
|
319
204
|
if (!value || typeof value !== 'object')
|
|
320
205
|
return false;
|
|
@@ -327,15 +212,12 @@ function isValidReceipt(value) {
|
|
|
327
212
|
}
|
|
328
213
|
function readPriorReceipt(outputHome) {
|
|
329
214
|
const receiptPath = path.join(outputHome, RECEIPT_FILE);
|
|
330
|
-
// A preplanted SYMLINK at the receipt is untrusted: reading through it slurps
|
|
331
|
-
// an arbitrary outside file as the "prior receipt". Treat it as no prior
|
|
332
|
-
// receipt (the write path refuses to follow it too — see assertLeafSafe below).
|
|
333
215
|
try {
|
|
334
216
|
if (fs.lstatSync(receiptPath).isSymbolicLink())
|
|
335
217
|
return null;
|
|
336
218
|
}
|
|
337
219
|
catch {
|
|
338
|
-
return null;
|
|
220
|
+
return null;
|
|
339
221
|
}
|
|
340
222
|
let parsed;
|
|
341
223
|
try {
|
|
@@ -346,15 +228,6 @@ function readPriorReceipt(outputHome) {
|
|
|
346
228
|
}
|
|
347
229
|
return isValidReceipt(parsed) ? parsed : null;
|
|
348
230
|
}
|
|
349
|
-
/**
|
|
350
|
-
* Materialize `resolved` into a fresh native home for `options.harness`. Fails
|
|
351
|
-
* closed (throws `AgentPackageError`, writes nothing new) when the harness is
|
|
352
|
-
* not declared supported by the package, or when any effective resource needs
|
|
353
|
-
* a capability the harness+version does not have. Idempotent and
|
|
354
|
-
* deterministic: re-running against the same `outputHome` with the same
|
|
355
|
-
* inputs produces a byte-identical receipt and prunes any managed path this
|
|
356
|
-
* materializer previously wrote that the current resource set no longer needs.
|
|
357
|
-
*/
|
|
358
231
|
export function materializeAgentPackage(resolved, options) {
|
|
359
232
|
const { harness, harnessVersion, outputHome } = options;
|
|
360
233
|
if (!resolved.manifest.execution.harnesses.supported.includes(harness)) {
|
|
@@ -363,15 +236,8 @@ export function materializeAgentPackage(resolved, options) {
|
|
|
363
236
|
const resources = effectiveResources(resolved, harness);
|
|
364
237
|
assertCapabilitiesSupported(resources, harness, harnessVersion);
|
|
365
238
|
fs.mkdirSync(outputHome, { recursive: true });
|
|
366
|
-
// The output home now exists, so realpath it once: every write/delete target
|
|
367
|
-
// is verified against THIS canonical root, so a symlink planted at the
|
|
368
|
-
// harness-config-dir join point (or a symlinked ancestor named by a stale
|
|
369
|
-
// receipt) can't redirect a write/delete outside the output home.
|
|
370
239
|
const realOutputHome = fs.realpathSync(outputHome);
|
|
371
240
|
const prior = readPriorReceipt(outputHome);
|
|
372
|
-
// 'mcp' is excluded: it's a shared config file `materializeMcp` converges
|
|
373
|
-
// (including to empty) by editing its own section, not a path this generic
|
|
374
|
-
// delete-by-path pruner may ever remove wholesale — see materializeMcp's doc.
|
|
375
241
|
const previousTargets = new Set((prior?.resources ?? []).filter((r) => r.kind !== 'mcp').map((r) => r.target));
|
|
376
242
|
const entries = [];
|
|
377
243
|
const mcpResources = resources.filter((r) => r.kind === 'mcp');
|
|
@@ -402,13 +268,10 @@ export function materializeAgentPackage(resolved, options) {
|
|
|
402
268
|
warnings: [],
|
|
403
269
|
};
|
|
404
270
|
const receiptPath = path.join(outputHome, RECEIPT_FILE);
|
|
405
|
-
// Final leaf guard: a symlink planted at the receipt (dangling or live) would
|
|
406
|
-
// redirect this write out of the output home; refuse it.
|
|
407
271
|
assertLeafSafe(realOutputHome, receiptPath, 'materialization receipt');
|
|
408
272
|
fs.writeFileSync(receiptPath, JSON.stringify(receipt, null, 2) + '\n');
|
|
409
273
|
return receipt;
|
|
410
274
|
}
|
|
411
|
-
/** Lowercase hex sha256 of arbitrary bytes — exposed for callers that want to verify the receipt file's own digest (Factory's observed-digest record). */
|
|
412
275
|
export function sha256OfReceiptFile(receiptPath) {
|
|
413
276
|
return crypto.createHash('sha256').update(fs.readFileSync(receiptPath)).digest('hex');
|
|
414
277
|
}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
1
|
import type { AgentId } from '../types.js';
|
|
2
2
|
import type { ResolvedAgentPackage, ResolvedResource } from './package-types.js';
|
|
3
|
-
/** Parse, validate, and resolve every declared resource of a package directory into one canonical result. */
|
|
4
3
|
export declare function resolveAgentPackage(packageDir: string): ResolvedAgentPackage;
|
|
5
|
-
/**
|
|
6
|
-
* The resource set a specific harness actually materializes: portable
|
|
7
|
-
* resources, with any harness-overlay resource of the same `(kind, name)`
|
|
8
|
-
* deterministically replacing its portable counterpart, plus overlay-only
|
|
9
|
-
* additions. This is the ONE merge rule every harness adapter shares —
|
|
10
|
-
* `materialize.ts` calls this instead of re-deriving precedence per harness.
|
|
11
|
-
*/
|
|
12
4
|
export declare function effectiveResources(resolved: ResolvedAgentPackage, harness: AgentId): ResolvedResource[];
|
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical agent-package resolver (PHNX-3838).
|
|
3
|
-
*
|
|
4
|
-
* `resolveAgentPackage` is the ONE place that decides what a package's logical
|
|
5
|
-
* resources are: it validates the manifest, resolves every declared resource
|
|
6
|
-
* path against the package directory (failing closed on anything missing,
|
|
7
|
-
* malformed, or escaping the package root), hashes each resource
|
|
8
|
-
* deterministically, and applies the package's conflict-resolution rule —
|
|
9
|
-
* within one scope (portable, or one harness's overlay) a duplicate
|
|
10
|
-
* `(kind, name)` is a hard validation error; across scopes, an overlay
|
|
11
|
-
* resource deterministically replaces the portable resource of the same
|
|
12
|
-
* `(kind, name)` when a harness materializes it (`effectiveResources`).
|
|
13
|
-
*
|
|
14
|
-
* This module never writes to disk and never knows about any specific
|
|
15
|
-
* harness's native format — `materialize.ts` is the only consumer of
|
|
16
|
-
* `effectiveResources`, and it owns projection, not resolution.
|
|
17
|
-
*/
|
|
18
1
|
import * as crypto from 'crypto';
|
|
19
2
|
import * as fs from 'fs';
|
|
20
3
|
import * as path from 'path';
|
|
@@ -22,22 +5,13 @@ import * as yaml from 'yaml';
|
|
|
22
5
|
import { assertWithin, isSafeSegmentName } from '../paths.js';
|
|
23
6
|
import { loadAgentPackageManifest } from './package-schema.js';
|
|
24
7
|
import { AgentPackageError } from './package-types.js';
|
|
25
|
-
/**
|
|
26
|
-
* Reject a package source that is a symlink, or that resolves (through a
|
|
27
|
-
* symlinked ancestor) outside the package's real root. `assertWithin` above is a
|
|
28
|
-
* TEXTUAL check — `path.resolve` normalizes `..` but never follows links — so a
|
|
29
|
-
* `skills/evil -> /home/user/.ssh` symlink, or an `instructions.md ->
|
|
30
|
-
* /etc/passwd` symlink, passes it while the actual bytes read/copied come from
|
|
31
|
-
* OUTSIDE the package. This is the containment check that makes the copy safe.
|
|
32
|
-
* A missing source is left for the `requireFile`/`requireDir` caller to report.
|
|
33
|
-
*/
|
|
34
8
|
function assertRealSourceWithin(abs, packageReal, label) {
|
|
35
9
|
let lst;
|
|
36
10
|
try {
|
|
37
11
|
lst = fs.lstatSync(abs);
|
|
38
12
|
}
|
|
39
13
|
catch {
|
|
40
|
-
return;
|
|
14
|
+
return;
|
|
41
15
|
}
|
|
42
16
|
if (lst.isSymbolicLink()) {
|
|
43
17
|
throw new AgentPackageError(`${label}: '${abs}' is a symlink; symlinked package sources are not allowed`, 'path-escape');
|
|
@@ -67,7 +41,6 @@ function resolveWithin(containRoot, relPath, label, packageReal) {
|
|
|
67
41
|
function sha256OfBytes(data) {
|
|
68
42
|
return crypto.createHash('sha256').update(data).digest('hex');
|
|
69
43
|
}
|
|
70
|
-
/** Deterministic combined hash of every file under `dir`, sorted by relative path. */
|
|
71
44
|
function sha256OfDir(dir) {
|
|
72
45
|
const files = [];
|
|
73
46
|
const walk = (base) => {
|
|
@@ -171,9 +144,6 @@ function resolveHookResource(packageDir, relPath, provenance, label, packageReal
|
|
|
171
144
|
if (!hook || typeof hook.name !== 'string' || hook.name.length === 0) {
|
|
172
145
|
throw new AgentPackageError(`${label}: '${relPath}' must declare a 'name'`, 'invalid-resource');
|
|
173
146
|
}
|
|
174
|
-
// The hook name becomes a filename in the materialized home, so a traversing
|
|
175
|
-
// name ('../../foo') would write a hook script outside the output home. Reject
|
|
176
|
-
// anything but a single safe path segment at the source.
|
|
177
147
|
if (!isSafeSegmentName(hook.name)) {
|
|
178
148
|
throw new AgentPackageError(`${label}: hook name '${hook.name}' is not a safe single path segment`, 'invalid-resource');
|
|
179
149
|
}
|
|
@@ -217,12 +187,10 @@ function resolveScope(packageDir, paths, provenance, scopeLabel, packageReal) {
|
|
|
217
187
|
resources.push(resolveMcpResource(packageDir, p, provenance, scopeLabel, packageReal));
|
|
218
188
|
for (const p of paths.hooks)
|
|
219
189
|
resources.push(resolveHookResource(packageDir, p, provenance, scopeLabel, packageReal));
|
|
220
|
-
// Sort deterministically — resolution order in agent.yaml must not affect output.
|
|
221
190
|
resources.sort((a, b) => (a.kind === b.kind ? a.name.localeCompare(b.name) : a.kind.localeCompare(b.kind)));
|
|
222
191
|
assertNoDuplicates(resources, scopeLabel);
|
|
223
192
|
return resources;
|
|
224
193
|
}
|
|
225
|
-
/** Deterministic package identity digest — independent of which harness later materializes it. */
|
|
226
194
|
function computeDigest(portable, overlays) {
|
|
227
195
|
const hash = crypto.createHash('sha256');
|
|
228
196
|
const record = (label, resources) => {
|
|
@@ -234,13 +202,9 @@ function computeDigest(portable, overlays) {
|
|
|
234
202
|
record(`overlay:${agent}`, overlays[agent] ?? []);
|
|
235
203
|
return hash.digest('hex');
|
|
236
204
|
}
|
|
237
|
-
/** Parse, validate, and resolve every declared resource of a package directory into one canonical result. */
|
|
238
205
|
export function resolveAgentPackage(packageDir) {
|
|
239
206
|
const manifest = loadAgentPackageManifest(packageDir);
|
|
240
207
|
const ex = manifest.execution;
|
|
241
|
-
// The package's REAL root — every resource source must realpath-resolve under
|
|
242
|
-
// this, so a symlinked ancestor can't smuggle in bytes from outside. The
|
|
243
|
-
// manifest already loaded from packageDir, so it exists and realpath succeeds.
|
|
244
208
|
const packageReal = fs.realpathSync(path.resolve(packageDir));
|
|
245
209
|
const portable = resolveScope(packageDir, { instructions: ex.instructions, skills: ex.skills, subagents: ex.subagents, mcp: ex.mcp, hooks: ex.hooks }, 'portable', 'execution', packageReal);
|
|
246
210
|
const overlays = {};
|
|
@@ -255,13 +219,6 @@ export function resolveAgentPackage(packageDir) {
|
|
|
255
219
|
overlays,
|
|
256
220
|
};
|
|
257
221
|
}
|
|
258
|
-
/**
|
|
259
|
-
* The resource set a specific harness actually materializes: portable
|
|
260
|
-
* resources, with any harness-overlay resource of the same `(kind, name)`
|
|
261
|
-
* deterministically replacing its portable counterpart, plus overlay-only
|
|
262
|
-
* additions. This is the ONE merge rule every harness adapter shares —
|
|
263
|
-
* `materialize.ts` calls this instead of re-deriving precedence per harness.
|
|
264
|
-
*/
|
|
265
222
|
export function effectiveResources(resolved, harness) {
|
|
266
223
|
const overlay = resolved.overlays[harness] ?? [];
|
|
267
224
|
const overlayKeys = new Set(overlay.map((r) => `${r.kind}:${r.name}`));
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import type { AgentPackageManifest } from './package-types.js';
|
|
2
|
-
/** Parse and shape-validate the `execution` block of a schema-v3 agent.yaml already read into memory. */
|
|
3
2
|
export declare function parseAgentPackageManifest(raw: unknown, sourceLabel: string): AgentPackageManifest;
|
|
4
|
-
/** Read + parse `<packageDir>/agent.yaml`. Fails closed on missing file or malformed YAML. */
|
|
5
3
|
export declare function loadAgentPackageManifest(packageDir: string): AgentPackageManifest;
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Schema-v3 `execution` block parsing for a portable agent package (agent.yaml).
|
|
3
|
-
*
|
|
4
|
-
* Pure and fs-free beyond reading the manifest file itself — never resolves or
|
|
5
|
-
* hashes referenced resources (that's `package-resolve.ts`). Fails closed on
|
|
6
|
-
* anything malformed: this is the "malformed shared config fails closed"
|
|
7
|
-
* boundary from the PHNX-3838 brief, so a bad manifest throws immediately
|
|
8
|
-
* rather than materializing a partial package.
|
|
9
|
-
*/
|
|
10
1
|
import * as fs from 'fs';
|
|
11
2
|
import * as path from 'path';
|
|
12
3
|
import * as yaml from 'yaml';
|
|
@@ -43,7 +34,6 @@ function parseHarnessOverlay(raw, agent) {
|
|
|
43
34
|
hooks: stringArray(r.hooks, `execution.harness_overlays.${agent}.hooks`),
|
|
44
35
|
};
|
|
45
36
|
}
|
|
46
|
-
/** Parse and shape-validate the `execution` block of a schema-v3 agent.yaml already read into memory. */
|
|
47
37
|
export function parseAgentPackageManifest(raw, sourceLabel) {
|
|
48
38
|
if (raw === null || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
49
39
|
fail(`${sourceLabel}: expected a YAML mapping at the document root`);
|
|
@@ -126,7 +116,6 @@ export function parseAgentPackageManifest(raw, sourceLabel) {
|
|
|
126
116
|
},
|
|
127
117
|
};
|
|
128
118
|
}
|
|
129
|
-
/** Read + parse `<packageDir>/agent.yaml`. Fails closed on missing file or malformed YAML. */
|
|
130
119
|
export function loadAgentPackageManifest(packageDir) {
|
|
131
120
|
const manifestPath = path.join(packageDir, 'agent.yaml');
|
|
132
121
|
let raw;
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types for the portable agent-package resolver + native-home materializer
|
|
3
|
-
* (PHNX-3838). A package is a filesystem `agent.yaml` (schema v3 `execution`
|
|
4
|
-
* block) describing behavior — instructions, skills, subagents, mcp, hooks —
|
|
5
|
-
* that `resolveAgentPackage` reduces to ONE canonical resource set, which
|
|
6
|
-
* `materializeAgentPackage` then projects into a native Claude Code, Codex, or
|
|
7
|
-
* OpenCode home. See `.agents/plans/phnx-3827-portable-agent-cloud/plan.md`
|
|
8
|
-
* (PR muqsitnawaz/agents#2055) for the source design.
|
|
9
|
-
*/
|
|
10
1
|
import type { AgentId } from '../types.js';
|
|
11
2
|
export type PackageResourceKind = 'instructions' | 'skills' | 'subagents' | 'mcp' | 'hooks';
|
|
12
|
-
/** Where a resolved resource came from — the provenance a conflict resolution decision needs. */
|
|
13
3
|
export type ResourceProvenance = 'portable' | 'overlay';
|
|
14
|
-
/** Thrown on any bad package or unsatisfiable materialization request. Never `process.exit`. */
|
|
15
4
|
export declare class AgentPackageError extends Error {
|
|
16
5
|
readonly code: 'invalid-manifest' | 'invalid-resource' | 'duplicate-resource' | 'path-escape' | 'unsupported-harness' | 'unsupported-capability';
|
|
17
6
|
readonly details?: string[] | undefined;
|
|
18
7
|
constructor(message: string, code: 'invalid-manifest' | 'invalid-resource' | 'duplicate-resource' | 'path-escape' | 'unsupported-harness' | 'unsupported-capability', details?: string[] | undefined);
|
|
19
8
|
}
|
|
20
|
-
/** One MCP server declared by a package's `mcp/*.yaml` resource file. */
|
|
21
9
|
export interface PackageMcpServer {
|
|
22
10
|
name: string;
|
|
23
11
|
transport: 'stdio' | 'http' | 'sse';
|
|
@@ -27,16 +15,13 @@ export interface PackageMcpServer {
|
|
|
27
15
|
url?: string;
|
|
28
16
|
headers?: Record<string, string>;
|
|
29
17
|
}
|
|
30
|
-
/** One lifecycle hook declared by a package's `hooks/*.yaml` resource file. */
|
|
31
18
|
export interface PackageHook {
|
|
32
19
|
name: string;
|
|
33
|
-
/** Path to the hook's script, relative to the hook manifest's own directory. */
|
|
34
20
|
script: string;
|
|
35
21
|
events: string[];
|
|
36
22
|
matcher?: string;
|
|
37
23
|
timeout?: number;
|
|
38
24
|
}
|
|
39
|
-
/** A harness-scoped overlay: the same resource-directory shape as the package root. */
|
|
40
25
|
export interface PackageHarnessOverlay {
|
|
41
26
|
instructions?: string;
|
|
42
27
|
skills?: string[];
|
|
@@ -44,7 +29,6 @@ export interface PackageHarnessOverlay {
|
|
|
44
29
|
mcp?: string[];
|
|
45
30
|
hooks?: string[];
|
|
46
31
|
}
|
|
47
|
-
/** Parsed + shape-validated `execution` block of a schema-v3 `agent.yaml`. */
|
|
48
32
|
export interface AgentPackageManifest {
|
|
49
33
|
schemaVersion: 3;
|
|
50
34
|
name: string;
|
|
@@ -64,29 +48,21 @@ export interface AgentPackageManifest {
|
|
|
64
48
|
harnessOverlays: Partial<Record<AgentId, PackageHarnessOverlay>>;
|
|
65
49
|
};
|
|
66
50
|
}
|
|
67
|
-
/** One resource in the canonical, resolved package — before harness projection. */
|
|
68
51
|
export interface ResolvedResource {
|
|
69
52
|
kind: PackageResourceKind;
|
|
70
|
-
/** Stable resource name within its kind (skill/subagent/mcp-server/hook name, or 'instructions'). */
|
|
71
53
|
name: string;
|
|
72
|
-
/** Absolute path to the resource's source — a file for instructions/mcp/hooks, a dir for skills/subagents. */
|
|
73
54
|
sourcePath: string;
|
|
74
|
-
/** Deterministic content hash — a single file's sha256, or a directory's combined sha256. */
|
|
75
55
|
sha256: string;
|
|
76
56
|
provenance: ResourceProvenance;
|
|
77
|
-
/** Parsed definition, kind === 'mcp' only. */
|
|
78
57
|
mcp?: PackageMcpServer;
|
|
79
|
-
/** Parsed definition + resolved script path, kind === 'hooks' only. */
|
|
80
58
|
hook?: {
|
|
81
59
|
def: PackageHook;
|
|
82
60
|
scriptPath: string;
|
|
83
61
|
};
|
|
84
62
|
}
|
|
85
|
-
/** The one canonical resolution of a package: portable resources plus each harness's overlay. */
|
|
86
63
|
export interface ResolvedAgentPackage {
|
|
87
64
|
manifest: AgentPackageManifest;
|
|
88
65
|
packageDir: string;
|
|
89
|
-
/** Deterministic digest over every declared resource (portable + all overlays), independent of harness. */
|
|
90
66
|
digest: string;
|
|
91
67
|
portable: ResolvedResource[];
|
|
92
68
|
overlays: Partial<Record<AgentId, ResolvedResource[]>>;
|
|
@@ -94,7 +70,6 @@ export interface ResolvedAgentPackage {
|
|
|
94
70
|
export interface MaterializationReceiptEntry {
|
|
95
71
|
kind: PackageResourceKind;
|
|
96
72
|
name: string;
|
|
97
|
-
/** Path the materializer wrote, relative to the output home. */
|
|
98
73
|
target: string;
|
|
99
74
|
sha256: string;
|
|
100
75
|
provenance: ResourceProvenance;
|
|
@@ -114,8 +89,6 @@ export interface MaterializationReceipt {
|
|
|
114
89
|
}
|
|
115
90
|
export interface MaterializeOptions {
|
|
116
91
|
harness: AgentId;
|
|
117
|
-
/** Harness version — gates per-kind capability support (e.g. codex hooks need >= 0.116.0). */
|
|
118
92
|
harnessVersion: string;
|
|
119
|
-
/** Absolute path to the fresh, isolated home to materialize into. Created if missing. */
|
|
120
93
|
outputHome: string;
|
|
121
94
|
}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The only shape a version string may take before it reaches an exec/shim/path
|
|
3
|
-
* boundary. Accepts the literal `latest` or a 1–64 char run of `[A-Za-z0-9._+-]`
|
|
4
|
-
* with no `..` traversal. This is THE validation gate — every resolver funnels
|
|
5
|
-
* exact-version tokens through it.
|
|
6
|
-
*/
|
|
7
1
|
export declare const VERSION_RE: RegExp;
|
|
8
|
-
/** Canonical qualifier set, in help/display order. `pinned` ≡ `default`. */
|
|
9
2
|
export declare const AGENT_QUALIFIERS: readonly ["latest", "oldest", "pinned", "default", "all"];
|
|
10
|
-
/**
|
|
11
|
-
* Ordering for version strings (ascending).
|
|
12
|
-
* 1. numeric segment comparison (semver-ish: `2.1.187` > `2.1.143`)
|
|
13
|
-
* 2. tie → trailing `-N` build suffix, numerically (`2026.2.19-2` > `2026.2.19`)
|
|
14
|
-
* 3. still tied → 0 (legacy behavior: `1.0` == `1.0.0`, non-numeric tails == 0)
|
|
15
|
-
*
|
|
16
|
-
* Deliberately NOT a full semver comparator: OpenClaw's `-N` is a rebuild marker
|
|
17
|
-
* (higher = newer); a semver comparator would invert it. The `-N` tiebreak is the
|
|
18
|
-
* only addition over the historical numeric-only compare, so suffix-free versions
|
|
19
|
-
* (claude/codex semver) are unaffected.
|
|
20
|
-
*/
|
|
21
3
|
export declare function compareVersions(a: string, b: string): number;
|