@swarmify/agents-cli 1.12.0 → 1.13.1
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 +33 -0
- package/LICENSE +21 -0
- package/README.md +212 -232
- package/dist/commands/__tests__/sessions.test.js +90 -20
- package/dist/commands/__tests__/sessions.test.js.map +1 -1
- package/dist/commands/cloud.d.ts +11 -0
- package/dist/commands/cloud.d.ts.map +1 -0
- package/dist/commands/cloud.js +363 -0
- package/dist/commands/cloud.js.map +1 -0
- package/dist/commands/commands.d.ts +9 -0
- package/dist/commands/commands.d.ts.map +1 -1
- package/dist/commands/commands.js +330 -139
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/daemon.d.ts +8 -0
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +38 -222
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/drive.d.ts +8 -0
- package/dist/commands/drive.d.ts.map +1 -1
- package/dist/commands/drive.js +70 -7
- package/dist/commands/drive.js.map +1 -1
- package/dist/commands/exec.d.ts +9 -1
- package/dist/commands/exec.d.ts.map +1 -1
- package/dist/commands/exec.js +198 -24
- package/dist/commands/exec.js.map +1 -1
- package/dist/commands/factory.d.ts +11 -0
- package/dist/commands/factory.d.ts.map +1 -0
- package/dist/commands/factory.js +445 -0
- package/dist/commands/factory.js.map +1 -0
- package/dist/commands/fork.d.ts +8 -0
- package/dist/commands/fork.d.ts.map +1 -1
- package/dist/commands/fork.js +38 -4
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/hooks.d.ts +9 -0
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +252 -18
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/init.d.ts +15 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +137 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +250 -169
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/models.d.ts +11 -0
- package/dist/commands/models.d.ts.map +1 -0
- package/dist/commands/models.js +170 -0
- package/dist/commands/models.js.map +1 -0
- package/dist/commands/packages.d.ts +8 -0
- package/dist/commands/packages.d.ts.map +1 -1
- package/dist/commands/packages.js +155 -14
- package/dist/commands/packages.js.map +1 -1
- package/dist/commands/permissions.d.ts +9 -0
- package/dist/commands/permissions.d.ts.map +1 -1
- package/dist/commands/permissions.js +72 -13
- package/dist/commands/permissions.js.map +1 -1
- package/dist/commands/plugins.d.ts +8 -0
- package/dist/commands/plugins.d.ts.map +1 -1
- package/dist/commands/plugins.js +265 -44
- package/dist/commands/plugins.js.map +1 -1
- package/dist/commands/profiles.d.ts +12 -0
- package/dist/commands/profiles.d.ts.map +1 -0
- package/dist/commands/profiles.js +255 -0
- package/dist/commands/profiles.js.map +1 -0
- package/dist/commands/pty.d.ts +1 -0
- package/dist/commands/pty.d.ts.map +1 -1
- package/dist/commands/pty.js +133 -22
- package/dist/commands/pty.js.map +1 -1
- package/dist/commands/pull.d.ts +8 -0
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +103 -14
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts +8 -0
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +37 -3
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/refresh-memory.d.ts +16 -0
- package/dist/commands/refresh-memory.d.ts.map +1 -0
- package/dist/commands/refresh-memory.js +52 -0
- package/dist/commands/refresh-memory.js.map +1 -0
- package/dist/commands/resource-view.d.ts +39 -0
- package/dist/commands/resource-view.d.ts.map +1 -0
- package/dist/commands/resource-view.js +197 -0
- package/dist/commands/resource-view.js.map +1 -0
- package/dist/commands/routines.d.ts +8 -0
- package/dist/commands/routines.d.ts.map +1 -1
- package/dist/commands/routines.js +163 -34
- package/dist/commands/routines.js.map +1 -1
- package/dist/commands/rules.d.ts +9 -0
- package/dist/commands/rules.d.ts.map +1 -1
- package/dist/commands/rules.js +83 -12
- package/dist/commands/rules.js.map +1 -1
- package/dist/commands/secrets.d.ts +11 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/secrets.js +352 -0
- package/dist/commands/secrets.js.map +1 -0
- package/dist/commands/sessions-picker.d.ts +18 -0
- package/dist/commands/sessions-picker.d.ts.map +1 -0
- package/dist/commands/sessions-picker.js +265 -0
- package/dist/commands/sessions-picker.js.map +1 -0
- package/dist/commands/sessions.d.ts +15 -0
- package/dist/commands/sessions.d.ts.map +1 -1
- package/dist/commands/sessions.js +700 -263
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/skills.d.ts +9 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +355 -233
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/status.d.ts +7 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/subagents.d.ts +8 -0
- package/dist/commands/subagents.d.ts.map +1 -1
- package/dist/commands/subagents.js +214 -74
- package/dist/commands/subagents.js.map +1 -1
- package/dist/commands/sync.d.ts +8 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +15 -7
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/teams-picker.d.ts +18 -0
- package/dist/commands/teams-picker.d.ts.map +1 -0
- package/dist/commands/teams-picker.js +290 -0
- package/dist/commands/teams-picker.js.map +1 -0
- package/dist/commands/teams.d.ts +18 -0
- package/dist/commands/teams.d.ts.map +1 -0
- package/dist/commands/teams.js +1098 -0
- package/dist/commands/teams.js.map +1 -0
- package/dist/commands/utils.d.ts +20 -0
- package/dist/commands/utils.d.ts.map +1 -1
- package/dist/commands/utils.js +34 -0
- package/dist/commands/utils.js.map +1 -1
- package/dist/commands/versions.d.ts +8 -0
- package/dist/commands/versions.d.ts.map +1 -1
- package/dist/commands/versions.js +71 -8
- package/dist/commands/versions.js.map +1 -1
- package/dist/commands/view.d.ts +36 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +375 -15
- package/dist/commands/view.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +136 -51
- package/dist/index.js.map +1 -1
- package/dist/lib/__tests__/bugfixes.test.js +3 -3
- package/dist/lib/__tests__/bugfixes.test.js.map +1 -1
- package/dist/lib/__tests__/exec.test.js +125 -19
- package/dist/lib/__tests__/exec.test.js.map +1 -1
- package/dist/lib/__tests__/hooks.test.d.ts +2 -0
- package/dist/lib/__tests__/hooks.test.d.ts.map +1 -0
- package/dist/lib/__tests__/hooks.test.js +203 -0
- package/dist/lib/__tests__/hooks.test.js.map +1 -0
- package/dist/lib/__tests__/memory-compile.test.d.ts +2 -0
- package/dist/lib/__tests__/memory-compile.test.d.ts.map +1 -0
- package/dist/lib/__tests__/memory-compile.test.js +95 -0
- package/dist/lib/__tests__/memory-compile.test.js.map +1 -0
- package/dist/lib/__tests__/models.test.d.ts +2 -0
- package/dist/lib/__tests__/models.test.d.ts.map +1 -0
- package/dist/lib/__tests__/models.test.js +239 -0
- package/dist/lib/__tests__/models.test.js.map +1 -0
- package/dist/lib/__tests__/rotate.test.d.ts +2 -0
- package/dist/lib/__tests__/rotate.test.d.ts.map +1 -0
- package/dist/lib/__tests__/rotate.test.js +80 -0
- package/dist/lib/__tests__/rotate.test.js.map +1 -0
- package/dist/lib/__tests__/secrets-bundles.test.d.ts +2 -0
- package/dist/lib/__tests__/secrets-bundles.test.d.ts.map +1 -0
- package/dist/lib/__tests__/secrets-bundles.test.js +104 -0
- package/dist/lib/__tests__/secrets-bundles.test.js.map +1 -0
- package/dist/lib/__tests__/secrets.test.d.ts +2 -0
- package/dist/lib/__tests__/secrets.test.d.ts.map +1 -0
- package/dist/lib/__tests__/secrets.test.js +90 -0
- package/dist/lib/__tests__/secrets.test.js.map +1 -0
- package/dist/lib/__tests__/shims.test.d.ts +2 -0
- package/dist/lib/__tests__/shims.test.d.ts.map +1 -0
- package/dist/lib/__tests__/shims.test.js +39 -0
- package/dist/lib/__tests__/shims.test.js.map +1 -0
- package/dist/lib/__tests__/usage.test.js +4 -2
- package/dist/lib/__tests__/usage.test.js.map +1 -1
- package/dist/lib/__tests__/versions.test.d.ts +2 -0
- package/dist/lib/__tests__/versions.test.d.ts.map +1 -0
- package/dist/lib/__tests__/versions.test.js +63 -0
- package/dist/lib/__tests__/versions.test.js.map +1 -0
- package/dist/lib/agents.d.ts +53 -1
- package/dist/lib/agents.d.ts.map +1 -1
- package/dist/lib/agents.js +178 -37
- package/dist/lib/agents.js.map +1 -1
- package/dist/lib/artifact-actions.d.ts +8 -3
- package/dist/lib/artifact-actions.d.ts.map +1 -1
- package/dist/lib/artifact-actions.js +8 -5
- package/dist/lib/artifact-actions.js.map +1 -1
- package/dist/lib/cloud/codex.d.ts +26 -0
- package/dist/lib/cloud/codex.d.ts.map +1 -0
- package/dist/lib/cloud/codex.js +237 -0
- package/dist/lib/cloud/codex.js.map +1 -0
- package/dist/lib/cloud/factory.d.ts +32 -0
- package/dist/lib/cloud/factory.d.ts.map +1 -0
- package/dist/lib/cloud/factory.js +43 -0
- package/dist/lib/cloud/factory.js.map +1 -0
- package/dist/lib/cloud/registry.d.ts +16 -0
- package/dist/lib/cloud/registry.d.ts.map +1 -0
- package/dist/lib/cloud/registry.js +68 -0
- package/dist/lib/cloud/registry.js.map +1 -0
- package/dist/lib/cloud/rush.d.ts +37 -0
- package/dist/lib/cloud/rush.d.ts.map +1 -0
- package/dist/lib/cloud/rush.js +230 -0
- package/dist/lib/cloud/rush.js.map +1 -0
- package/dist/lib/cloud/rush.test.d.ts +2 -0
- package/dist/lib/cloud/rush.test.d.ts.map +1 -0
- package/dist/lib/cloud/rush.test.js +63 -0
- package/dist/lib/cloud/rush.test.js.map +1 -0
- package/dist/lib/cloud/store.d.ts +23 -0
- package/dist/lib/cloud/store.d.ts.map +1 -0
- package/dist/lib/cloud/store.js +116 -0
- package/dist/lib/cloud/store.js.map +1 -0
- package/dist/lib/cloud/stream.d.ts +24 -0
- package/dist/lib/cloud/stream.d.ts.map +1 -0
- package/dist/lib/cloud/stream.js +145 -0
- package/dist/lib/cloud/stream.js.map +1 -0
- package/dist/lib/cloud/types.d.ts +109 -0
- package/dist/lib/cloud/types.d.ts.map +1 -0
- package/dist/lib/cloud/types.js +33 -0
- package/dist/lib/cloud/types.js.map +1 -0
- package/dist/lib/cloud/types.test.d.ts +2 -0
- package/dist/lib/cloud/types.test.d.ts.map +1 -0
- package/dist/lib/cloud/types.test.js +41 -0
- package/dist/lib/cloud/types.test.js.map +1 -0
- package/dist/lib/commands.d.ts +67 -0
- package/dist/lib/commands.d.ts.map +1 -1
- package/dist/lib/commands.js +161 -2
- package/dist/lib/commands.js.map +1 -1
- package/dist/lib/convert.d.ts +10 -0
- package/dist/lib/convert.d.ts.map +1 -1
- package/dist/lib/convert.js +9 -0
- package/dist/lib/convert.js.map +1 -1
- package/dist/lib/daemon.d.ts +21 -0
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/daemon.js +21 -0
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/drive-sync.d.ts +18 -0
- package/dist/lib/drive-sync.d.ts.map +1 -1
- package/dist/lib/drive-sync.js +16 -0
- package/dist/lib/drive-sync.js.map +1 -1
- package/dist/lib/exec.d.ts +64 -3
- package/dist/lib/exec.d.ts.map +1 -1
- package/dist/lib/exec.js +218 -80
- package/dist/lib/exec.js.map +1 -1
- package/dist/lib/factory/__tests__/config.test.d.ts +2 -0
- package/dist/lib/factory/__tests__/config.test.d.ts.map +1 -0
- package/dist/lib/factory/__tests__/config.test.js +128 -0
- package/dist/lib/factory/__tests__/config.test.js.map +1 -0
- package/dist/lib/factory/config.d.ts +49 -0
- package/dist/lib/factory/config.d.ts.map +1 -0
- package/dist/lib/factory/config.js +127 -0
- package/dist/lib/factory/config.js.map +1 -0
- package/dist/lib/factory.js +1 -1
- package/dist/lib/factory.js.map +1 -1
- package/dist/lib/git.d.ts +16 -1
- package/dist/lib/git.d.ts.map +1 -1
- package/dist/lib/git.js +33 -4
- package/dist/lib/git.js.map +1 -1
- package/dist/lib/help.d.ts +7 -0
- package/dist/lib/help.d.ts.map +1 -1
- package/dist/lib/help.js +3 -0
- package/dist/lib/help.js.map +1 -1
- package/dist/lib/hooks.d.ts +59 -3
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +413 -33
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/ledger/__tests__/local.test.d.ts +2 -0
- package/dist/lib/ledger/__tests__/local.test.d.ts.map +1 -0
- package/dist/lib/ledger/__tests__/local.test.js +177 -0
- package/dist/lib/ledger/__tests__/local.test.js.map +1 -0
- package/dist/lib/ledger/__tests__/sync.test.d.ts +2 -0
- package/dist/lib/ledger/__tests__/sync.test.d.ts.map +1 -0
- package/dist/lib/ledger/__tests__/sync.test.js +117 -0
- package/dist/lib/ledger/__tests__/sync.test.js.map +1 -0
- package/dist/lib/ledger/index.d.ts +18 -0
- package/dist/lib/ledger/index.d.ts.map +1 -0
- package/dist/lib/ledger/index.js +32 -0
- package/dist/lib/ledger/index.js.map +1 -0
- package/dist/lib/ledger/local.d.ts +22 -0
- package/dist/lib/ledger/local.d.ts.map +1 -0
- package/dist/lib/ledger/local.js +333 -0
- package/dist/lib/ledger/local.js.map +1 -0
- package/dist/lib/ledger/r2.d.ts +41 -0
- package/dist/lib/ledger/r2.d.ts.map +1 -0
- package/dist/lib/ledger/r2.js +335 -0
- package/dist/lib/ledger/r2.js.map +1 -0
- package/dist/lib/ledger/sync.d.ts +33 -0
- package/dist/lib/ledger/sync.d.ts.map +1 -0
- package/dist/lib/ledger/sync.js +106 -0
- package/dist/lib/ledger/sync.js.map +1 -0
- package/dist/lib/ledger/types.d.ts +100 -0
- package/dist/lib/ledger/types.d.ts.map +1 -0
- package/dist/lib/ledger/types.js +21 -0
- package/dist/lib/ledger/types.js.map +1 -0
- package/dist/lib/manifest.d.ts +6 -0
- package/dist/lib/manifest.d.ts.map +1 -1
- package/dist/lib/manifest.js +12 -0
- package/dist/lib/manifest.js.map +1 -1
- package/dist/lib/markdown.d.ts.map +1 -1
- package/dist/lib/markdown.js +6 -0
- package/dist/lib/markdown.js.map +1 -1
- package/dist/lib/mcp.d.ts +0 -9
- package/dist/lib/mcp.d.ts.map +1 -1
- package/dist/lib/mcp.js +0 -20
- package/dist/lib/mcp.js.map +1 -1
- package/dist/lib/memory-compile.d.ts +65 -0
- package/dist/lib/memory-compile.d.ts.map +1 -0
- package/dist/lib/memory-compile.js +174 -0
- package/dist/lib/memory-compile.js.map +1 -0
- package/dist/lib/memory.d.ts +8 -0
- package/dist/lib/memory.d.ts.map +1 -1
- package/dist/lib/memory.js +8 -0
- package/dist/lib/memory.js.map +1 -1
- package/dist/lib/models.d.ts +98 -0
- package/dist/lib/models.d.ts.map +1 -0
- package/dist/lib/models.js +728 -0
- package/dist/lib/models.js.map +1 -0
- package/dist/lib/permissions.d.ts +24 -1
- package/dist/lib/permissions.d.ts.map +1 -1
- package/dist/lib/permissions.js +52 -3
- package/dist/lib/permissions.js.map +1 -1
- package/dist/lib/picker.d.ts +27 -0
- package/dist/lib/picker.d.ts.map +1 -0
- package/dist/lib/picker.js +110 -0
- package/dist/lib/picker.js.map +1 -0
- package/dist/lib/plugins.d.ts +22 -0
- package/dist/lib/plugins.d.ts.map +1 -1
- package/dist/lib/plugins.js +114 -0
- package/dist/lib/plugins.js.map +1 -1
- package/dist/lib/profiles-keychain.d.ts +11 -0
- package/dist/lib/profiles-keychain.d.ts.map +1 -0
- package/dist/lib/profiles-keychain.js +14 -0
- package/dist/lib/profiles-keychain.js.map +1 -0
- package/dist/lib/profiles-presets.d.ts +25 -0
- package/dist/lib/profiles-presets.d.ts.map +1 -0
- package/dist/lib/profiles-presets.js +104 -0
- package/dist/lib/profiles-presets.js.map +1 -0
- package/dist/lib/profiles.d.ts +70 -0
- package/dist/lib/profiles.d.ts.map +1 -0
- package/dist/lib/profiles.js +145 -0
- package/dist/lib/profiles.js.map +1 -0
- package/dist/lib/pty-client.d.ts +1 -0
- package/dist/lib/pty-client.d.ts.map +1 -1
- package/dist/lib/pty-client.js.map +1 -1
- package/dist/lib/pty-server.d.ts +5 -0
- package/dist/lib/pty-server.d.ts.map +1 -1
- package/dist/lib/pty-server.js +5 -0
- package/dist/lib/pty-server.js.map +1 -1
- package/dist/lib/registry.d.ts +17 -0
- package/dist/lib/registry.d.ts.map +1 -1
- package/dist/lib/registry.js +17 -0
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/resources.d.ts +5 -0
- package/dist/lib/resources.d.ts.map +1 -1
- package/dist/lib/resources.js.map +1 -1
- package/dist/lib/rotate.d.ts +58 -0
- package/dist/lib/rotate.d.ts.map +1 -0
- package/dist/lib/rotate.js +93 -0
- package/dist/lib/rotate.js.map +1 -0
- package/dist/lib/routines.d.ts +30 -1
- package/dist/lib/routines.d.ts.map +1 -1
- package/dist/lib/routines.js +31 -4
- package/dist/lib/routines.js.map +1 -1
- package/dist/lib/runner.d.ts +14 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +45 -11
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/sandbox.d.ts +16 -0
- package/dist/lib/sandbox.d.ts.map +1 -1
- package/dist/lib/sandbox.js +19 -2
- package/dist/lib/sandbox.js.map +1 -1
- package/dist/lib/scheduler.d.ts +8 -0
- package/dist/lib/scheduler.d.ts.map +1 -1
- package/dist/lib/scheduler.js +8 -0
- package/dist/lib/scheduler.js.map +1 -1
- package/dist/lib/secrets-bundles.d.ts +38 -0
- package/dist/lib/secrets-bundles.d.ts.map +1 -0
- package/dist/lib/secrets-bundles.js +176 -0
- package/dist/lib/secrets-bundles.js.map +1 -0
- package/dist/lib/secrets.d.ts +53 -0
- package/dist/lib/secrets.d.ts.map +1 -0
- package/dist/lib/secrets.js +140 -0
- package/dist/lib/secrets.js.map +1 -0
- package/dist/lib/session/__tests__/db.test.d.ts +2 -0
- package/dist/lib/session/__tests__/db.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/db.test.js +54 -0
- package/dist/lib/session/__tests__/db.test.js.map +1 -0
- package/dist/lib/session/__tests__/discover.test.js +54 -91
- package/dist/lib/session/__tests__/discover.test.js.map +1 -1
- package/dist/lib/session/__tests__/prompt.test.d.ts +2 -0
- package/dist/lib/session/__tests__/prompt.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/prompt.test.js +44 -0
- package/dist/lib/session/__tests__/prompt.test.js.map +1 -0
- package/dist/lib/session/__tests__/render.test.d.ts +2 -0
- package/dist/lib/session/__tests__/render.test.d.ts.map +1 -0
- package/dist/lib/session/__tests__/render.test.js +602 -0
- package/dist/lib/session/__tests__/render.test.js.map +1 -0
- package/dist/lib/session/artifacts.d.ts +15 -0
- package/dist/lib/session/artifacts.d.ts.map +1 -0
- package/dist/lib/session/artifacts.js +86 -0
- package/dist/lib/session/artifacts.js.map +1 -0
- package/dist/lib/session/db.d.ts +140 -0
- package/dist/lib/session/db.d.ts.map +1 -0
- package/dist/lib/session/db.js +599 -0
- package/dist/lib/session/db.js.map +1 -0
- package/dist/lib/session/discover.d.ts +44 -32
- package/dist/lib/session/discover.d.ts.map +1 -1
- package/dist/lib/session/discover.js +418 -464
- package/dist/lib/session/discover.js.map +1 -1
- package/dist/lib/session/parse.d.ts +11 -0
- package/dist/lib/session/parse.d.ts.map +1 -1
- package/dist/lib/session/parse.js +50 -0
- package/dist/lib/session/parse.js.map +1 -1
- package/dist/lib/session/prompt.d.ts +10 -0
- package/dist/lib/session/prompt.d.ts.map +1 -1
- package/dist/lib/session/prompt.js +38 -2
- package/dist/lib/session/prompt.js.map +1 -1
- package/dist/lib/session/prompt.test.d.ts +2 -0
- package/dist/lib/session/prompt.test.d.ts.map +1 -0
- package/dist/lib/session/prompt.test.js +57 -0
- package/dist/lib/session/prompt.test.js.map +1 -0
- package/dist/lib/session/render.d.ts +91 -10
- package/dist/lib/session/render.d.ts.map +1 -1
- package/dist/lib/session/render.js +708 -180
- package/dist/lib/session/render.js.map +1 -1
- package/dist/lib/session/team-filter.d.ts +35 -0
- package/dist/lib/session/team-filter.d.ts.map +1 -0
- package/dist/lib/session/team-filter.js +75 -0
- package/dist/lib/session/team-filter.js.map +1 -0
- package/dist/lib/session/team-filter.test.d.ts +2 -0
- package/dist/lib/session/team-filter.test.d.ts.map +1 -0
- package/dist/lib/session/team-filter.test.js +157 -0
- package/dist/lib/session/team-filter.test.js.map +1 -0
- package/dist/lib/session/types.d.ts +48 -6
- package/dist/lib/session/types.d.ts.map +1 -1
- package/dist/lib/session/types.js +9 -0
- package/dist/lib/session/types.js.map +1 -1
- package/dist/lib/shims.d.ts +101 -2
- package/dist/lib/shims.d.ts.map +1 -1
- package/dist/lib/shims.js +282 -25
- package/dist/lib/shims.js.map +1 -1
- package/dist/lib/skills.d.ts +68 -0
- package/dist/lib/skills.d.ts.map +1 -1
- package/dist/lib/skills.js +267 -1
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/state.d.ts +41 -2
- package/dist/lib/state.d.ts.map +1 -1
- package/dist/lib/state.js +63 -4
- package/dist/lib/state.js.map +1 -1
- package/dist/lib/subagents.d.ts +9 -0
- package/dist/lib/subagents.d.ts.map +1 -1
- package/dist/lib/subagents.js +9 -1
- package/dist/lib/subagents.js.map +1 -1
- package/dist/lib/teams/__tests__/oracle.test.d.ts +2 -0
- package/dist/lib/teams/__tests__/oracle.test.d.ts.map +1 -0
- package/dist/lib/teams/__tests__/oracle.test.js +89 -0
- package/dist/lib/teams/__tests__/oracle.test.js.map +1 -0
- package/dist/lib/teams/__tests__/supervisor.test.d.ts +2 -0
- package/dist/lib/teams/__tests__/supervisor.test.d.ts.map +1 -0
- package/dist/lib/teams/__tests__/supervisor.test.js +179 -0
- package/dist/lib/teams/__tests__/supervisor.test.js.map +1 -0
- package/dist/lib/teams/agents.d.ts +247 -0
- package/dist/lib/teams/agents.d.ts.map +1 -0
- package/dist/lib/teams/agents.js +1244 -0
- package/dist/lib/teams/agents.js.map +1 -0
- package/dist/lib/teams/api.d.ts +91 -0
- package/dist/lib/teams/api.d.ts.map +1 -0
- package/dist/lib/teams/api.js +239 -0
- package/dist/lib/teams/api.js.map +1 -0
- package/dist/lib/teams/cloud.d.ts +11 -0
- package/dist/lib/teams/cloud.d.ts.map +1 -0
- package/dist/lib/teams/cloud.js +169 -0
- package/dist/lib/teams/cloud.js.map +1 -0
- package/dist/lib/teams/debug.d.ts +8 -0
- package/dist/lib/teams/debug.d.ts.map +1 -0
- package/dist/lib/teams/debug.js +12 -0
- package/dist/lib/teams/debug.js.map +1 -0
- package/dist/lib/teams/file_ops.d.ts +13 -0
- package/dist/lib/teams/file_ops.d.ts.map +1 -0
- package/dist/lib/teams/file_ops.js +66 -0
- package/dist/lib/teams/file_ops.js.map +1 -0
- package/dist/lib/teams/index.d.ts +16 -0
- package/dist/lib/teams/index.d.ts.map +1 -0
- package/dist/lib/teams/index.js +15 -0
- package/dist/lib/teams/index.js.map +1 -0
- package/dist/lib/teams/oracle.d.ts +20 -0
- package/dist/lib/teams/oracle.d.ts.map +1 -0
- package/dist/lib/teams/oracle.js +59 -0
- package/dist/lib/teams/oracle.js.map +1 -0
- package/dist/lib/teams/parsers.d.ts +9 -0
- package/dist/lib/teams/parsers.d.ts.map +1 -0
- package/dist/lib/teams/parsers.js +837 -0
- package/dist/lib/teams/parsers.js.map +1 -0
- package/dist/lib/teams/persistence.d.ts +43 -0
- package/dist/lib/teams/persistence.d.ts.map +1 -0
- package/dist/lib/teams/persistence.js +299 -0
- package/dist/lib/teams/persistence.js.map +1 -0
- package/dist/lib/teams/ralph.d.ts +8 -0
- package/dist/lib/teams/ralph.d.ts.map +1 -0
- package/dist/lib/teams/ralph.js +59 -0
- package/dist/lib/teams/ralph.js.map +1 -0
- package/dist/lib/teams/registry.d.ts +18 -0
- package/dist/lib/teams/registry.d.ts.map +1 -0
- package/dist/lib/teams/registry.js +68 -0
- package/dist/lib/teams/registry.js.map +1 -0
- package/dist/lib/teams/summarizer.d.ts +73 -0
- package/dist/lib/teams/summarizer.d.ts.map +1 -0
- package/dist/lib/teams/summarizer.js +780 -0
- package/dist/lib/teams/summarizer.js.map +1 -0
- package/dist/lib/teams/supervisor.d.ts +49 -0
- package/dist/lib/teams/supervisor.d.ts.map +1 -0
- package/dist/lib/teams/supervisor.js +74 -0
- package/dist/lib/teams/supervisor.js.map +1 -0
- package/dist/lib/template.d.ts +8 -5
- package/dist/lib/template.d.ts.map +1 -1
- package/dist/lib/template.js +8 -5
- package/dist/lib/template.js.map +1 -1
- package/dist/lib/types.d.ts +58 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/types.js +16 -1
- package/dist/lib/types.js.map +1 -1
- package/dist/lib/usage.d.ts +48 -0
- package/dist/lib/usage.d.ts.map +1 -1
- package/dist/lib/usage.js +106 -14
- package/dist/lib/usage.js.map +1 -1
- package/dist/lib/versions.d.ts +12 -1
- package/dist/lib/versions.d.ts.map +1 -1
- package/dist/lib/versions.js +124 -41
- package/dist/lib/versions.js.map +1 -1
- package/package.json +20 -6
- package/scripts/postinstall.js +1 -1
- package/scripts/rebuild-sqlite.sh +46 -0
- package/dist/commands/sessions.test.d.ts +0 -2
- package/dist/commands/sessions.test.d.ts.map +0 -1
- package/dist/commands/sessions.test.js +0 -53
- package/dist/commands/sessions.test.js.map +0 -1
package/dist/lib/versions.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export interface ResourceSelection {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Available resources in ~/.agents/ for syncing.
|
|
21
|
+
*
|
|
22
|
+
* `promptcuts` is a boolean, not a list — there is at most one
|
|
23
|
+
* ~/.agents/promptcuts.yaml file. It is NOT version-scoped: the
|
|
24
|
+
* expand-promptcuts hook reads it directly, so no per-version copy
|
|
25
|
+
* is made and no sync step is needed.
|
|
21
26
|
*/
|
|
22
27
|
export interface AvailableResources {
|
|
23
28
|
commands: string[];
|
|
@@ -28,6 +33,7 @@ export interface AvailableResources {
|
|
|
28
33
|
permissions: string[];
|
|
29
34
|
subagents: string[];
|
|
30
35
|
plugins: string[];
|
|
36
|
+
promptcuts: boolean;
|
|
31
37
|
}
|
|
32
38
|
/**
|
|
33
39
|
* Get all available resources from ~/.agents/.
|
|
@@ -60,6 +66,7 @@ export declare function promptNewResourceSelection(agent: AgentId, newResources:
|
|
|
60
66
|
* Returns the selection, or null if user cancels.
|
|
61
67
|
*/
|
|
62
68
|
export declare function promptResourceSelection(agent: AgentId): Promise<ResourceSelection | null>;
|
|
69
|
+
/** Parsed agent@version specification from CLI input. */
|
|
63
70
|
export interface AgentSpec {
|
|
64
71
|
agent: AgentId;
|
|
65
72
|
version: string;
|
|
@@ -134,7 +141,7 @@ export declare function removeAllVersions(agent: AgentId): number;
|
|
|
134
141
|
*/
|
|
135
142
|
export declare function resolveVersion(agent: AgentId, projectPath?: string): string | null;
|
|
136
143
|
/**
|
|
137
|
-
* Get version specified in project
|
|
144
|
+
* Get version specified in a project-root agents.yaml (not the user ~/.agents/agents.yaml).
|
|
138
145
|
*/
|
|
139
146
|
export declare function getProjectVersion(agent: AgentId, startPath: string): string | null;
|
|
140
147
|
/**
|
|
@@ -145,6 +152,7 @@ export declare function compareVersions(a: string, b: string): number;
|
|
|
145
152
|
* Get actual version from an installed 'latest' directory.
|
|
146
153
|
*/
|
|
147
154
|
export declare function getInstalledVersion(agent: AgentId, version: string): Promise<string | null>;
|
|
155
|
+
/** Outcome of syncing resources to a version home, keyed by resource type. */
|
|
148
156
|
export interface SyncResult {
|
|
149
157
|
commands: boolean;
|
|
150
158
|
skills: boolean;
|
|
@@ -155,6 +163,7 @@ export interface SyncResult {
|
|
|
155
163
|
subagents: string[];
|
|
156
164
|
plugins: string[];
|
|
157
165
|
}
|
|
166
|
+
/** Diff between central ~/.agents/ resources and what is synced to a version home. */
|
|
158
167
|
export interface ResourceDiff {
|
|
159
168
|
commands: {
|
|
160
169
|
added: string[];
|
|
@@ -200,10 +209,12 @@ export declare function syncResourcesToVersion(agent: AgentId, version: string,
|
|
|
200
209
|
* Otherwise returns the real HOME.
|
|
201
210
|
*/
|
|
202
211
|
export declare function getEffectiveHome(agentId: AgentId): string;
|
|
212
|
+
/** Result of resolving agent/version targets from CLI input or interactive selection. */
|
|
203
213
|
export interface VersionSelectionResult {
|
|
204
214
|
selectedAgents: AgentId[];
|
|
205
215
|
versionSelections: Map<AgentId, string[]>;
|
|
206
216
|
}
|
|
217
|
+
/** Extended target result that distinguishes managed versions from direct (unmanaged) agent homes. */
|
|
207
218
|
export interface InstalledAgentTargetResult {
|
|
208
219
|
selectedAgents: AgentId[];
|
|
209
220
|
directAgents: AgentId[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/lib/versions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../../src/lib/versions.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/versions.js
CHANGED
|
@@ -1,21 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version management module for agents-cli.
|
|
3
|
+
*
|
|
4
|
+
* Handles installing, removing, listing, and switching between agent CLI versions.
|
|
5
|
+
* Each version is installed into an isolated directory under ~/.agents/versions/{agent}/{version}/
|
|
6
|
+
* with its own HOME directory for config isolation. Resources (commands, skills, hooks, memory,
|
|
7
|
+
* MCP servers, permissions, subagents, plugins) from ~/.agents/ are synced into version homes
|
|
8
|
+
* via copies or conversions (not symlinks).
|
|
9
|
+
*
|
|
10
|
+
* Key responsibilities:
|
|
11
|
+
* - Version lifecycle: install, remove, list, resolve (project-level or global default)
|
|
12
|
+
* - Resource discovery: scan ~/.agents/ for available resources across all types
|
|
13
|
+
* - Resource sync: copy/convert resources into a version's isolated config directory
|
|
14
|
+
* - Diff and reconciliation: detect new/unsynced resources and prompt users to sync them
|
|
15
|
+
* - Agent/version target resolution: parse agent@version specs from CLI flags
|
|
16
|
+
*/
|
|
1
17
|
import * as fs from 'fs';
|
|
2
18
|
import * as path from 'path';
|
|
3
19
|
import * as os from 'os';
|
|
20
|
+
import * as yaml from 'yaml';
|
|
4
21
|
import { exec } from 'child_process';
|
|
5
22
|
import { promisify } from 'util';
|
|
6
23
|
import chalk from 'chalk';
|
|
7
24
|
import * as TOML from 'smol-toml';
|
|
8
25
|
import { checkbox, select } from '@inquirer/prompts';
|
|
9
|
-
import { getVersionsDir, ensureAgentsDir, readMeta, writeMeta, getCommandsDir, getSkillsDir, getHooksDir, getMemoryDir, clearVersionResources, recordVersionResources, getProjectAgentsDir } from './state.js';
|
|
10
|
-
import { AGENTS, getAccountEmail, MCP_CAPABLE_AGENTS, COMMANDS_CAPABLE_AGENTS, getMcpConfigPathForHome, parseMcpConfig, resolveAgentName, formatAgentError } from './agents.js';
|
|
11
|
-
import { applyPermissionsToVersion as applyPermsToVersion, PERMISSIONS_CAPABLE_AGENTS, discoverPermissionGroups, buildPermissionsFromGroups, CODEX_RULES_FILENAME } from './permissions.js';
|
|
26
|
+
import { getVersionsDir, ensureAgentsDir, readMeta, writeMeta, getCommandsDir, getSkillsDir, getHooksDir, getMemoryDir, clearVersionResources, recordVersionResources, getProjectAgentsDir, getPromptcutsPath } from './state.js';
|
|
27
|
+
import { AGENTS, getAccountEmail, MCP_CAPABLE_AGENTS, COMMANDS_CAPABLE_AGENTS, getMcpConfigPathForHome, parseMcpConfig, resolveAgentName, formatAgentError, CODEX_HOOKS_MIN_VERSION } from './agents.js';
|
|
28
|
+
import { applyPermissionsToVersion as applyPermsToVersion, PERMISSIONS_CAPABLE_AGENTS, discoverPermissionGroups, buildPermissionsFromGroups, CODEX_RULES_FILENAME, getActivePermissionSetName, readPermissionSetRecipe, PERMISSION_SET_ENV_VAR } from './permissions.js';
|
|
12
29
|
import { installMcpServers } from './mcp.js';
|
|
13
30
|
import { markdownToToml } from './convert.js';
|
|
14
|
-
import { createVersionedAlias, removeVersionedAlias, getConfigSymlinkVersion } from './shims.js';
|
|
31
|
+
import { createVersionedAlias, removeVersionedAlias, getConfigSymlinkVersion, ensureClaudeInsideSymlink } from './shims.js';
|
|
15
32
|
import { listInstalledSubagents, transformSubagentForClaude, syncSubagentToOpenclaw, SUBAGENT_CAPABLE_AGENTS } from './subagents.js';
|
|
16
33
|
import { registerHooksToSettings } from './hooks.js';
|
|
17
34
|
import { discoverPlugins, syncPluginToVersion, isPluginSynced, pluginSupportsAgent, cleanOrphanedPluginSkills } from './plugins.js';
|
|
35
|
+
import { compileMemoryForAgent } from './memory-compile.js';
|
|
18
36
|
import { PLUGINS_CAPABLE_AGENTS } from './agents.js';
|
|
37
|
+
/** Promisified exec for running shell commands. */
|
|
19
38
|
const execAsync = promisify(exec);
|
|
20
39
|
/**
|
|
21
40
|
* Get all available resources from ~/.agents/.
|
|
@@ -30,6 +49,7 @@ export function getAvailableResources(cwd = process.cwd()) {
|
|
|
30
49
|
permissions: [],
|
|
31
50
|
subagents: [],
|
|
32
51
|
plugins: [],
|
|
52
|
+
promptcuts: false,
|
|
33
53
|
};
|
|
34
54
|
const projectAgentsDir = getProjectAgentsDir(cwd);
|
|
35
55
|
const userBase = path.dirname(getCommandsDir());
|
|
@@ -142,6 +162,10 @@ export function getAvailableResources(cwd = process.cwd()) {
|
|
|
142
162
|
// Plugins (directories with .claude-plugin/plugin.json)
|
|
143
163
|
const allPlugins = discoverPlugins();
|
|
144
164
|
result.plugins = allPlugins.map(p => p.name);
|
|
165
|
+
// Promptcuts — single file at ~/.agents/promptcuts.yaml, not per-agent.
|
|
166
|
+
// Project-scoped .agents/promptcuts.yaml is intentionally not supported
|
|
167
|
+
// (user-global shortcuts only — they follow the user, not the repo).
|
|
168
|
+
result.promptcuts = fs.existsSync(getPromptcutsPath());
|
|
145
169
|
return result;
|
|
146
170
|
}
|
|
147
171
|
/**
|
|
@@ -187,6 +211,7 @@ export function getActuallySyncedResources(agent, version, options = {}) {
|
|
|
187
211
|
permissions: [],
|
|
188
212
|
subagents: [],
|
|
189
213
|
plugins: [],
|
|
214
|
+
promptcuts: false,
|
|
190
215
|
};
|
|
191
216
|
// Commands - check what files exist in version home
|
|
192
217
|
const commandsDir = path.join(configDir, agentConfig.commandsSubdir);
|
|
@@ -420,6 +445,9 @@ export function getNewResources(available, actuallySynced) {
|
|
|
420
445
|
permissions: available.permissions.filter(p => !actuallySynced.permissions.includes(p)),
|
|
421
446
|
subagents: available.subagents.filter(s => !actuallySynced.subagents.includes(s)),
|
|
422
447
|
plugins: available.plugins.filter(p => !actuallySynced.plugins.includes(p)),
|
|
448
|
+
// Promptcuts aren't version-scoped — the hook reads ~/.agents/promptcuts.yaml
|
|
449
|
+
// directly, so there is never a "new" per-version state to reconcile.
|
|
450
|
+
promptcuts: false,
|
|
423
451
|
};
|
|
424
452
|
}
|
|
425
453
|
/**
|
|
@@ -885,6 +913,18 @@ export async function installVersion(agent, version, onProgress) {
|
|
|
885
913
|
}
|
|
886
914
|
// Create versioned alias (e.g., claude@2.0.65)
|
|
887
915
|
createVersionedAlias(agent, installedVersion);
|
|
916
|
+
// Claude reads its global config from CLAUDE_CONFIG_DIR/.claude.json —
|
|
917
|
+
// i.e. inside the per-version .claude dir — while the rest of agents-cli
|
|
918
|
+
// manages the home-level file. Symlink INSIDE to OUTSIDE so Claude and
|
|
919
|
+
// agents-cli see the same content.
|
|
920
|
+
if (agent === 'claude') {
|
|
921
|
+
try {
|
|
922
|
+
ensureClaudeInsideSymlink(installedVersion);
|
|
923
|
+
}
|
|
924
|
+
catch {
|
|
925
|
+
/* non-fatal; the install itself succeeded */
|
|
926
|
+
}
|
|
927
|
+
}
|
|
888
928
|
return { success: true, installedVersion };
|
|
889
929
|
}
|
|
890
930
|
catch (err) {
|
|
@@ -967,19 +1007,20 @@ export function resolveVersion(agent, projectPath) {
|
|
|
967
1007
|
return getGlobalDefault(agent);
|
|
968
1008
|
}
|
|
969
1009
|
/**
|
|
970
|
-
* Get version specified in project
|
|
1010
|
+
* Get version specified in a project-root agents.yaml (not the user ~/.agents/agents.yaml).
|
|
971
1011
|
*/
|
|
972
1012
|
export function getProjectVersion(agent, startPath) {
|
|
1013
|
+
const userAgentsYaml = path.join(os.homedir(), '.agents', 'agents.yaml');
|
|
973
1014
|
let dir = path.resolve(startPath);
|
|
974
1015
|
while (dir !== path.dirname(dir)) {
|
|
975
|
-
const manifestPath = path.join(dir, '
|
|
976
|
-
if (fs.existsSync(manifestPath)) {
|
|
1016
|
+
const manifestPath = path.join(dir, 'agents.yaml');
|
|
1017
|
+
if (manifestPath !== userAgentsYaml && fs.existsSync(manifestPath)) {
|
|
977
1018
|
try {
|
|
978
1019
|
const content = fs.readFileSync(manifestPath, 'utf-8');
|
|
979
|
-
|
|
980
|
-
const
|
|
981
|
-
if (
|
|
982
|
-
return
|
|
1020
|
+
const parsed = yaml.parse(content);
|
|
1021
|
+
const version = parsed?.agents?.[agent];
|
|
1022
|
+
if (typeof version === 'string' && version.trim()) {
|
|
1023
|
+
return version.trim();
|
|
983
1024
|
}
|
|
984
1025
|
}
|
|
985
1026
|
catch {
|
|
@@ -1267,31 +1308,48 @@ export function syncResourcesToVersion(agent, version, selection, options = {})
|
|
|
1267
1308
|
}
|
|
1268
1309
|
// Sync hooks (if agent supports them)
|
|
1269
1310
|
if (agentConfig.supportsHooks) {
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
:
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
const
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
const
|
|
1281
|
-
const
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
const
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1311
|
+
// Version gate: Codex hooks require >= CODEX_HOOKS_MIN_VERSION
|
|
1312
|
+
if (agent === 'codex' && compareVersions(version, CODEX_HOOKS_MIN_VERSION) < 0) {
|
|
1313
|
+
console.warn(`hooks skipped: codex@${version} < ${CODEX_HOOKS_MIN_VERSION}`);
|
|
1314
|
+
}
|
|
1315
|
+
else {
|
|
1316
|
+
const hooksToSync = selection
|
|
1317
|
+
? resolveSelection(selection.hooks, available.hooks)
|
|
1318
|
+
: available.hooks;
|
|
1319
|
+
if (hooksToSync.length > 0) {
|
|
1320
|
+
const centralHooks = getHooksDir();
|
|
1321
|
+
const projectHooksDir = projectAgentsDir ? path.join(projectAgentsDir, 'hooks') : null;
|
|
1322
|
+
const hooksTarget = path.join(agentDir, 'hooks');
|
|
1323
|
+
fs.mkdirSync(hooksTarget, { recursive: true });
|
|
1324
|
+
const syncedHooks = [];
|
|
1325
|
+
for (const hook of hooksToSync) {
|
|
1326
|
+
const projectSource = projectHooksDir ? path.join(projectHooksDir, hook) : null;
|
|
1327
|
+
const srcFile = projectSource && fs.existsSync(projectSource) ? projectSource : path.join(centralHooks, hook);
|
|
1328
|
+
if (!fs.existsSync(srcFile))
|
|
1329
|
+
continue;
|
|
1330
|
+
const destFile = path.join(hooksTarget, hook);
|
|
1331
|
+
fs.copyFileSync(srcFile, destFile);
|
|
1332
|
+
fs.chmodSync(destFile, 0o755);
|
|
1333
|
+
syncedHooks.push(hook);
|
|
1334
|
+
}
|
|
1335
|
+
// Remove orphan hook files that exist in version home but not in central
|
|
1336
|
+
const centralHookNames = new Set(fs.existsSync(getHooksDir())
|
|
1337
|
+
? fs.readdirSync(getHooksDir()).filter(f => !f.startsWith('.'))
|
|
1338
|
+
: []);
|
|
1339
|
+
if (fs.existsSync(hooksTarget)) {
|
|
1340
|
+
for (const file of fs.readdirSync(hooksTarget).filter(f => !f.startsWith('.'))) {
|
|
1341
|
+
if (!centralHookNames.has(file)) {
|
|
1342
|
+
removePath(path.join(hooksTarget, file));
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
result.hooks = syncedHooks.length > 0;
|
|
1347
|
+
if (syncedHooks.length > 0) {
|
|
1348
|
+
recordVersionResources(agent, version, 'hooks', syncedHooks);
|
|
1349
|
+
}
|
|
1350
|
+
if (agent === 'claude' || agent === 'codex') {
|
|
1351
|
+
registerHooksToSettings(agent, versionHome);
|
|
1352
|
+
}
|
|
1295
1353
|
}
|
|
1296
1354
|
}
|
|
1297
1355
|
}
|
|
@@ -1303,6 +1361,7 @@ export function syncResourcesToVersion(agent, version, selection, options = {})
|
|
|
1303
1361
|
const centralMemory = getMemoryDir();
|
|
1304
1362
|
const projectMemoryDir = projectAgentsDir ? path.join(projectAgentsDir, 'memory') : null;
|
|
1305
1363
|
const syncedMemory = [];
|
|
1364
|
+
const agentSupportsImports = !!agentConfig.capabilities.memoryImports;
|
|
1306
1365
|
for (const mem of memoryToSync) {
|
|
1307
1366
|
const projectSource = projectMemoryDir ? path.join(projectMemoryDir, `${mem}.md`) : null;
|
|
1308
1367
|
const srcFile = projectSource && fs.existsSync(projectSource)
|
|
@@ -1313,7 +1372,16 @@ export function syncResourcesToVersion(agent, version, selection, options = {})
|
|
|
1313
1372
|
const targetName = mem === 'AGENTS' ? agentConfig.instructionsFile : `${mem}.md`;
|
|
1314
1373
|
const destFile = path.join(agentDir, targetName);
|
|
1315
1374
|
removePath(destFile);
|
|
1316
|
-
|
|
1375
|
+
// For the primary memory file (AGENTS.md), agents that don't natively
|
|
1376
|
+
// resolve @-imports get a compiled (inlined) copy + sidecar manifest.
|
|
1377
|
+
// Everything else (secondary memory files, @-capable agents) gets a
|
|
1378
|
+
// straight copy.
|
|
1379
|
+
if (mem === 'AGENTS' && !agentSupportsImports) {
|
|
1380
|
+
compileMemoryForAgent(agent, version);
|
|
1381
|
+
}
|
|
1382
|
+
else {
|
|
1383
|
+
fs.copyFileSync(srcFile, destFile);
|
|
1384
|
+
}
|
|
1317
1385
|
result.memory.push(targetName);
|
|
1318
1386
|
syncedMemory.push(mem);
|
|
1319
1387
|
}
|
|
@@ -1321,13 +1389,28 @@ export function syncResourcesToVersion(agent, version, selection, options = {})
|
|
|
1321
1389
|
recordVersionResources(agent, version, 'memory', syncedMemory);
|
|
1322
1390
|
}
|
|
1323
1391
|
}
|
|
1324
|
-
// Apply permissions (if agent supports them)
|
|
1325
|
-
//
|
|
1392
|
+
// Apply permissions (if agent supports them).
|
|
1393
|
+
// Groups live in ~/.agents/permissions/groups/. Optional recipes in
|
|
1394
|
+
// ~/.agents/permissions/sets/<name>.yaml pick a subset via `includes:`.
|
|
1395
|
+
// If AGENTS_PERMISSION_SET is set, we resolve that recipe and use its
|
|
1396
|
+
// includes list as the group filter (intersected with groups on disk).
|
|
1326
1397
|
const permissionGroups = discoverPermissionGroups();
|
|
1327
1398
|
const allGroupNames = permissionGroups.map(g => g.name);
|
|
1399
|
+
const activeSetName = getActivePermissionSetName();
|
|
1400
|
+
let setFilteredGroups = null;
|
|
1401
|
+
if (activeSetName) {
|
|
1402
|
+
const recipe = readPermissionSetRecipe(activeSetName);
|
|
1403
|
+
if (recipe) {
|
|
1404
|
+
const available = new Set(allGroupNames);
|
|
1405
|
+
setFilteredGroups = recipe.includes.filter(g => available.has(g));
|
|
1406
|
+
}
|
|
1407
|
+
else {
|
|
1408
|
+
console.warn(`${PERMISSION_SET_ENV_VAR}=${activeSetName} but no recipe at ~/.agents/permissions/sets/${activeSetName}.yaml — falling back to all groups`);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1328
1411
|
const permsToSync = selection
|
|
1329
|
-
? resolveSelection(selection.permissions, allGroupNames)
|
|
1330
|
-
: (PERMISSIONS_CAPABLE_AGENTS.includes(agent) ? allGroupNames : []);
|
|
1412
|
+
? resolveSelection(selection.permissions, setFilteredGroups ?? allGroupNames)
|
|
1413
|
+
: (PERMISSIONS_CAPABLE_AGENTS.includes(agent) ? (setFilteredGroups ?? allGroupNames) : []);
|
|
1331
1414
|
if (permsToSync.length > 0 && PERMISSIONS_CAPABLE_AGENTS.includes(agent)) {
|
|
1332
1415
|
// Build permissions from selected groups
|
|
1333
1416
|
const builtPerms = buildPermissionsFromGroups(permsToSync);
|