@phnx-labs/agents-cli 1.12.0 → 1.14.2
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 +7 -1
- package/README.md +308 -297
- package/dist/commands/alias.d.ts +11 -0
- package/dist/commands/alias.js +117 -0
- package/dist/commands/beta.d.ts +2 -0
- package/dist/commands/beta.js +53 -0
- package/dist/commands/cloud.d.ts +10 -0
- package/dist/commands/cloud.js +408 -0
- package/dist/commands/commands.d.ts +9 -1
- package/dist/commands/commands.js +24 -172
- package/dist/commands/daemon.d.ts +8 -1
- package/dist/commands/daemon.js +13 -5
- package/dist/commands/doctor.d.ts +15 -0
- package/dist/commands/doctor.js +132 -0
- package/dist/commands/drive.d.ts +8 -1
- package/dist/commands/drive.js +20 -3
- package/dist/commands/exec.d.ts +8 -1
- package/dist/commands/exec.js +207 -20
- package/dist/commands/factory.d.ts +19 -0
- package/dist/commands/factory.js +71 -0
- package/dist/commands/fork.d.ts +8 -1
- package/dist/commands/fork.js +11 -4
- package/dist/commands/hooks.d.ts +9 -1
- package/dist/commands/hooks.js +30 -182
- package/dist/commands/init.d.ts +15 -1
- package/dist/commands/init.js +168 -74
- package/dist/commands/mcp.d.ts +9 -1
- package/dist/commands/mcp.js +11 -7
- package/dist/commands/models.d.ts +8 -1
- package/dist/commands/models.js +45 -6
- package/dist/commands/packages.d.ts +8 -1
- package/dist/commands/packages.js +13 -7
- package/dist/commands/permissions.d.ts +9 -1
- package/dist/commands/permissions.js +3 -3
- package/dist/commands/plugins.d.ts +8 -1
- package/dist/commands/plugins.js +13 -2
- package/dist/commands/profiles.d.ts +11 -0
- package/dist/commands/profiles.js +291 -0
- package/dist/commands/prune.d.ts +22 -0
- package/dist/commands/prune.js +191 -0
- package/dist/commands/pty.d.ts +1 -1
- package/dist/commands/pty.js +2 -1
- package/dist/commands/pull.d.ts +8 -1
- package/dist/commands/pull.js +93 -129
- package/dist/commands/refresh-memory.d.ts +7 -1
- package/dist/commands/refresh-memory.js +7 -1
- package/dist/commands/repo.d.ts +15 -0
- package/dist/commands/repo.js +570 -0
- package/dist/commands/resource-view.d.ts +10 -3
- package/dist/commands/resource-view.js +18 -5
- package/dist/commands/routines.d.ts +8 -1
- package/dist/commands/routines.js +17 -4
- package/dist/commands/rules.d.ts +9 -1
- package/dist/commands/rules.js +16 -11
- package/dist/commands/secrets.d.ts +10 -0
- package/dist/commands/secrets.js +518 -0
- package/dist/commands/sessions-picker.d.ts +2 -1
- package/dist/commands/sessions-picker.js +88 -11
- package/dist/commands/sessions-tail.d.ts +19 -0
- package/dist/commands/sessions-tail.js +235 -0
- package/dist/commands/sessions.d.ts +2 -1
- package/dist/commands/sessions.js +288 -7
- package/dist/commands/skills.d.ts +9 -1
- package/dist/commands/skills.js +28 -178
- package/dist/commands/status.d.ts +7 -1
- package/dist/commands/status.js +7 -1
- package/dist/commands/subagents.d.ts +8 -1
- package/dist/commands/subagents.js +11 -1
- package/dist/commands/sync.d.ts +8 -1
- package/dist/commands/sync.js +8 -1
- package/dist/commands/teams-picker.d.ts +4 -1
- package/dist/commands/teams-picker.js +55 -3
- package/dist/commands/teams.d.ts +15 -1
- package/dist/commands/teams.js +323 -69
- package/dist/commands/usage.d.ts +11 -0
- package/dist/commands/usage.js +60 -0
- package/dist/commands/utils.d.ts +6 -1
- package/dist/commands/utils.js +6 -1
- package/dist/commands/versions.d.ts +8 -1
- package/dist/commands/versions.js +4 -3
- package/dist/commands/view.d.ts +47 -2
- package/dist/commands/view.js +353 -20
- package/dist/index.d.ts +7 -2
- package/dist/index.js +205 -38
- package/dist/lib/acp/client.d.ts +31 -0
- package/dist/lib/acp/client.js +117 -0
- package/dist/lib/acp/harnesses.d.ts +26 -0
- package/dist/lib/acp/harnesses.js +65 -0
- package/dist/lib/acp/run.d.ts +18 -0
- package/dist/lib/acp/run.js +39 -0
- package/dist/lib/agents.d.ts +74 -2
- package/dist/lib/agents.js +207 -23
- package/dist/lib/artifact-actions.d.ts +8 -4
- package/dist/lib/artifact-actions.js +8 -6
- package/dist/lib/auto-pull-worker.d.ts +11 -0
- package/dist/lib/auto-pull-worker.js +121 -0
- package/dist/lib/auto-pull.d.ts +31 -0
- package/dist/lib/auto-pull.js +97 -0
- package/dist/lib/beta.d.ts +23 -0
- package/dist/lib/beta.js +90 -0
- package/dist/lib/capabilities.d.ts +29 -0
- package/dist/lib/capabilities.js +74 -0
- package/dist/lib/cloud/codex.d.ts +25 -0
- package/dist/lib/cloud/codex.js +250 -0
- package/dist/lib/cloud/factory.d.ts +31 -0
- package/dist/lib/cloud/factory.js +53 -0
- package/dist/lib/cloud/registry.d.ts +15 -0
- package/dist/lib/cloud/registry.js +67 -0
- package/dist/lib/cloud/rush.d.ts +75 -0
- package/dist/lib/cloud/rush.js +438 -0
- package/dist/lib/cloud/store.d.ts +22 -0
- package/dist/lib/cloud/store.js +115 -0
- package/dist/lib/cloud/stream.d.ts +23 -0
- package/dist/lib/cloud/stream.js +194 -0
- package/dist/lib/cloud/types.d.ts +205 -0
- package/dist/lib/cloud/types.js +34 -0
- package/dist/lib/command-skills.d.ts +20 -0
- package/dist/lib/command-skills.js +142 -0
- package/dist/lib/commands.d.ts +22 -2
- package/dist/lib/commands.js +51 -11
- package/dist/lib/convert.d.ts +10 -1
- package/dist/lib/convert.js +9 -1
- package/dist/lib/daemon.d.ts +21 -1
- package/dist/lib/daemon.js +97 -4
- package/dist/lib/drive-sync.d.ts +18 -1
- package/dist/lib/drive-sync.js +57 -15
- package/dist/lib/exec.d.ts +25 -5
- package/dist/lib/exec.js +72 -27
- package/dist/lib/fs-walk.d.ts +2 -0
- package/dist/lib/fs-walk.js +40 -0
- package/dist/lib/fuzzy.d.ts +53 -0
- package/dist/lib/fuzzy.js +72 -0
- package/dist/lib/gemini-settings.d.ts +4 -0
- package/dist/lib/gemini-settings.js +33 -0
- package/dist/lib/git.d.ts +12 -2
- package/dist/lib/git.js +17 -6
- package/dist/lib/help.d.ts +20 -1
- package/dist/lib/help.js +45 -6
- package/dist/lib/hooks/match.d.ts +32 -0
- package/dist/lib/hooks/match.js +120 -0
- package/dist/lib/hooks.d.ts +17 -4
- package/dist/lib/hooks.js +191 -21
- package/dist/lib/manifest.d.ts +6 -1
- package/dist/lib/manifest.js +15 -4
- package/dist/lib/markdown.d.ts +0 -1
- package/dist/lib/markdown.js +6 -1
- package/dist/lib/mcp.d.ts +0 -1
- package/dist/lib/mcp.js +29 -33
- package/dist/lib/memory-compile.d.ts +13 -3
- package/dist/lib/memory-compile.js +31 -9
- package/dist/lib/memory.d.ts +14 -7
- package/dist/lib/memory.js +67 -38
- package/dist/lib/migrate.d.ts +8 -0
- package/dist/lib/migrate.js +85 -0
- package/dist/lib/models.d.ts +25 -11
- package/dist/lib/models.js +405 -16
- package/dist/lib/onepassword.d.ts +63 -0
- package/dist/lib/onepassword.js +186 -0
- package/dist/lib/paths.d.ts +8 -0
- package/dist/lib/paths.js +20 -0
- package/dist/lib/permissions.d.ts +24 -2
- package/dist/lib/permissions.js +117 -48
- package/dist/lib/picker.d.ts +10 -1
- package/dist/lib/picker.js +15 -1
- package/dist/lib/plugins.d.ts +7 -1
- package/dist/lib/plugins.js +10 -1
- package/dist/lib/profiles-presets.d.ts +24 -0
- package/dist/lib/profiles-presets.js +103 -0
- package/dist/lib/profiles.d.ts +69 -0
- package/dist/lib/profiles.js +144 -0
- package/dist/lib/pty-client.d.ts +1 -1
- package/dist/lib/pty-client.js +0 -1
- package/dist/lib/pty-server.d.ts +16 -2
- package/dist/lib/pty-server.js +92 -3
- package/dist/lib/registry.d.ts +23 -3
- package/dist/lib/registry.js +153 -8
- package/dist/lib/resources.d.ts +28 -1
- package/dist/lib/resources.js +79 -1
- package/dist/lib/rotate.d.ts +89 -0
- package/dist/lib/rotate.js +327 -0
- package/dist/lib/routines.d.ts +29 -1
- package/dist/lib/routines.js +32 -5
- package/dist/lib/runner.d.ts +14 -1
- package/dist/lib/runner.js +22 -3
- package/dist/lib/sandbox.d.ts +16 -1
- package/dist/lib/sandbox.js +39 -16
- package/dist/lib/scheduler.d.ts +8 -1
- package/dist/lib/scheduler.js +8 -1
- package/dist/lib/secrets/AgentsKeychain.app/Contents/CodeResources +0 -0
- package/dist/lib/secrets/AgentsKeychain.app/Contents/Info.plist +22 -0
- package/dist/lib/secrets/AgentsKeychain.app/Contents/MacOS/AgentsKeychain +0 -0
- package/dist/lib/secrets/AgentsKeychain.app/Contents/_CodeSignature/CodeResources +123 -0
- package/dist/lib/secrets/AgentsKeychain.app/Contents/embedded.provisionprofile +0 -0
- package/dist/lib/secrets/bundles.d.ts +39 -0
- package/dist/lib/secrets/bundles.js +189 -0
- package/dist/lib/secrets/index.d.ts +55 -0
- package/dist/lib/secrets/index.js +211 -0
- package/dist/lib/secrets/profiles.d.ts +10 -0
- package/dist/lib/secrets/profiles.js +13 -0
- package/dist/lib/session/active.d.ts +43 -0
- package/dist/lib/session/active.js +392 -0
- package/dist/lib/session/artifacts.d.ts +16 -0
- package/dist/lib/session/artifacts.js +95 -0
- package/dist/lib/session/cloud.d.ts +30 -0
- package/dist/lib/session/cloud.js +121 -0
- package/dist/lib/session/db.d.ts +23 -2
- package/dist/lib/session/db.js +76 -12
- package/dist/lib/session/discover.d.ts +19 -4
- package/dist/lib/session/discover.js +344 -48
- package/dist/lib/session/parse.d.ts +28 -1
- package/dist/lib/session/parse.js +267 -9
- package/dist/lib/session/prompt.d.ts +9 -1
- package/dist/lib/session/prompt.js +17 -3
- package/dist/lib/session/render.d.ts +13 -1
- package/dist/lib/session/render.js +20 -1
- package/dist/lib/session/team-filter.d.ts +9 -1
- package/dist/lib/session/team-filter.js +11 -2
- package/dist/lib/session/types.d.ts +24 -2
- package/dist/lib/session/types.js +10 -2
- package/dist/lib/shims.d.ts +93 -5
- package/dist/lib/shims.js +380 -67
- package/dist/lib/skills.d.ts +27 -2
- package/dist/lib/skills.js +127 -65
- package/dist/lib/sqlite.d.ts +43 -0
- package/dist/lib/sqlite.js +94 -0
- package/dist/lib/state.d.ts +114 -22
- package/dist/lib/state.js +323 -138
- package/dist/lib/subagents.d.ts +9 -1
- package/dist/lib/subagents.js +70 -63
- package/dist/lib/sync-manifest.d.ts +81 -0
- package/dist/lib/sync-manifest.js +450 -0
- package/dist/lib/teams/agents.d.ts +103 -5
- package/dist/lib/teams/agents.js +414 -91
- package/dist/lib/teams/api.d.ts +26 -3
- package/dist/lib/teams/api.js +63 -3
- package/dist/lib/teams/debug.d.ts +6 -1
- package/dist/lib/teams/debug.js +6 -1
- package/dist/lib/teams/file_ops.d.ts +7 -1
- package/dist/lib/teams/file_ops.js +7 -1
- package/dist/lib/teams/index.d.ts +15 -0
- package/dist/lib/teams/index.js +14 -0
- package/dist/lib/teams/parsers.d.ts +4 -1
- package/dist/lib/teams/parsers.js +11 -1
- package/dist/lib/teams/persistence.d.ts +15 -1
- package/dist/lib/teams/persistence.js +102 -20
- package/dist/lib/teams/registry.d.ts +12 -1
- package/dist/lib/teams/registry.js +116 -33
- package/dist/lib/teams/summarizer.d.ts +15 -1
- package/dist/lib/teams/summarizer.js +14 -1
- package/dist/lib/teams/supervisor.d.ts +48 -0
- package/dist/lib/teams/supervisor.js +73 -0
- package/dist/lib/template.d.ts +8 -6
- package/dist/lib/template.js +8 -6
- package/dist/lib/types.d.ts +147 -8
- package/dist/lib/types.js +26 -3
- package/dist/lib/usage.d.ts +48 -1
- package/dist/lib/usage.js +97 -16
- package/dist/lib/version-duplicates.d.ts +21 -0
- package/dist/lib/version-duplicates.js +90 -0
- package/dist/lib/versions.d.ts +39 -4
- package/dist/lib/versions.js +401 -111
- package/package.json +33 -18
- package/scripts/postinstall.js +126 -30
- 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/commands.d.ts.map +0 -1
- package/dist/commands/commands.js.map +0 -1
- package/dist/commands/daemon.d.ts.map +0 -1
- package/dist/commands/daemon.js.map +0 -1
- package/dist/commands/drive.d.ts.map +0 -1
- package/dist/commands/drive.js.map +0 -1
- package/dist/commands/exec.d.ts.map +0 -1
- package/dist/commands/exec.js.map +0 -1
- package/dist/commands/fork.d.ts.map +0 -1
- package/dist/commands/fork.js.map +0 -1
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp.d.ts.map +0 -1
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/models.d.ts.map +0 -1
- package/dist/commands/models.js.map +0 -1
- package/dist/commands/packages.d.ts.map +0 -1
- package/dist/commands/packages.js.map +0 -1
- package/dist/commands/permissions.d.ts.map +0 -1
- package/dist/commands/permissions.js.map +0 -1
- package/dist/commands/plugins.d.ts.map +0 -1
- package/dist/commands/plugins.js.map +0 -1
- package/dist/commands/pty.d.ts.map +0 -1
- package/dist/commands/pty.js.map +0 -1
- package/dist/commands/pull.d.ts.map +0 -1
- package/dist/commands/pull.js.map +0 -1
- package/dist/commands/push.d.ts +0 -3
- package/dist/commands/push.d.ts.map +0 -1
- package/dist/commands/push.js +0 -180
- package/dist/commands/push.js.map +0 -1
- package/dist/commands/refresh-memory.d.ts.map +0 -1
- package/dist/commands/refresh-memory.js.map +0 -1
- package/dist/commands/resource-view.d.ts.map +0 -1
- package/dist/commands/resource-view.js.map +0 -1
- package/dist/commands/routines.d.ts.map +0 -1
- package/dist/commands/routines.js.map +0 -1
- package/dist/commands/rules.d.ts.map +0 -1
- package/dist/commands/rules.js.map +0 -1
- package/dist/commands/sessions-picker.d.ts.map +0 -1
- package/dist/commands/sessions-picker.js.map +0 -1
- package/dist/commands/sessions.d.ts.map +0 -1
- package/dist/commands/sessions.js.map +0 -1
- package/dist/commands/skills.d.ts.map +0 -1
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/subagents.d.ts.map +0 -1
- package/dist/commands/subagents.js.map +0 -1
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js.map +0 -1
- package/dist/commands/teams-picker.d.ts.map +0 -1
- package/dist/commands/teams-picker.js.map +0 -1
- package/dist/commands/teams.d.ts.map +0 -1
- package/dist/commands/teams.js.map +0 -1
- package/dist/commands/utils.d.ts.map +0 -1
- package/dist/commands/utils.js.map +0 -1
- package/dist/commands/versions.d.ts.map +0 -1
- package/dist/commands/versions.js.map +0 -1
- package/dist/commands/view.d.ts.map +0 -1
- package/dist/commands/view.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- 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 -184
- package/dist/lib/__tests__/models.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 -218
- package/dist/lib/__tests__/usage.test.js.map +0 -1
- package/dist/lib/agents.d.ts.map +0 -1
- package/dist/lib/agents.js.map +0 -1
- package/dist/lib/artifact-actions.d.ts.map +0 -1
- package/dist/lib/artifact-actions.js.map +0 -1
- package/dist/lib/commands.d.ts.map +0 -1
- package/dist/lib/commands.js.map +0 -1
- package/dist/lib/convert.d.ts.map +0 -1
- package/dist/lib/convert.js.map +0 -1
- package/dist/lib/daemon.d.ts.map +0 -1
- package/dist/lib/daemon.js.map +0 -1
- package/dist/lib/drive-sync.d.ts.map +0 -1
- package/dist/lib/drive-sync.js.map +0 -1
- package/dist/lib/exec.d.ts.map +0 -1
- package/dist/lib/exec.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 -110
- package/dist/lib/factory.js.map +0 -1
- package/dist/lib/git.d.ts.map +0 -1
- package/dist/lib/git.js.map +0 -1
- package/dist/lib/help.d.ts.map +0 -1
- package/dist/lib/help.js.map +0 -1
- package/dist/lib/hooks.d.ts.map +0 -1
- package/dist/lib/hooks.js.map +0 -1
- package/dist/lib/manifest.d.ts.map +0 -1
- package/dist/lib/manifest.js.map +0 -1
- package/dist/lib/markdown.d.ts.map +0 -1
- package/dist/lib/markdown.js.map +0 -1
- package/dist/lib/mcp.d.ts.map +0 -1
- package/dist/lib/mcp.js.map +0 -1
- package/dist/lib/memory-compile.d.ts.map +0 -1
- package/dist/lib/memory-compile.js.map +0 -1
- package/dist/lib/memory.d.ts.map +0 -1
- package/dist/lib/memory.js.map +0 -1
- package/dist/lib/models.d.ts.map +0 -1
- package/dist/lib/models.js.map +0 -1
- package/dist/lib/permissions.d.ts.map +0 -1
- package/dist/lib/permissions.js.map +0 -1
- package/dist/lib/picker.d.ts.map +0 -1
- package/dist/lib/picker.js.map +0 -1
- package/dist/lib/plugins.d.ts.map +0 -1
- package/dist/lib/plugins.js.map +0 -1
- package/dist/lib/pty-client.d.ts.map +0 -1
- package/dist/lib/pty-client.js.map +0 -1
- package/dist/lib/pty-server.d.ts.map +0 -1
- package/dist/lib/pty-server.js.map +0 -1
- package/dist/lib/registry.d.ts.map +0 -1
- package/dist/lib/registry.js.map +0 -1
- package/dist/lib/resources.d.ts.map +0 -1
- package/dist/lib/resources.js.map +0 -1
- package/dist/lib/routines.d.ts.map +0 -1
- package/dist/lib/routines.js.map +0 -1
- package/dist/lib/runner.d.ts.map +0 -1
- package/dist/lib/runner.js.map +0 -1
- package/dist/lib/sandbox.d.ts.map +0 -1
- package/dist/lib/sandbox.js.map +0 -1
- package/dist/lib/scheduler.d.ts.map +0 -1
- package/dist/lib/scheduler.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/db.d.ts.map +0 -1
- package/dist/lib/session/db.js.map +0 -1
- package/dist/lib/session/discover.d.ts.map +0 -1
- package/dist/lib/session/discover.js.map +0 -1
- package/dist/lib/session/parse.d.ts.map +0 -1
- package/dist/lib/session/parse.js.map +0 -1
- package/dist/lib/session/prompt.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/session/render.js.map +0 -1
- package/dist/lib/session/team-filter.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/session/types.js.map +0 -1
- package/dist/lib/shims.d.ts.map +0 -1
- package/dist/lib/shims.js.map +0 -1
- package/dist/lib/skills.d.ts.map +0 -1
- package/dist/lib/skills.js.map +0 -1
- package/dist/lib/state.d.ts.map +0 -1
- package/dist/lib/state.js.map +0 -1
- package/dist/lib/subagents.d.ts.map +0 -1
- package/dist/lib/subagents.js.map +0 -1
- package/dist/lib/teams/agents.d.ts.map +0 -1
- package/dist/lib/teams/agents.js.map +0 -1
- package/dist/lib/teams/api.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/teams/debug.js.map +0 -1
- package/dist/lib/teams/file_ops.d.ts.map +0 -1
- package/dist/lib/teams/file_ops.js.map +0 -1
- package/dist/lib/teams/parsers.d.ts.map +0 -1
- package/dist/lib/teams/parsers.js.map +0 -1
- package/dist/lib/teams/persistence.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/teams/registry.js.map +0 -1
- package/dist/lib/teams/summarizer.d.ts.map +0 -1
- package/dist/lib/teams/summarizer.js.map +0 -1
- package/dist/lib/template.d.ts.map +0 -1
- package/dist/lib/template.js.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/usage.d.ts.map +0 -1
- package/dist/lib/usage.js.map +0 -1
- package/dist/lib/versions.d.ts.map +0 -1
- package/dist/lib/versions.js.map +0 -1
- package/scripts/rebuild-sqlite.sh +0 -46
package/dist/lib/subagents.js
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subagent management -- discovery, installation, and format conversion.
|
|
3
|
+
*
|
|
4
|
+
* Subagents are named agent definitions in ~/.agents/subagents/, each a directory
|
|
5
|
+
* with an agent.md file (frontmatter + instructions). This module discovers them,
|
|
6
|
+
* transforms them into agent-native formats (Claude .mdc, OpenClaw YAML),
|
|
7
|
+
* and syncs them into version homes.
|
|
8
|
+
*/
|
|
1
9
|
import * as fs from 'fs';
|
|
2
10
|
import * as path from 'path';
|
|
3
11
|
import * as yaml from 'yaml';
|
|
4
|
-
import { getSubagentsDir } from './state.js';
|
|
12
|
+
import { getSubagentsDir, getUserSubagentsDir } from './state.js';
|
|
13
|
+
import { safeJoin } from './paths.js';
|
|
5
14
|
/**
|
|
6
15
|
* Parse AGENT.md frontmatter to extract subagent metadata
|
|
7
16
|
*/
|
|
@@ -92,30 +101,35 @@ export function discoverSubagentsFromRepo(repoPath) {
|
|
|
92
101
|
* List installed subagents from ~/.agents/subagents/
|
|
93
102
|
*/
|
|
94
103
|
export function listInstalledSubagents() {
|
|
104
|
+
const seen = new Set();
|
|
95
105
|
const subagents = [];
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
for (const dir of fs.readdirSync(subagentsDir)) {
|
|
101
|
-
const dirPath = path.join(subagentsDir, dir);
|
|
102
|
-
if (!fs.statSync(dirPath).isDirectory())
|
|
106
|
+
// User dir first (wins on name collision), then system
|
|
107
|
+
for (const subagentsDir of [getUserSubagentsDir(), getSubagentsDir()]) {
|
|
108
|
+
if (!fs.existsSync(subagentsDir))
|
|
103
109
|
continue;
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
for (const dir of fs.readdirSync(subagentsDir)) {
|
|
111
|
+
const dirPath = path.join(subagentsDir, dir);
|
|
112
|
+
if (!fs.statSync(dirPath).isDirectory())
|
|
113
|
+
continue;
|
|
114
|
+
const agentMd = path.join(dirPath, 'AGENT.md');
|
|
115
|
+
if (!fs.existsSync(agentMd))
|
|
116
|
+
continue;
|
|
117
|
+
const frontmatter = parseSubagentFrontmatter(agentMd);
|
|
118
|
+
if (!frontmatter)
|
|
119
|
+
continue;
|
|
120
|
+
if (seen.has(dir))
|
|
121
|
+
continue;
|
|
122
|
+
seen.add(dir);
|
|
123
|
+
const files = fs.readdirSync(dirPath)
|
|
124
|
+
.filter(f => f.endsWith('.md'))
|
|
125
|
+
.sort();
|
|
126
|
+
subagents.push({
|
|
127
|
+
name: dir,
|
|
128
|
+
path: dirPath,
|
|
129
|
+
files,
|
|
130
|
+
frontmatter,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
119
133
|
}
|
|
120
134
|
return subagents;
|
|
121
135
|
}
|
|
@@ -123,35 +137,28 @@ export function listInstalledSubagents() {
|
|
|
123
137
|
* Get a specific installed subagent
|
|
124
138
|
*/
|
|
125
139
|
export function getInstalledSubagent(name) {
|
|
126
|
-
|
|
127
|
-
const
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
140
|
+
// Check user dir first, then system
|
|
141
|
+
for (const subagentsDir of [getUserSubagentsDir(), getSubagentsDir()]) {
|
|
142
|
+
const dirPath = path.join(subagentsDir, name);
|
|
143
|
+
if (!fs.existsSync(dirPath) || !fs.statSync(dirPath).isDirectory())
|
|
144
|
+
continue;
|
|
145
|
+
const agentMd = path.join(dirPath, 'AGENT.md');
|
|
146
|
+
if (!fs.existsSync(agentMd))
|
|
147
|
+
continue;
|
|
148
|
+
const frontmatter = parseSubagentFrontmatter(agentMd);
|
|
149
|
+
if (!frontmatter)
|
|
150
|
+
continue;
|
|
151
|
+
const files = fs.readdirSync(dirPath).filter(f => f.endsWith('.md')).sort();
|
|
152
|
+
return { name, path: dirPath, files, frontmatter };
|
|
138
153
|
}
|
|
139
|
-
|
|
140
|
-
.filter(f => f.endsWith('.md'))
|
|
141
|
-
.sort();
|
|
142
|
-
return {
|
|
143
|
-
name,
|
|
144
|
-
path: dirPath,
|
|
145
|
-
files,
|
|
146
|
-
frontmatter,
|
|
147
|
-
};
|
|
154
|
+
return null;
|
|
148
155
|
}
|
|
149
156
|
/**
|
|
150
157
|
* Install a subagent centrally to ~/.agents/subagents/{name}/
|
|
151
158
|
*/
|
|
152
159
|
export function installSubagentCentrally(sourcePath, name) {
|
|
153
|
-
const subagentsDir =
|
|
154
|
-
const targetDir =
|
|
160
|
+
const subagentsDir = getUserSubagentsDir();
|
|
161
|
+
const targetDir = safeJoin(subagentsDir, name);
|
|
155
162
|
try {
|
|
156
163
|
// Ensure subagents directory exists
|
|
157
164
|
if (!fs.existsSync(subagentsDir)) {
|
|
@@ -173,18 +180,19 @@ export function installSubagentCentrally(sourcePath, name) {
|
|
|
173
180
|
* Remove an installed subagent
|
|
174
181
|
*/
|
|
175
182
|
export function removeSubagent(name) {
|
|
176
|
-
const subagentsDir
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
183
|
+
for (const subagentsDir of [getUserSubagentsDir(), getSubagentsDir()]) {
|
|
184
|
+
const candidate = safeJoin(subagentsDir, name);
|
|
185
|
+
if (fs.existsSync(candidate)) {
|
|
186
|
+
try {
|
|
187
|
+
fs.rmSync(candidate, { recursive: true });
|
|
188
|
+
return { success: true };
|
|
189
|
+
}
|
|
190
|
+
catch (err) {
|
|
191
|
+
return { success: false, error: String(err) };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
187
194
|
}
|
|
195
|
+
return { success: false, error: `Subagent '${name}' not found` };
|
|
188
196
|
}
|
|
189
197
|
/**
|
|
190
198
|
* Transform a subagent directory into a single .md file for Claude
|
|
@@ -256,7 +264,7 @@ export function installSubagentToAgent(subagentDir, subagentName, agent, agentHo
|
|
|
256
264
|
}
|
|
257
265
|
try {
|
|
258
266
|
const transformed = transformSubagentForClaude(subagentDir);
|
|
259
|
-
fs.writeFileSync(
|
|
267
|
+
fs.writeFileSync(safeJoin(agentsDir, `${subagentName}.md`), transformed);
|
|
260
268
|
return { success: true };
|
|
261
269
|
}
|
|
262
270
|
catch (err) {
|
|
@@ -265,7 +273,7 @@ export function installSubagentToAgent(subagentDir, subagentName, agent, agentHo
|
|
|
265
273
|
}
|
|
266
274
|
else if (agent === 'openclaw') {
|
|
267
275
|
// OpenClaw: copy full directory
|
|
268
|
-
const targetDir = path.join(agentHome, '.openclaw', subagentName);
|
|
276
|
+
const targetDir = safeJoin(path.join(agentHome, '.openclaw'), subagentName);
|
|
269
277
|
return syncSubagentToOpenclaw(subagentDir, targetDir);
|
|
270
278
|
}
|
|
271
279
|
else {
|
|
@@ -279,14 +287,14 @@ export function installSubagentToAgent(subagentDir, subagentName, agent, agentHo
|
|
|
279
287
|
export function removeSubagentFromAgent(subagentName, agent, agentHome) {
|
|
280
288
|
try {
|
|
281
289
|
if (agent === 'claude') {
|
|
282
|
-
const targetPath = path.join(agentHome, '.claude', 'agents', `${subagentName}.md`);
|
|
290
|
+
const targetPath = safeJoin(path.join(agentHome, '.claude', 'agents'), `${subagentName}.md`);
|
|
283
291
|
if (fs.existsSync(targetPath)) {
|
|
284
292
|
fs.unlinkSync(targetPath);
|
|
285
293
|
}
|
|
286
294
|
return { success: true };
|
|
287
295
|
}
|
|
288
296
|
else if (agent === 'openclaw') {
|
|
289
|
-
const targetDir = path.join(agentHome, '.openclaw', subagentName);
|
|
297
|
+
const targetDir = safeJoin(path.join(agentHome, '.openclaw'), subagentName);
|
|
290
298
|
if (fs.existsSync(targetDir)) {
|
|
291
299
|
fs.rmSync(targetDir, { recursive: true });
|
|
292
300
|
}
|
|
@@ -324,7 +332,7 @@ export function subagentContentMatches(installedDir, sourceDir) {
|
|
|
324
332
|
}
|
|
325
333
|
return true;
|
|
326
334
|
}
|
|
327
|
-
|
|
335
|
+
/** Agents that support the subagent system (Claude via flattened .md, OpenClaw via directory copy). */
|
|
328
336
|
export const SUBAGENT_CAPABLE_AGENTS = ['claude', 'openclaw'];
|
|
329
337
|
/**
|
|
330
338
|
* List subagents installed to a specific agent's home
|
|
@@ -399,4 +407,3 @@ export function listSubagentsForAgent(agentId, home) {
|
|
|
399
407
|
}
|
|
400
408
|
return subagents;
|
|
401
409
|
}
|
|
402
|
-
//# sourceMappingURL=subagents.js.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sync manifest — fast staleness guard for syncResourcesToVersion.
|
|
3
|
+
*
|
|
4
|
+
* Written after each full sync; read before the next to skip unconditional
|
|
5
|
+
* re-copies when nothing has changed. Two-tier check:
|
|
6
|
+
* Tier 1 — stat mtime+size ~0.01ms/file (kernel VFS cache)
|
|
7
|
+
* Tier 2 — sha256 on miss ~0.1–0.5ms/file
|
|
8
|
+
*
|
|
9
|
+
* Env vars in MCP YAML are NOT substituted by agents-cli — ${VAR} is stored
|
|
10
|
+
* verbatim and passed as-is to `claude mcp add`. Value-only env var changes
|
|
11
|
+
* (YAML content unchanged) are not detected and are not in scope.
|
|
12
|
+
*
|
|
13
|
+
* Layering model:
|
|
14
|
+
* First-wins (commands, skills, hooks, MCP, rules): manifest stores fingerprint
|
|
15
|
+
* of the WINNING source (project > user > system > extra). A scope change
|
|
16
|
+
* (e.g. project file added/removed) is detected via resolved-path mismatch.
|
|
17
|
+
*
|
|
18
|
+
* Merged (permissions): all group files across all scopes contribute. Any
|
|
19
|
+
* change in any scope file triggers re-sync.
|
|
20
|
+
*
|
|
21
|
+
* The manifest is written only after a full (unselected) sync and is only used
|
|
22
|
+
* as a guard for full syncs — partial/interactive syncs bypass it entirely.
|
|
23
|
+
*/
|
|
24
|
+
import type { AgentId } from './types.js';
|
|
25
|
+
import type { AvailableResources } from './versions.js';
|
|
26
|
+
declare const MANIFEST_VERSION: 1;
|
|
27
|
+
/** Fingerprint of a single source file. */
|
|
28
|
+
export interface Fingerprint {
|
|
29
|
+
path: string;
|
|
30
|
+
mtime: number;
|
|
31
|
+
size: number;
|
|
32
|
+
sha256: string;
|
|
33
|
+
}
|
|
34
|
+
/** A single-file resource (command, hook, MCP server YAML). */
|
|
35
|
+
interface FileEntry {
|
|
36
|
+
source: Fingerprint;
|
|
37
|
+
}
|
|
38
|
+
/** A directory resource (skill). */
|
|
39
|
+
interface DirEntry {
|
|
40
|
+
dirPath: string;
|
|
41
|
+
files: Fingerprint[];
|
|
42
|
+
}
|
|
43
|
+
/** Rules/memory: per-file first-wins fingerprints. */
|
|
44
|
+
interface RulesEntry {
|
|
45
|
+
files: Record<string, FileEntry>;
|
|
46
|
+
}
|
|
47
|
+
/** Permissions: all group files across all scopes (merged). */
|
|
48
|
+
interface PermEntry {
|
|
49
|
+
groups: Record<string, FileEntry>;
|
|
50
|
+
permissionSet: string | null;
|
|
51
|
+
}
|
|
52
|
+
export interface SyncManifest {
|
|
53
|
+
v: typeof MANIFEST_VERSION;
|
|
54
|
+
syncedAt: string;
|
|
55
|
+
commands: Record<string, FileEntry>;
|
|
56
|
+
skills: Record<string, DirEntry>;
|
|
57
|
+
hooks: Record<string, FileEntry>;
|
|
58
|
+
rules: RulesEntry;
|
|
59
|
+
mcp: Record<string, FileEntry>;
|
|
60
|
+
permissions: PermEntry;
|
|
61
|
+
subagents: Record<string, DirEntry>;
|
|
62
|
+
}
|
|
63
|
+
/** Load the manifest for a given agent+version. Returns null on miss or parse error. */
|
|
64
|
+
export declare function loadSyncManifest(agent: AgentId, version: string): SyncManifest | null;
|
|
65
|
+
/** Write the manifest atomically (tmp + rename). */
|
|
66
|
+
export declare function saveSyncManifest(agent: AgentId, version: string, manifest: SyncManifest): void;
|
|
67
|
+
/**
|
|
68
|
+
* Build a manifest by fingerprinting current source state.
|
|
69
|
+
* Call this after a successful full sync.
|
|
70
|
+
*/
|
|
71
|
+
export declare function buildManifest(agent: AgentId, version: string, available: AvailableResources, cwd: string): SyncManifest;
|
|
72
|
+
/**
|
|
73
|
+
* Check if sources have changed since the manifest was written.
|
|
74
|
+
* Returns true (stale) at the first detected mismatch — no need to scan everything.
|
|
75
|
+
* Returns false (clean) only after all checks pass.
|
|
76
|
+
*
|
|
77
|
+
* For rules, also delegates to isMemoryStale() to catch @-import changes
|
|
78
|
+
* for agents that pre-compile their memory file.
|
|
79
|
+
*/
|
|
80
|
+
export declare function isSyncStale(manifest: SyncManifest, available: AvailableResources, agent: AgentId, version: string, cwd: string): boolean;
|
|
81
|
+
export {};
|