@swarmify/agents-cli 1.13.3 → 1.14.0
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/README.md +2 -319
- package/bin/agents.js +2 -0
- package/package.json +13 -79
- package/scripts/postinstall.js +4 -71
- package/CHANGELOG.md +0 -316
- package/LICENSE +0 -21
- package/dist/commands/__tests__/sessions-tail.test.d.ts +0 -2
- package/dist/commands/__tests__/sessions-tail.test.d.ts.map +0 -1
- package/dist/commands/__tests__/sessions-tail.test.js +0 -108
- package/dist/commands/__tests__/sessions-tail.test.js.map +0 -1
- package/dist/commands/__tests__/sessions.test.d.ts +0 -2
- package/dist/commands/__tests__/sessions.test.d.ts.map +0 -1
- package/dist/commands/__tests__/sessions.test.js +0 -636
- package/dist/commands/__tests__/sessions.test.js.map +0 -1
- package/dist/commands/cloud.d.ts +0 -11
- package/dist/commands/cloud.d.ts.map +0 -1
- package/dist/commands/cloud.js +0 -363
- package/dist/commands/cloud.js.map +0 -1
- package/dist/commands/commands.d.ts +0 -12
- package/dist/commands/commands.d.ts.map +0 -1
- package/dist/commands/commands.js +0 -629
- package/dist/commands/commands.js.map +0 -1
- package/dist/commands/daemon.d.ts +0 -11
- package/dist/commands/daemon.d.ts.map +0 -1
- package/dist/commands/daemon.js +0 -119
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/drive.d.ts +0 -11
- package/dist/commands/drive.d.ts.map +0 -1
- package/dist/commands/drive.js +0 -175
- package/dist/commands/drive.js.map +0 -1
- package/dist/commands/exec.d.ts +0 -11
- package/dist/commands/exec.d.ts.map +0 -1
- package/dist/commands/exec.js +0 -251
- package/dist/commands/exec.js.map +0 -1
- package/dist/commands/factory.d.ts +0 -11
- package/dist/commands/factory.d.ts.map +0 -1
- package/dist/commands/factory.js +0 -445
- package/dist/commands/factory.js.map +0 -1
- package/dist/commands/fork.d.ts +0 -11
- package/dist/commands/fork.d.ts.map +0 -1
- package/dist/commands/fork.js +0 -147
- package/dist/commands/fork.js.map +0 -1
- package/dist/commands/hooks.d.ts +0 -12
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -690
- package/dist/commands/hooks.js.map +0 -1
- package/dist/commands/init.d.ts +0 -15
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -137
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -12
- package/dist/commands/mcp.d.ts.map +0 -1
- package/dist/commands/mcp.js +0 -583
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/models.d.ts +0 -11
- package/dist/commands/models.d.ts.map +0 -1
- package/dist/commands/models.js +0 -170
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/packages.d.ts +0 -11
- package/dist/commands/packages.d.ts.map +0 -1
- package/dist/commands/packages.js +0 -551
- package/dist/commands/packages.js.map +0 -1
- package/dist/commands/permissions.d.ts +0 -12
- package/dist/commands/permissions.d.ts.map +0 -1
- package/dist/commands/permissions.js +0 -724
- package/dist/commands/permissions.js.map +0 -1
- package/dist/commands/plugins.d.ts +0 -11
- package/dist/commands/plugins.d.ts.map +0 -1
- package/dist/commands/plugins.js +0 -393
- package/dist/commands/plugins.js.map +0 -1
- package/dist/commands/profiles.d.ts +0 -12
- package/dist/commands/profiles.d.ts.map +0 -1
- package/dist/commands/profiles.js +0 -255
- package/dist/commands/profiles.js.map +0 -1
- package/dist/commands/pty.d.ts +0 -21
- package/dist/commands/pty.d.ts.map +0 -1
- package/dist/commands/pty.js +0 -391
- package/dist/commands/pty.js.map +0 -1
- package/dist/commands/pull.d.ts +0 -11
- package/dist/commands/pull.d.ts.map +0 -1
- package/dist/commands/pull.js +0 -456
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/push.d.ts +0 -11
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -188
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/refresh-memory.d.ts +0 -16
- package/dist/commands/refresh-memory.d.ts.map +0 -1
- package/dist/commands/refresh-memory.js +0 -52
- package/dist/commands/refresh-memory.js.map +0 -1
- package/dist/commands/resource-view.d.ts +0 -39
- package/dist/commands/resource-view.d.ts.map +0 -1
- package/dist/commands/resource-view.js +0 -197
- package/dist/commands/resource-view.js.map +0 -1
- package/dist/commands/routines.d.ts +0 -11
- package/dist/commands/routines.d.ts.map +0 -1
- package/dist/commands/routines.js +0 -590
- package/dist/commands/routines.js.map +0 -1
- package/dist/commands/rules.d.ts +0 -12
- package/dist/commands/rules.d.ts.map +0 -1
- package/dist/commands/rules.js +0 -489
- package/dist/commands/rules.js.map +0 -1
- package/dist/commands/secrets.d.ts +0 -11
- package/dist/commands/secrets.d.ts.map +0 -1
- package/dist/commands/secrets.js +0 -352
- package/dist/commands/secrets.js.map +0 -1
- package/dist/commands/sessions-picker.d.ts +0 -18
- package/dist/commands/sessions-picker.d.ts.map +0 -1
- package/dist/commands/sessions-picker.js +0 -265
- package/dist/commands/sessions-picker.js.map +0 -1
- package/dist/commands/sessions-tail.d.ts +0 -20
- package/dist/commands/sessions-tail.d.ts.map +0 -1
- package/dist/commands/sessions-tail.js +0 -236
- package/dist/commands/sessions-tail.js.map +0 -1
- package/dist/commands/sessions.d.ts +0 -18
- package/dist/commands/sessions.d.ts.map +0 -1
- package/dist/commands/sessions.js +0 -1173
- package/dist/commands/sessions.js.map +0 -1
- package/dist/commands/skills.d.ts +0 -12
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js +0 -717
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/status.d.ts +0 -10
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -26
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/subagents.d.ts +0 -11
- package/dist/commands/subagents.d.ts.map +0 -1
- package/dist/commands/subagents.js +0 -361
- package/dist/commands/subagents.js.map +0 -1
- package/dist/commands/sync.d.ts +0 -11
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -70
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/teams-picker.d.ts +0 -18
- package/dist/commands/teams-picker.d.ts.map +0 -1
- package/dist/commands/teams-picker.js +0 -290
- package/dist/commands/teams-picker.js.map +0 -1
- package/dist/commands/teams.d.ts +0 -18
- package/dist/commands/teams.d.ts.map +0 -1
- package/dist/commands/teams.js +0 -1144
- package/dist/commands/teams.js.map +0 -1
- package/dist/commands/utils.d.ts +0 -45
- package/dist/commands/utils.d.ts.map +0 -1
- package/dist/commands/utils.js +0 -106
- package/dist/commands/utils.js.map +0 -1
- package/dist/commands/versions.d.ts +0 -11
- package/dist/commands/versions.d.ts.map +0 -1
- package/dist/commands/versions.js +0 -701
- package/dist/commands/versions.js.map +0 -1
- package/dist/commands/view.d.ts +0 -43
- package/dist/commands/view.d.ts.map +0 -1
- package/dist/commands/view.js +0 -894
- package/dist/commands/view.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -496
- package/dist/index.js.map +0 -1
- package/dist/lib/__tests__/bugfixes.test.d.ts +0 -2
- package/dist/lib/__tests__/bugfixes.test.d.ts.map +0 -1
- package/dist/lib/__tests__/bugfixes.test.js +0 -192
- package/dist/lib/__tests__/bugfixes.test.js.map +0 -1
- package/dist/lib/__tests__/exec.test.d.ts +0 -2
- package/dist/lib/__tests__/exec.test.d.ts.map +0 -1
- package/dist/lib/__tests__/exec.test.js +0 -446
- package/dist/lib/__tests__/exec.test.js.map +0 -1
- package/dist/lib/__tests__/git-sync.test.d.ts +0 -2
- package/dist/lib/__tests__/git-sync.test.d.ts.map +0 -1
- package/dist/lib/__tests__/git-sync.test.js +0 -138
- package/dist/lib/__tests__/git-sync.test.js.map +0 -1
- package/dist/lib/__tests__/hooks.test.d.ts +0 -2
- package/dist/lib/__tests__/hooks.test.d.ts.map +0 -1
- package/dist/lib/__tests__/hooks.test.js +0 -203
- package/dist/lib/__tests__/hooks.test.js.map +0 -1
- package/dist/lib/__tests__/memory-compile.test.d.ts +0 -2
- package/dist/lib/__tests__/memory-compile.test.d.ts.map +0 -1
- package/dist/lib/__tests__/memory-compile.test.js +0 -95
- package/dist/lib/__tests__/memory-compile.test.js.map +0 -1
- package/dist/lib/__tests__/models.test.d.ts +0 -2
- package/dist/lib/__tests__/models.test.d.ts.map +0 -1
- package/dist/lib/__tests__/models.test.js +0 -239
- package/dist/lib/__tests__/models.test.js.map +0 -1
- package/dist/lib/__tests__/rotate.test.d.ts +0 -2
- package/dist/lib/__tests__/rotate.test.d.ts.map +0 -1
- package/dist/lib/__tests__/rotate.test.js +0 -80
- package/dist/lib/__tests__/rotate.test.js.map +0 -1
- package/dist/lib/__tests__/secrets-bundles.test.d.ts +0 -2
- package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +0 -1
- package/dist/lib/__tests__/secrets-bundles.test.js +0 -104
- package/dist/lib/__tests__/secrets-bundles.test.js.map +0 -1
- package/dist/lib/__tests__/secrets.test.d.ts +0 -2
- package/dist/lib/__tests__/secrets.test.d.ts.map +0 -1
- package/dist/lib/__tests__/secrets.test.js +0 -90
- package/dist/lib/__tests__/secrets.test.js.map +0 -1
- package/dist/lib/__tests__/shims.test.d.ts +0 -2
- package/dist/lib/__tests__/shims.test.d.ts.map +0 -1
- package/dist/lib/__tests__/shims.test.js +0 -57
- package/dist/lib/__tests__/shims.test.js.map +0 -1
- package/dist/lib/__tests__/usage.test.d.ts +0 -2
- package/dist/lib/__tests__/usage.test.d.ts.map +0 -1
- package/dist/lib/__tests__/usage.test.js +0 -220
- package/dist/lib/__tests__/usage.test.js.map +0 -1
- package/dist/lib/__tests__/versions.test.d.ts +0 -2
- package/dist/lib/__tests__/versions.test.d.ts.map +0 -1
- package/dist/lib/__tests__/versions.test.js +0 -63
- package/dist/lib/__tests__/versions.test.js.map +0 -1
- package/dist/lib/agents.d.ts +0 -158
- package/dist/lib/agents.d.ts.map +0 -1
- package/dist/lib/agents.js +0 -1159
- package/dist/lib/agents.js.map +0 -1
- package/dist/lib/artifact-actions.d.ts +0 -27
- package/dist/lib/artifact-actions.d.ts.map +0 -1
- package/dist/lib/artifact-actions.js +0 -58
- package/dist/lib/artifact-actions.js.map +0 -1
- package/dist/lib/cloud/codex.d.ts +0 -26
- package/dist/lib/cloud/codex.d.ts.map +0 -1
- package/dist/lib/cloud/codex.js +0 -237
- package/dist/lib/cloud/codex.js.map +0 -1
- package/dist/lib/cloud/factory.d.ts +0 -32
- package/dist/lib/cloud/factory.d.ts.map +0 -1
- package/dist/lib/cloud/factory.js +0 -43
- package/dist/lib/cloud/factory.js.map +0 -1
- package/dist/lib/cloud/registry.d.ts +0 -16
- package/dist/lib/cloud/registry.d.ts.map +0 -1
- package/dist/lib/cloud/registry.js +0 -68
- package/dist/lib/cloud/registry.js.map +0 -1
- package/dist/lib/cloud/rush.d.ts +0 -37
- package/dist/lib/cloud/rush.d.ts.map +0 -1
- package/dist/lib/cloud/rush.js +0 -230
- package/dist/lib/cloud/rush.js.map +0 -1
- package/dist/lib/cloud/rush.test.d.ts +0 -2
- package/dist/lib/cloud/rush.test.d.ts.map +0 -1
- package/dist/lib/cloud/rush.test.js +0 -63
- package/dist/lib/cloud/rush.test.js.map +0 -1
- package/dist/lib/cloud/store.d.ts +0 -23
- package/dist/lib/cloud/store.d.ts.map +0 -1
- package/dist/lib/cloud/store.js +0 -116
- package/dist/lib/cloud/store.js.map +0 -1
- package/dist/lib/cloud/stream.d.ts +0 -24
- package/dist/lib/cloud/stream.d.ts.map +0 -1
- package/dist/lib/cloud/stream.js +0 -145
- package/dist/lib/cloud/stream.js.map +0 -1
- package/dist/lib/cloud/types.d.ts +0 -109
- package/dist/lib/cloud/types.d.ts.map +0 -1
- package/dist/lib/cloud/types.js +0 -33
- package/dist/lib/cloud/types.js.map +0 -1
- package/dist/lib/cloud/types.test.d.ts +0 -2
- package/dist/lib/cloud/types.test.d.ts.map +0 -1
- package/dist/lib/cloud/types.test.js +0 -41
- package/dist/lib/cloud/types.test.js.map +0 -1
- package/dist/lib/commands.d.ts +0 -141
- package/dist/lib/commands.d.ts.map +0 -1
- package/dist/lib/commands.js +0 -514
- package/dist/lib/commands.js.map +0 -1
- package/dist/lib/convert.d.ts +0 -21
- package/dist/lib/convert.d.ts.map +0 -1
- package/dist/lib/convert.js +0 -54
- package/dist/lib/convert.js.map +0 -1
- package/dist/lib/daemon.d.ts +0 -43
- package/dist/lib/daemon.d.ts.map +0 -1
- package/dist/lib/daemon.js +0 -332
- package/dist/lib/daemon.js.map +0 -1
- package/dist/lib/drive-sync.d.ts +0 -46
- package/dist/lib/drive-sync.d.ts.map +0 -1
- package/dist/lib/drive-sync.js +0 -209
- package/dist/lib/drive-sync.js.map +0 -1
- package/dist/lib/exec.d.ts +0 -101
- package/dist/lib/exec.d.ts.map +0 -1
- package/dist/lib/exec.js +0 -450
- package/dist/lib/exec.js.map +0 -1
- package/dist/lib/factory/__tests__/config.test.d.ts +0 -2
- package/dist/lib/factory/__tests__/config.test.d.ts.map +0 -1
- package/dist/lib/factory/__tests__/config.test.js +0 -128
- package/dist/lib/factory/__tests__/config.test.js.map +0 -1
- package/dist/lib/factory/config.d.ts +0 -49
- package/dist/lib/factory/config.d.ts.map +0 -1
- package/dist/lib/factory/config.js +0 -127
- package/dist/lib/factory/config.js.map +0 -1
- package/dist/lib/factory.d.ts +0 -57
- package/dist/lib/factory.d.ts.map +0 -1
- package/dist/lib/factory.js +0 -107
- package/dist/lib/factory.js.map +0 -1
- package/dist/lib/git.d.ts +0 -157
- package/dist/lib/git.d.ts.map +0 -1
- package/dist/lib/git.js +0 -647
- package/dist/lib/git.js.map +0 -1
- package/dist/lib/help.d.ts +0 -10
- package/dist/lib/help.d.ts.map +0 -1
- package/dist/lib/help.js +0 -66
- package/dist/lib/help.js.map +0 -1
- package/dist/lib/hooks.d.ts +0 -125
- package/dist/lib/hooks.d.ts.map +0 -1
- package/dist/lib/hooks.js +0 -846
- package/dist/lib/hooks.js.map +0 -1
- package/dist/lib/ledger/__tests__/local.test.d.ts +0 -2
- package/dist/lib/ledger/__tests__/local.test.d.ts.map +0 -1
- package/dist/lib/ledger/__tests__/local.test.js +0 -177
- package/dist/lib/ledger/__tests__/local.test.js.map +0 -1
- package/dist/lib/ledger/__tests__/sync.test.d.ts +0 -2
- package/dist/lib/ledger/__tests__/sync.test.d.ts.map +0 -1
- package/dist/lib/ledger/__tests__/sync.test.js +0 -117
- package/dist/lib/ledger/__tests__/sync.test.js.map +0 -1
- package/dist/lib/ledger/index.d.ts +0 -18
- package/dist/lib/ledger/index.d.ts.map +0 -1
- package/dist/lib/ledger/index.js +0 -32
- package/dist/lib/ledger/index.js.map +0 -1
- package/dist/lib/ledger/local.d.ts +0 -22
- package/dist/lib/ledger/local.d.ts.map +0 -1
- package/dist/lib/ledger/local.js +0 -333
- package/dist/lib/ledger/local.js.map +0 -1
- package/dist/lib/ledger/r2.d.ts +0 -41
- package/dist/lib/ledger/r2.d.ts.map +0 -1
- package/dist/lib/ledger/r2.js +0 -335
- package/dist/lib/ledger/r2.js.map +0 -1
- package/dist/lib/ledger/sync.d.ts +0 -33
- package/dist/lib/ledger/sync.d.ts.map +0 -1
- package/dist/lib/ledger/sync.js +0 -106
- package/dist/lib/ledger/sync.js.map +0 -1
- package/dist/lib/ledger/types.d.ts +0 -100
- package/dist/lib/ledger/types.d.ts.map +0 -1
- package/dist/lib/ledger/types.js +0 -21
- package/dist/lib/ledger/types.js.map +0 -1
- package/dist/lib/manifest.d.ts +0 -14
- package/dist/lib/manifest.d.ts.map +0 -1
- package/dist/lib/manifest.js +0 -48
- package/dist/lib/manifest.js.map +0 -1
- package/dist/lib/markdown.d.ts +0 -5
- package/dist/lib/markdown.d.ts.map +0 -1
- package/dist/lib/markdown.js +0 -17
- package/dist/lib/markdown.js.map +0 -1
- package/dist/lib/mcp.d.ts +0 -64
- package/dist/lib/mcp.d.ts.map +0 -1
- package/dist/lib/mcp.js +0 -327
- package/dist/lib/mcp.js.map +0 -1
- package/dist/lib/memory-compile.d.ts +0 -65
- package/dist/lib/memory-compile.d.ts.map +0 -1
- package/dist/lib/memory-compile.js +0 -174
- package/dist/lib/memory-compile.js.map +0 -1
- package/dist/lib/memory.d.ts +0 -64
- package/dist/lib/memory.d.ts.map +0 -1
- package/dist/lib/memory.js +0 -275
- package/dist/lib/memory.js.map +0 -1
- package/dist/lib/models.d.ts +0 -98
- package/dist/lib/models.d.ts.map +0 -1
- package/dist/lib/models.js +0 -728
- package/dist/lib/models.js.map +0 -1
- package/dist/lib/permissions.d.ts +0 -227
- package/dist/lib/permissions.d.ts.map +0 -1
- package/dist/lib/permissions.js +0 -1071
- package/dist/lib/permissions.js.map +0 -1
- package/dist/lib/picker.d.ts +0 -27
- package/dist/lib/picker.d.ts.map +0 -1
- package/dist/lib/picker.js +0 -110
- package/dist/lib/picker.js.map +0 -1
- package/dist/lib/plugins.d.ts +0 -80
- package/dist/lib/plugins.d.ts.map +0 -1
- package/dist/lib/plugins.js +0 -556
- package/dist/lib/plugins.js.map +0 -1
- package/dist/lib/profiles-keychain.d.ts +0 -11
- package/dist/lib/profiles-keychain.d.ts.map +0 -1
- package/dist/lib/profiles-keychain.js +0 -14
- package/dist/lib/profiles-keychain.js.map +0 -1
- package/dist/lib/profiles-presets.d.ts +0 -25
- package/dist/lib/profiles-presets.d.ts.map +0 -1
- package/dist/lib/profiles-presets.js +0 -104
- package/dist/lib/profiles-presets.js.map +0 -1
- package/dist/lib/profiles.d.ts +0 -70
- package/dist/lib/profiles.d.ts.map +0 -1
- package/dist/lib/profiles.js +0 -145
- package/dist/lib/profiles.js.map +0 -1
- package/dist/lib/pty-client.d.ts +0 -23
- package/dist/lib/pty-client.d.ts.map +0 -1
- package/dist/lib/pty-client.js +0 -181
- package/dist/lib/pty-client.js.map +0 -1
- package/dist/lib/pty-server.d.ts +0 -21
- package/dist/lib/pty-server.d.ts.map +0 -1
- package/dist/lib/pty-server.js +0 -427
- package/dist/lib/pty-server.js.map +0 -1
- package/dist/lib/registry.d.ts +0 -45
- package/dist/lib/registry.d.ts.map +0 -1
- package/dist/lib/registry.js +0 -220
- package/dist/lib/registry.js.map +0 -1
- package/dist/lib/resources.d.ts +0 -55
- package/dist/lib/resources.d.ts.map +0 -1
- package/dist/lib/resources.js +0 -103
- package/dist/lib/resources.js.map +0 -1
- package/dist/lib/rotate.d.ts +0 -58
- package/dist/lib/rotate.d.ts.map +0 -1
- package/dist/lib/rotate.js +0 -93
- package/dist/lib/rotate.js.map +0 -1
- package/dist/lib/routines.d.ts +0 -99
- package/dist/lib/routines.d.ts.map +0 -1
- package/dist/lib/routines.js +0 -352
- package/dist/lib/routines.js.map +0 -1
- package/dist/lib/runner.d.ts +0 -26
- package/dist/lib/runner.d.ts.map +0 -1
- package/dist/lib/runner.js +0 -325
- package/dist/lib/runner.js.map +0 -1
- package/dist/lib/sandbox.d.ts +0 -26
- package/dist/lib/sandbox.d.ts.map +0 -1
- package/dist/lib/sandbox.js +0 -218
- package/dist/lib/sandbox.js.map +0 -1
- package/dist/lib/scheduler.d.ts +0 -26
- package/dist/lib/scheduler.d.ts.map +0 -1
- package/dist/lib/scheduler.js +0 -77
- package/dist/lib/scheduler.js.map +0 -1
- package/dist/lib/secrets-bundles.d.ts +0 -38
- package/dist/lib/secrets-bundles.d.ts.map +0 -1
- package/dist/lib/secrets-bundles.js +0 -176
- package/dist/lib/secrets-bundles.js.map +0 -1
- package/dist/lib/secrets.d.ts +0 -53
- package/dist/lib/secrets.d.ts.map +0 -1
- package/dist/lib/secrets.js +0 -140
- package/dist/lib/secrets.js.map +0 -1
- package/dist/lib/session/__tests__/db.test.d.ts +0 -2
- package/dist/lib/session/__tests__/db.test.d.ts.map +0 -1
- package/dist/lib/session/__tests__/db.test.js +0 -54
- package/dist/lib/session/__tests__/db.test.js.map +0 -1
- package/dist/lib/session/__tests__/discover.test.d.ts +0 -2
- package/dist/lib/session/__tests__/discover.test.d.ts.map +0 -1
- package/dist/lib/session/__tests__/discover.test.js +0 -63
- package/dist/lib/session/__tests__/discover.test.js.map +0 -1
- package/dist/lib/session/__tests__/prompt.test.d.ts +0 -2
- package/dist/lib/session/__tests__/prompt.test.d.ts.map +0 -1
- package/dist/lib/session/__tests__/prompt.test.js +0 -44
- package/dist/lib/session/__tests__/prompt.test.js.map +0 -1
- package/dist/lib/session/__tests__/render.test.d.ts +0 -2
- package/dist/lib/session/__tests__/render.test.d.ts.map +0 -1
- package/dist/lib/session/__tests__/render.test.js +0 -602
- package/dist/lib/session/__tests__/render.test.js.map +0 -1
- package/dist/lib/session/active.d.ts +0 -44
- package/dist/lib/session/active.d.ts.map +0 -1
- package/dist/lib/session/active.js +0 -379
- package/dist/lib/session/active.js.map +0 -1
- package/dist/lib/session/artifacts.d.ts +0 -15
- package/dist/lib/session/artifacts.d.ts.map +0 -1
- package/dist/lib/session/artifacts.js +0 -86
- package/dist/lib/session/artifacts.js.map +0 -1
- package/dist/lib/session/db.d.ts +0 -140
- package/dist/lib/session/db.d.ts.map +0 -1
- package/dist/lib/session/db.js +0 -599
- package/dist/lib/session/db.js.map +0 -1
- package/dist/lib/session/discover.d.ts +0 -72
- package/dist/lib/session/discover.d.ts.map +0 -1
- package/dist/lib/session/discover.js +0 -1315
- package/dist/lib/session/discover.js.map +0 -1
- package/dist/lib/session/parse.d.ts +0 -34
- package/dist/lib/session/parse.d.ts.map +0 -1
- package/dist/lib/session/parse.js +0 -663
- package/dist/lib/session/parse.js.map +0 -1
- package/dist/lib/session/prompt.d.ts +0 -13
- package/dist/lib/session/prompt.d.ts.map +0 -1
- package/dist/lib/session/prompt.js +0 -79
- package/dist/lib/session/prompt.js.map +0 -1
- package/dist/lib/session/prompt.test.d.ts +0 -2
- package/dist/lib/session/prompt.test.d.ts.map +0 -1
- package/dist/lib/session/prompt.test.js +0 -57
- package/dist/lib/session/prompt.test.js.map +0 -1
- package/dist/lib/session/render.d.ts +0 -103
- package/dist/lib/session/render.d.ts.map +0 -1
- package/dist/lib/session/render.js +0 -798
- package/dist/lib/session/render.js.map +0 -1
- package/dist/lib/session/team-filter.d.ts +0 -35
- package/dist/lib/session/team-filter.d.ts.map +0 -1
- package/dist/lib/session/team-filter.js +0 -75
- package/dist/lib/session/team-filter.js.map +0 -1
- package/dist/lib/session/team-filter.test.d.ts +0 -2
- package/dist/lib/session/team-filter.test.d.ts.map +0 -1
- package/dist/lib/session/team-filter.test.js +0 -157
- package/dist/lib/session/team-filter.test.js.map +0 -1
- package/dist/lib/session/types.d.ts +0 -84
- package/dist/lib/session/types.d.ts.map +0 -1
- package/dist/lib/session/types.js +0 -11
- package/dist/lib/session/types.js.map +0 -1
- package/dist/lib/shims.d.ts +0 -272
- package/dist/lib/shims.d.ts.map +0 -1
- package/dist/lib/shims.js +0 -1322
- package/dist/lib/shims.js.map +0 -1
- package/dist/lib/skills.d.ts +0 -142
- package/dist/lib/skills.d.ts.map +0 -1
- package/dist/lib/skills.js +0 -791
- package/dist/lib/skills.js.map +0 -1
- package/dist/lib/state.d.ts +0 -87
- package/dist/lib/state.d.ts.map +0 -1
- package/dist/lib/state.js +0 -333
- package/dist/lib/state.js.map +0 -1
- package/dist/lib/subagents.d.ts +0 -84
- package/dist/lib/subagents.d.ts.map +0 -1
- package/dist/lib/subagents.js +0 -410
- package/dist/lib/subagents.js.map +0 -1
- package/dist/lib/teams/__tests__/oracle.test.d.ts +0 -2
- package/dist/lib/teams/__tests__/oracle.test.d.ts.map +0 -1
- package/dist/lib/teams/__tests__/oracle.test.js +0 -89
- package/dist/lib/teams/__tests__/oracle.test.js.map +0 -1
- package/dist/lib/teams/__tests__/supervisor.test.d.ts +0 -2
- package/dist/lib/teams/__tests__/supervisor.test.d.ts.map +0 -1
- package/dist/lib/teams/__tests__/supervisor.test.js +0 -179
- package/dist/lib/teams/__tests__/supervisor.test.js.map +0 -1
- package/dist/lib/teams/agents.d.ts +0 -247
- package/dist/lib/teams/agents.d.ts.map +0 -1
- package/dist/lib/teams/agents.js +0 -1244
- package/dist/lib/teams/agents.js.map +0 -1
- package/dist/lib/teams/api.d.ts +0 -91
- package/dist/lib/teams/api.d.ts.map +0 -1
- package/dist/lib/teams/api.js +0 -239
- package/dist/lib/teams/api.js.map +0 -1
- package/dist/lib/teams/cloud.d.ts +0 -11
- package/dist/lib/teams/cloud.d.ts.map +0 -1
- package/dist/lib/teams/cloud.js +0 -169
- package/dist/lib/teams/cloud.js.map +0 -1
- package/dist/lib/teams/debug.d.ts +0 -8
- package/dist/lib/teams/debug.d.ts.map +0 -1
- package/dist/lib/teams/debug.js +0 -12
- package/dist/lib/teams/debug.js.map +0 -1
- package/dist/lib/teams/file_ops.d.ts +0 -13
- package/dist/lib/teams/file_ops.d.ts.map +0 -1
- package/dist/lib/teams/file_ops.js +0 -66
- package/dist/lib/teams/file_ops.js.map +0 -1
- package/dist/lib/teams/index.d.ts +0 -16
- package/dist/lib/teams/index.d.ts.map +0 -1
- package/dist/lib/teams/index.js +0 -15
- package/dist/lib/teams/index.js.map +0 -1
- package/dist/lib/teams/oracle.d.ts +0 -20
- package/dist/lib/teams/oracle.d.ts.map +0 -1
- package/dist/lib/teams/oracle.js +0 -59
- package/dist/lib/teams/oracle.js.map +0 -1
- package/dist/lib/teams/parsers.d.ts +0 -9
- package/dist/lib/teams/parsers.d.ts.map +0 -1
- package/dist/lib/teams/parsers.js +0 -837
- package/dist/lib/teams/parsers.js.map +0 -1
- package/dist/lib/teams/persistence.d.ts +0 -43
- package/dist/lib/teams/persistence.d.ts.map +0 -1
- package/dist/lib/teams/persistence.js +0 -299
- package/dist/lib/teams/persistence.js.map +0 -1
- package/dist/lib/teams/ralph.d.ts +0 -8
- package/dist/lib/teams/ralph.d.ts.map +0 -1
- package/dist/lib/teams/ralph.js +0 -59
- package/dist/lib/teams/ralph.js.map +0 -1
- package/dist/lib/teams/registry.d.ts +0 -18
- package/dist/lib/teams/registry.d.ts.map +0 -1
- package/dist/lib/teams/registry.js +0 -68
- package/dist/lib/teams/registry.js.map +0 -1
- package/dist/lib/teams/summarizer.d.ts +0 -73
- package/dist/lib/teams/summarizer.d.ts.map +0 -1
- package/dist/lib/teams/summarizer.js +0 -780
- package/dist/lib/teams/summarizer.js.map +0 -1
- package/dist/lib/teams/supervisor.d.ts +0 -49
- package/dist/lib/teams/supervisor.d.ts.map +0 -1
- package/dist/lib/teams/supervisor.js +0 -74
- package/dist/lib/teams/supervisor.js.map +0 -1
- package/dist/lib/template.d.ts +0 -27
- package/dist/lib/template.d.ts.map +0 -1
- package/dist/lib/template.js +0 -60
- package/dist/lib/template.js.map +0 -1
- package/dist/lib/types.d.ts +0 -331
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -29
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/usage.d.ts +0 -105
- package/dist/lib/usage.d.ts.map +0 -1
- package/dist/lib/usage.js +0 -686
- package/dist/lib/usage.js.map +0 -1
- package/dist/lib/versions.d.ts +0 -253
- package/dist/lib/versions.d.ts.map +0 -1
- package/dist/lib/versions.js +0 -1796
- package/dist/lib/versions.js.map +0 -1
- package/scripts/rebuild-sqlite.sh +0 -46
package/dist/lib/plugins.js
DELETED
|
@@ -1,556 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin discovery, validation, and syncing.
|
|
3
|
-
*
|
|
4
|
-
* Plugins are bundles in ~/.agents/plugins/ that package skills, hooks, and
|
|
5
|
-
* scripts under a single manifest (plugin.yaml). This module discovers plugins,
|
|
6
|
-
* validates their manifests, and syncs their contents into agent version homes.
|
|
7
|
-
*/
|
|
8
|
-
import * as fs from 'fs';
|
|
9
|
-
import * as path from 'path';
|
|
10
|
-
import { getPluginsDir } from './state.js';
|
|
11
|
-
import { AGENTS, PLUGINS_CAPABLE_AGENTS } from './agents.js';
|
|
12
|
-
const PLUGIN_MANIFEST_DIR = '.claude-plugin';
|
|
13
|
-
const PLUGIN_MANIFEST_FILE = 'plugin.json';
|
|
14
|
-
/**
|
|
15
|
-
* Discover all plugins in ~/.agents/plugins/.
|
|
16
|
-
* A valid plugin has a .claude-plugin/plugin.json manifest.
|
|
17
|
-
*/
|
|
18
|
-
export function discoverPlugins() {
|
|
19
|
-
const pluginsDir = getPluginsDir();
|
|
20
|
-
if (!fs.existsSync(pluginsDir)) {
|
|
21
|
-
return [];
|
|
22
|
-
}
|
|
23
|
-
const plugins = [];
|
|
24
|
-
const entries = fs.readdirSync(pluginsDir, { withFileTypes: true });
|
|
25
|
-
for (const entry of entries) {
|
|
26
|
-
if (!entry.isDirectory() || entry.name.startsWith('.'))
|
|
27
|
-
continue;
|
|
28
|
-
const pluginRoot = path.join(pluginsDir, entry.name);
|
|
29
|
-
const manifest = loadPluginManifest(pluginRoot);
|
|
30
|
-
if (!manifest)
|
|
31
|
-
continue;
|
|
32
|
-
plugins.push({
|
|
33
|
-
name: manifest.name,
|
|
34
|
-
root: pluginRoot,
|
|
35
|
-
manifest,
|
|
36
|
-
skills: discoverPluginSkills(pluginRoot),
|
|
37
|
-
hooks: discoverPluginHooks(pluginRoot),
|
|
38
|
-
scripts: discoverPluginScripts(pluginRoot),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
return plugins;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Load a plugin manifest from a plugin directory.
|
|
45
|
-
*/
|
|
46
|
-
export function loadPluginManifest(pluginRoot) {
|
|
47
|
-
const manifestPath = path.join(pluginRoot, PLUGIN_MANIFEST_DIR, PLUGIN_MANIFEST_FILE);
|
|
48
|
-
if (!fs.existsSync(manifestPath)) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
const content = fs.readFileSync(manifestPath, 'utf-8');
|
|
53
|
-
const parsed = JSON.parse(content);
|
|
54
|
-
if (!parsed.name || !parsed.version)
|
|
55
|
-
return null;
|
|
56
|
-
return parsed;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get a specific plugin by name.
|
|
64
|
-
*/
|
|
65
|
-
export function getPlugin(name) {
|
|
66
|
-
const plugins = discoverPlugins();
|
|
67
|
-
return plugins.find(p => p.name === name) || null;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Check if an agent supports a specific plugin.
|
|
71
|
-
* If the plugin specifies agents, only those are supported.
|
|
72
|
-
* Otherwise defaults to all plugin-capable agents.
|
|
73
|
-
*/
|
|
74
|
-
export function pluginSupportsAgent(plugin, agent) {
|
|
75
|
-
if (!PLUGINS_CAPABLE_AGENTS.includes(agent))
|
|
76
|
-
return false;
|
|
77
|
-
if (plugin.manifest.agents && plugin.manifest.agents.length > 0) {
|
|
78
|
-
return plugin.manifest.agents.includes(agent);
|
|
79
|
-
}
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Discover skill directories inside a plugin.
|
|
84
|
-
*/
|
|
85
|
-
function discoverPluginSkills(pluginRoot) {
|
|
86
|
-
const skillsDir = path.join(pluginRoot, 'skills');
|
|
87
|
-
if (!fs.existsSync(skillsDir))
|
|
88
|
-
return [];
|
|
89
|
-
return fs.readdirSync(skillsDir, { withFileTypes: true })
|
|
90
|
-
.filter(d => d.isDirectory() && !d.name.startsWith('.'))
|
|
91
|
-
.map(d => d.name);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Discover hook definitions inside a plugin.
|
|
95
|
-
*/
|
|
96
|
-
function discoverPluginHooks(pluginRoot) {
|
|
97
|
-
const hooksFile = path.join(pluginRoot, 'hooks', 'hooks.json');
|
|
98
|
-
if (!fs.existsSync(hooksFile))
|
|
99
|
-
return [];
|
|
100
|
-
try {
|
|
101
|
-
const content = JSON.parse(fs.readFileSync(hooksFile, 'utf-8'));
|
|
102
|
-
return Object.keys(content);
|
|
103
|
-
}
|
|
104
|
-
catch {
|
|
105
|
-
return [];
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Discover scripts inside a plugin.
|
|
110
|
-
*/
|
|
111
|
-
function discoverPluginScripts(pluginRoot) {
|
|
112
|
-
const scriptsDir = path.join(pluginRoot, 'scripts');
|
|
113
|
-
if (!fs.existsSync(scriptsDir))
|
|
114
|
-
return [];
|
|
115
|
-
return fs.readdirSync(scriptsDir).filter(f => !f.startsWith('.'));
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Expand plugin variables in a string.
|
|
119
|
-
*
|
|
120
|
-
* Variables:
|
|
121
|
-
* ${CLAUDE_PLUGIN_ROOT} -> absolute path to plugin directory
|
|
122
|
-
* ${CLAUDE_PLUGIN_DATA} -> per-version data directory for this plugin
|
|
123
|
-
*/
|
|
124
|
-
export function expandPluginVars(str, pluginRoot, pluginName, agentId, versionHome) {
|
|
125
|
-
const dataDir = path.join(versionHome, `.${agentId}`, 'plugin-data', pluginName);
|
|
126
|
-
return str
|
|
127
|
-
.replace(/\$\{CLAUDE_PLUGIN_ROOT\}/g, pluginRoot)
|
|
128
|
-
.replace(/\$\{CLAUDE_PLUGIN_DATA\}/g, dataDir);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Sync a plugin to a specific agent version's home directory.
|
|
132
|
-
*
|
|
133
|
-
* For Claude:
|
|
134
|
-
* 1. Copy plugin skills into version's skills dir (prefixed: pluginName:skillName)
|
|
135
|
-
* 2. Read hooks/hooks.json, expand vars, merge into settings.json hooks
|
|
136
|
-
* 3. Read settings.json, expand vars, merge permissions into settings.json
|
|
137
|
-
*
|
|
138
|
-
* For OpenClaw:
|
|
139
|
-
* 1. Copy plugin skills into version's skills dir
|
|
140
|
-
*/
|
|
141
|
-
export function syncPluginToVersion(plugin, agent, versionHome) {
|
|
142
|
-
const result = { success: false, skills: [], hooks: [], permissions: false };
|
|
143
|
-
if (!pluginSupportsAgent(plugin, agent)) {
|
|
144
|
-
return result;
|
|
145
|
-
}
|
|
146
|
-
// 1. Sync skills
|
|
147
|
-
const skillsResult = syncPluginSkills(plugin, agent, versionHome);
|
|
148
|
-
result.skills = skillsResult;
|
|
149
|
-
// 2. Sync hooks (Claude only - uses settings.json hook registration)
|
|
150
|
-
if (agent === 'claude') {
|
|
151
|
-
const hooksResult = syncPluginHooks(plugin, agent, versionHome);
|
|
152
|
-
result.hooks = hooksResult;
|
|
153
|
-
}
|
|
154
|
-
// 3. Sync permissions (Claude only - uses settings.json permissions)
|
|
155
|
-
if (agent === 'claude') {
|
|
156
|
-
result.permissions = syncPluginPermissions(plugin, agent, versionHome);
|
|
157
|
-
}
|
|
158
|
-
result.success = result.skills.length > 0 || result.hooks.length > 0 || result.permissions;
|
|
159
|
-
return result;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Copy plugin skills into the version's skills directory.
|
|
163
|
-
* Skills are prefixed with the plugin name: pluginName:skillName
|
|
164
|
-
*/
|
|
165
|
-
function syncPluginSkills(plugin, agent, versionHome) {
|
|
166
|
-
const synced = [];
|
|
167
|
-
const pluginSkillsDir = path.join(plugin.root, 'skills');
|
|
168
|
-
if (!fs.existsSync(pluginSkillsDir))
|
|
169
|
-
return synced;
|
|
170
|
-
const agentConfig = AGENTS[agent];
|
|
171
|
-
const targetSkillsDir = path.join(versionHome, `.${agent}`, 'skills');
|
|
172
|
-
fs.mkdirSync(targetSkillsDir, { recursive: true });
|
|
173
|
-
for (const skillName of plugin.skills) {
|
|
174
|
-
const srcDir = path.join(pluginSkillsDir, skillName);
|
|
175
|
-
// Prefix with plugin name for namespacing
|
|
176
|
-
const prefixedName = `${plugin.name}:${skillName}`;
|
|
177
|
-
// Use colon-to-dash for filesystem (colons not allowed on some systems)
|
|
178
|
-
const fsSafeName = prefixedName.replace(/:/g, '--');
|
|
179
|
-
const destDir = path.join(targetSkillsDir, fsSafeName);
|
|
180
|
-
try {
|
|
181
|
-
// Remove existing and copy fresh
|
|
182
|
-
if (fs.existsSync(destDir)) {
|
|
183
|
-
fs.rmSync(destDir, { recursive: true, force: true });
|
|
184
|
-
}
|
|
185
|
-
copyDirWithVarExpansion(srcDir, destDir, plugin.root, plugin.name, agent, versionHome);
|
|
186
|
-
synced.push(prefixedName);
|
|
187
|
-
}
|
|
188
|
-
catch {
|
|
189
|
-
// Skip on error
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
return synced;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Merge plugin hooks into Claude's settings.json.
|
|
196
|
-
* Reads the plugin's hooks/hooks.json and merges each event's hooks
|
|
197
|
-
* into the version's settings.json, expanding variables.
|
|
198
|
-
*/
|
|
199
|
-
function syncPluginHooks(plugin, agent, versionHome) {
|
|
200
|
-
const synced = [];
|
|
201
|
-
const hooksFile = path.join(plugin.root, 'hooks', 'hooks.json');
|
|
202
|
-
if (!fs.existsSync(hooksFile))
|
|
203
|
-
return synced;
|
|
204
|
-
let pluginHooks;
|
|
205
|
-
try {
|
|
206
|
-
pluginHooks = JSON.parse(fs.readFileSync(hooksFile, 'utf-8'));
|
|
207
|
-
}
|
|
208
|
-
catch {
|
|
209
|
-
return synced;
|
|
210
|
-
}
|
|
211
|
-
// Read existing settings.json
|
|
212
|
-
const configDir = path.join(versionHome, `.${agent}`);
|
|
213
|
-
const settingsPath = path.join(configDir, 'settings.json');
|
|
214
|
-
let settings = {};
|
|
215
|
-
if (fs.existsSync(settingsPath)) {
|
|
216
|
-
try {
|
|
217
|
-
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
218
|
-
}
|
|
219
|
-
catch {
|
|
220
|
-
// Start fresh if parse fails
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
if (!settings.hooks || typeof settings.hooks !== 'object') {
|
|
224
|
-
settings.hooks = {};
|
|
225
|
-
}
|
|
226
|
-
const hooksConfig = settings.hooks;
|
|
227
|
-
// Merge each event from the plugin
|
|
228
|
-
for (const [event, matcherGroups] of Object.entries(pluginHooks)) {
|
|
229
|
-
if (!hooksConfig[event]) {
|
|
230
|
-
hooksConfig[event] = [];
|
|
231
|
-
}
|
|
232
|
-
const eventEntries = hooksConfig[event];
|
|
233
|
-
for (const group of matcherGroups) {
|
|
234
|
-
const matcher = group.matcher || '';
|
|
235
|
-
const expandedHooks = (group.hooks || []).map(h => ({
|
|
236
|
-
...h,
|
|
237
|
-
command: expandPluginVars(h.command, plugin.root, plugin.name, agent, versionHome),
|
|
238
|
-
}));
|
|
239
|
-
// Find or create matcher group
|
|
240
|
-
let matcherGroup = eventEntries.find(e => (e.matcher || '') === matcher);
|
|
241
|
-
if (!matcherGroup) {
|
|
242
|
-
matcherGroup = { matcher, hooks: [] };
|
|
243
|
-
eventEntries.push(matcherGroup);
|
|
244
|
-
}
|
|
245
|
-
if (!matcherGroup.hooks) {
|
|
246
|
-
matcherGroup.hooks = [];
|
|
247
|
-
}
|
|
248
|
-
// Add hooks that aren't already registered (by command path)
|
|
249
|
-
for (const hook of expandedHooks) {
|
|
250
|
-
const exists = matcherGroup.hooks.some(h => h.command === hook.command);
|
|
251
|
-
if (!exists) {
|
|
252
|
-
matcherGroup.hooks.push(hook);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
synced.push(event);
|
|
257
|
-
}
|
|
258
|
-
// Write back
|
|
259
|
-
try {
|
|
260
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
261
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
262
|
-
}
|
|
263
|
-
catch {
|
|
264
|
-
// Ignore write errors
|
|
265
|
-
}
|
|
266
|
-
return synced;
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Merge plugin permissions into Claude's settings.json.
|
|
270
|
-
* Reads the plugin's settings.json and merges permissions.allow entries.
|
|
271
|
-
*/
|
|
272
|
-
function syncPluginPermissions(plugin, agent, versionHome) {
|
|
273
|
-
const pluginSettingsPath = path.join(plugin.root, 'settings.json');
|
|
274
|
-
if (!fs.existsSync(pluginSettingsPath))
|
|
275
|
-
return false;
|
|
276
|
-
let pluginSettings;
|
|
277
|
-
try {
|
|
278
|
-
pluginSettings = JSON.parse(fs.readFileSync(pluginSettingsPath, 'utf-8'));
|
|
279
|
-
}
|
|
280
|
-
catch {
|
|
281
|
-
return false;
|
|
282
|
-
}
|
|
283
|
-
const pluginAllow = pluginSettings.permissions?.allow || [];
|
|
284
|
-
const pluginDeny = pluginSettings.permissions?.deny || [];
|
|
285
|
-
if (pluginAllow.length === 0 && pluginDeny.length === 0)
|
|
286
|
-
return false;
|
|
287
|
-
// Expand variables in permission rules
|
|
288
|
-
const expandedAllow = pluginAllow.map(rule => expandPluginVars(rule, plugin.root, plugin.name, agent, versionHome));
|
|
289
|
-
const expandedDeny = pluginDeny.map(rule => expandPluginVars(rule, plugin.root, plugin.name, agent, versionHome));
|
|
290
|
-
// Read existing settings.json
|
|
291
|
-
const configDir = path.join(versionHome, `.${agent}`);
|
|
292
|
-
const settingsPath = path.join(configDir, 'settings.json');
|
|
293
|
-
let settings = {};
|
|
294
|
-
if (fs.existsSync(settingsPath)) {
|
|
295
|
-
try {
|
|
296
|
-
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
297
|
-
}
|
|
298
|
-
catch {
|
|
299
|
-
// Start fresh
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
if (!settings.permissions || typeof settings.permissions !== 'object') {
|
|
303
|
-
settings.permissions = { allow: [], deny: [] };
|
|
304
|
-
}
|
|
305
|
-
const perms = settings.permissions;
|
|
306
|
-
if (!perms.allow)
|
|
307
|
-
perms.allow = [];
|
|
308
|
-
if (!perms.deny)
|
|
309
|
-
perms.deny = [];
|
|
310
|
-
// Merge allow rules (deduplicate)
|
|
311
|
-
for (const rule of expandedAllow) {
|
|
312
|
-
if (!perms.allow.includes(rule)) {
|
|
313
|
-
perms.allow.push(rule);
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
// Merge deny rules (deduplicate)
|
|
317
|
-
for (const rule of expandedDeny) {
|
|
318
|
-
if (!perms.deny.includes(rule)) {
|
|
319
|
-
perms.deny.push(rule);
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
// Write back
|
|
323
|
-
try {
|
|
324
|
-
fs.mkdirSync(configDir, { recursive: true });
|
|
325
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
326
|
-
return true;
|
|
327
|
-
}
|
|
328
|
-
catch {
|
|
329
|
-
return false;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Copy a directory recursively, expanding plugin variables in file contents.
|
|
334
|
-
* Only expands variables in text files (.md, .json, .sh, .py, .js, .ts, .yaml, .yml, .toml).
|
|
335
|
-
*/
|
|
336
|
-
function copyDirWithVarExpansion(src, dest, pluginRoot, pluginName, agent, versionHome) {
|
|
337
|
-
fs.mkdirSync(dest, { recursive: true });
|
|
338
|
-
const entries = fs.readdirSync(src, { withFileTypes: true });
|
|
339
|
-
const textExtensions = new Set(['.md', '.json', '.sh', '.py', '.js', '.ts', '.yaml', '.yml', '.toml', '.txt']);
|
|
340
|
-
for (const entry of entries) {
|
|
341
|
-
const srcPath = path.join(src, entry.name);
|
|
342
|
-
const destPath = path.join(dest, entry.name);
|
|
343
|
-
if (entry.isDirectory()) {
|
|
344
|
-
copyDirWithVarExpansion(srcPath, destPath, pluginRoot, pluginName, agent, versionHome);
|
|
345
|
-
}
|
|
346
|
-
else {
|
|
347
|
-
const ext = path.extname(entry.name).toLowerCase();
|
|
348
|
-
if (textExtensions.has(ext)) {
|
|
349
|
-
// Expand variables in text files
|
|
350
|
-
let content = fs.readFileSync(srcPath, 'utf-8');
|
|
351
|
-
content = expandPluginVars(content, pluginRoot, pluginName, agent, versionHome);
|
|
352
|
-
fs.writeFileSync(destPath, content, 'utf-8');
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
// Binary copy
|
|
356
|
-
fs.copyFileSync(srcPath, destPath);
|
|
357
|
-
}
|
|
358
|
-
// Preserve executable permission
|
|
359
|
-
const stat = fs.statSync(srcPath);
|
|
360
|
-
if (stat.mode & 0o111) {
|
|
361
|
-
fs.chmodSync(destPath, stat.mode);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Check if a plugin is synced to a version by inspecting the version home.
|
|
368
|
-
* Checks multiple signals: skills directories, hook commands in settings.json,
|
|
369
|
-
* and plugin permissions in settings.json.
|
|
370
|
-
*/
|
|
371
|
-
export function isPluginSynced(plugin, agent, versionHome) {
|
|
372
|
-
// Check 1: plugin skill directories exist
|
|
373
|
-
if (plugin.skills.length > 0) {
|
|
374
|
-
const skillsDir = path.join(versionHome, `.${agent}`, 'skills');
|
|
375
|
-
if (fs.existsSync(skillsDir)) {
|
|
376
|
-
for (const skillName of plugin.skills) {
|
|
377
|
-
const fsSafeName = `${plugin.name}--${skillName}`;
|
|
378
|
-
if (fs.existsSync(path.join(skillsDir, fsSafeName))) {
|
|
379
|
-
return true;
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
// Check 2: plugin hooks registered in settings.json (commands referencing plugin root)
|
|
385
|
-
if (plugin.hooks.length > 0 && agent === 'claude') {
|
|
386
|
-
const settingsPath = path.join(versionHome, `.${agent}`, 'settings.json');
|
|
387
|
-
if (fs.existsSync(settingsPath)) {
|
|
388
|
-
try {
|
|
389
|
-
const content = fs.readFileSync(settingsPath, 'utf-8');
|
|
390
|
-
// Check if any hook command references this plugin's root path
|
|
391
|
-
if (content.includes(plugin.root)) {
|
|
392
|
-
return true;
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
catch {
|
|
396
|
-
// Ignore read errors
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
// Check 3: plugin permissions in settings.json (rules referencing plugin root)
|
|
401
|
-
if (agent === 'claude') {
|
|
402
|
-
const settingsPath = path.join(versionHome, `.${agent}`, 'settings.json');
|
|
403
|
-
if (fs.existsSync(settingsPath)) {
|
|
404
|
-
try {
|
|
405
|
-
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
406
|
-
const allow = settings.permissions?.allow || [];
|
|
407
|
-
if (allow.some((rule) => rule.includes(plugin.root))) {
|
|
408
|
-
return true;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
catch {
|
|
412
|
-
// Ignore parse errors
|
|
413
|
-
}
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
return false;
|
|
417
|
-
}
|
|
418
|
-
/**
|
|
419
|
-
* Remove a plugin from a specific agent version's home directory.
|
|
420
|
-
* Inverse of syncPluginToVersion:
|
|
421
|
-
* 1. Delete synced skill directories (pluginName--*)
|
|
422
|
-
* 2. Strip hook entries whose commands reference the plugin root
|
|
423
|
-
* 3. Strip permission rules that reference the plugin root
|
|
424
|
-
*
|
|
425
|
-
* Works whether or not the plugin source still exists on disk, because it
|
|
426
|
-
* matches by the plugin's name and root path rather than re-reading manifests.
|
|
427
|
-
*/
|
|
428
|
-
export function removePluginFromVersion(pluginName, pluginRoot, agent, versionHome) {
|
|
429
|
-
const result = { skills: [], hooks: [], permissions: 0 };
|
|
430
|
-
// 1. Remove synced skill dirs
|
|
431
|
-
const skillsDir = path.join(versionHome, `.${agent}`, 'skills');
|
|
432
|
-
if (fs.existsSync(skillsDir)) {
|
|
433
|
-
const prefix = `${pluginName}--`;
|
|
434
|
-
for (const entry of fs.readdirSync(skillsDir, { withFileTypes: true })) {
|
|
435
|
-
if (!entry.isDirectory())
|
|
436
|
-
continue;
|
|
437
|
-
if (!entry.name.startsWith(prefix))
|
|
438
|
-
continue;
|
|
439
|
-
try {
|
|
440
|
-
fs.rmSync(path.join(skillsDir, entry.name), { recursive: true, force: true });
|
|
441
|
-
result.skills.push(entry.name);
|
|
442
|
-
}
|
|
443
|
-
catch {
|
|
444
|
-
// Skip on error
|
|
445
|
-
}
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
if (agent !== 'claude') {
|
|
449
|
-
return result;
|
|
450
|
-
}
|
|
451
|
-
// 2 + 3: edit settings.json — strip hooks and permissions matching plugin root
|
|
452
|
-
const settingsPath = path.join(versionHome, `.${agent}`, 'settings.json');
|
|
453
|
-
if (!fs.existsSync(settingsPath))
|
|
454
|
-
return result;
|
|
455
|
-
let settings;
|
|
456
|
-
try {
|
|
457
|
-
settings = JSON.parse(fs.readFileSync(settingsPath, 'utf-8'));
|
|
458
|
-
}
|
|
459
|
-
catch {
|
|
460
|
-
return result;
|
|
461
|
-
}
|
|
462
|
-
let changed = false;
|
|
463
|
-
// Strip hooks referencing plugin root
|
|
464
|
-
const hooksConfig = settings.hooks;
|
|
465
|
-
if (hooksConfig && typeof hooksConfig === 'object') {
|
|
466
|
-
for (const [event, entries] of Object.entries(hooksConfig)) {
|
|
467
|
-
if (!Array.isArray(entries))
|
|
468
|
-
continue;
|
|
469
|
-
const eventEntries = entries;
|
|
470
|
-
for (const group of eventEntries) {
|
|
471
|
-
if (!Array.isArray(group.hooks))
|
|
472
|
-
continue;
|
|
473
|
-
const originalLen = group.hooks.length;
|
|
474
|
-
group.hooks = group.hooks.filter(h => {
|
|
475
|
-
const matches = typeof h.command === 'string' && h.command.includes(pluginRoot);
|
|
476
|
-
if (matches)
|
|
477
|
-
result.hooks.push(`${event}: ${h.command}`);
|
|
478
|
-
return !matches;
|
|
479
|
-
});
|
|
480
|
-
if (group.hooks.length !== originalLen)
|
|
481
|
-
changed = true;
|
|
482
|
-
}
|
|
483
|
-
// Drop matcher groups whose hooks array is now empty
|
|
484
|
-
const kept = eventEntries.filter(g => Array.isArray(g.hooks) && g.hooks.length > 0);
|
|
485
|
-
if (kept.length !== eventEntries.length) {
|
|
486
|
-
hooksConfig[event] = kept;
|
|
487
|
-
changed = true;
|
|
488
|
-
}
|
|
489
|
-
// Drop the event key entirely if it has no matcher groups left
|
|
490
|
-
if (Array.isArray(hooksConfig[event]) && hooksConfig[event].length === 0) {
|
|
491
|
-
delete hooksConfig[event];
|
|
492
|
-
changed = true;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
// Strip permissions referencing plugin root
|
|
497
|
-
const perms = settings.permissions;
|
|
498
|
-
if (perms && typeof perms === 'object') {
|
|
499
|
-
for (const key of ['allow', 'deny']) {
|
|
500
|
-
const list = perms[key];
|
|
501
|
-
if (!Array.isArray(list))
|
|
502
|
-
continue;
|
|
503
|
-
const kept = list.filter(rule => {
|
|
504
|
-
const matches = typeof rule === 'string' && rule.includes(pluginRoot);
|
|
505
|
-
if (matches)
|
|
506
|
-
result.permissions += 1;
|
|
507
|
-
return !matches;
|
|
508
|
-
});
|
|
509
|
-
if (kept.length !== list.length) {
|
|
510
|
-
perms[key] = kept;
|
|
511
|
-
changed = true;
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
if (changed) {
|
|
516
|
-
try {
|
|
517
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2), 'utf-8');
|
|
518
|
-
}
|
|
519
|
-
catch {
|
|
520
|
-
// Ignore write errors
|
|
521
|
-
}
|
|
522
|
-
}
|
|
523
|
-
return result;
|
|
524
|
-
}
|
|
525
|
-
/**
|
|
526
|
-
* Remove orphaned plugin skill directories from a version home.
|
|
527
|
-
* An orphan is a skill dir with the plugin prefix pattern (name--skill)
|
|
528
|
-
* where the plugin no longer exists in ~/.agents/plugins/.
|
|
529
|
-
*/
|
|
530
|
-
export function cleanOrphanedPluginSkills(agent, versionHome, activePluginNames) {
|
|
531
|
-
const removed = [];
|
|
532
|
-
const skillsDir = path.join(versionHome, `.${agent}`, 'skills');
|
|
533
|
-
if (!fs.existsSync(skillsDir))
|
|
534
|
-
return removed;
|
|
535
|
-
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
536
|
-
for (const entry of entries) {
|
|
537
|
-
if (!entry.isDirectory())
|
|
538
|
-
continue;
|
|
539
|
-
// Plugin skill dirs use the pattern: pluginName--skillName
|
|
540
|
-
const dashIdx = entry.name.indexOf('--');
|
|
541
|
-
if (dashIdx === -1)
|
|
542
|
-
continue;
|
|
543
|
-
const pluginName = entry.name.slice(0, dashIdx);
|
|
544
|
-
if (!activePluginNames.has(pluginName)) {
|
|
545
|
-
try {
|
|
546
|
-
fs.rmSync(path.join(skillsDir, entry.name), { recursive: true, force: true });
|
|
547
|
-
removed.push(entry.name);
|
|
548
|
-
}
|
|
549
|
-
catch {
|
|
550
|
-
// Skip on error
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
}
|
|
554
|
-
return removed;
|
|
555
|
-
}
|
|
556
|
-
//# sourceMappingURL=plugins.js.map
|
package/dist/lib/plugins.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/lib/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thin compatibility shim over the shared secrets library.
|
|
3
|
-
*
|
|
4
|
-
* Profile tokens are stored at `agents-cli.<provider>.token`; secrets bundles
|
|
5
|
-
* live at `agents-cli.secrets.<bundle>.<KEY>`. Both go through the same
|
|
6
|
-
* keychain primitives in ./secrets.ts.
|
|
7
|
-
*/
|
|
8
|
-
export { hasKeychainToken, getKeychainToken, setKeychainToken, deleteKeychainToken, } from './secrets.js';
|
|
9
|
-
/** Map a provider name to its keychain item identifier. */
|
|
10
|
-
export declare function keychainItemName(provider: string): string;
|
|
11
|
-
//# sourceMappingURL=profiles-keychain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiles-keychain.d.ts","sourceRoot":"","sources":["../../src/lib/profiles-keychain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAGtB,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thin compatibility shim over the shared secrets library.
|
|
3
|
-
*
|
|
4
|
-
* Profile tokens are stored at `agents-cli.<provider>.token`; secrets bundles
|
|
5
|
-
* live at `agents-cli.secrets.<bundle>.<KEY>`. Both go through the same
|
|
6
|
-
* keychain primitives in ./secrets.ts.
|
|
7
|
-
*/
|
|
8
|
-
export { hasKeychainToken, getKeychainToken, setKeychainToken, deleteKeychainToken, } from './secrets.js';
|
|
9
|
-
import { profileKeychainItem } from './secrets.js';
|
|
10
|
-
/** Map a provider name to its keychain item identifier. */
|
|
11
|
-
export function keychainItemName(provider) {
|
|
12
|
-
return profileKeychainItem(provider);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=profiles-keychain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiles-keychain.js","sourceRoot":"","sources":["../../src/lib/profiles-keychain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in profile presets for popular model providers.
|
|
3
|
-
*
|
|
4
|
-
* Each preset bundles a host CLI, API base URL, default model, and provider
|
|
5
|
-
* name so users can `agents profiles add kimi` without manual configuration.
|
|
6
|
-
*/
|
|
7
|
-
import type { AgentId } from './types.js';
|
|
8
|
-
/** A pre-configured profile template for a model provider. */
|
|
9
|
-
export interface Preset {
|
|
10
|
-
name: string;
|
|
11
|
-
description: string;
|
|
12
|
-
provider: string;
|
|
13
|
-
host: AgentId;
|
|
14
|
-
env: Record<string, string>;
|
|
15
|
-
authEnvVar: string;
|
|
16
|
-
signupUrl?: string;
|
|
17
|
-
}
|
|
18
|
-
export declare const PRESETS: Preset[];
|
|
19
|
-
/** Look up a preset by name (case-sensitive). */
|
|
20
|
-
export declare function getPreset(name: string): Preset | undefined;
|
|
21
|
-
/** Return a copy of all available presets. */
|
|
22
|
-
export declare function listPresets(): Preset[];
|
|
23
|
-
/** Return the unique set of provider names across all presets. */
|
|
24
|
-
export declare function listProviders(): string[];
|
|
25
|
-
//# sourceMappingURL=profiles-presets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiles-presets.d.ts","sourceRoot":"","sources":["../../src/lib/profiles-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,8DAA8D;AAC9D,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD,eAAO,MAAM,OAAO,EAAE,MAAM,EA8D3B,CAAC;AAEF,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE1D;AAED,8CAA8C;AAC9C,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,kEAAkE;AAClE,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
|